SSC0902 Organização e Arquitetura de Computadores

Documentos relacionados
SSC0611 Arquitetura de Computadores

SSC510 Arquitetura de Computadores. 2ª aula

SSC0611 Arquitetura de Computadores

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

Arquitetura de Computadores Aula 11 - Multiprocessamento

SSC0114 Arquitetura de Computadores

Organização de Sistemas de Computadores

Pipeline. Prof. Leonardo Barreto Campos 1

SSC0611 Arquitetura de Computadores

SSC0112 Organização de Computadores Digitais I

Organização de computadores. Aula 05

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

O Funcionamento do Processador

O Funcionamento do Processador

Sistemas Operacionais. Conceitos de Hardware

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


Disciplina de Arquitetura de Computadores

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Arquitetura e Organização de Processadores. Aula 4. Pipelines

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

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples

Arquitetura de Computadores II

Arquiteturas de Computadores

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

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

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

SSC0112 Organização de Computadores Digitais I

Unidade Central de Processamento UCP (CPU)

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Organização e Arquitetura de Computadores I

Conceitos Básicos Processador

Microarquiteturas Avançadas

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

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

Resumão de Infra-estrutura de Hardware

Arquiteturas de Computadores

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Disciplina de Organização de Computadores I

Disciplina de. Organização de Computadores Digitais

ORGANIZAÇÃO DE COMPUTADORES

Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva

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

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Explorando o paralelismo entre instruções

Arquiteturas RISC e CISC. Adão de Melo Neto

Organização de Unidades de Processamento

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

Unidade de Controle. UC - Introdução

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Organização e Arquitetura de Computadores I

Sistemas Processadores e Periféricos Aula 6 - Revisão

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

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

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

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

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

Infra-estrutura de Hardware

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Organização de Computadores

RISC - Reduced Instruction Set Computer

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

Projeto de Processadores Programáveis

Relembrando desempenho...

Arquitetura de Computadores Unidade Central de Processamento CPU

1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes.

Relembrando desempenho...

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

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Organização e Arquitetura de Computadores I

Arquiteturas de Computadores

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

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 é

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

lw, sw add, sub, and, or, slt beq, j

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

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

Faculdade de Computação

Melhorando o Desempenho com Pipelining

Instruções de Máquina

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

Capítulo 6 Pipeline Morgan Kaufmann Publishers

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

28/8/13. Processadores. Introdução

Aula 15: Ciclo de Execução e Introdução ao Pipeline

ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores I

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

Arquitetura de Computadores Aula 10 - Processadores

SSC0611 Arquitetura de Computadores

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

Sistemas Operacionais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

3. DESCRIÇÃO DO SPARC Histórico

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Transcrição:

SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções complexas que demandam um número grande de ciclos para serem executadas Dezenas de modos de endereçamento Instruções de tamanhos variados Referência a operandos na memória principal Questionamentos quanto à necessidade de certas instruções Levantamentos mostram as instruções mais utilizadas nos programas 2

Arquitetura CISC Estudos de Knuth, Wortman, Tanenbaum e Patterson em várias linguagens com relação a porcentagem de comandos 3

Arquitetura CISC Portanto: Nas arquiteturas CISC fica mais difícil implementar o pipeline A taxa média de execução das instruções por ciclo tende a ser bem menor do que 1 IPC (instruction per cycle) A unidade de controle é microprogramada Instrução complexa significa um maior tempo para decodificar e executar, muitas das quais são raramente usadas Surgiu então a arquitetura RISC 4

Arquitetura RISC RISC Reduced Instruction Set Computer Características: Instruções mais simples, demandando um número fixo de ciclos de máquinas para sua execução Uso de poucos e simples modos de endereçamento Poucos formatos das instruções Apenas instruções de load/store referenciam operandos na memória principal Cada fase de processamento da instrução tem a duração fixa igual a um ciclo de máquina 5

Arquitetura RISC Portanto: Implementadas com o uso do pipeline Formato fixo das instruções facilita o pipeline As instruções são executadas na sua maioria em apenas um ciclo de máquina A unidade de controle é em geral hardwired Não há microprograma para interpretar as instruções Arquitetura orientada a registrador Todas as operações aritméticas são realizadas entre registradores Define-se um grande conjunto de registradores 6

Arquitetura RISC Primeiros computadores RISC: IBM 801 (1980) É o antecessor do IBM PC/RT (RISC Tecnology) Berkeley RISC I e RISC II (1980 e 1981) Projetado por Patterson e Séquin Inspirou o projeto do processador SPARC, da SUN Microsystem Stanford MIPS (1981) Projetado por Hennessy Originou a MIPS Computer Systems 7

Arquitetura MIPS MIPS: Microprocessor without Interlocked Pipeline Stages Conjunto de instruções do tipo RISC (Reduced Instruction Set Computer) Usa poucos ciclos do processador para executar as instruções Arquitetura do tipo load/store Arquitetura de 32 bits e atualmente de 64 bits Possui as seguintes características que simplificam a implementação Todas as operações da ULA são realizadas somente sobre registradores A memória é acessada somente através das instruções de load e store As instruções possuem poucos formatos e são do mesmo tamanho

Arquitetura MIPS Execução em um único ciclo 1 ciclo de clock

Arquitetura MIPS Qual a desvantagem de se usar uma arquitetura com um único ciclo? O uso do ciclo de clock se torna ineficiente pois este deve ser do tamanho da instrução mais lenta Isso é um grande problema quando se considera instruções mais complexas como por exemplo multiplicação de ponto flutuante

Arquitetura MIPS Solução: Fazer com que as instruções demorem mais do que um ciclo de clock para finalizar Quebrar as instruções em vários passos e cada passo deve consumir um ciclo Nem todas as instruções demoram o mesmo número de ciclos de clock para finalizar

Arquitetura MIPS Comparação: um único ciclo x multiciclo

Pipeline Exemplo: Lavar roupa de maneira sequencial

Pipeline Exemplo: Lavar roupa com pipeline

Pipeline Algumas considerações: O pipeline não diminui o tempo de execução de cada tarefa, mas aumenta o throughput de toda a carga de trabalho A taxa do pipeline é limitado pelo estágio mais lento Várias tarefas são realizadas simultaneamente utilizando diferentes recursos Um speedup potencial é o número de estágios do pipeline O tempo para encher o pipeline e para esvaliá-lo diminui o speedup O pipeline trava se houver dependências Exemplo com a execução de 100 instruções: Computador com um único ciclo: 45 ns/ciclo * 1 CPI * 100 instruções = 4500 ns Computador com multiciclo: 10 ns/ciclo * 4,2 CPI * 100 instruções = 4200 ns Computador com 5 estágios ideais de pipeline: 10 ns/ciclo * (1 CPI * 100 instruções + 4 ciclos para esvaziar) = 1040 ns CPI: cycle per instruction, clocks per instruction

Pipeline Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os seguintes passos: Ifetch: Busca da instrução (Instruction Fetch) Reg/Dec: Busca dos registradores (Reg) e decodificação da instrução (Dec) Exec: Calcula o endereço de memória ou executa a operação na ULA Mem: Acesso à memória principal WB: Escreve o dado nos registradores

Pipeline

Pipeline Instruction fetch: busca da instrução Register read: leitura dos registradores e decodificação da instrução ALU operation: execução da operação ou cálculo do endereço para acessar a memória Data access: acesso à memória Register write: escrita do dado calculado ou lido da memória no registrador

Pipeline

Pipeline Nomenclatura O que está sombreado é o estágio que é usado na instrução O que está em branco é o estágio que não é usado pela instrução Tanto o estágio ID quanto o WB acessam o banco de registradores Metade direita sombreada no estágio ID pois é a leitura dos registradores Metade esquerda sombreada no estágio WB pois é a escrita nos registradores Unidades utilizadas

Pipeline

Pipeline Datapath

Pipeline Datapath Registradores que separam cada estágio do pipeline: Devem ter largura suficiente para armazenar todos os dados correspondentes que passam por eles IF/ID: separa os estágios IF e ID ID/EX: separa os estágios ID e EX EX/MEM: separa os estágios EX e MEM MEM/WB: separa os estágios MEM e WB

Pipeline