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

Documentos relacionados
Organização de Sistemas de Computadores

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

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

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

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

Arquitetura de Computadores. Conjunto de Instruções

O Funcionamento do Processador

SSC0611 Arquitetura de Computadores

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

Disciplina: Arquitetura de Computadores

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

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

ORGANIZAÇÃO DE COMPUTADORES

Instruções de Máquina

Organização de Computadores

Conjunto de Instruções. Alisson Brito

3. Unidade Central de Processamento

CONJUNTO DE INSTRUÇÕES

Organização e Arquitetura de Computadores I

O Funcionamento do Processador

Arquitetura de Computadores

Sistemas Operacionais

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

ORGANIZAÇÃO DE COMPUTADORES

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

Sistemas Operacionais. Visão Geral

SSC510 Arquitetura de Computadores 1ª AULA

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

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

Compiladores e Computabilidade

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

Conceitos Básicos Processador

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

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 é

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Sistemas Operacionais I

Processadores para computação de alto desempenho

Arquitetura e Organização de Computadores

ção de Computadores I

2. A influência do tamanho da palavra

Introdução aos Sistemas de Computação (ISC) Curso de Administração de Negócios Eletrônicos Professor :

Sistemas Operacionais. Adão de Melo Neto

Compiladores. Geração de Código Objeto

Algoritmos Computacionais

Linguagens de Programação Classificação

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

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

Gerência de Dispositivos. Adão de Melo Neto

Unidade Central de Processamento 2. Registradores

PROGRAMAÇÃO I. Introdução

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

AULA 01: APRESENTAÇÃO

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

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

Organização e Arquitetura de Computadores I

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Arquitetura e Organização de Computadores

Organização e Arquitetura de Computadores INTRODUÇÃO

Arquitetura e Organização de computadores

Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

Arquitetura e Organização de Computadores

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Arquiteturas RISC. (Reduced Instructions Set Computers)

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

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Unidade Central de Processamento UCP (CPU)

Arquitetura e Organização de Computadores

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Gerência de Dispositivos. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto

Organização e Arquitetura de Computadores I

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

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

Linguagens de Programação

SSC0112 Organização de Computadores Digitais I

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

Linguagem de Maquina II. Visão Geral

III.2 - Princípios de Arquitetura

Linguagens de Programação

Arquitetura e Organização de computadores

AULA1 Introdução a Microprocessadores gerais. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

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

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

Nível da Arquitetura do Conjunto das Instruções

Instruções. Maicon A. Sartin

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.


Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Organização de Sistemas Computacionais Processadores: Organização da CPU

ARQUITETURA DE COMPUTADORES. Adão de Melo Neto

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

ORGANIZAÇÃO DE COMPUTADORES

Compiladores. Introdução à Compiladores

Transcrição:

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

INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais foram Conceito de Família de Computadores: IBM (sistema 360) em 1964 e DEC (1968). Unidade de controle microprogramada: sugerida por Wilkes, em 1961 e implementada pela IBM na linha S/360, em 1964. Memória Cache Pipeline de Instruções Múltiplos processadores 2

COMPUTADORES RISC Arquitetura RISC. Uma 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 ou uso de tecnologia de compilação na otimização do uso de registradores. Um conjunto de instruções simples e limitado Enfoque na otimização da pipeline de instruções 3

ARQUITETURA RISC 4

Porque CISC? Características da execução de instrução Uma das evoluções mais evidentes em computação foi a invenção das linguagens de programação. Houve um aumento no custo do software (devido ao limitado número de programadores disponíveis pois uma vez que era difícil programar nas linguagens alto nível existentes). Portanto, o software além de caro era pouco confiável (apresentava muitos erros). Resposta dos pesquisadores e da indústria Desenvolver linguagens de programação de alto nível cada vez mais poderosas e complexas. 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 ( código em assembly). 5

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 6

Microprogramação 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 7

Porque CISC? Características da execução de instruções Esses complexos conjuntos de instruções 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. 8

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) Operações realizadas: 9

Porque RISC? Operações realizadas (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. Isto sugere que mecanismos de controle e sequenciamento de instruções é importante. Conclusão: sabemos os comandos correspondentes em linguagem de máquina usados com maior frequência e que portanto devem ser implementados de maneira ótima. 10

Porque RISC? Operações realizadas (comandos que consomem mais tempo) Os dados obtidos nas colunas 4 a 7 correspondem ao tempo efetivo gasto na execução dos vários tipos de comandos. Isto sugere que as chamadas de procedimento consomem mais tempo na execução de um programa típico em linguagem de alto-nível. 11

Porque RISC? Chamadas de procedimentos (frequencia) 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 de procedimento, 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. 12

Porque RISC? IMPLICAÇÕES 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 meio da 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. 13

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 gerado, 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 ou simbólica (assembly) 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. 14

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. 15

COMPUTADORES RISC A arquitetura RISC caracteriza-se por 3 elementos: 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. 16

COMPUTADORES RISC As arquiteturas possuem características comuns 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 17

COMPUTADORES 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) 18

COMPUTADORES RISC 2) Operações registrador para registrador Há apenas operações simples de CARGA e ARMAZENAMENTO para acesso à memória. Isso encoraja a otimização do uso de registradores. Isto simplifica o conjunto de instruções a unidade de controle. 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) 19

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

COMPUTADORES RISC 4) Formato de instruções simples Geralmente é usado apenas um formato de instrução ou um pequeno número de formatos diferentes. Isso simplifica o conjunto de instruções e a unidade de controle 21

COMPUTADORES RISC Os principais benefícios de uma arquitetura. Compiladores otimizados podem ser desenvolvidos pelo uso de instruções primitivas As maiorias das instruções geradas por um compilador são simples A técnica pipeline pode ser aplicada com mais Com o advento de tecnologias LSI e VLSI uma única pastilha pode conter um processador completo. É difícil desenvolver um processador VLSI. Com um conjunto reduzido de instruções isso fica mais fácil. 22

CISC x RISC Projetos RISC podem beneficiar-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 23

CISC x RISC 24