Você está na página 1de 4

Arquitetura de Computadores A14 P1/4

ARQUITETURAS RISC E CISC Desde a criao do primeiro computador de programa armazenado (IAS, 1946), a rpida evoluo da tecnologia de semicondutores permitiu a construo de mquinas muito mais velozes. No entanto, houve poucas inovaes nas reas de arquitetura e organizao de computadores, destacando-se: o conceito de famlia de computadores, unidade de controle microprogramada, memria cache, sistemas multiprocessados e a arquitetura RISC. Basicamente distinguem-se duas arquiteturas de computadores: o RISC (Reduced Instruction Set Computer): Nmero reduzido de instrues (em torno de 100) e modos de endereamento. Arquitetura apropriada para um controlador totalmente hardwired. o CISC (Complex Instruction Set Computer): Grande nmero de instrues (tipicamente entre 150 e 250) e um grande nmero de modos de endereamento, cuja implementao economicamente vivel somente atravs da tecnologia de microprogramao. Os defensores da arquitetura RISC argumentam que ao longo dos anos os computadores ficaram muito complicados, e que praticamente todos os computadores convencionais so arquiteturalmente obsoletos. Dessa maneira, todos os projetos baseados nas mquinas atuais deveriam ser descartados, recomeando tudo de um ponto de vista mais simplista. Este o grande debate RISC x CISC, que ainda est sem uma palavra final.

Princpios de Projeto para as Mquinas RISC Execuo de uma instruo por ciclo de clock o Esta a caracterstica mais importante das mquinas RISC (e que as distingue das mquinas CISC). Como conseqncia disto, qualquer operao que no possa ser completada em um ciclo no pode ser includa no conjunto de instrues. o Assim, muitas mquinas RISC no possuem instrues de multiplicao e diviso, executando estas operaes atravs de seqncias de somas e deslocamentos criadas em tempo de compilao ou atravs de procedimentos de bibliotecas. Arquitetura LOAD/STORE o Dada a condio anterior de que todas as instrues devem ser executadas em um ciclo de clock, cria-se um problema com as instrues que acessam a memria, pois este tipo de operao leva muito tempo. A soluo adotada que todas as instrues comuns (ADD, MOV, AND) devem ter apenas registradores como operandos, ou seja, apenas o endereamento de registrador permitido. o Entretanto, algumas instrues tm que referenciar a memria, de modo que duas instrues especiais, LOAD e STORE, so adicionadas a esta arquitetura. Estas duas instrues so a nica forma de ler ou escrever dados na memria.

Prof. Marcon

Arquitetura de Computadores A14 P2/4

Uso intenso de Pipelining o Proibir que as instrues comuns acessem a memria no resolve o problema de como fazer com que as instrues LOAD e STORE operem em um ciclo. o A soluo neste caso alterar ligeiramente o objetivo: ao invs de requerer que toda instruo deva ser executada em um ciclo, deve-se buscar a capacidade de iniciar uma nova instruo a cada ciclo, sem levar em conta quando ela concluda. Dessa forma, se em N ciclos consegue-se iniciar N instrues, na mdia se obtm a execuo de uma instruo por ciclo. o Para atingir este objetivo modificado, todas as mquinas RISC possuem Pipeline. o No entanto, alguns cuidados devem ser tomados com o uso do pipeline. Por exemplo, o compilador deve garantir que qualquer instruo que venha depois de um LOAD no utilize o dado que est sendo buscado da memria. Se nenhuma outra instruo puder ser colocada depois do LOAD, pode-se inserir um NOP e desperdiar um ciclo. Este conceito de ter uma instruo LOAD sem efeito imediato conhecido como Carga Atrasada.

Ciclo Estgio 1 2 3 4 5 6 7 8 9 10 11 12 Busca de Instruo A B L C D E F S G H I J Execuo de Instruo A B L C D E F S G H I Acesso Memria L S

Unidade de Controle Implementada por Hardware o Em uma mquina RISC, as instrues so executadas diretamente pelo hardware, eliminando a necessidade de qualquer microprograma na UC. Eliminar a necessidade de decodificao das instrues em microinstrues o segredo da velocidade das mquinas RISC. o Se uma instruo complexa for realizada em uma mquina CISC utilizando 10 microinstrues de 0,1s cada, conclui-se que tal instruo leva 1s para ser executada. Em uma mquina RISC, para realizar a mesma operao seria necessrio utilizar 10 instrues RISC, e se cada uma levar 0,1s para ser executada, gasta-se ento o mesmo tempo que a mquina CISC. o A nica desvantagem da mquina RISC neste caso a ocupao um pouco superior de memria, visto que os programas tendem a ter mais instrues. Instrues de Formato Fixo o Como em uma mquina RISC a UC implementada atravs de hardware, os bits individuais de cada instruo so utilizados como entradas no bloco decodificador de instrues. Neste caso, no faz sentido utilizar instrues de tamanho varivel, pois no existe nenhum microprograma embutido, capaz de retirar bytes da fila de instrues e analis-los um de cada vez por software.

Prof. Marcon

Arquitetura de Computadores A14 P3/4

Conjunto de Instrues e Modos de Endereamentos Reduzidos o Este o motivo pelo qual as mquinas RISC receberam tal nome. No entanto, no existe nenhuma objeo em criar muitas instrues, desde que cada instruo seja executada em um ciclo. o Na prtica, a limitao na quantidade de instrues recai sobre a complexidade do decodificador de instrues, que cresce gradativamente conforme o nmero de instrues, aumentando inclusive a rea ocupada da pastilha. o Por razes de velocidade e complexidade, no desejvel ter mais do que um nmero mnimo de modos de endereamento. Mltiplos Conjuntos de Registradores o Por no possuir nenhum microprograma, grande parte da rea da pastilha liberada para outros propsitos. Muitas mquinas RISC utilizam este espao para implementar um grande nmero de registradores de CPU, que so utilizados para diminuir a quantidade de acessos memria (LOAD e STORE). Necessidade de Compiladores Complexos o Ao manter o hardware to simples quanto possvel de modo a obter a maior velocidade possvel, paga-se o preo de tornar o compilador consideravelmente mais complicado. o Boa parte da complexidade do compilador reside na grande distncia semntica existente entre as linguagens de alto nvel e o conjunto de instrues reduzido das mquinas RISC. o Alm disso, o compilador tem que lidar com caractersticas difceis, como cargas atrasadas e o gerenciamento do grande nmero de registradores.

Quadro comparativo entre as arquiteturas

RISC Instrues simples durando 1 ciclo

CISC Instrues complexas durando vrios ciclos Apenas LOAD/STORE referencia a Qualquer instruo pode referenciar a memria memria Alto uso de Pipeline Baixo uso de Pipeline Instrues executadas pelo hardware Instrues interpretadas pelo (Hardwired) microprograma (Microprogramao) Instrues com formato fixo Instrues de vrios formatos Poucas instrues e modos de Muitas instrues e modos de endereamento endereamento Mltiplos conjuntos de registradores Conjunto nico de registradores A complexidade est no compilador A complexidade est no microprograma

Prof. Marcon

Arquitetura de Computadores A14 P4/4

Comparaes de Desempenho entre RISC e CISC Como a medida de desempenho est diretamente relacionada a um programa em especfico, cria-se uma dificuldade em comparar processadores RISC e CISC, dadas as diferenas conceituais entre ambas as arquiteturas. Como comparar adequadamente medidas de comportamento desigual? A unidade de medida MIPS (Milhes de Instrues Por Segundo) no eficaz para esta comparao, pois pode facilmente iludir o observador com os resultados, uma vez que um mesmo programa possui muito mais instrues em uma mquina RISC do que em uma CISC. Dessa forma, utiliza-se com maior freqncia a unidade MFLOPS (Milhes de Operaes de Ponto Flutuante Por Segundo), por medir a velocidade com que o processador efetivamente realiza os clculos matemticos. A grande questo Qual das duas arquiteturas a melhor? continua em aberto, visto que existem diversas dificuldades em tentar fazer estas comparaes: o No existe nenhum par de mquinas RISC e CISC comparveis em termos de custo, nvel de tecnologia, complexidade de portas lgicas, compilador, sistema operacional, etc. o No existe um conjunto de programas de teste definitivo (desempenho varia com o programa). o difcil separar efeitos do hardware de efeitos devidos ao desenvolvimento de compiladores mais otimizados. Recentemente, a controvrsia envolvendo RISC x CISC diminuiu, devido grande convergncia que vem ocorrendo entre as duas tecnologias. As mquinas RISC tornaram-se mais complexas, em virtude do aumento da densidade das pastilhas e das velocidades do hardware, e as mquinas CISC passaram a utilizar conceitos tradicionalmente aplicados s mquinas RISC, como o nmero crescente de registradores e maior nfase no projeto do pipeline de instrues.

LEITURA RECOMENDADA Captulo 11 (pg. 428 a 438) do Monteiro Item 8.1 (pg. 343 a 386) do Tanenbaum Captulo 12 (pg. 478 a 520) do Stallings

Prof. Marcon