Arquiteturas RISC x CISC

Slides:



Advertisements
Apresentações semelhantes
Organização de Computadores I
Advertisements

gerador de código intermediário
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Programas e Microprogramas
WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Arquitetura de Computadores
Seminários de Compiladores
ARQUITETURAS RISC E CISC
Arquitetura de Sistemas Operacionais
CISC e RISC.
INTRODUÇÃO À PROGRAMAÇÃO
Professor: Erivelto Tschoeke – UDESC/CEPLAN
REPRESENTAÇÃO DE INSTRUÇÕES
Componentes do Computador e noções de Arquitetura de Computadores
Arquitetura de Computadores
Arquitetura de Sistemas Operacionais
Arquitetura de Computadores
Informática.
Configuração de manutenção
Lógica de Programação UNIDADE 1 – Introdução a) Computador
2- Entendendo o que é Arquitetura e Organização
Prof. João Paulo de Toledo Gomes
Sejam bem vindos! Arquitetura de Sistemas Operacionais.
História do Computador Desde os idos tempos da humanidade os seres humanos procuram relacionar quantidades. Supõe-se que as primeiras tentativas de contagens.
Representação de Instruções
Arquitetura de computadores
Complex Instruction Set Computer
Caracterização e Objetivos das LP
Sistemas Operacionais I
Laboratório I Mateus Raeder Material baseado nos originais da
Arquitetura de computadores
Avaliação da Linguagem de Programação
Geração de Código aula-12-geração-de-código.pdf.
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Introdução a Linguagens de Programação
Unidade Central De Processamento: Processador
Unidade Central De Processamento: Processador
Experimentação Algorítmica
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Processadores de Linguagens
Back-End Compilação aula-11-back-end.pdf.
IMM Instalação e Manutenção de Microcomputadores
Microprocesadores x Microcontroladores
Componentes de um Sistema de Computação
Linguagens de Programação Introdução Prof. Renato Melo.
Algoritmos e Programação I
Registradores.
Centro de Informática - UFPE
Arquitetura de Computadores
Slides before 1st Section Divider
Sistemas de Informação – mais que tecnologia Profa. Reane Franco Goulart.
Assembly Equipe: David Lopes Embiruçú (dle) Emanuel Felipe Príncipe Carvalho (efpc) Luis Otávio Cavalcante Borba (locb) Rosana Silva Matos (rsm2)
Processadores.
Evolução das Principais Linguagens de Programação
Paradigmas de Programação
Funcionamento interno do computador
Arquitetura de Sistemas Operacionais
A linguagem de Máquina – Instruções Básicas
MEMÓRIA (INFORMÁTICA)
Evolução Histórica Pré-História
Algoritmos e Programação Aula 01 Computadores e seus componentes.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
 Processamento de dados: requer a execução de uma série de passos, o programa (software)  Cada passo é uma instrução, ou ordem de comando, dada ao.
Arquitetura ARM.
 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.
Transcrição da apresentação:

Arquiteturas RISC x CISC

Processadores RISC X CISC 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

Processadores RISC X CISC 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)

Processadores RISC X CISC 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

Processadores RISC X CISC 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

Processadores RISC X CISC CISC: Complex Instruction Set Computers Ou: Processadores com conjunto de instruções complexo Em alguns processadores a quantidade de instruções ultrapassa 300

Processadores RISC X CISC 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

Processadores RISC X CISC 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

Processadores RISC X CISC Um dos estudos mais famosos foi o de Knuth em 1971. Ele observou o comportamento de vários programas escritos em Fortran.

Processadores RISC X CISC 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)

Processadores RISC X CISC 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)

Processadores RISC X CISC 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

Processadores RISC X CISC Algumas observações de Patterson

Processadores RISC X CISC Algumas observações de Patterson

Implicações 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

Implicações 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)

For (i = n; i<0; i--){ } loop: LOAD endi, R1 SUB #1, R1, R1   loop: LOAD endi, R1 SUB #1, R1, R1 STORE R1, endi CMP #0, R1 JNZ loop DBNZ endi, loop DBNZ: Decrement and Branch if not zero

Por que CISC? Simplificação do compilador? Programas menores? 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

Programas mais rápidos? Por que CISC? 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

Características da Arquitetura RISC 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

Características da Arquitetura RISC 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

RISC X CISC 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

RISC X CISC Atualmente as arquiteturas trazem um “híbrido” entre RISC e CISC