Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
mshonorato

Pq existe + CISC do que RISC?

Recommended Posts

Bom dia pessoal, estou fazendo minha monografia da faculdade sobre powerpc que é baseado na arquitetura RISC...

No momento estou fazendo a conclusão e tenho uma dúvida:

Por quê é usado mais processadores CISC do que RISC, apesar de o RISC ser bem melhor?

No aguardo!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Por quê é usado mais processadores CISC do que RISC, apesar de o RISC ser bem melhor?

No aguardo!

Fazer RISCs rápidos é mais fácil, mas fazer um CISC rápido compensa mais, porque existe muito software, plataformas, enfim, um ecossistema pronto para uma arquitetura CISC em especial (a x86). Mudar pra uma arquitetura RISC, atualmente, significaria trocar todo esse ecossistema, o que sairia muito caro e não compensaria.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mudar pra uma arquitetura RISC, atualmente, significaria trocar todo esse ecossistema, o que sairia muito caro e não compensaria.

Na verdade o back-end dos CPUs x86 é RISC desde o K5 ou Pentium Pro.

Mas o decoder continua "CISC", senão todo o software seria perdido, como você mencionou.

[]'s

DT

Editado por Dick Trace

Compartilhar este post


Link para o post
Compartilhar em outros sites
Na verdade o back-end dos CPUs x86 é RISC desde o K5 ou Pentium Pro.

RISC é uma classificação destinada a arquiteturas. Você pode falar de Alpha, MIPS, ARM... mas não de processadores específicos. Também não dá pra falar de "back-end RISC". Mesmo porque nada impede que uma arquitetura RISC seja implementada toda em microcódigo, se essa for uma melhor opção (e aposto que vai ser mais rápido e simples do que um CISC similar), ou que um CISC qualquer use serialização, superescalaridade, entre outras técnicas, como os x86s fazem.

De qualquer modo, se "back-end RISC" dos x86s se refere ao fato das unidades de execução executarem instruções mais complicadas através do uso de várias micro-operações independentes: isso não é exclusividade dos CISCs, não é novo (microcódigo, em alguma implementações, é mais ou menos isso, e não é só de microcódigo que falo) e também não é completamente correto, já que alguma lógica precisa considerar as dependências inteiras, e na verdade todo o "back-end" ainda inclui algumas características "x86icas".

Quem realmente pode dizer que tem "back-end" RISC é o K5... porque o "back-end" inteiro dele foi arrancado de um RISC e adaptado para a x86. Deu no que deu. Não é uma boa forma de se fazer x86s :).

Mas o decoder continua "CISC", senão todo o software seria perdido, como você mencionou.

[]'s

DT

Bom, claro :)... pra decodificar CISC, só com um decodificador que decodifique CISC. Mas isso não quer dizer que o "back-end" seja RISC.

EDIT: O que é "back-end"? Nomenclaturas há aos montes para isso...

Editado por ThiagoLCK

Compartilhar este post


Link para o post
Compartilhar em outros sites
RISC é uma classificação destinada a arquiteturas. Você pode falar de Alpha, MIPS, ARM... mas não de processadores específicos. Também não dá pra falar de "back-end RISC". Mesmo porque nada impede que uma arquitetura RISC seja implementada toda em microcódigo, se essa for uma melhor opção (e aposto que vai ser mais rápido e simples do que um CISC similar), ou que um CISC qualquer use serialização, superescalaridade, entre outras técnicas, como os x86s fazem.

RISC é sobre arquiteturas, mas você pode escolher qualquer modelo específico de CPU Alpha, MIPS, Sparc, etc, e dizer "este é um CPU RISC" sem problemas. O mesmo vale para qualquer CPU Intel ou AMD desde o PPro ou K5 até o i7 ou K10. O front-end é CISC, o resto é RISC (ou pós-RISC, como alguns chamam).

Se você faz um CPU RISC com microcódigo ou não, não existe CISC "similar". E sim, um CISC pode ter pipelines e ser superescalar, como o Pentium1.

De qualquer modo, se "back-end RISC" dos x86s se refere ao fato das unidades de execução executarem instruções mais complicadas através do uso de várias micro-operações independentes: isso não é exclusividade dos CISCs, não é novo (microcódigo, em alguma implementações, é mais ou menos isso, e não é só de microcódigo que falo) e também não é completamente correto, já que alguma lógica precisa considerar as dependências inteiras, e na verdade todo o "back-end" ainda inclui algumas características "x86icas".

Não me lembro agora de nenhum chip comercial além de x86 que converta CISC em RISC.

O backend é otimizado para x86 (menos no K5), mas é considerado RISC.

Quem realmente pode dizer que tem "back-end" RISC é o K5... porque o "back-end" inteiro dele foi arrancado de um RISC e adaptado para a x86. Deu no que deu. Não é uma boa forma de se fazer x86s

Todos os CPUs x86 Intel e AMD do PPro ou K5 em diante podem ser considerados RISC internamente (google!).

O K5 foi problemático porque foi o primeiro CPU x86 100% feito pela AMD sem usar um design da Intel como base. Por isso aproveitaram o 29K que já tinham pois já estavam muito atrasados em relação à Intel.

Bom, claro ... pra decodificar CISC, só com um decodificador que decodifique CISC. Mas isso não quer dizer que o "back-end" seja RISC.
Se o back-end não fosse RISC não existiria necessidade de um decoder traduzindo várias instruções x86 complicadas em microinstruções simples, como você mesmo disse não se tratar de algo novo.

Se o backend não fosse RISC a AMD a não chamaria de "RISC86" as instruções do backend do K5 e K6 (no K7 em diante a nomenclatura mudou).

EDIT: O que é "back-end"? Nomenclaturas há aos montes para isso...
É o que você chamou de unidades de execução, que entendem apenas microinstruções RISC86, ROps, Micro-Ops ou seja qual for o nome usado no dia da semana pelos fabricantes.

Na figura do link abaixo sobre o K7, é a parte pintada de rosa. Repare que no lado da figura o K5 e K6 são chamados de CPUs RISC. O mesmo seria válido para o Pentium Pro em diante.

http://en.wikipedia.org/wiki/Athlon#General_architecture

Claro que devem existir links bem melhores, mas não vou atrás, sinceramente.

[]'s

DT

Compartilhar este post


Link para o post
Compartilhar em outros sites
RISC é sobre arquiteturas, mas você pode escolher qualquer modelo específico de CPU Alpha, MIPS, Sparc, etc, e dizer "este é um CPU RISC" sem problemas.

Tá, tudo bem, quer dizer "CPU que executa instruções de uma arquitetura RISC".

O mesmo vale para qualquer CPU Intel ou AMD desde o PPro ou K5 até o i7 ou K10. O front-end é CISC, o resto é RISC (ou pós-RISC, como alguns chamam).

O que significa um "back-end RISC"? Eu não consigo entender, sinceramente, não é ironia não. Se quer dizer que o "back-end" executa comandos mais simples, autocontidos, já disse o que penso a respeito. Além do mais, como eu disse, o equivalente ao "back-end" de um processador com microcódigo também é assim e eu nunca ouvi ninguém dizer que o S/360 tinha um "back-end" RISC...

Se você faz um CPU RISC com microcódigo ou não, não existe CISC "similar".

Monta um processador com arquitetura RISC baseado todo em microcódigo, agora, muda o microcódigo para executar uma arquitetura CISC, os processadores serão similares, certo?

E sim, um CISC pode ter pipelines e ser superescalar, como o Pentium1.

Então, qual é o sentido de "back-end" RISC?

Não me lembro agora de nenhum chip comercial além de x86 que converta CISC em RISC.

z10. Muitos com microcódigo, se tivermos "mente aberta". MicroVAXs, todos...

O backend é otimizado para x86 (menos no K5), mas é considerado RISC.

Mesmo tendo 8 registradores em pilha (o K7 tem um mecanismo que converte as referências para uma RF, mas mesmo assim usa 8 registradores em pilha como comandos), modelo de memória x86, instruções com dois operandos e toda lógica de controle x86?

Todos os CPUs x86 Intel e AMD do PPro ou K5 em diante podem ser considerados RISC internamente (google!).

Eu não vejo por quê.

O K5 foi problemático porque foi o primeiro CPU x86 100% feito pela AMD sem usar um design da Intel como base. Por isso aproveitaram o 29K que já tinham pois já estavam muito atrasados em relação à Intel.

Realmente.

Se o back-end não fosse RISC não existiria necessidade de um decoder traduzindo várias instruções x86 complicadas em microinstruções simples, como você mesmo disse não se tratar de algo novo.

Isso sempre aconteceu: não é nada trivial montar um "back-end" decente que execute algumas piras da x86 ou da VAX... além do mais, até os POWERs fazem isso, vai dizer que os POWERs tem um núcleo RISC?

Se o backend não fosse RISC a AMD a não chamaria de "RISC86" as instruções do backend do K5 e K6 (no K7 em diante a nomenclatura mudou).

Na época, RISC=bom...

É o que você chamou de unidades de execução, que entendem apenas microinstruções RISC86, ROps, Micro-Ops ou seja qual for o nome usado no dia da semana pelos fabricantes.

Certo.

Na figura do link abaixo sobre o K7, é a parte pintada de rosa. Repare que no lado da figura o K5 e K6 são chamados de CPUs RISC. O mesmo seria válido para o Pentium Pro em diante.

Como disse, preciso de uma explicação lógica para aceitar esse tipo de coisa...

Claro que devem existir links bem melhores, mas não vou atrás, sinceramente.

[]'s

DT

Eu também não vou, então nem se preocupe :).

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu também não vou, então nem se preocupe :).

Nesses CPUs backend é a parte que executa as microinstruções de tamanho fixo que foram decodificadas a partir das instruções complexas e de tamanho variável do padrão x86. É onde estão os registradores, agendadores e OOO (caso tenha), etc, onde estão as ALUs e FPUs que vão executar as operações inteiras ou de ponto flutuante em vez de agendar, que é feito pelo frontend.

OK se não quiser procurar. Mas acho que já é de conhecimento geral hoje em dia que todo x86 pode ser considerado RISC do K5 ou P6 em diante. Acho que em todos os datasheets de todos eles isso pode ser encontrado.

[]'s

DT

EDIT: Não ia comentar para não falarem que estou caçando briga, mas é melhor informar que POWER obviamente e reconhecidamente são CPUs RISC, e que VAX são CPU CISC (o sucessor do VAX, o Alpha, era RISC).

Editado por Dick Trace

Compartilhar este post


Link para o post
Compartilhar em outros sites

haaaaaaaaa.... ¬¬.... xD... eu sei q é complexo, mas nunca achei um tópico q explicasse bem a diferença e caracteristacas de cada 1... e olha q to aqui a 1 ano... mas acho q é melhor deixar as coisas difíceis pra quem sabe. ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
ou pós-RISC, como alguns chamam

Vivemos na era pós-RISC, onde os processadores RISC se tornaram complexos e com instruções de tamanho variável e os CISC só rodam direito algumas poucas instruções mais utilizadas e com diversas marcadas como obsoletas.

Resumindo, hoje faz pouca diferença se o processador é CISC ou RISC, exceto para celulares, por enquanto.

no K7 em diante a nomenclatura mudou

A as macro-instruções também, agora quase todas as instruções x86 tinham um código correspondente, nada de quebrar em 3 ou 4 logo no início e deixar o agendador se f(*) para arrancar algum paralelismo, algo mais "CISCy".

mas é melhor informar que POWER obviamente e reconhecidamente são CPUs RISC

É, é RISC...

Mas tem quase (ou já atingiram?) mil instruções, instruções de tamanho variável, diferentes formas de endereçamento e muitas das implementações atuais usam micro-código para cuidarem de instruções mais complexas.

ps: Conhecem a ISA da R600? EPIC, tamanho variável, variações por operador, forwarding explicito e mais quinhetas maluquices do tipo, imagino a cara de um dos engenheiros da MIPS logo após bolar uma ISA limpa vendo isso :devil:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×