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

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

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

Transcrição

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

2 ii Curso de Engenharia de Computação DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL José Carlos Pereira Monografia apresentada à disciplina Trabalho de Conclusão de Curso, do Curso de Engenharia de Computação da Universidade São Francisco, sob a orientação do Prof. Dr. Thales Coelho Borges Lima, como exigência parcial para conclusão do curso de graduação. Orientador: Prof. Dr. Thales Coelho Borges Lima Itatiba São Paulo Brasil Dezembro de 2006

3 iii DESENVOLVIMENTO DE UM PROCESSADOR RISC EM VHDL José Carlos Pereira Monografia defendida e aprovada em 11 de Dezembro de 2006 pela Banca Examinadora assim constituída: Prof Dr Thales Coelho Borges Lima (Orientador) USF Universidade São Francisco Itatiba SP. Prof Ms Claudio Maximiliano Zaina (Membro Interno) USF Universidade São Francisco Itatiba SP. Prof Ms Ana Paula da Costa Cardoso (Membro Interno) USF Universidade São Francisco Itatiba SP.

4 iv A meus pais José e Maria, sem os quais não chegaria até aqui.

5 v.agradecimentos Agradeço primeiramente ao Professor Thales C. B. Lima, meu orientador, que acreditou em mim e incentivou-me para a conclusão deste trabalho, face aos inúmeros percalços do trajeto. Agradeço também ao Professor Alencar de Melo Júnior, coordenador do curso, que sempre me ajudou nas inúmeras questões acadêmicas. Agradeço também todos os professores que me possibilitaram ter um crescimento acadêmico, profissional e pessoal. Eu agradeço fraternalmente a todos.

6 vi Sumário Lista de Siglas...vii Lista de Figuras...viii Lista de Tabelas...ix Resumo... x Abstract... x 1 Introdução Objetivo arquitetura risc e os processadores atuais A arquitetura RISC Os processadores atuais metodologia Estudo da linguagem VHDL A ferramenta de desenvolvimento Quartus II Estudo sobre o processador MIPS Desenvolvimento do processador MIPS em linguagem VHDL Módulos do processador MIPS Módulo unidade de controle Módulo busca da instrução Módulo decodificação Módulo de execução Módulo memória de dados Módulo integrador testes Teste de compilação Simulação Definindo as instruções Inicialização das memórias CONCLUSÕES Contribuições Extensões Referências Bibliográficas... 25

7 vii Lista de Siglas CISC Complex Instruction Set Computer CPU Central Processing Unit CPLD Complex Programmable Logic Device FPGA Field Programmable Gate Array IEEE Institute of Electrical and Electronics Engineers MIF Memory Initialization File MIPS Microprocessor without interlocking pipe stages PC Program Counter PC Personal Computer RISC Reduced Instruction Set Computer ULA Unidade Lógica e Aritmética VHDL Very-High-Speed Integrated Circuit Hardware Description Language

8 viii Lista de Figuras Figura Tela principal da ferramenta Quartus II... 7 Figura Tela para seleção do arquivo de projeto... 8 Figura Desenvolvendo o projeto em VHDL no editor de texto... 8 Figura Diagrama de blocos do processador MIPS com pipeline Figura Arquivo para inicialização da memória de instrução Figura Arquivo para inicialização da memória de dados Figura Interligação com todos os módulos do processador MIPS Figura Ferramenta de compilação do QuartusII Figura Inicialização da memória de dados Figura Inicialização da memória de instruções... 23

9 ix Lista de Tabelas Tabela Formato das instruções do MIPS de 32 bits... 9 Tabela Conjunto de intsruções do MIPS 32 bits Tabela Conversão da instrução Lw $2, Tabela Conversão da instrução Lw $3, Tabela Conversão da instrução Add $1, $2, $ Tabela Conversão da instrução Sw $1,

10 x Resumo Esta monografia tem como objetivo o aprendizado, o desenvolvimento e prototipação de processadores utilizando dispositivos lógicos programáveis, para a implementação de um processador RISC (Reduced Instruction Set Computer), utilizando a linguagem VHDL (Very- High-Speed Integrated Circuit Hardware Description Language). O estudo envolve o conhecimento da arquitetura RISC e da linguagem VHDL para o desenvolvimento do processador. PALAVRAS-CHAVE: PROCESSADOR, RISC, VHDL Abstract This monograph has as objective the learning, the development and prototyping of processors using programmable logical devices, for the implementation of a processor RISC (Reduced Instruction Set Computer), using language VHDL (Very-High-Speed Integrated Circuit Hardware Description Language). The study it involves the knowledge of architecture RISC and language VHDL for the development of the processor. KEY WORDS: PROCESSOR, VHDL, RISC

11 1 1 INTRODUÇÃO O processador é a unidade principal de um sistema computacional, sendo responsável pelo controle do fluxo dos programas, execução das operações lógicas e aritméticas, acesso à memória e requisição aos dispositivos periféricos. Também é conhecido como CPU, (Central Processing Unit). A idéia original do projeto RISC, de produzir máquinas com um conjunto reduzido de instruções é, em última análise, uma volta ao início da computação, pois os primeiros computadores digitais tinham poucas instruções. A característica de um processador RISC é ter um conjunto reduzido e simples de instruções, o que simplifica o processamento; utilizam registradores para armazenar dados temporariamente, que serão utilizados nas operações realizadas pelo processador; as instruções são basicamente do tipo Load e Store, de desvio e de operações lógicas e aritméticas e por fim, o emprego de pipelining, um dos fatores que permite aos processadores RISC atingir seu objetivo de completar a execução de uma instrução a cada ciclo de relógio. O projeto de um processador resume-se em: Definir o conjunto de instruções, ou seja, o formato e o tamanho das intruções. Implementar os componentes do processador em função das instruções já definidas, como por exemplo, a unidade de controle, unidade lógica e aritmética e os registradores. A partir dessas premissas, é possível utilizar a linguagem VHDL, para simular o funcionamento de um processador RISC. Este trabalho encontra-se organizado da seguinte forma: no capítulo 2 são apresentados os objetivos relacionados a esta dissertação. No capítulo 3 são apresentadas as características da arquitetura RISC e dos processadores utilizados atualmente. O capítulo 4 aborda toda a metodologia utilizada no desenvolvimento do processador RISC, os estudos sobre a linguagem VHDL, a ferramenta Quartus II utilizada no projeto e os estudos sobre o

12 2 processador MIPS 1. No capítulo 5 são apresentadas as funcionalidades de cada módulo que constitui o processador MIPS. Todos os módulos foram desenvolvidos utilizando a linguagem VHDL. No capítulo 6 são apresentados os testes realizados e finalmente no capítulo 7 são apresentadas as conclusões deste trabalho. 1 MIPS é um procesador RISC desenvolvido pela companhia MIPS Computer Systems [2].

13 3 2 OBJETIVO A presente dissertação tem como objetivo realizar uma pesquisa para implementar um processador RISC utilizando a linguagem VHDL (Very-High-Speed Integrated Circuit Hardware Description Language). Para o desenvolvimento do processador em linguagem VHDL foi utilizado a ferramenta Quartus II, da Altera 2. Este projeto foi baseado no MIPS (Microprocessor without interlocking pipe stages), que é uma arquitetura de processadores RISC [2]. 2 Altera, de Altera Corporation é um fabricante de dispositivos lógicos programáveis, desenvolvedor da ferramenta de síntese e simulação denominada Quartus II.

14 4 3 ARQUITETURA RISC E OS PROCESSADORES ATUAIS Este capítulo tem como objetivo apresentar as características da arquitetura RISC e dos processadores utilizados atualmente. 3.1 A arquitetura RISC A arquitetura RISC é constituída por um conjunto reduzido de instruções simples que são executadas diretamente pelo hardware, sem a intervenção de um microcódigo, ou seja, as instruções são executadas em apenas uma microinstrução [1]. Existe um conjunto de características que permite uma definição da arquitetura básica RISC: O centro de todo computador é o datapath (ULA (Unidade Lógica e Aritmética), registradores e os barramentos que fazem sua conexão). Uma das maiores características das máquinas RISC é utilizar apenas uma instrução por ciclo de relógio; Projeto carrega/armazena, ou seja, as referências à memória são feitas por instruções especiais de load e store; Inexistência de microcódigo, já que as instruções são executadas diretamente no hardware; Instruções de formato fixo, facilitando a decodificação; Conjunto reduzido de instruções, facilitando a organização da unidade de controle e tornando o processamento das instruções mais simples e rápido; Utilização de pipeline, uma técnica de dividir a execução de uma instrução em estágios, permitindo a execução simultânea de múltiplas instruções. A medida que um estágio é concluído, a instrução segue para o próximo e a instrução seguinte vai para aquele estágio. Como as instruções RISC são de tamanho fixo, elas levam um ciclo para completar cada estágio de pipeline. Por exemplo, se uma instrução puder ser dividida em 4 fases, 4 instruções podem ser executadas simultaneamente;

15 5 Utilização de conjuntos de registradores, para o armazenamento temporário de dados, que serão utilizados em operações. O principal objetivo de uma máquina RISC é executar uma instrução por ciclo de clock. Como o acesso à memória utiliza mais ciclos, a solução foi criar um grande número de registradores. Este número de registradores tem grande impacto na performance das máquinas RISC, que só são possíveis devido sua simplicidade de projeto e a inexistência de microcódigo, conforme [1] e [2]. 3.2 Os processadores atuais Atualmente, existem processadores híbridos que são essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC e vice-versa. Não existe praticamente nenhum processador atualmente que siga estritamente uma das duas arquiteturas. Tanto processadores da família x86 3, quanto processadores supostamente RISC, misturam características das duas arquiteturas, por simples questão de performance [1]. A vantagem de uma arquitetura CISC (Complex Instruction Set Computer) é que nesta já existem muitas das instruções armazenadas no próprio processador, o que facilita o trabalho de programação, que já dispõe de praticamente todas as instruções que serão usadas em seus programas. No caso de um chip estritamente RISC, a programação seria um pouco mais complexa, pois como disporia apenas de instruções simples, teria sempre que combinar várias instruções sempre que precisasse executar alguma tarefa mais complexa [2]. Os processadores atuais são uma combinação das duas arquiteturas. Internamente, o processador processa apenas instruções simples. Estas instruções internas variam de processador para processador, que se adapta ao projeto do chip. Sobre estas instruções internas, tem-se um circuito decodificador, que converte as instruções complexas utilizadas pelos programas em várias instruções simples, que podem ser entendidas pelo processador. Estas instruções complexas, são iguais em todos os processadores usados em micros PC (Personal Computer) [8]. 3 x86 é uma arquitetura de processadores baseados na série x86 da Intel, como por exemplo, CPU 286, 386 e o 486.

16 6 4 METODOLOGIA Este capítulo tem como objetivo detalhar toda a metodologia envolvida no projeto, os estudos sobre a linguagem VHDL, os estudos sobre o processador MIPS e a ferramenta utilizada na implementação do processador MIPS. 4.1 Estudo da linguagem VHDL De acordo com [3] e [4], VHDL é uma linguagem padronizada pelo IEEE (Institute of Electrical and Electronics Engineers) para descrever componentes digitais, permitindo a transferência de projetos para qualquer tecnologia em construção de hardware existente ou que ainda será desenvolvida. A linguagem VHDL oferece uma variedade de construções que permitem modelar o hardware em um elevado nível de abstração. É uma linguagem concorrente, ou seja, os comandos envolvidos na ocorrência de um evento são executados simultaneamente, assim como os elementos de um sistema digital executam as suas tarefas em conjunto [4]. A importância da utilização de linguagens de descrição de hardware se faz necessária em diversos aspectos do projeto: Documentação do sistema: a própria descrição do sistema já é uma forma de documentação para os projetistas em VHDL; Simulação em diversos níveis: desde a sua especificação funcional e temporal o circuito pode ser simulado para verificar seu correto funcionamento; Simplifica a migração tecnológica: o sistema pode ser facilmente sintetizado em outras tecnologias, desde que se disponha das ferramentas de baixo nível correspondentes; Reutilização de recursos: a construção de módulos, permite reutilizar parte de projetos já realizados.

17 7 4.2 A ferramenta de desenvolvimento Quartus II Conforme [5], a ferramenta Quartus II version 6, desenvolvida pela Altera, é um ambiente para o desenvolvimento e síntese de projetos de FPGA (Field Programmable Gate Array) e de CPLD (Complex Programmable Logic Device). O Quartus II permite o desenvolvimento de sistemas digitais utilizando a interface gráfica ou o editor de texto, que possibilita o uso da linguagem VHDL. A figura apresenta a tela principal do Quartus II. Figura Tela principal da ferramenta Quartus II.

18 8 Após inicializar o Quartus II e visualizar a tela principal, conforme mostrado na figura 4.2-1, é possível selecionar uma das opções apresentadas na ferramenta, para o início do desenvolvimento do projeto. Foi utilizada a opção VHDL File, conforme apresentada na figura 4.2-2, que é o editor de texto utilizado no desenvolvimento do processador MIPS. Figura Tela para seleção do arquivo de projeto. A figura apresenta o VHDL File, editor de texto usado no desenvolvimento do projeto. Figura Desenvolvendo o projeto em VHDL no editor de texto.

19 9 4.3 Estudo sobre o processador MIPS MIPS é um exemplo de um moderno computador com conjunto reduzido de instruções desenvolvido na década de 80. Estes processadores trabalham com um comprimento fixo de instrução de 32 bits e possuem 32 registradores de 32 bits. O tamanho da palavra de memória é de 32 bits [6]. Os processadores MIPS trabalham com três formatos de instruções, conforme [6]: Instruções I-Format: somente para LOAD e STORE, ou seja, para instruções referentes aos operandos na memória; Instruções R-Format: executa instruções como ADD, AND, OR e operações realizadas com os dados nos registradores. Estes requerem dois registradores de operandos, Rs e Rt. Os resultados das operações são armazenados em um terceiro registrador, Rd, mostrado na tabela 4.3-1; Instruções J-Format incluem instruções de desvio. A tabela 4.3-1, apresenta o formato das instruções de um processador MIPS de 32 bits, conforme [6] e [7] Tabela Formato das instruções do MIPS de 32 bits. Tamanho do campo 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Formato R código de operação Rs Rt Rd deslocamento função Formato I código de operação Rs Rt endereço / imediato Formato J código de operação endereço-alvo

20 10 A tabela apresenta o conjunto de instruções do processador MIPS, como descrito em [6] e [7]. Tabela Conjunto de instruções do MIPS 32 bits. Mnemônico Formato Campo código Campo de operação função Instrução Add R 0 32 Soma (com overflow) Addi I 8 - Soma imediata (com overflow) Addu R 0 33 Soma (sem overflow) Sub R 0 34 Subtração (com overflow) Subu R 0 35 Subtração (sem overflow) And R 0 36 Lógica AND Or R 0 37 Lógica OR Sll R 0 0 Deslocamento Lógico a Esquerda Srl R 0 2 Deslocamento Lógico a Direita Slt R 0 42 Setar se menor que Lui I 15 - Carga imediata da parte superior Lw I 35 - Carga de palavra Sw I 43 - Armazenamento de palavra Beq I 4 - Desvio se igual Bne I 5 - Desvio se diferente J J 2 - Desvio incondicional Jal J 3 - Desvio incondicional com ligação Jr R 0 8 Desvio incondicional para conteúdo de um registrador O processador MIPS busca, decodifica e executa uma instrução em um ciclo de clock. A partir do formato das instruções, como mostrado na tabela 4.3-1, o PC (Program Counter) é utilizado para manter atualizado o endereço de memória da próxima instrução a ser executada. A memória tem a função de armazenar os dados e as instruções. Esta consiste em uma coleção de registradores numerados consecutivamente, onde cada um armazena um byte, quatro são necessários para armazenar 32 bits ou 4 bytes [6]. O código de operação das instruções é enviado para a unidade de controle e o código da função é enviado para a unidade lógica e aritmética. A unidade de controle é responsável pelo controle de todas as operações dos componentes de um computador, fornecendo sinais de temporização e sinais de controle, que são necessários para a execução das instruções. Na ULA são realizadas as operações aritméticas e lógicas com os dados. O tipo de operação a ser executado é determinado por sinais vindos da unidade de controle. Os dados a serem operados poderão vir da memória ou dos dispositivos de entrada. Os resultados obtidos poderão ser enviados para a memória ou para dispositivos de saída de dados [6].

21 11 Os registradores de instruções são campos de endereços, utilizados para endereçar os dois barramentos do arquivo de registradores. As entradas do arquivo de registradores permitem executar duas leituras independentes e uma escrita em um ciclo de clock. Este implementa a decodificação da operação [7]. No processador MIPS há duas saídas do arquivo de registradores que alimentam com dados as entradas da ULA. A unidade de controle gera sinais que são enviados a ULA, para a execução das operações. Em seguida, instruções Load e Store são executadas para a leitura ou escrita de dados na memória. Instruções R-format desviam dados da memória usando um multiplexador. Por último, instruções R-format e Load escrevem de volta um novo valor no arquivo de registradores. O multiplexador é requerido para operações condicionais. Após todas as saídas estarem estabilizadas, o próximo clock armazenará o novo valor no PC e o processo se repetirá para a próxima instrução. As instruções RISC são executadas mais rapidamente com a implementação de pipeline. Com pipeline, a busca, decodificação, execução, memória de dados e arquivo de registradores, realizam todo o trabalho em paralelo. Em um simples ciclo de clock, diferentes instruções estão presentes no pipeline [6].

22 12 A figura mostra o diagrama de blocos do processador MIPS com a implementação de pipeline. Figura Diagrama de blocos do processador MIPS com pipeline. Retirada de HENNESSY, John L.; PATTERSON, David A. Organização e Projeto de Computadores: A interface Hardware/Software.

23 13 5 DESENVOLVIMENTO DO PROCESSADOR MIPS EM LINGUAGEM VHDL Este capítulo apresenta todos os módulos que constituem o processador MIPS e a descrição funcional de cada módulo, com base em [7]. Estes módulos são: Módulo unidade de controle; Módulo busca da instrução; Módulo decodificação; Módulo de execução; Módulo memória de dados; Módulo integrador. Inicialmente, todos os módulos foram implementados separadamente utilizando a linguagem VHDL. Em seguida, foram integrados com o objetivo de simular o funcionamento de um processador MIPS 4. O recurso requerido para esta implementação foi o editor de texto da ferramenta Quartus II, da Altera. 5.1 Módulos do processador MIPS Nesta etapa é apresentada a descrição funcional de cada módulo do processador MIPS, implementado em VHDL Módulo unidade de controle Verifica o código de operação da instrução e gera os sinais de controle que serão utilizados pelos outros módulos do processador. 4 Neste projeto não foi desenvolvido o módulo responsável pela simulação de pipeline, devido a complexidade e as grandes alterações a serem feitas para o seu funcionamento.

24 Módulo busca da instrução É constituído pela memória de instruções, pelo registrador PC e o hardware necessário para computar o endereço da próxima instrução a ser executada. A memória de instrução é inicializada utilizando um arquivo MIF (Memory Initialization File). Este arquivo foi criado utilizando a ferramenta Quartus II sendo responsável por armazenar as instruções que serão executadas. Sem esta inicialização, não é possível simular o funcionamento do processador MIPS. Conforme apresentado na figura 5.1-1, cada linha do arquivo representa os endereços de memória, onde as instruções são armazenadas. Figura Arquivo para inicialização da memória de instrução.

25 Módulo decodificação Contém o arquivo de registradores. O processador MIPS, contém 32 registradores de 32 bits. Porém, para uma simulação mais rápida, o arquivo de registradores foi reduzido para 8 registradores de 8 bits. Os registradores são inicializados durante o reset. Uma estrutura em VHDL é utilizada para inicializar os registradores durante o reset Módulo de execução Responsável por simular os dados que serão manipulados pela ULA, a ULA propriamente dita é um somador, responsável por incrementar o registrador PC e calcular o endereço para operações de desvio. Multiplexadores foram implementados para simular a seleção de diferentes dados que serão enviados para a ULA. Para uma simulação mais rápida, a largura do barramento de dados da ULA foi limitada em 8 bits.

26 Módulo memória de dados Módulo responsável por simular a memória de dados. A memória de dados também foi limitada a 256 posições de memória de 8 bits para facilitar a simulação. A memória de dados é inicializada utilizando um arquivo MIF. Este arquivo é o responsável por armazenar valores que serão manipulados durante a execução das instruções contidas na memória de instruções. Conforme mostrado na figura 5.1-2, cada linha do arquivo representa os endereços da memória de dados, onde os dados são armazenados. Figura Arquivo para inicialização da memória de dados.

27 Módulo integrador Consiste em uma estrutura em VHDL, responsável pela integração dos outros cinco módulos do processador MIPS. Este módulo foi estruturado de forma a realizar uma interligação com os outros módulos e permitir a simulação do processador MIPS. Os módulos foram interligados na seguinte seqüência: 1- Módulo busca da instrução; 2- Módulo decodificação; 3- Módulo unidade de controle; 4- Módulo de execução; 5- Módulo memória de dados. A figura apresenta o módulo integrador com as interligações com os demais módulos. Figura Interligação com todos os módulos do processador MIPS.

28 18 6 TESTES Nesta etapa foram realizados os testes dos módulos desenvolvidos em linguagem VHDL. Todos os testes foram realizados utilizando a ferramenta Quartus II, da Altera. Esses testes consistiram na compilação do código fonte de cada módulo do processador MIPS. 6.1 Teste de compilação Foram realizados inicialmente, os testes de cada módulo separadamente. O módulo integrador foi o último a ser testado, pois este depende do funcionamento dos outros módulos. Na figura 6.1-1, é mostrada a ferramenta de compilação do QuartusII. Figura Ferramenta de compilação do QuartusII. A ferramenta de compilação mostrada na figura foi a mesma utilizada para os testes de todos os módulos desenvolvidos.

29 Simulação Para a simulação, foi necessário inicialmente, definir quais as instruções seriam executadas pelo processador, carregar a memória de dados com os valores a serem manipulados pelas instruções e em seguida inicializar a memória de instruções Definindo as instruções Inicialmente, foram definidas as instruções que seriam executadas pelo processador. Como exemplo, foram realizadas simulações com as seguintes instruções: Lw $2, 00 carrega o conteúdo do endereço 00 da memória de dados no registrador $2. Lw $3, 01 carrega o conteúdo do endereço 01 da memória de dados no registrador $3. Add $1, $2, $3 realiza a soma do conteúdo dos registradores $2 e $3 e o resultado é armazenado no regitrador $1. Sw $1, 03 armazena no endereço 03 da memória de dados, o conteúdo do registrador $1. Para inserir as instruções mencionadas acima na memória de instruções, foi realizada, inicialmente, a conversão das mesmas para o sistema binário. Foram utilizadas as informações das tabelas e para as conversões. Em seguida para uma melhor visualização, foi realizada utilizando a ferramenta Quartus II, a conversão para o sistema hexadecimal. A instrução Lw $2, 00 é do formato I, conforme mostrado nas tabelas e Na tabela é apresentado o formato da instrução e a conversão para binário.

30 20 Tabela Conversão da instrução Lw $2, 00. Código de operação Registrador rs Registrador rt Endereço/imediato 6 bits 5 bits 5 bits 16 bits Lw $2 não utilizado O numeral em binário, da tabela , foi inserido na memória de instrução para posterior simulação. Todo esse procedimento foi o mesmo para as demais instruções. A instrução Lw $3, 01 mostrada na tabela , apresenta o formato da instrução e a conversão para binário. Tabela Conversão da instrução Lw $3, 01. Código de operação Registrador rs Registrador rt Endereço/imediato 6 bits 5 bits 5 bits 16 bits Lw $3 não utilizado A instrução Add $1, $2, $3 é do formato R, conforme apresentado nas tabelas e A tabela , apresenta o formato da instrução e a conversão para binário.

31 21 Tabela Conversão da instrução Add $1, $2, $3. Código de operação Registrador Registrador Registrador Deslocamento Função rs rt rd 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Add $1 $2 $3 não utilizado A instrução Sw $1, 03 é do formato I, conforme apresentado nas tabelas e A tabela , apresenta o formato da instrução e a conversão para binário. Tabela Conversão da instrução Sw $1, 03. Código de operação Registrador rs Registrador rt Endereço/imediato 6 bits 5 bits 5 bits 16 bits Sw $1 não utilizado Concluído o processo de conversão, as instruções em binário foram inseridas na memória de instruções. Estas instruções utilizam os valores armazenados na memória de dados para realizar as operações Inicialização das memórias Para a simulação do processador, foi criado através da ferramenta Quartus II, um arquivo MIF, que simulou a memória de dados, onde foram inseridos os dados utilizados pela memória de instrução, para a inicialização do processamento. A figura , apresenta a inicialização da memória de dados.

32 22 Figura Inicialização da memória de dados. Os dados foram inseridos no sistema binário, nos endereços 00 e 01. Em seguida foram convertidos para o sistema hexadecimal através da própria ferramenta. A figura apresenta os dados no sistema hexadecimal. Com os dados inseridos na memória de dados, foi criado um arquivo MIF para simular a memória de instrução, onde foram inseridas as instruções, para a inicialização do processamento. A figura apresenta a inicialização da memória de instruções.

33 23 Figura Inicialização da memória de instruções. As instruções foram inseridas no sistema binário nos endereços 00 até 03 e em seguida convertidas para o sistema hexadecimal. A figura mostra as instruções no sistema hexadecimal. As instruções utilizam os dados da memória, realizam as operações e finalmente os resultados são armazenados novamente na memória de dados.

34 24 7 CONCLUSÕES A pesquisa desenvolvida ao longo deste trabalho buscou demonstrar, de uma maneira sucinta, as características da arquitetura RISC, como por exemplo, o conjunto de instruções, o ciclo de busca, a decoficação e execução das instruções. Neste trabalho de conclusão de curso também foram apresentadas as características do processador MIPS e os estudos relacionados a linguagem VHDL. O principal objetivo neste trabalho foi implementar, utilizando a linguagem VHDL, o processador MIPS. A partir da implementação, foi possível simular o funcionamento deste processador, o que contribuiu para um melhor entendimento da arquitetura de computadores. 7.1 Contribuições Resumidamente, as principais contribuições gerais deste estudo, são o entendimento do processador MIPS e conseqüentemente da arquitetura RISC, o conhecimento da linguagem VHDL e a sua utilização para o desenvolvimento e simulação do processador MIPS. 7.2 Extensões Este trabalho pode ser continuado através da implementação do módulo pipeline, já que o pipeline é um dos principais fatores que permite aos processadores MIPS atingir seu objetivo de completar a execução de uma instrução a cada ciclo de clock.

35 25 Referências Bibliográficas [1] MONTEIRO, Mario Antonio. Introdução a Organização de Computadores. 3 ed. Rio de Janeiro: LTC, [2] TANENBAUM, Andrew S. Organização Estruturada de Computadores. 3 ed. Rio de Janeiro: Prentice-Hall, [3] D AMORE, Roberto. VHDL: Descrição e Síntese de Circuitos Digitais. Rio de Janeiro:LTC, [4] ORDONES, E. D. M. et al. Projeto, Desempenho e Aplicações de Sistemas Digitais em Circuitos Programáveis (FPGAs). São Paulo: Bless Gráfica e Editora, [5] ALTERA Corporation. Quartus II Version 6.0 Handbook, Volumes 1 through 5. URL: Recuperado em 12/04/2006. [6] HAMBLEN, James O.; FURNAN, Michael D. Rapid Prototyping of Digital Systems: A Tutorial Approach. 2nd ed. Massachusetts: Kluwer Academic Publishers, [7] HENNESSY, John L.; PATTERSON, David A. Organização e Projeto de Computadores: A interface Hardware/Software. 2 ed. Rio de Janeiro: LTC, [8] TANENBAUM, Andrew S. Organização Estruturada de Computadores. 4 ed. Rio de Janeiro: LTC, 2001.

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

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

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

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

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

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

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

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

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

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

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

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

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

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

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

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar Arquitetura de Computadores RISC x CISC Gustavo Pinto Vilar PPF / DPF Papiloscopista Policial Federal Pós-Graduado em Docência do Ensino Superior UFRJ Graduado em Ciência da Computação e Processamento

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

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

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

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

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

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES TRANSFORMANDO DADOS EM INFORMAÇÕES Em geral, parece que os computadores nos entendem porque produzem informações que nós entendemos. Porém, tudo o que fazem é reconhecer dois estados físicos distintos

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

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

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

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

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

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

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo

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

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

RISC X CISC - Pipeline

RISC X CISC - Pipeline RISC X CISC - Pipeline IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 25 e 26/30 Prof. Msc. Antonio Carlos Souza Referências

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

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

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

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

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

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

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

Leia mais

Microprocessadores. Prof. Leonardo Barreto Campos 1

Microprocessadores. Prof. Leonardo Barreto Campos 1 Microprocessadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Arquitetura de Microprocessadores; Unidade de Controle UC; Unidade Lógica Aritméticas ULA; Arquitetura de von Neumann; Execução de

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

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

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

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 SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC UNIVERSIDADE FEDERAL DE SANTA CATARINA DANIEL CARLOS CASAROTTO JOSE OTÁVIO CARLOMAGNO FILHO MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC Florianópolis, 2004 DANIEL CARLOS

Leia mais

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

Organização e Arquitetura de Computadores. Hugo Barros email@hugobarros.com.br Organização e Arquitetura de Computadores Hugo Barros email@hugobarros.com.br RISC X SISC RISC: Reduced Instruction Set Computer Nova Tecnologia para máquinas de alta performance; Máquina com um conjunto

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

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

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

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

Arquitetura de processadores: RISC e CISC

Arquitetura de processadores: RISC e CISC Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

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

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Máquina Multinível Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando para o processador.

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

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 Metodologia da Disciplina 1-Objetivo 2-Competências

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

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Capítulo 3 Processadores de Propósito Geral: Software

Capítulo 3 Processadores de Propósito Geral: Software Capítulo 3 Processadores de Propósito Geral: Software Prof. Romis Attux EA075 2015 Obs: Os slides são parcialmente baseados nos dos autores do livro texto Processadores de Propósito Geral Um processador

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

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

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

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

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções

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

Componentes de um Computador: Modelo Von Neumann

Componentes de um Computador: Modelo Von Neumann Componentes de um Computador: Modelo Von Neumann Modelo de Von Neumann O nome refere-se ao matemático John Von Neumann que foi considerado o criador dos computadores da forma que são projetados até hoje.

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

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

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),

Leia mais

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

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso

Leia mais

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

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva Arquitetura de Computadores - Processadores Superescalares por Helcio Wagner da Silva Introdução O Pipeline é uma técnica desenvolvida para a melhoria do desempenho frente à execução seqüencial de instruções

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

Algumas características especiais

Algumas características especiais Algumas características especiais Tópicos o Medidas de desempenho o CISC versus RISC o Arquiteturas Superescalares o Arquiteturas VLIW Medidas de desempenho Desempenho é muito dependente da aplicação MIPS:

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Arquitetura de Computadores Moderna

Arquitetura de Computadores Moderna Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações

Leia mais

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

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias Visão Geral da Arquitetura de Computadores Prof. Elthon Scariel Dias O que é Arquitetura de Computadores? Há várias definições para o termo arquitetura de computadores : É a estrutura e comportamento de

Leia mais

SIS17-Arquitetura de Computadores

SIS17-Arquitetura de Computadores Sistema de Computação SIS17-Arquitetura de Computadores Apresentação da Disciplina Peopleware Hardware Software Carga Horária: 40 horas 2 Computadores atuais Unidade Central de Processamento Entrada Computadores

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

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER.

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER. Disciplina: Arquitetura de Computadores Turma: 3CC Data: 18/12/12 Nota: Professor: Renato E. N. de Moraes Semestre: 2012-2 Valor: 2,0 pt Aluno: Trabalho 01 - Projeto Neander O computador NEANDER foi criado

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

RISC - Reduced Instruction Set Computer

RISC - Reduced Instruction Set Computer 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

Leia mais

Introdução à Engenharia de Computação

Introdução à Engenharia de Computação Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

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

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções Organização e Arquitetura de Computadores Capítulo 13 Paralelismo no nível de instruções O que é Superescalar? As arquiteturas superescalares são aquelas capazes de buscar, decodificar, executar e terminar

Leia mais

Unidade Central de Processamento

Unidade Central de Processamento Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1 CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

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

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD. AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO

Leia mais

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento) Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento) Tempo de acesso: maior que o tempo de acesso da cache, 50 a 70 ns; Capacidade: bem maior que a cache;

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

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

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

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas: Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais