Arquiteturas RISC e CISC. Adão de Melo Neto

Documentos relacionados
COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto


1) Considere a situação atual da memória do sistema computacional abaixo discriminada.

Arquitetura de Computadores II

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Arquitetura de Computadores Aula 11 - Multiprocessamento

Organização de Sistemas de Computadores

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC

Organização e Arquitetura de Computadores I

Introdução à Computação: Máquinas Multiníveis

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

O Funcionamento do Processador

Instruções de Máquina

Conjunto de Instruções e Modelos de Arquiteturas

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Unidade de Controle. UC - Introdução

Arquitetura de Computadores. Conjunto de Instruções

Disciplina: Arquitetura de Computadores

Arquitetura de Computadores. Prof. João Bosco Jr.

SSC0611 Arquitetura de Computadores

Introdução à Organização de Computadores. Aula 8

O Funcionamento do Processador

Sistemas Operacionais

Infraestrutura de Hardware. Funcionamento de um Computador

UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Arquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW

Introdução. (Aula 2) Organização Estruturada de Computadores

ORGANIZAÇÃO DE COMPUTADORES

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Sistemas Operacionais. Visão Geral

Conceitos Básicos Processador

Informática I. Aula 14. Aula 14-10/10/2007 1

3. Unidade Central de Processamento

ORGANIZAÇÃO DE COMPUTADORES

Conjunto de Instruções e Modelos de Arquiteturas

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Linguagens de Programação Classificação

Organização e Arquitetura de Computadores I

Conjunto de Instruções. Alisson Brito

Organização de Computadores

Processadores para computação de alto desempenho

SSC510 Arquitetura de Computadores 1ª AULA

Arquitetura de Computadores Aula 10 - Processadores

Processadores. Principal função é executar programas armazenados na memória principal.

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

Arquitetura e Organização de computadores

Compiladores e Computabilidade

Arquitetura do SET de instruções Instruction SET. CISC vs RISC. What s assembly as to do with it?

14/3/2016. Prof. Evandro L. L. Rodrigues

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Infraestrutura de Hardware. Instruindo um Computador

PROGRAMAÇÃO I. Introdução

SSC0902 Organização e Arquitetura de Computadores

Sistemas Operacionais. Adão de Melo Neto

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Introdução à Geração de Código

Sistemas Operacionais. Conceitos de Hardware

Arquitetura de Computadores

SSC304 Introdução à Programação Para Engenharias

Instruções. Maicon A. Sartin

Organização e Arquitetura de Computadores I

COMPUTADOR. Adão de Melo Neto

Unidade Central de Processamento UCP (CPU)

CONJUNTO DE INSTRUÇÕES

Arquitetura e organização de computadores Uma visão geral

Algoritmos Computacionais

ção de Computadores I

Arquitetura e Organização de Computadores

Arquitetura e Organização de computadores

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Introdução à Computação: Arquitetura von Neumann

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

Organização de Computadores

2. A influência do tamanho da palavra

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Um Exemplo de Nível ISA: o IJVM. Pilhas. Pilhas. O Modelo de Memória da IJVM. Pilhas de Operandos. Nível ISA

ORGANIZAÇÃO DE COMPUTADORES

William Stallings Arquitetura e Organização de Computadores 8 a Edição

III.2 - Princípios de Arquitetura

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Arquitetura de Von Neumann

Compiladores. Geração de Código Objeto

Arquitetura e Organização de Computadores

Unidade I. Organização de Computadores. Prof. Renato Lellis

Introdução à Organização e Arquitetura de Computadores (Parte I)

Arquitetura de Computadores. Ciclo de Busca e Execução

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

AJProença, Sistemas de Computação, UMinho, 2017/18 1

Organização e Arquitetura de Computadores I

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Linguagem de Maquina II. Visão Geral

SSC0112 Organização de Computadores Digitais I

Transcrição:

Arquiteturas RISC e CISC Adão de Melo Neto 1

Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções ( Reduced Instruction Set Computer ). A maioria dos projetos RISC compartilham os seguintes elementos básicos: Grande número de registradores de propósito geral. Um conjunto de instruções simples e limitado Enfoque na otimização da pipeline de instruções 2

Arquitetura RISC 3

Porque CISC? Características da execução de instrução Uma das evoluções em computação foi a invenção das linguagens de programação. Na época, o custo do software era elevado, devido ao limitado número de programadores disponíveis uma vez que era difícil programar nas linguagens alto nível existentes. O software além de caro era pouco confiável, devido esta dificuldade. Resposta dos pesquisadores e da indústria Desenvolver linguagens de programação de alto nível cada vez mais poderosas e complexas, facilitando o desenvolvimento dos softwares. Novo problema que surge (o gap semântico) A distância semântica entre as operações disponíveis em linguagem de alto-nível e as operações disponibilizadas pelo hardware dos computadores (linguagem de máquina). 4

Porque CISC? Características da execução de instruções Resposta ao problema (do gap semântico) Desenvolvimento de arquiteturas que diminuíssem a distância entre as instruções de linguagens de alto nível e as instruções de máquina (em assembly), ou seja uma arquitetura com grande número de instruções em assembly, parecidas com as instruções em alto nível As característica destas arquiteturas incluem: Grande conjunto de instruções Muitos modos de endereçamento. Uso intensivo da microprogramação 5

LINGUAGEM DE MÁQUINA x MICROPROGRAMA Microprogramação É uma linguagem específica da máquina, capaz de executar um conjunto específico de instruções em linguagem de máquina. O processador tem alguma memória embutida (tipicamente ROM) que contém grupos de instruções de microcódigo. Quando uma instrução em linguagem de máquina chega ao processador central, o processador executa a série correspondente de instruções em microcódigo. Linguagem de máquina (linguagem assembly) É a linguagem binária que pode ser executada diretamente pela unidade de controle. UC 6

Porque CISC? Esses complexos conjuntos de instruções (em linguagem de máquina) tinham o seguinte objetivo: Facilitar o desenvolvimento de compiladores Melhorar a eficiência na execução de programas, com a implementação de sequencia de operações em microcódigo Oferecer suporte para linguagens de alto nível cada vez mais complexas. No entanto, enquanto isso... eram realizados estudos para determinar as características e os padrões de execução de instruções de máquinas geradas por linguagens de alto nível. 7

Porque RISC? Para entender a linha de raciocínio adotada pelos defensores do RISC vamos examinar a características da execução de instruções em linguagem de alto-nível (aspectos que devem ser examinados) 8

Comportamento de programas em linguagem de alto-nível COMANDOS MAIS FREQUENTES Vários estudos foram realizados para analisar o comportamento de programas de alto-nível. O tipo de comando predominante é o de atribuição: Isto sugere que a transferência de dados simples são de grande importância. Existe grande predominância de comandos condicionais e laços de repetição (IF, LOOP): São implementados em linguagem de máquina que utilizam algum tipo de comparação e instruções de desvio 9

Comportamento de programas em linguagem de alto-nível COMANDOS QUE CONSOMEM MAIS TEMPO A chamadas de procedimento consomem mais tempo na execução de um programa típico em linguagem de alto-nível. 10

Comportamento de programas em linguagem de alto-nível FREQUENCIA DAS CHAMADAS DE PROCEDIMENTO São bastante comuns nas linguagens de alto-nível. Isto sugere que estas operações são as que consomem mais tempo de execução de código obtido pela compilação de programas. Em 98% das chamadas, o número de argumentos é inferior a 6. Em 92% das chamadas de procedimento são utilizadas menos que seis variáveis locais. É raro ocorrer longa sequencia de chamadas e retorno de procedimentos. 11

Porque RISC? Conclusão dos defensores da Arquitetura RISC A tentativa da construção de uma arquitetura com conjunto de instruções mais próxima das linguagens de alto-nível não era a estratégia mais efetiva. e sim por a otimização do desempenho das características responsáveis pelo maior consumo de tempo de execução de programas típicos em linguagens de alto nível. 12

Porque RISC? O argumento de que A CISC contribui para simplificação dos compiladores tem sido combatido pelo projetistas de arquitetura RISC. Instruções de máquina complexas são difíceis de serem utilizadas. Como prova disso, a maioria dos códigos gerados por um compilador são simples e não complexas. Fica mais difícil otimizar o código em linguagem de máquinagerado, para reduzir seu tamanho, o número de instruções executadas e o desempenho do pipeline de instruções. A suposição de que na arquitetura CISC deve produzir programas menores e mais baratos tem sido combatido pelo projetistas de arquitetura RISC.. Um programa CISC expresso em linguagem de máquina pode ter um menor número de instruções, mas o número de bits de memória que ocupa pode não ser significativamente menor. 13

Porque RISC? Outra suposição é a de que na arquitetura CISC a execução de instruções seria mais rápida. Os compiladores para arquiteturas CISC tendem a favorecer instruções mais simples e portanto isso pode não ser verdade. 14

Arquitetura RISC A arquitetura RISC toma como premissa que o desempenho pode ser melhorado com: a redução do número de referência à memória, a custa de uma grande número de referência a registradores. Por isso o grande número de registradores, ou técnicas de compilação que otimize o uso de registradores. Cuidadosa atenção ao uso de pipeline de instruções. Devido a alta taxa de instrução de desvio condicional e chamadas de procedimentos. Uso de um conjunto reduzido de instruções Conclusão ainda não tão óbvia. 15

Arquitetura RISC As arquiteturas possuem as seguintes características 1) Uma instrução por ciclo 2) Operações de registrador para registrador. 3) Modos de endereçamento simples 4) Formatos de instrução simples 16

Arquitetura RISC 1) Uma instrução por ciclo de máquina Ciclo de máquina é o tempo para buscar dois operandos em registradores, executar uma operação da ULA e armazenar o resultado em um registrador. As instruções podem ser executadas diretamente pelo hardware da máquina (existe pouco ou nenhuma necessidade de uso de microcódigo) 17

Arquitetura RISC 2) Operações de registrador para registrador No que se refere ao acesso à memória (que demanda tempo) há apenas operações simples de CARGA (memória processador) e ARMAZENAMENTO (processador memoria). Isso encoraja a otimização do uso de registradores. Exemplos: O VAX possui 25 tipos de instruções ADD diferentes Em uma arquitetura RISC existe apenas 01 ou 02 instruções ADD CISC (VAX) RISC (SPARC) 18

Arquitetura RISC 3) Uso de modos de endereçamento simples Quase todas as instruções usam modo de endereçamento direto por registrador. Isso simplifica o conjunto de instruções e a unidade de controle 19

Arquitetura RISC 4) Formato de instruções simples Geralmente é usado apenas um formato de instrução ou um pequeno número de formatos diferentes. Exemplo SUB X (ACC = ACC X) apenas ao invés de diversos variantes como SUB X,Y ( X = X-Y) e SUB X,Y,Z ( X = Y-Z) Isso simplifica o conjunto de instruções e a unidade de controle 20

Arquitetura RISC Os principais benefícios da arquitetura. Compiladores otimizados podem ser desenvolvidos. As maiorias das instruções geradas por um compilador são simples e com isso a técnica pipeline pode ser aplicada com mais frequência Com o advento de tecnologias LSI e VLSI uma única pastilha pode conter um processador completo. Como [e ifícil desenvolver um processador VLSI, o conjunto reduzido de instruções facilita este processo. Uso de UC controlada por hardware ao invés de por micro instruções. 21

CISC x RISC Projetos RISC beneficiam-se da inclusão de algumas características RISC (e vice-versa). Não existe RISC ou CISC puro atualmente. O PENTIUM inclui algumas características RISC O Power PC inclui algumas características CISC 22

CISC x RISC 23