RISC - Reduced Instruction Set Computer



Documentos relacionados
Aula 26: Arquiteturas RISC vs. CISC

SSC510 Arquitetura de Computadores. 2ª aula

Arquiteturas RISC. (Reduced Instructions Set Computers)

RISC X CISC - Pipeline

Arquitetura de processadores: RISC e CISC

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Sistemas Operacionais

Informática I. Aula 5. Aula 5-13/05/2006 1


Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Computacionais II Professor Frederico Sauer

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano

ARQUITETURA DE COMPUTADORES

Algumas características especiais

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Organização e Arquitetura de Computadores I

ARQUITETURA DE COMPUTADORES

Edeyson Andrade Gomes

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

SSC0611 Arquitetura de Computadores

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Processamento de Dados

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

CISC - Complex Instruction Set Computer

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Introdução ao Processamento Paralelo

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Nível da Microarquitetura

Organização e Arquitetura de Computadores I. de Computadores

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Tipos de Instruções

BARRAMENTO DO SISTEMA

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Introdução à Arquitetura de Computadores

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Objetivos. Arquitetura RISC vs. CISC. Evolução Da Arquitetura De Computadores. Roteiro. Evolução Da Arquitetura De Computadores CISC

Organização e Arquitetura de Computadores I

ALP Algoritmos e Programação. . Linguagens para Computadores

Visão Geral de Sistemas Operacionais

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Pipeline, RISC e CISC

Modos de entrada/saída

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

O modelo do computador

SSC0902 Organização e Arquitetura de Computadores

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

1.1. Organização de um Sistema Computacional

Microarquiteturas Avançadas

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Curso de Instalação e Gestão de Redes Informáticas

ARQUITETURA DE COMPUTADORES

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

Introdução à Arquitetura de Computadores IFES Campus Serra

Arquitetura de Computadores

Memórias Prof. Galvez Gonçalves

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Componentes do Computador e. aula 3. Profa. Débora Matos

Capítulo 1 Introdução

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Organização e Arquitetura de Computadores I. de Computadores

Computadores XXI: Busca e execução Final

Arquitetura de Computadores I

Computador Digital Circuitos de um computador (Hardware)

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Arquitetura de Computadores I

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

1. NÍVEL CONVENCIONAL DE MÁQUINA

Sistemas Operacionais

Computadores de Programação (MAB353)

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Transcrição:

Arquietura MAC 412- Organizãção de Computadores - Siang W. Song Baseado no livro de Tanenbaum - Structured Computer Organization

Arquietura Índice 1 Avaliação da arquitetura CISC (microprogramada) Críticas à arquitetura CISC 2 Arquietura

Arquietura Críticas à arquitetura CISC Críticas à arquitetura CISC Os computadores CISC estão ficando demasiadamente complexos, com várias centenas de instruções e dezenas de modos de endereçamento. Um grande questionamento é se muitas das intruções complexas são de fato necessárias nos programas típicos. Levantamentos feitos mostram os comandos mais usados pelos programas. Eles se concentram em alguns poucos comandos, em geral bastante simples.

Arquietura Críticas à arquitetura CISC Levantamento sobre os comandos mais típicos Knuth, Wortman, Tanenbaum e Patterson mediram programas escritos em várias linguagens. Comando Fortran C Pascal atribuicao := 51% 38% 45% if 10 43 29 call 5 12 15 loop 9 3 5 goto 9 3 0 outros 16 1 6 Número de termos % 1 80 2 15 3 3 4 2 5 ou mais 0

Arquietura Críticas à arquitetura CISC Levantamento sobre uso de variáveis locais e parâmetros Numero de variaveis locais % 0 22 1 17 2 20 3 14 4 7 5 ou mais 20 Número parâmetros % 0 41 1 19 2 15 3 9 4 7 5 ou mais 9

Arquietura Críticas à arquitetura CISC Obervações sobre a velocidade da memória Arquitetura CISC se justificava pela velocidade lenta da memória no passado: após precisar de um acesso à memória para buscar uma instrução da memória, a execução das microinstruções resultantes nem sempre precisam de acesso à memória. No entanto, as memórias de hoje são bem mais rápidas, e dispensam talvez o uso de uma ROM dentro do processador contendo as microinstruções.

Arquietura Com as constatações sobre a arquitetura CISC: Um microprograma complexo significa maior tempo para decodificar e executar uma instrução complexa, muitas das quais raramente são usadas. A vantagem da CISC por causa da memória lenta já não vale diante de memórias modernas mais rápidas. Surgiu a arquetitura RISC: Reduced Instruction Set Computer.

Arquietura Característica da arquitetura RISC Não há microprograma para interpretar as instruções. Existe um conjunto reduzido de instruções simples RISC parecidas com as microinstruções da arquitetura CISC. O código gerado pelos compiladores é constituído de instruções simples desse conjunto reduzido. Essas instruções são armazenadas na memória RAM, buscadas e executadas diretamente em hardware na CPU, sem nenhuma interpretação. As instruções são executadas na sua maioria em apenas um ciclo da máquina.

Arquietura IBM 801 (1980): é o antecessor do IBM PC/RT (Risc Technology). Berkeley RISC I e RISC II (1980 e 1981): projetado por Patterson e Séquin; inspirou o projeto do processador SPARC, da SUN Microsystems. Stanford MIPS (1981): projetado por Hennessy; deu origem a MIPS Computer Systems.

Arquietura Comparação entre CISC e os primeiros RISC CISC RISC IBM 370 VAX 11 IBM 801 RISC I MIPS Ano 1973 1978 1980 1981 1983 No. instruções 208 303 120 32 55 Micro código 54K 61K 0 0 0 Instrução (bytes) 2 a 6 2 a 57 4 4 4 Modo endereç. reg-reg reg-reg reg-reg reg-reg reg-reg reg-mem reg-mem mem-mem mem-mem

Arquietura Como é definido o conjunto de instruções RISC Para definir o conjunto de instruções de um computador RISC, os projetistas usam a seguinte regra de ouro: Analisar aplicações para identificar operações-chave. Projetar o processador que seja eficiente para essas operações. Projetar instruções que realizam as operações-chave. Acrescentar mais instruções necessárias, cuidando para não afetar a velocidade da máquina.

Arquietura Poucos modos de endereçamento A maioria das instruções RISC envolvem endereçamento por registrador, sem acesso à memória. Portanto as instruções são executadas em um ciclo. Pergunta: mas como os valores entram ou saem dos registradors? Resposta: há duas instruções LOAD e STORE que acessam a memória. Assim, retornamos à origem, como eram os computadores antigos. LOAD e STORE em geral levam mais de um ciclo para completar (por envolver acesso a memória). Para adiantar as coisas, usa-se o conceito de pipelining

Arquietura Uso de pipelining A regra de ouro exige a execução de uma instrução por ciclo. No caso de LOAD e STORE, como esses levam mais de um ciclo, a regra de ouro será relaxada. Ao invés de exigir a execução de uma instrução por ciclo, será exigido o início da execuçaõ de uma instrução em cada ciclo. Suponha que a execução de uma instrução envolve 2 etapas (ou 3 etapas no caso de LOAD e STORE): 1 busca a instrução da memória 2 executa a instrução 3 etapa adicional, no caso de LOAD e STORE Cada uma dessas etapas são executadas por circuitos próprios, numa espécie de linha de montagem (pipelining).

Arquietura Uso de pipelining Ciclo 1 2 3 4 5 6 7 8 9 10 Busca instrução 1 2 L 4 5 6 S 8 9 10 Execuçaõ instrução 1 2 L 4 5 6 S 8 9 Ref. memória L S No ciclo 1, a instrução 1 é buscada. No ciclo 2, a instrução 2 é buscada e a instrução 1 executada. No ciclo 3, a instrução 3 (marcada L para significar LOAD) é buscada e a instrução 2 executada. No ciclo 4, a instrução L é iniciada e, como envolve acesso à memória, deve levar mais um ciclo para ser completada. No ciclo 5, algo interessante acontece (marcado pelo círculo). A instrução 4 é executada, embora a instrução L não tenha sido completada ainda. Isso é possível desde que a instrução 4 não utilize o registrador que está sendo carregado pela instrução L.

Arquietura Problema de instruções de desvio A execução de instruções por pipelining tem o velho problema do desvio. A linha de montagem já preechida precisa ser discartada e busca-se uma nova sequência de instruções para o pipeline. Para ter algo a fazer enquanto se busca a nova sequência de instruções por causa de um desvio, o compilador pode colocar após a instrução de desvio uma instrução que logicamente deveria ser executada antes do desvio, e executar sempre a instrução seguinte a uma instrução de desvio. Note-se assim o importante papel do compilador em máquinas RISC para otimizar os comandos de desvio e, conforme já visto, o uso de comandos LOAD e STORE.

Arquietura Há muitos registradores na máquina RISC O processador RISC não tem microprograma. Uma maneira de aproveitar esse espaço é colocar mais registradores. Não é incomum ter mais de 500 registradores numa CPU do tipo RISC. Parte desses registradores adicioanis pode ser usada para acelerar as chamadas de procedimentos. Outro uso dos registradores é para agilizar a mudança de contexto em interrupções.

Arquietura Usar em chamada de procedimentos e interrupções Quando um procedimento é chamado, uma pilha em geral é usada para guardar o ponto de retorno, os parâmetros e as variávies locais. Quando dispomos de muitos registradores, essas informações podem ser armazenadas em registradores que atuam como uma pilha dentro do processador. Outro uso dos registradores é guardar o contexto de um processo quando ele é suspenso em uma interrupção. Um conjunto de registradores seriam usados, cada um guarda um contexto diferente. Basta um ponteiro para indicar o contexto atual.