Buscar

RISC CISC

Prévia do material em texto

Arquitetura RISC e CISC
Prof. Alexandre Bellezi José
 
Introdução
● Evolução:
Hardware X Software
● Custo benefício: hardware supera software.
● Software: desenvolvimento e manutenção → 
preço elevado → quase sempre possui 
falhas(bugs).
 
Introdução
● Linguagens de programação de alto nível 
surgiram como 'solução' para tais 'problemas' 
do software.
● Programação estruturada
● Orientação por objetos
Sugestão de leitura: No silver bullet. (EdModo)
 
Introdução
● Linguagens de alto nível se afastam do 
primitivismo do hardware.
● Cada vez uma distância maior entre instruções 
de máquina e comandos da linguagem.
Espaço Semântico
Semantic Gap
 
Espaço Semântico
● IBM e DEC → Fabricantes de computadores de 
grande porte.
● Incluem, paulatinamente, em seus 
processadores um grande número de 
instruções.
Procurando diminuir o Gap Semântico
 
Fechamento do Gap Semântico: 
Hardware
● Inclusão de várias instruções.
● Vários modos de endereçamento.
● Inicio de 1980 gerou a arquitetura CISC
Complex Instruction Set Computers
Processadores com conjunto de instruções 
complexo
 
CISC (1980)
● A ideia dos fabricantes era diminuir o GAP 
entre linguagens de alto nível e de máquina.
● Ex. VAX utilizava 300 instruções e mais de 15 
modos de endereçamento
● Objetivo final era facilitar a construção de 
compiladores.
● Intel e AMD seguem mesmo caminho da IBM e 
DEC.
● x86 considerada CISC.
 
Fechamento do Gap Semântico: 
Software
● 1960; 70 e 80 década das pesquisas em para 
entender e amenizar o Gap Semântico em nível 
de software.
● Desenvolvimento de linguagens de alto nível e 
estudo de seu comportamento estático e 
dinâmico.
● Primeiro estudo [KNUTH71].
 
Fechamento do Gap Semântico: 
Software
● Primeiro estudo [KNUTH71].
● ASSIGN → Atribuições
● Outras somente 7%
Comando Média de Ocorrência %
ASSIGN 47
IF 23
CALL 15
LOOP 6
GOTO 3
Outros 7
 
Como aumentar o desempenho?
● Otimizar o emprego de instruções que 
consomem mais tempo de CPU. Ex: ASSIGN
● Não se preocupar tanto com instruções 
complexas → somente 7% são deste tipo!!!!!!!
● OBS: Como funcionam as instruções de 
atribuição? O que elas acessam?
 
1980 Mais pesquisas
● Novas pesquisas para reduzir o gap semântico 
e diminuir a complexidade dos processadores.
● Em 1982 David Patterson publica o primeiro 
trabalho sobre RISC.
● Onde definia um processador com reduzido 
conjunto de instruções.
 
Comparativo entre ocorrência de certos 
comandos de linguagem de alto nível na 
execução de programas
 
Concluindo...
● Parece lógico pensar em processadores com 
conjunto de instruções simples, mas rápidasrápidas.
Ex: CISC x86
ADD reg1, reg2 B; B armazenado na MP
Ex: RISC
MOV reg2, B;
ADD reg1, reg2;
 
Concluindo...
● Parece lógico pensar em processadores com 
conjunto de instruções simples, mas rápidasrápidas.
Ex: CISC x86
ADD reg1, reg2 B; B armazenado na MP
Ex: RISC
MOV reg2, B;
ADD reg1, reg2;
 
Características das Arquiteturas 
CISC
● Complex Instruction Set Computer
● Grande quantidade de instruções.
● Instruções com múltiplos modos de 
endereçamento.
● Código gerado tinha que ser pequeno, pois 
memória era pequena e cara.
● Projetista deveria aumentar densidade do 
código de máquina: cada instrução deveria 
fazer muito, diminuindo o número de instruções 
no programa como um todo.
 
Características das Arquiteturas 
CISC
● Em meados de 1951 iniciou-se o uso de 
microprogramação → instruções complexas 
escritas em microcódigo.
● Microcódigo: código de muito baixo nível que 
define como o processador deverá funcionar.
● Microcódigo facilita o surgimento e manutenção 
do conceito de Família de Processadores.
● Ex: x86 (386 para 486, para Pentium, Pentium 
MMX, etc).
 
Características das Arquiteturas 
CISC
● Microcódigo reside em memória tipo ROM 
dentro da unidade de controle do processador.
● Primeiro sistema que utilizou microcódigo foi o 
IBM/360 em 1964.
● VAX máquina CISC: mais de 300 instruções de 
máquina, mais de 15 modos de 
endereçamento, instruções de 2 a 57 bytes de 
largura.
 
Características das Arquiteturas 
CISC
● CISC projeto se baseia em três conceitos:
● Uso de microcódigo
● Construção de conjuntos com instruções 
completas e eficientes (completeza no 
conjunto)
● Criação de instruções de máquina de 'alto 
nível', ou seja, com complexidade semelhante à 
dos comandos de alto nível.
 
Algumas regras básicas sobre a 
arquitetura CISC.
● Formato de dois operandos mais comum. ADD 
CX, mem (adiciona o valor na memória do 
valor do registrador CX e coloca o resultado no 
registrador CX)
● Uso de modos registrador para registrador; 
registrador para memória e memória para 
registrador.
● Instruções de largura variável, com quantidade 
de bytes variando de acordo com o modo de 
endereçamento.
 
Algumas regras básicas sobre a 
arquitetura CISC.
● Instruções requerem múltiplos ciclos de relógio 
para sua completa execução, além de que a 
quantidade desses ciclos varia de acordo com 
a largura das instruções.
Ex: se uma instrução realiza mais de um acesso à 
memória para buscar dois operandos, então gasta 
mais ciclos do que outra que só realiza um acesso.
● O hardware possui poucos registradores devido 
ao fato de possuir muitas instruções com 
acesso à memória e por causa da limitação do 
espaço no chip usado para memória de 
controle (microcódigo), decodificação.
 
Algumas regras básicas sobre a 
arquitetura CISC.
● Há também registradores especializados, como 
o registrador de controle (para códigos de 
condição ou flags), de segmento, para o 
ponteiro de pilha, para tratamento de 
interrupções, etc.
 
Problemas na Arquitetura CISC
● Os problemas listados nos próximos slides 
foram definidos pelo pesquisador David 
Patterson que também propôs uma nova 
máquina chamada RISC-1.
 
Problemas na Arquitetura CISC
● Diferenças de velocidade entre memória e 
processador.
– Final de 1970 IBM identifica que isso era um 
problema em seus sistemas.
– Operações aritméticas de ponto flutuante → muitos 
acessos a memória.
– IBM acrescenta novas instruções.
– Patterson diz que tal atitude não resolve o 
problema da velocidade.
 
Problemas na Arquitetura CISC
● Emprego de Microcódigo
– Real vantagem do microcódigo custo/benefício de 
microcódigo em relação a programação 
diretamente no hardware.
– Facilidade leva projetista a criar mais e mais 
instruções.
 
Problemas na Arquitetura CISC
● Desenvolvimento Acelerado de Linguagens 
de Alto Nível.
– 1980 grande crescimento do uso de linguagens de 
nível mais alto.
– Induz projetista de hardware a criar instruções mais 
complexas para aproximar os dois modelos.
 
Problemas na Arquitetura CISC
● Densidade de código a ser executado.
– CISC tem como um dos requisitos → código mais 
compacto para usar menos memória.
– Um comando de alto nível resultaria em “muito 
poucas” instruções de máquina.
– Patterson → mais bits nas instruções, pois há 
muitas. E mais modos de Endereçamento. 
Aumenta gasto de memória. Isso contrabalançariacontrabalançaria 
a pretensa vantagem da densidade do código.
 
Problemas na Arquitetura CISC
● Necessidade de compatibilidade com 
processadores anteriores.
– Fabricantes sempre garantem a 
retrocompatibilidade dos programas entre as 
famílias dos processadores.
– Isso limita a especificação de novas arquiteturas.
– Assim arquiteturas novas crescem somente em 
número de instruções. Instruções antigas nunca 
são retiradas.
 
Arquitetura RISC
● Estudos na áreade arquitetura de 
computadores na década de 1980 levou a 
criação do RISC.
RISC
Reduced Instruction Set Computer
 
Arquitetura RISC
● Arquitetura RISC seguiu três caminhos de 
desenvolvimento:
● IBM consegue sucesso em meados de 1990 
com o PowerPC (Motorola, Apple e IBM).
● Universidade Stanford da Califórnia, John 
Hennessy, estudos gera a empresa MIPS.
● Universidade de Berkeley, da Califórnia, David 
Patterson, estudos servem como base para os 
processadors da Sun.
 
Arquitetura RISC
Fonte: Monteiro
 
RISC Características
Menor quantidade de instruções e tamanho 
fixo
● Possui conjunto menor de instruções se 
comparado ao CISC.
● Família SPARC da Sun possui cerca de 50 
instruções; VAX da IBM mais de 300; Intel 486 
146 instruções; Pentium mais de 200.
● Mesmo tamanho da instrução facilita a busca e 
decodificação da mesma. Contador de 
Instrução não precisa ser incrementado.
 
RISC Características
Execução Otimizada de Chamada de Funções
● Em CISC chamada de funções conduz a 
rotinas de leitura/escrita na MP para passagem 
de parâmetros e recuperação de dados.
● Em RISC tudo ocorre dentro do próprio 
processador, pois ele possui mais 
registradores.
● RISC possui circuitos de decodificação de 
instrução e execução simplificados 'sobrando' 
recursos para mais registradores. 
 
RISC Características
Menor Quantidade de Modos de 
Endereçamento
● Apenas dois tipos de instruções para acessar a 
memória LOAD/STORE.
● Utiliza somente o modo direto de acesso a 
memória.
● Outras operações também são realizadas no 
processador.
● Simplifica projeto e implementação e reduz o 
número de ciclos necessário para executar a 
instrução.
 
RISC Características
Modo de Execução com Pipelining
● Como instruções possuem formato simples e 
único pipeline ocorre de modo eficiente.
● Pipeline tem melhor desempenho em 
instruções semelhantes em termos de formato 
e complexidade.
 
RISC Características Resumo
Fonte: Monteiro
 
RISC x CISC
● O que é melhor? RISC? CISC?
 
Tarefa
● Fazer a leitura do seguinte texto.
● Apple Said to Be Exploring Switch From Intel 
for Mac - Bloomberg 06-11-2012.pdf
● Criar um texto com suas conclusões sobre o 
futuro das arquitetura RISC e CISC baseado na 
notícia acima e porque o RISC está evoluindo 
tanto nos dias atuais?
● Entrega da tarefa: ????? Peso(0.2) 
● PROVA ?????? – Assunto: CISC e PROVA ?????? – Assunto: CISC e 
RISC( Peso 1)RISC( Peso 1)
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37

Continue navegando