Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSabina Neusa Estrela Vilalobos Alterado mais de 8 anos atrás
2
Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN) Surgimento de novos paradigmas como a OO, Orientação a Componentes, Orientação a Eventos, etc Linguagens tendem a evoluir para facilitar a vida do ser humano
3
Um único comando de uma Linguagem de Alto Nível pode significar muito e gerar muitas instruções de máquina no código-objeto Consequência: O trabalho do compilador se torna mais difícil (os compiladores devem ser mais complexos)
4
Linguagens de programação de alto nível (LAN) cada vez mais poderosas e complexas Problema gap semântico: enorme distância semântica entre as operações disponíveis em linguagens de alto nível e as operações disponibilizadas pelo hardware de computadores
5
Decisão tomada pelos fabricantes (DEC e IBM): Aumentar o número de instruções de máquina em seus processadores O objetivo era “fechar” o gap semântico e facilitar a vida dos compiladores No início da década de 80 este tipo de arquitetura foi chamado de CISC
6
CISC: Complex Instruction Set Computers Ou: Processadores com conjunto de instruções complexo Em alguns processadores a quantidade de instruções ultrapassa 300
7
Apesar de ter começado com processadores de grande porte, a Intel e a AMD adotaram o CISC em suas arquiteturas A arquitetura x86 pode ser considerada um projeto CISC
8
Algumas pesquisas surgiram na época para tentar ajudar na redução do gap semântico A ideia era estudar o comportamento dos programas escritos na LAN
9
Um dos estudos mais famosos foi o de Knuth em 1971. Ele observou o comportamento de vários programas escritos em Fortran.
10
O estudo de Knuth mostrou que grande parte das instruções existentes nos programas, em média, resultam em muitas instruções de atribuições (Assign). Ou seja, a transferência de dados pode tornar os programas lentos (principalmente se envolver leitura em memória)
11
Deveria-se então ter uma preocupação em otimizar as instruções que consumiam mais tempo (como o assign) em vez de se preocupar em construir instruções mais complexas (que eram raramente usadas)
12
Novos estudos surgiram, culminando com o trabalho de Patterson em 1982 que descrevia uma nova arquitetura que foi chamada de RISC (Reduced Instruction Set Computer) Criava um processador com pequeno (reduzido) conjunto de instruções
13
Algumas observações de Patterson
15
Arquitetura com um conjunto de instruções mais próximo das instruções de LAN não era eficiente Um suporte mais eficiente para LAN poderia ser obtido por meio da otimização das características responsáveis por maior consumo de tempo de execução de programas em LAN
16
Grande número de registradores Otimizar referências a operandos, reduzindo o número de referências à memória Projeto de pipeline otimizados com previsão de desvios Devido a alta taxa de ocorrência de instruções de desvio condicional e de chamada de procedimento Conjunto de instruções simplificado (reduzido)
17
For (i = n; i<0; i--){ } loop: LOAD endi, R1 SUB #1, R1, R1 STORE R1, endi CMP #0, R1 JNZ loop For (i = n; i<0; i--){ } loop: DBNZ endi, loop DBNZ: Decrement and Branch if not zero
18
Simplificação do compilador? Instruções de máquinas complexas são difíceis de ser usadas A otimização do código é difícil Programas menores? Menos memória Deixou de ser vantagem pois memória está barata Instruções CISC podem parecer pequenas no formato simbólico mas podem ocupar mais bits
19
Programas mais rápidos? Unidade de controle mais complexa Microprograma ocupa muito espaço na memória de controle Não é muito claro que a tendência no sentido de conjunto de instruções complexas seja adequada
20
Uma instrução por ciclo de máquina Um ciclo de máquina é definido como o tempo requerido para buscar 2 operandos em regs. executar uma op. na ULA e armazenar o resultado em um registrador Operações de registrador para registrador Operações simples de carga e armazenamento para acesso à memória
21
Modos de endereçamento simples Formatos de instruções simples Pequeno número de formatos diferentes Tamanho da instrução é fixo Não é necessária a microprogramação
23
Projetos RISC podem se beneficiar com a inclusão de algumas características CISC PowerPC Projetos CISC podem se beneficiar com a inclusão de algumas características RISC Pentium II
24
Atualmente as arquiteturas trazem um “híbrido” entre RISC e CISC
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.