Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática

Tamanho: px
Começar a partir da página:

Download "Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática"

Transcrição

1 Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal Piauí PI Brazil Abstract. This paper presents a pipeline implementation of the MIPS architecture supporting all conflicts and stalls, including some ones not addressed in the literature. It also presents a performance comparison between a pipelined implementation and a multicycle one. The conflicts and stalls are carefully explained, their reasons for occurring, how they are resolved and what loss in performance they can cause in the pipeline. An architecture that supports such conflicts is proposed and implemented in VHDL. An explanation on the ISA MIPS and how it has evolved through time is given as well. The results section shows that the pipelined datapath is 3 time faster than the multi-cycle implementation and requires 50% less logic elements in an FPGA implementation. Resumo. Este artigo apresenta uma implementação pipeline da arquitetura MIPS tratando todos os conflitos, incluindo alguns não documentados na literatura. Ele também apresenta uma comparação de desempenho entre a implementação pipeline e multiciclo. Os conflitos são cuidadosamente explicados, suas razões, como eles são resolvidos e a perda de desempenho que podem causar no pipeline. Uma arquitetura que trata tais conflitos é proposta e implementada em VHDL. Uma explicação da ISA MIPS e como ela evoluiu ao longo do tempo é dada também. A seção de resultados mostra que a implementação pipeline é 3 vezes mais rápida do que a multiciclo e requer 50% menos elementos lógico. 1. INTRODUÇÃO O microprocessador MIPS é uma arquitetura RISC (Reduced Instruction Set Computer) e é usada tanto como exemplo de ISA(Instruction Set Architecture) como exemplo de microarquitetura em muitos cursos de graduação em todo o mundo. Em [Henessy 2014], um dos livros mais respeitado usado em cursos de arquitetura e organização de computadores, são apresentadas três versões de microarquitetura para a implementação da ISA MIPS. No entanto, todas as versões são concebidas com um subconjunto de instruções. Tal abordagem, embora na maioria das vezes seja suficiente para transmitir o conhecimento necessário para a disciplina, não é quando se deseja implementar um caminho de dados com tal complexidade. Este artigo apresenta uma implementação do caminho de dados para a ISA MIPS usando a técnica de execução em pipeline, bem como cada instrução listada em [Wikipedia ]. Essa implementação trata todos os potenciais conflitos, inserindo a menor

2 quantidade de bolhas no pipeline. O artigo apresenta também um ambiente de desenvolvimento que foi criado para permitir estudantes desenvolver aplicações usando linguagens de alto nível, particularmente C, e fazer simulações ou execuções com precisão de ciclos, usando a ferramenta ModelSim [Quartus ] ou placas prototipáveis com dispositivos reconfiguráveis, em particular, nós usamos a Altera DE2-115 board. A microarquitetura proposta foi desenvolvida em VHDL e,conforme apresentado em [Henessy 2014], utiliza-se da sobreposição temporal das diversas fases de execução das instruções, dividindo-as em cinco estágios: Instruction Fetch (IF); Instruction Decode and Register Read (ID); ALU Execution (EX); Data Memory Access (MEM) e Write Result Back (WB). Essa implementação aumenta a vazão de instruções, possibilitando a execução de uma instrução por ciclo quando o pipeline está cheio. Espera-se portanto a obtenção de melhor desempenho, quando comparado com caminhos de dados monociclo, onde a instrução é executada em um único ciclo, e multiciclo, onde a instrução é executada em no mínimo 3 ciclos. Neste artigo, a implementação proposta foi comparada em termos de área e desempenho com a implementação de um caminho de dados multiciclo também implementado em VHDL. 2. A ISA MIPS A ISA (Instruction Set Architecture) define o conjunto de instruções suportado por um microprocessador ou arquitetura em particular. A definição normalmente inclui também o formato das instruções, o conjunto de registradores e seu uso, os modos de endereçamento, os tipos de dados nativos, a arquitetura da memória, as interrupções e o tratamento de exceções. A ISA MIPS especifica um conjunto de instruções composto de instruções de cinco categorias: Aritmética; Transferência de dados; Lógica; Deslocamento de bits; Saltos condicionais e incondicionais. Tais instruções operam sobre um conjunto de 32 registradores, cujos usos específicos são também definidos pela ISA, sendo que nem todos são acessíveis ao programador. A definição da ISA MIPS evoluiu com o tempo da MIPS I ISA à MIPS V ISA [Sagar Bhavsa 2013]. Para a implementação da microarquitetura apresentada neste artigo foram adotadas as definições disponíveis em [Wikipedia ]. Essas instruções possui três formato de instruções sendo eles R, I e J. O formato R especifica instruções que realizam operações entre registradores e suporta três endereços de registrador. O formato I especifica instruções que usam operandos imediatos, incluindo aritméticas, como ADDI (Add immediate); Lógicas, como ORI (Or Immediate); Salto condicionais, como BEQ (Branch on Equal) ou Tranferência de dados, como LW (Load Word). O formato J especifica instruções do tipo salto incondicional e, na implementação aqui apresentada, inclui apenas as instruções JUMP e JAL (Jump and Link). A tabela completa com todas as instruções pode ser vista em várias fontes, algumas delas são [Henessy 2014], [Wikipedia ]. 3. A ARQUITETURA PROPOSTA Na implementação e execução em pipeline da arquitetura MIPS há alguns conflitos não documentados. Esses conflitos são envolvendo a execução do BEQ (Branch on EQual) ou BNE (Branch Not Equal) ou JR (Jump Register) e uma instrução anterior que modifica o valor de um dos registradores a ser comparado no BEQ ou BNE ou registrador onde

3 está armazenado o endereço de desvio do JR. Nesse artigo, BEQ refere-se a BEQ e BNE, porque essas instruções fazem a mesma coisa, mudando somente a comparação, BEQ compara se é igual e o BNE compara se não é igual. Esses conflitos existem devido á escrita no banco de registradores ocorrer somente no quarto ciclo após a instrução ter sido buscada na memória e uma instrução subsequente necessitar do dado que ela irá escrever no banco de registradores. A instrução que necessita do dado lerá o banco de registradores no segundo ciclo da execução, ou seja, a instrução irá ler o dado errado, pois a escrita no banco de registradores ocorrerá somente no quinto ciclo da execução, caso esse conflito não seja tratado, isso implicará em uma falha na execução, uma vez que os dados estarão incorretos ao final da execução. Uma tabela que mostra esses conflitos pode ser vista na Tabela 1. Para tratar esses conflitos foi utilizado uma unidade de forwarding, um hardware adicional para antecipar o dado para a instrução que precisa desse dado, e uma unidade de detecção de hazard, um hardware adicional que verifica se há a necessidade da inserção de uma bolha que é inserida impedindo no próximo ciclo a escrita no PC(Program Counter) e no registrador de pipeline IF/ID e escrevendo um nop 1 (no operation) nos sinais de controle do registrador ID/EX. Tipo R ou I (exceto LW,BEQ e BNE) Tabela 1. Principais conflitos Tipo I ou R (exceto LW,BEQ e LW BNE) Conflito acontece quando pelo menos um dos operandos é igual ao registrador destino da instrução que a precede. É resolvido com a unidade de forwading. BEQ Conflito acontece quando a instrução do tipo I ou R precede o BEQ e se o registrador destino dessa instrução for igual a um dos operandos do BEQ. É resolvido com a inserção de uma bolha e forwarding no próximo ciclo. JR Conflito acontece quando o registrador destino da instrução tipo I ou R é igual ao operando do JR e se essa instrução preceder o JR. É resolvido com a inserção de uma bolha e forwading no ciclo seguinte. Conflito acontece quando o registrador destino do LW é igual a um dos operandos da próxima instrução e se o LW preceder essa instrução. É resolvido com a inserção de bolha e forwarding no próximo ciclo. Conflito acontece quando o LW preceder o BEQ e o registrador destino do LW for igual a um dos operando do BEQ. É resolvido com a inserção de duas bolhas e forwarding no ciclo seguinte a inserção da segunda bolha. Conflito acontece quando o LW precede o JR e o registrador destino do LW é igual ao operando do JR. É resolvido com a inserção de duas bolhas e com o forwarding no ciclo seguinte a inserção da segunda bolha. 1 Uma instrução que não faz nada

4 3.1. TRATANDO OS CONFLITOS DO BEQ E JR Existem três tipos de conflitos envolvendo o BEQ e JR: Sem bolhas: A instrução BEQ ou JR está no registrador de pipeline IF/ID; A instrução será executada durante o próximo ciclo; O dado que será usado pela instrução (BEQ ou JR) foi gerado nos ciclos anteriores, mas não foi escrito no banco de registradores ainda. Uma bolha: A instrução BEQ ou JR está no registrador de pipeline IF/ID; A instrução será executado durante o próximo ciclo; O dado que será usado pela instrução (BEQ ou JR) será gerado por uma instrução anterior no próximo ciclo. Duas bolhas: A instrução BEQ ou JR está no registrador de pipeline IF/ID; A instrução será executado durante o próximo ciclo; O dado que será usado pela instrução (BEQ ou JR) será gerada dois ciclo depois (quando o LW é a instrução que precede BEQ ou JR). A execução das instruções BEQ e JR são muito similar: (i) Ambas são instruções de salto; (ii) O cálculo de endereço de ambas é feito no estágio de decodificação da instrução; (iii) Ambas tem as mesmas dependências de dados, a única diferença é que o BEQ deve verificar a condição de salto que deve ser verdadeira para que o salto seja tomado. Então, para tratar os conflitos envolvendo tais instruções serão feitas as mesmas verificações. No primeiro caso apresentado acima, como o dado já está válido, o conflito pode ser resolvido usando a unidade de forwarding. Ele detectará esse conflito verificando se um dos registradores fonte RS e/ou RT (no registrador de pipeline IF/ID) é o mesmo do registrador destino usado pela instrução que está no registrador de pipeline EX/MEM e/ou MEM/WB. É também necessário verificar se a instrução que está no registrador de pipeline EX/MEM não é um lw (load word). Caso seja uma leitura à memória de dados, o dado que está no EX/MEM é um endereço. Depois de tais verificações, o dado deve ser antecipado pegando o dado do registrador de pipeline EX/MEM ou MEM/WB, assim resolvendo o conflito. No segundo caso, o dado não foi gerado ainda, uma bolha é necessária. O dado necessário para a comparação da instrução BEQ ou o cálculo de endereço da instrução JR será gerada no próximo ciclo de clock. A unidade de detecção de hazard verifica a necessidade da bolha comparando o registradores fonte no registrado de pipeline IF/ID como o registrador destino ID/EX. Se a instrução no registrador de pipeline ID/EX for uma instrução lw, uma bolha é inserida, mas o conflito não é resolvido ainda, pois esta é a situação que é tratada no terceiro caso. No terceiro caso, a instrução que precede o BEQ ou JR é uma instrução de LOAD. Nesse caso, duas bolha são necessárias. A primeira é inserida seguindo a verificação descrita no caso anterior. A segunda bolha é inserida quando a unidade de hazard verifica que a instrução que está no registrador de pipeline EX/MEM é uma instrução de LOAD e o registrador fonte da instrução que está no registrado de pipeline IF/ID é o mesmo do registrador alvo da instrução de LOAD. Depois da segunda bolha, o dado será antecipado, assim resolvendo o conflito.

5 4. O CAMINHO DE DADOS O caminho de dados proposto pode ser visto na figura 1. Essa é uma figura simplificada, i.e, ela esconde algumas parte que faria a figura muito complexa e dificultaria o entendimento do trabalho. Para tratar os conflitos envolvendo BEQ e JR é necessário selecionar adequadamente as entradas do mux 3, mux 4 e mux 5, alem disso, a unidade de forward deve funcionar corretamente. Como foi visto na seção anterior, há três tipo de conflitos envolvendo BEQ e JR. Quando o primeiro caso acontece, a unidade de forward trata o conflito enviando sinais para o mux 3 e mux 4 para selecionar a entrada correta, que pode ser: (i) Dado da ULA (Unidade Lógica e Aritimética); (ii) Dado para o banco de registradores (registrador de pipeline MEM/WB); (iii) Dado do banco de registradores. Assim, o dado dos registradores fonte do BEQ e do JR estarão corretos. Quando o segundo ou terceiro caso acontece, a unidade de hazard é responsável por inserir as bolhas. A unidade de hazard envia um sinal para o mux 5. O mux 5 tem como entrada sinais de controle para a instrução decoficada e o nop. Se a unidade de hazard detecta o conflito, ele selecionará o nop e assim a bolha é inserida no pipeline. Dessa maneira, os conflitos envolvendo BEQ e JR são resolvidos. Figura 1. Caminho de dados 5. RESULTADOS Para que fosse possível obter a comparação envolvendo o desempenho e área foi feita uma descrição do MIPS multiciclo. A análise de desempenho foi baseado em resultados de simulações e a análise de área foi baseada no resultado de síntese. A simulação foi feita usando a ferramenta ModelSim [Quartus ] e a síntese foi feita usando a ferramenta Quartus II [Quartus ]. O bechmark usado foi uma multiplicação de matriz 2 2. Ela foi feito na linguagem C e compilada com o GNU Cross-Compiler [Cpmware ]. Entre outras

6 configurações, o GNU Cross-Compiler precisa informar como o espaço de memória deve ser usado. Ele gera um arquivo.elf [Cpmware ]. Uma ferramenta ELF2MIF foi desenvolvida para obter um arquivo.mif [MIF ] que foi compilado com a descrição VHDL. Embora seja um benchmark simples, o assembly gerado pelo GNU Cross-Compile tem 257 instruções. Para o objetivo de análise de desempenho do artigo, esse simples aplicação é suficiente. A execução em pipeline levou 1038 ciclos, 52 desses sendo nop inseridos devido às instruções de salto condicionais. Sempre que um salto é tomado uma bolha é inserida. E outras 48 bolhas devido aos conflitos de dados, assim tendo 100 ciclos de bolhas. Esse desempenho de execução é satisfatório, pois somente 10% do total de ciclos foram bolhas ao final da execução. Contudo, essas bolhas não afetam tanto a performance quando comparada ao multiciclo, que levou 3171 ciclos, mais de três vezes o número de ciclos da execução em pipeline, reduzindo para menos de 1 a quantidade de ciclos necessários para a execução 3 da multiplicação de matriz. Para a comparação em área foi considerado o número de elementos lógicos em cada implementação da microarquitetura. Para a implementação pipeline foi usada 3223 elementos lógicos, que corresponde a 47% do número de elementos lógicos na implementação multiciclo, que foi de Esse resultado é provavelmente devido ao estilo de implementação e uso de megafunctions da ALTERA ( lpm mult, lpm divide, lpm cssshift). Apesar de alguns hardwares adicionais que o pipeline necessita para o tratamento de conflitos, o numero de componentes lógicos foi menor do que o multiciclo. Isso mostra que além de ser mais eficiente, a implementação em pipeline ocupa menos espaço em chip. Referências [Cpmware ] Cpmware, I. Building a gnu gcc cross compile. BuildingGcc.pdf. Acessado: 31/07/2014. [Henessy 2014] Henessy, D. A. P. E. J. L. (2014). Computer organization and design the hardware/software interface. Morgan Kaufmann, Oxford, USA, 5th edition. [MIF ] MIF. Memory inicialization file /mergedProjects/reference/glossary/def_mif.htm. Acessado: 31/07/2014. [Quartus ] Quartus. Altera. quartus ii handbook version volume 3. [Sagar Bhavsa 2013] Sagar Bhavsa, Akhil Rao, A. S. R. J. (2013). A 16-bit mips based instruction set architecture for risc processor. International Journal of Scientific and Research Publications (IJSRP), Volume 3. [Wikipedia ] Wikipedia. Wikipedia mips architecture. wiki/mips_architecture. Acessado: 19/03/2014.

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

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

Sistemas Processadores e Periféricos Aula 5 - Revisão Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

O Processador: Caminho de Dados e Controle

O Processador: Caminho de Dados e Controle 22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos

Leia mais

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL

Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL José Carlos Pereira Itatiba São Paulo Brasil Dezembro de 2006 ii Curso de Engenharia de Computação DESENVOLVIMENTO DE UM

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS DE ENDEREÇAMENTO UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

Implementação de pipelines

Implementação de pipelines Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. Aula 9. 31 de Março de 2005 1 Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:

Leia mais

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)

Leia mais

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

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Paralelismo a Nível de Instrução

Paralelismo a Nível de Instrução Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Leia mais

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Nível da Microarquitetura (Parte

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

Leia mais

Anotações da 2a Edição

Anotações da 2a Edição Anotações da 2a Edição OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson. Supõe-se que os estudantes tenham noções de lógica digital e linguagem

Leia mais

Revisão dependências de dados

Revisão dependências de dados Revisão dependências de dados Dependências de dados resolvidas com adiantamento (quase sempre) Deve garantir que instruções anteriores escreverão resultado, destino é mesmo que fonte, e instrução anterior

Leia mais

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de

Leia mais

Índice. Tudo! (datapath de um ciclo)

Índice. Tudo! (datapath de um ciclo) Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade

Leia mais

ArchC. Wesley Nunes Gonçalves

ArchC. Wesley Nunes Gonçalves Implementação do Processador ARM7 em ArchC Wesley Nunes Gonçalves 23 de novembro de 2007 ARM7 Instruções Implementadas O ARM possui 37 registradores, sendo 31 registradores de propósito geral e 6 registradores

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia mais

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador

Leia mais

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

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Subconjunto de instruções de comunicação e sincronização entre processos em uma arquitetura multicore

Subconjunto de instruções de comunicação e sincronização entre processos em uma arquitetura multicore Subconjunto de instruções de comunicação e sincronização entre processos em uma arquitetura multicore Laysson Oliveira Luz 1, Ivan Saraiva Silva 2 1 Departamento de Computação Universidade Federal do Piauí

Leia mais

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

Leia mais

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento (CPU)

Leia mais

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

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

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

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1 Arquiteturas que Exploram Paralismos: VLIW e Superscalar Ch9 1 Introdução VLIW (Very Long Instruction Word): Compilador empacota um número fixo de operações em uma instrução VLIW As operações dentro de

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

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

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

28/9/2010. Unidade de Controle Funcionamento e Implementação

28/9/2010. Unidade de Controle Funcionamento e Implementação Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do

Leia mais

Arquitetura e Organização de Computadores 2

Arquitetura e Organização de Computadores 2 Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue

Leia mais

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:

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: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Capítulo MC10 Organização Básica de Processadores

Capítulo MC10 Organização Básica de Processadores 1 IC-UNICAMP MC 602 Circuitos Lógicos e Organização Computadores IC/Unicamp Prof Mario Côrtes Capítulo MC10 Organização Básica Processadores Tópicos Níveis abstração Máquina programa armazenado / Von Neumann

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

GeBeAH: Emulador de GameBoy Advance Documentação sobre ARM7TDMI

GeBeAH: Emulador de GameBoy Advance Documentação sobre ARM7TDMI GeBeAH: Emulador de GameBoy Advance Documentação sobre ARM7TDMI 1 Introdução Esse documento é um apanhado de informações sobre o ARM7TDMI, o processador usado pelo Gameboy Advance. Durante o desenvolvimento

Leia mais

Parte Operativa e Parte de Controle do MIPS

Parte Operativa e Parte de Controle do MIPS Capítulo Parte Operativa e Parte de Controle do IPS Ricardo Jacobi niversidade de Brasília Departamento de Ciencia da Computacao Adaptado de Bruno Cunha e Carlos Llanos, IESB Introdução O desempenho de

Leia mais

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

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e

Leia mais

ÁREA: CV ( ) CHSA ( ) ECET ( )

ÁREA: CV ( ) CHSA ( ) ECET ( ) ADAPTAÇÃO E INTEGRAÇÃO DO PROCESSADOR RISCO A UMA ARQUITETURA MULTI-CORE PARA SISTEMAS EMBARCADOS DE PROPOSITO GERAL Laysson Oliveira Luz (Bolsista PIBIC/CNPq), Ivan Saraiva Silva (Orientador, Departamento

Leia mais

Arquitectura de Computadores II

Arquitectura de Computadores II Departamento de Ciências e Tecnologias da Informação Arquitectura de Computadores II Textos de apoio Pipelines Versão 0.02 Junho de 2010 Tomás Brandão. ISCTE-IUL - DCTI 2 Índice 1. ITRODUÇÃO... 5 2. FUCIOAMETO...

Leia mais

ESTUDO SOBRE PROCESSADOR ARM7

ESTUDO SOBRE PROCESSADOR ARM7 UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: LINGUAGEM ASSEMBLY PROFESSOR GUTO ESTUDO SOBRE PROCESSADOR ARM7 ALUNOS: ERICH

Leia mais

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

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Introdução à Organização de Computadores Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CPU (Central Processing Unit) é o coordenador de todas as atividades

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Disciplina: Laboratório de Circuitos Digitais

Disciplina: Laboratório de Circuitos Digitais Universidade Federal de São Carlos Disciplina: Laboratório de Circuitos Digitais Prof. Dr. Emerson Carlos Pedrino 9ª Pratica: Computador de 16 bits Data:17/07/2014 Nome: Adrián Agüero Faraldo RA: 612227

Leia mais

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

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1 Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução

Leia mais

Para os problemas seguintes considere os 5 andares de pipelining do MIPS:

Para os problemas seguintes considere os 5 andares de pipelining do MIPS: A. Pipelining Para os problemas seguintes considere os 5 andares de pipelining do MIPS: ETCH () ID (I) EXEC (E) MEM (M) WR (W) Para resolução dos problemas utilize a tabela em anexo, na qual deve indicar

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores Introdução Ivan Saraiva Silva Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann IAS Máquina de Von Neuman

Leia mais

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Tiago dos Santos Patrocinio, Ivan Saraiva Silva Departamento de Computação Universidade Federal do Piauí

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 ISA: Arquitetura de Conjunto de Instruções Roteiro Introdução Classificação de conjuntos de instruções Endereçamento

Leia mais

Introdução ao Processamento Paralelo

Introdução ao Processamento Paralelo Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam

Leia mais

Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs

Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Florianópolis SC 2006/2 Guilherme Quentel Melo Modelagem do processador Nios2 para uma plataforma de SoCs Trabalho de conclusão

Leia mais

Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores

Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores Processadores para Ensino de Conceitos Básicos de Arquitetura de Computadores Diana Morandi, André Luis Alice Raabe, Cesar Albenes Zeferino Universidade do Vale do Itajaí UNIVALI Rua Uruguai, 458 Caixa

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 2- Exemplo de Microarquitetura

Leia mais

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS Arqitectra de omptadores II LESI - 3º Ano Revisão e implementação do datapath do IPS João Lís Ferreira Sobral epartamento do Informática Universidade do inho Janeiro 22 Revisão do datapath (P) do IPS Visão

Leia mais

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

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo Organização e Arquitetura de Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann

Leia mais

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3. Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 30/novembro/2012 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 3- Memórias 4- Dispositivos

Leia mais

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano Objetivo: Apresentar os conceitos das arquiteturas CISC e RISC, confrontando seus desempenhos. Bibliografia:

Leia mais

Aritmética. E agora: Implementação da Arquitetura

Aritmética. E agora: Implementação da Arquitetura Anotações Parte 4 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª. Ed. Supõe-se que os estudantes tenham noções

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 2 Revisão de Conceitos e Introdução a Desempenho Prof. Julio Saraçol juliosaracol@gmail.com Slide1 Aula 2 REVISANDO

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz

Leia mais

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Primeiros computadores digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna Execução de um O executa um Quais os seus componentes? Como estes se organizam e interactuam? entrada de dados processador, memória, input bits periféricos,etc bits saída de dados output Primeiros "es"

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Conjunto de Instruções. Conjunto de Instruções

Conjunto de Instruções. Conjunto de Instruções Conjunto de Instruções It is easy to see by formal-logical methods that there exist certain [instruction sets] that are in abstract adequate to control and cause the execution of any sequence of operations...

Leia mais

Sistemas Operacionais Aula 2

Sistemas Operacionais Aula 2 Sistemas Operacionais Aula 2 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE 1/38 O que

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais