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



Documentos relacionados
Nível da Microarquitetura

Arquitetura e Organização de Computadores

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

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

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

BARRAMENTO DO SISTEMA

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

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

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

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

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

ARQUITETURA DE COMPUTADORES

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

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

ARQUITETURA DE COMPUTADORES

Microprocessadores. Prof. Leonardo Barreto Campos 1

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Organização Básica do Computador

CISC - Complex Instruction Set Computer

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

ULA Sinais de Controle enviados pela UC

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

Sistemas Computacionais II Professor Frederico Sauer

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

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

Capítulo 1 Introdução

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

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

SIS17-Arquitetura de Computadores

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

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Edeyson Andrade Gomes

3. Arquitetura Básica do Computador

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:

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

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

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

Introdução à Arquitetura de Computadores

Arquitetura de Computadores. Tipos de Instruções

Unidade Central de Processamento

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

Arquitetura de Computadores - Revisão -

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Arquitetura de Computadores. Ivan Saraiva Silva

Sistemas Operacionais

Organização e Arquitetura de Computadores I

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

Introdução à Engenharia de Computação

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

ARQUITETURA DE COMPUTADORES

Estrutura de um Computador

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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

Profª Danielle Casillo

Evolução dos Processadores

Componentes de um Computador: Modelo Von Neumann


EA773 - Experimento 5

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

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

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

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

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

Organização e Arquitetura de Computadores I

Informática I. Aula 4. Aula 4-11/09/2006 1

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

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

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

Introdução à Arquitetura de Computadores

O Hardware Dentro da Unidade do Sistema

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ARQUITETURA DE COMPUTADORES

Circuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto

Aula 26: Arquiteturas RISC vs. CISC

Exercícios de Circuitos Combinacionais

Arquitetura de Von Neumann e os Computadores Modernos

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

Arquitetura de Computadores 1

Arquitetura e Organização de Computadores

Nível da Microarquitetura

Índice. Modelos e Procedimentos

Introdução aos Computadores

RISC X CISC - Pipeline

Projeto de Máquinas de Estado

Unidade: Arquitetura de computadores e conversão entre

Memórias Prof. Galvez Gonçalves

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

Sistemas Operacionais

R S Q Tabela 17 - Tabela verdade NOR

Máquinas Multiníveis

Arquitetura e Organização de Computadores I

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

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

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

Entrada e Saída. Prof. Leonardo Barreto Campos 1

O Processador: Caminho de Dados e Controle

Sistemas Operacionais

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

Transcrição:

- 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 a serem implementadas, bem como dos objetivos de custo e performance. Em relação as ISA, a maioria das máquinas RISC, tem instruções muito simples podendo ser executadas em um único ciclo de clock 1 ; por outro lado as máquinas Pentium podem precisar de vários ciclos para executar uma instruções, visto que podem requerer a localização de operandos, leitura e armazenamento de resultados. Assim sendo, é necessário uma nova metodologia para geração de sinais de controle diferente das existentes nas instruções mais simples. 2. MICROARQUITETURA Figura 1 - Níveis A microarquitetura é a descrição de um circuito elétrico de um computador, uma unidade central de processamento ou um processador digital de sinais, que é suficiente para descrever completamente a operação de hardware. 1 Ciclo de Clock são intervalos básicos de tempo nos quais são executadas as operações elementares de uma instrução. 1

Desde 1950 muitos computadores utilizam multiprogramação para implementar seus controles lógicos que decodificam as instruções que executam. O termo microarquitetura foi usado para descrever as unidades que eram controladas pelo microprograma. A microarquitetura está relacionada com a arquitetura do set de instruções (ISA), porém não é a mesma coisa. A microarquitetura de uma máquina é usualmente representada como diagramas que descrevem as interconexões dos diversos elementos da microarquitetura da máquina. Uma microarquitetura é dividida em duas partes: - Operativa - Controle A microarquitetura consiste de uma unidade de controle e de registradores visíveis pelo programador, unidades funcionais como a unidade lógica e Aritmética e quaisquer registradores adicionais necessários à unidade de controle. Uma microarquitetura simples, especialmente se ela incluir microcódigo, pode ser usada para implementar muitos diferentes sets de instruções através da troca do controle de armazenamento. Duas máquinas podem ter a mesma microarquitetura. 2.1. Performance Decisões de projeto a nível de sistema (por exemplo, decidir se periféricos como controladores de memória devem ou não ser incluídos), podem ser consideradas parte do processo de projeto da microarquitetura. Estas decisões envolvem níveis de performance e conectividade destes periféricos. Diferentemente de projeto de arquitetura, onde obter um nível de performance específico é o principal objetivo, o projeto de microarquiteturas se concentra mais em outras restrições. Uma vez que as decisões de projeto da microarquitetura afeta o que vai no sistema, toda atenção se volta para aspectos como: - Área/custo do chip - Consumo de energia - Complexidade da lógica - Aspectos construtivos - Conectividade - Facilidade para debugar - Testabilidade Dada a importância que a microarquitetura têm na performance da máquina, muitos esforços são dispensados no sentido de se obter novas e mais eficientes microarquiteturas. 2.2. Exemplo de Microarquitetura Um exemplo de microarquitetura é a JVM (Máquina Virtual do Java). Para este estudo consideraremos apenas um subconjunto de instruções inteiras da JVM, o IJVM. 2

2.2.1. CARACTERÍSTICAS O microprograma deve ser pequeno, devendo alimentar direta e eficientemente as portas lógicas do hardware. Pode-se considerar que cada instrução do nível ISA é uma função a ser chamada pelo programa principal. O microprograma tem um conjunto de variáveis que pode ser acessadas por todas as funções do computador, conhecidas como estado do computador. Considerações sobre as instruções da IJVM: As instruções são pequenas e muito simples de serem executadas Cada instrução tem poucos campos, em geral 1 ou 2, que têm propósitos específicos O primeiro campo de todas as instruções IJVM é o código de operação (opcode) Muitas instruções têm um campo adicional, que especifica o operando Cada microinstrução segue o modelo de execução conhecido como ciclo de busca/execução. 2.3. Controle da Microarquitetura A maioria das ISAs modernas, em particular os projetos RISC, tem instruções simples que podem ser executadas em um único ciclo de clock As ISAs mais complexas, como a do Pentium, precisam de mais ciclos para executar uma única instrução. Neste caso, faz-se necessário metodologias de sequenciamento de instruções mais otimizados para melhorar a performance da máquina em termos de tempo. 2.4. Caminho dos dados Figura 2 - Barramento Cabe ressaltar que o Microprograma 2 da CPU reside na Unidade de Controle. 2 Programa que executa apenas as instruções definidas pela microarquitetura da máquina. Possui um MPC (PC para o micro-programa e um MIR (IR para o micro-programa) 3

O caminho de dados é a parte do processador que contém a UAL (Unidade Lógica e Aritmética) e todas as suas entradas e saídas: Figura 3 - Caminho dos Dados O caminho de dados contém: Um conjunto de registradores de 32 bits, (PC, SP, MDR...), que só podem ser acessados pelo microprograma; Um barramento B, onde os registradores podem colocar suas informações; Uma UAL, cujas entradas estão ligadas aos barramentos A e B; Um Deslocador alimentado pela saída da UAL e que alimenta o barramento C; O primeiro ciclo (explicito, do caminho de dados, apresentado na figura), pode ser visto como um conjunto de subciclos implícitos. O início do primeiro subciclo é marcado pela transição negativa do clock. 4

Figura 4 - Temporização do caminho dos dados As atividades, junto com sua duração (entre parênteses), que ocorrem durante os subciclos são: - Os sinais de controle são ativados (dw - leia delta w); - O barramento B é carregado a partir dos registradores (dx); - A UAL e o deslocador operam (dy); - O resultado da operação da UAL e do deslocador se propaga através do barramento C em direção aos registradores (dz). O resultado é armazenado nos registradores na transição positiva do próximo clock. É de responsabilidade dos engenheiros de projeto assegurar que essa transição positiva ocorra somente depois de passado o tempo dw+dx+dy+dz. Caso contrário a carga dos registradores não é realizada. 2.5. Microinstruções Para controlar um caminho de dados, como o da figura acima, precisamos de um conjunto de sinais de controle que atuam sobre os componentes do nível da lógica digital. Os valores desses sinais de controle especificam as operações a serem executadas em um ciclo do caminho de dados. A figura abaixo mostra um possível formato para agrupar os bits de controle da arquitetura em 6 grupos, e 36 sinais. 5

Endereço:- contém o endereço da próxima instrução a ser potencialmente ativada; Desvio: determina como a próxima instrução será selecionada; UAL: especifica as funções da UAL e do deslocador; Barramento C: seleciona qual ou quais registradores serão carregados com o valor que estiver no barramento C; Memória: especifica as funções da memória (escrita, leitura ou busca); Barramento B: seleciona a entrada do barramento B. Os 4 bits são suficientes para selecionar um dos 9 registradores que disponibilizará seus dados no barramento B. 2.6. Controle Microprogramado: MIC-1 Para decidir quais dos sinais de controle devem ser habilitados em cada ciclo faz-se necessário a inclusão de um sequenciador em nossa arquitetura. O seqüenciador é responsável pela execução de todos os passos necessários a execução de uma única instrução do nível ISA, que produz dois tipos de informações a cada ciclo: - O estado de cada sinal de controle do sistema. - O endereço da microinstrução que será executada em seguida. A figura 5 mostra o diagrama de blocos detalhado da microarquitetura Mic. O diagrama de blocos tem duas partes: - O caminho de dados, à esquerda; - Seção de controle, à direita. 6

Figura 5 - MIC-1 2.7. Memória de Controle É o item maior e mais importante da parte de controle da máquina Não deve ser confundida com a memória principal (RAM), acessível via MBR e MDR. Não precisa de sinais de leitura/escrita pois é uma memória ROM (só de leitura). Guarda microinstruções, ao invés de instruções do nível ISA. Tem 512 palavras, cada palavra contendo uma instrução de 36 bits. As microinstruções não são executadas seqüencialmente, como as instruções da memória principal. Cada microinstrução especifica explicitamente sua sucessora. O endereço da próxima microinstrução é guardado no registrador MPC (Microprogram Counter). O registrador de dados da memória de controle é chamado MIR (MicroInstruction Register). Sua função é armazenar a microinstrução corrente cujos bits alimentam os sinais de controle que operam o caminho de dados. 2.7.1. OPERAÇÃO No início de cada ciclo (na descida do clock da figura 5) o MIR é carregado com o conteúdo do endereço armazenado no MPC. O tempo de carga do MIR é dw (Lê-se delta w). Os sinais do MIR se propagam pelo caminho de dados, causando, no tempo dx: - o carregamento de 1 dos registradores no barramento B - o carregamento do registrador H 7

- a determinação da função a ser executada pela UAL - estabilização dos dados de entrada da UAL A UAL e o deslocador operam os dados de entrada, durante o tempo dy. As saídas da UAL e do deslocador são propagadas, durante o tempo dz: - a saída do deslocador torna-se disponível e estável no barramento C - os valores de N e Z são salvos em 1 par de flip-flops de 1 bit Na transição positiva do sinal de clock: - os registradores são carregados com o conteúdo do barramento C - os flip-flops N e Z são carregados pela UAL - os registradores MBR e MDR recebem resultados da memória O valor de MPC é atualizado (veja detalhes abaixo) no tempo de nível alto do clock. Volta ao passo 1 e o ciclo se repete até que alguém desligue a máquina. 8