Baixe o app para aproveitar ainda mais
Prévia do material em texto
RISC e CISC: Comparação de suas técnicas Alison Carrera∗, Alessandro Nazário†, Adeilson Junior‡ e Victor Sales§ ∗ † ‡ §Departamento de Informática ∗ † ‡ § Universidade Federal Rural de Pernambuco, Recife, Brasil Email: ∗alison.carrera@hotmail.com, † alessandrorocha1991@gmail.com, ‡ aplj.adeilson@gmail.com, § salesb@gmail.com Resumo—A arquitetura de processador descreve o proces- sador que foi usado em um computador. A arquitetura CISC (Computador com um Conjunto Complexo de Instruções), é uma arquitetura que suporta muitas instruções, porém a execução dessas instruções são mais lentas, já a arquitetura RISC (Con- junto Reduzido de Instruções), suporta menos instruções, e com isso executa com mais rapidez o conjunto de instruções que são combinadas. No inı́cio da década de 80, havia uma tendência em construir processadores com conjuntos de instruções cada vez mais complexos, porém nem todos os fabricantes seguiram essa tendência, tomando o caminho inverso no sentido de produção de processadores de alta performance. A arquitetura RISC, surgiu com o objetivo de melhorar o desempenho dos processadores. Este artigo contém uma comparação das técnicas usadas em duas diferentes arquiteturas de computadores, a arquitetura CISC e a arquitetura RISC onde é apresentado uma explicação altamente abstrata e simplificada sobre a evolução de uma arquitetura para a outra e algumas mudanças que ajudaram na melhoria do desempenho nos processadores. Palavras-chave—CISC, RISC, Processadores, Arquitetura de Computadores, Desempenho. I. INTRODUÇÃO A arquitetura de processador descreve o processador que foi usado em um computador. A arquitetura CISC (Computa- dor com um Conjunto Complexo de Instruções), é uma arquite- tura que suporta muitas instruções, porém a execução dessas instruções são mais lentas, já a arquitetura RISC (Conjunto Reduzido de Instruções), suporta menos instruções, e com isso executa com mais rapidez o conjunto de instruções que são combinadas [1]. Um processador CISC, é capaz de executar várias cente- nas de instruções complexas, sendo extremamente versátil.A tendência era construir chips com conjuntos de instruções cada vez mais complexos, mas alguns fabricantes resolveram seguir o caminho oposto, criando o padrão RISC. Ao contrário dos complexos CISC, os processadores RISC são capazes de ex- ecutar apenas algumas poucas instruções simples. Justamente por isso, os chips baseados nesta arquitetura são mais simples e muito mais baratos e por terem um menor número de circuitos internos, podem trabalhar com clocks mais altos. Um processador RISC é capaz de executar instruções muito mais rapidamente [1]. Este artigo contém uma comparação das técnicas usadas em duas diferentes arquiteturas de computadores, a arquitetura CISC e a arquitetura RISC onde é apresentado uma explicação altamente abstrata e simplificada sobre a evolução de uma arquitetura para a outra e algumas mudanças que ajudaram na melhoria do desempenho nos processadores. II. ENTENDENDO CISC E RISC As primeiras máquinas que seguem a arquitetura CISC, sugiram a partir da microprogramação, que possibilitou a utilização de um conjunto mais complexo de instruções. Microprogramação significa que um conjunto de código de instrução de máquina é interpretado por um microprograma que está localizado em uma memória do circuito integrado do processador [2]. Por volta de 1975, a microprogramação era a técnica mais apropriada para as tecnologias de memórias existentes nessa época, resultando em processadores com um conjunto complexo de instruções que interagem muito com a memória, requerendo múltiplos ciclos de clock para a sua execução ser completada. Esses acessos a memória acontece com frequência devido a pequena quantidade de registradores que a arquitetura CISC possui. No inı́cio da década de 80, havia uma tendência em construir processadores com conjuntos de instruções cada vez mais complexos, porém nem todos os fabricantes seguiram essa tendência, tomando o caminho inverso no sentido de produção de processadores de alta performance. A arquitetura RISC, chegou trazendo as seguintes caracterı́sticas: a execução de instrução por ciclo de clock, instruções com formato fixo e implementação por pipeline[2]. Um pipeline é definido como sendo uma técnica de implementação em que várias instruções são sobrepostas na execução [4]. É composto por uma série de etapas que buscam serem realizadas em paralelo, onde uma parte do trabalho é feita em cada etapa, semelhante a uma linha de montagem garantindo que o tempo de execução seja reduzido. III. COMPARAÇÃO DE OPERAÇÕES NAS ARQUITETURAS CISC E RISC Na Figura 1, é mostrado um diagrama que representa o regime de armazenamento, composta por uma memória prin- cipal, registradores e a unidade de execução, que é responsável por todos os cálculos. Com isso será apresentado a execução de uma multiplicação para as arquiteturas CISC e RISC [3]. • A abordagem CISC Fig. 1: A Memória, o banco de registradores e a unidade de execução ilustra como o CISC e RISC fazem para executar as instruções com o acesso as informações pela memória ou pelos registradores.[3] O principal objetivo da arquitetura CISC é completar uma tarefa com um número mı́nimo de linhas de montagem possı́vel. Isso é obtido através da construção de hardware do processador, que é capaz de entender e executar uma série de operações. Vamos usar como exemplo um processador CISC, que vem preparado com uma instrução especı́fica ( que é chamada de ”MULT”), quando executada, esta instrução carrega os dois valores em registradores separados, multiplica os operandos na unidade de execução e, em seguida, armazena o produto. Assim, a tarefa de multiplicar dois números pode ser completada com apenas uma instrução: MULT 2: 2, 5: 5 MULT é conhecido como uma ”instrução complexa.” Atua diretamente em bancos de memória do computador e não requer que o programador explicitamente possa chamar quais- quer funções de carregar (Load) ou armazenar (Store), ele se assemelha a um comando em uma linguagem de alto nı́vel, por exemplo, se permitirmos que ”a” possa representar o valor de 2: 2 e ”b” represente o valor de 5: 5, em seguida, este comando é idêntico a instrução: a = a * b. Uma das principais vantagens deste sistema é que o compi- lador tem de fazer pouco trabalho para traduzir uma indicação de linguagem de alto nv́el em montagem. Uma vez que o comprimento do código é relativamente curto, e pouco da memória é requerida para armazenar a instrução [3]. • A abordagem RISC Processadores RISC utilizam apenas instruções simples que podem ser executados dentro de um ciclo de clock. Assim, o comando ”MULT” descrito acima pode ser dividido em três comandos distintos: ”load”, que move os dados do banco de memória para um registrador, ”mult”, que encontra o produto de dois operandos localizados dentro dos registradores, e ”store” que move dados de um registrador para o banco de memória. A fim de realizar a série exata de passos descritos na abordagem CISC, um programador necessita de codificar quatro linhas de montagem para essa arquitetura: load a, 2:2 load b, 5:5 mult a, b store 2:2, a Num primeiro momento, isto pode parecer uma forma menos eficiente de executar esta operação. Porque há mais linhas de código que a arbodagem anterior e necessita de mais da memória para armazenar as instruções do nı́vel de montagem. Portanto, o compilador deve realizar mais trabalho para converter uma declaração de linguagem de alto nı́vel em um código desse formato. Entretanto, a arquitetura RISC também traz algumas vantagens importantes, uma vez que cada instrução requer apenas um ciclo de clock para ser executado, assim, todo o programa será efetuado aproximadamente com o mesmo tempo que o comando MULT. Separando as instruções loade store a quantidade de trabalho que o computador deve executar é reduzida. Depois da execução do MULT na arquitetura CISC, o processador apaga automaticamente os registros. Caso alguns dos operandos precisar ser utilizado para outro cálculo, o processador irá recarregar da memória em algum registrador. Na arquitetura RISC, o operando permanecerá no registrador até que outro valor seja carregado em seu lugar. IV. CONCLUSÃO Comparando as duas arquiteturas o RISC é caracterizada por ser objetiva, simples e tem um grande uso da abordagem de pipeline, e a arquitetura CISC é voltada para execução de instruções complexas com a técnica da microprogramação, resultando na diminuição do tamanho dos códigos. No decorrer do tempo, o confronto dessas arquiteturas e o aperfeiçoamento de cada uma delas permitiu que houvessem melhorias significativas , mas foram encontrados e definidos limites a que cada arquitetura pode desempenhar. Então, verifica-se que uma fusão dessas arquiteturas é o ideal, con- tendo os conceitos vantajosos de cada uma delas e permitindo assim obter uma melhor perfomance de processadores. AGRADECIMENTOS Os autores gostariam de agradecer pela oportunidade de conhecimento adicional e cientı́fico para a disciplina de Ar- quitetura de Computadores lecionada pelo professor André Aziz. REFERÊNCIAS [1] Germano A., Arquitetura Cisc e Risc qual diferença, Disponı́vel em: http://www.gruponetcampos.com.br/2011/03/arquitetura-cisc-e-risc- qual-diferenca, Acesso: 17/10/2014. [2] Diniz B. R. J., Corrêa A., Infraestrutura de Hardware. Volume 2. Recife: 2009. [3] Silva L. F., Antunes M. J. V., Comparação entre as arquiteturas de processadores RISC e CISC, Faculdade de Engenharia da Universidade do Porto. [4] Patterson A. D., Hennessy L. J., Computer Organization and Design, Quarta edição, 2011.
Compartilhar