Organização de Computadores



Documentos relacionados
William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Organização de Computadores

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

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

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

Oganização e Arquitetura de Computadores

UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto

Barramento. Prof. Leonardo Barreto Campos 1

Nível da Microarquitetura

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

Unidade Central de Processamento UCP (CPU)

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Organização e Arquitetura de Computadores I

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

SSC0112 Organização de Computadores Digitais I

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

SSC510 Arquitetura de Computadores 1ª AULA

Organização de Computadores 1

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

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

2. A influência do tamanho da palavra

Arquitetura de Computadores Aula 10 - Processadores

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

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

COMPUTADOR 2. Professor Adão de Melo Neto

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

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Disciplina: Arquitetura de Computadores

Organização e Projeto de Computadores

Capítulo 3 Organização Interna de um Computador

2. A influência do tamanho da palavra

Unidade de Controle. UC - Introdução

Instruções de Máquina

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

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO. Adão de Melo Neto

Prof. Leonardo Augusto Casillo

ORGANIZAÇÃO DE COMPUTADORES

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

Processador. Processador

Solução Lista de Exercícios Processadores

Organização de Computadores Aula 05

Estrutura Básica de um Computador

RELOGIO MEMÓRIA USO DA NUMERAÇÃO BINÁRIA. 02. Explique a função do barramento de endereços no Modelo Barramento de Sistemas.

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Capítulo 4 Nível da microarquitetura

Processador: Conceitos Básicos e Componentes

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

ARQUITETURA DE COMPUTADORES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

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

Organização e Arquitetura de Computadores I

William Stallings Computer Organization and Architecture

O Computador Neander Neander - Computador Hipotético Didático

UCP: Caminho de Dados (Parte II)

CONJUNTO DE INSTRUÇÕES

Arquitetura de Microprocessadores

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

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

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

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

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

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Organização e Arquitetura de Computadores I

a) Obtenha a tabela verdade das operações com 01 bit

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

Unidade Central de Processamento 2. Registradores

Aula 12: Memória: Barramentos e Registradores

Aula 16: UCP: Conceitos Básicos e Componentes

ORGANIZAÇÃO DE COMPUTADORES

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

Prof. Gustavo Oliveira Cavalcanti

MAC0329 Álgebra booleana e circuitos digitais DCC / IME-USP Primeiro semestre de 2017

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

MICROPROCESSADORES. Aula 10

Organização de Computadores

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

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

Organização e Arquitetura de Computadores I

Transcrição:

Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44

Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.6. Conjunto de Instruções 2.7. Estrutura e Função da CPU 2.8. Operação da Unidade de Controle 2.9. Controle Microprogramado Aula de hoje: Stallings (5a. Edição), Capítulo 14 2/44

Microoperações Execução de programa: sequência de ciclos de instrução (fetch-decode-execute-store) Cada ciclo tem diversos passos, as microoperações: Busca instrução: MAR PC, MBR Mem[MAR], IR MBR, PC PC+1 Decodificação instrução: depende do conteúdo do IR Cálculo endereço(s) de operando(s): MAR calcula endereço a partir do IR, etc. Busca operando(s): MBR Mem[MAR], Reg MBR, etc. Executa instrução: depende da instrução Cálculo endereço(s) de operando(s) destino, etc. Cada passo é muito simples (por isso, o micro-) Passos indivisíveis: operações atômicas da CPU 3/44

Elementos da Execução de um Programa Execução de Programa 4/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução 5/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução Ciclo de Instrução 6/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução Ciclo de Instrução Ciclo de Instrução 7/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução Ciclo de Instrução Ciclo de Instrução 8/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução Ciclo de Instrução Ciclo de Instrução Busca Proc.Indireção Execução Proc. Interrup. 9/44

Elementos da Execução de um Programa Execução de Programa Ciclo de Instrução Ciclo de Instrução Ciclo de Instrução Busca Proc.Indireção Execução Proc. Interrup. μop μop μop μop μop 10/44

Busca de Instrução: 4 registradores Memory Address Register (MAR) Conectado ao barramento de endereço do sistema Especifica o endereço para a operação de leitura ou escrita Memory Buffer Register (MBR) Conectado ao barramento de dados do sistema Armazena os dados recém-lidos ou a serem escritos Program Counter (PC) Armazena o endereço da próxima instrução a ser lida Instruction Register (IR) Armazena a última instrução lida 11/44

Sequência de Busca Endereço da próxima instrução está no PC Endereço (MAR) é colocado no barramento do sistema Unidade de Controle envia comando de leitura p/ mem. Resultado (dado da memória) aparece no barr. de dados Dado do barramento de dados é colocado no MBR PC incrementado de 1 (pode ser feito em paralelo com leitura de dado da memória) Dado (instrução) copiado do MBR ao IR MBR está livre para outras operações 12/44

Sequência de Busca usando RTN RTN = Register Transfer Notation = Notação de Transferência de Registrador t1: MAR PC t2: MBR Memória[MAR], PC PC +1 t3: IR MBR tx = unidade de tempo/ciclo do clock 13/44

Sequência de Busca usando RTN RTN = Register Transfer Notation = Notação de Transferência de Registrador t1: MAR PC t2: MBR Memória[MAR], PC PC +1 t3: IR MBR OU t1: MAR PC t2: MBR Memória[MAR] t3: PC PC +1, IR MBR 14/44

Regras para Agrupamento de Microoperações 1) Sequência apropriada deve ser seguida MAR PC deve preceder MBR Memória[MAR] 2) Conflitos devem ser evitados Não pode escrever e ler o mesmo registrador ao mesmo tempo ex. MBR Memória[MAR] e IR MBR não podem estar no mesmo ciclo Observe também: PC PC+1 envolve adição. Pode usar a ULA, ou pode ser feita por um circuito independente. Algumas operações da ULA podem necessitar de microoperações adicionais (p. ex. multiplicação de números em ponto flutuante) 15/44

Subciclo de Proc. End. Indireto n-1 x y y-1 z k 0 IR opcode end. indireto operando 1 end. indireto operando 2 end. indireto operando N t1: MAR IRx IRy (campo de endereço do IR) t2: MBR Memória[MAR] t3: IRx IRy MBR endereço (parte do MBR contendo end.) MBR conterá um endereço IR está agora no mesmo estado caso estivéssemos usando endereçamento direto Consequência: geralmente, campos de endereço do IR precisam ter tamanho suficiente para endereçar diretamente toda a memória principal. 16/44

Subciclo de Proc. Interrupção Executado após o subciclo execute/store. Primeiramente, verifica se ocorreu interrupção. Se ocorreu, executa as seguintes microoperações: t1: MBR PC t2: MAR End. de Salvamento, PC End. do handler t3: Memória[MAR] MBR End. de salvamento geralmente é topo da pilha (em SP). Neste caso, necessita de mais uma microop SP SP 1 Isto é o mínimo indispensável: podem ser necessárias microoperações adicionais para obter o endereço do handler N.B. salvar o resto do contexto é atribuição do handler de interrupção, não das microoperações. 17/44

Subciclo de Execução: Exemplo 1 As microoperações no subciclo de execução variam muito de instrução para instrução. 18/44

Subciclo de Execução: Exemplo 1 As microoperações no subciclo de execução variam muito de instrução para instrução. Para a instrução ADD R1, X adiciona conteúdo da po-sição de memória X ao registrador R1, resultado em R1. t1: MAR IR endereço (campo de endereço do IR) t2: MBR Memória[MAR] t3: R1 R1 + MBR (por meio da ULA) 19/44

Subciclo de Execução: Exemplo 1 As microoperações no subciclo de execução variam muito de instrução para instrução. Para a instrução ADD R1, X adiciona conteúdo da po-sição de memória X ao registrador R1, resultado em R1. t1: MAR IRx IRy (campo de endereço do IR) t2: MBR Memória[MAR] t3: R1 R1 + MBR (por meio da ULA) Note que, neste caso, não pode haver sobreposição das microoperações 20/44

Subciclo de Execução: Exemplo 1 As microoperações no subciclo de execução variam muito de instrução para instrução. Para a instrução ADD R1, X adiciona conteúdo da po-sição de memória X ao registrador R1, resultado em R1. t1: MAR IRx IRy (campo de endereço do IR) t2: MBR Memória[MAR] t3: R1 R1 + MBR (por meio da ULA) Note que, neste caso, não pode haver sobreposição das microoperações Observe que a operação de soma depende da organização interna da ULA. P. ex. em uma ULA que possui um registrador de saída R ULAout : t3: R ULAout R1 + MBR t4: R1 R ULAout 21/44

Subciclo de Execução: Exemplo 2 ISZ X Increment and Skip if Zero (incremente o conteúdo da posição de memória X e pule próxima instrução se result. da última operação foi zero) t1: MAR IR endereço t2: MBR Memória[MAR] t3: MBR MBR+1 t4: Memória[MAR] MBR, IF (MBR == 0) then PC PC + 1 Ação condicional: a UC verifica e, caso a condição seja verdadeira, executa a ação (incrementar o PC) em uma única microooperação Como MBR só está sendo lido no if e na cópia do seu valor para a memória, pode haver sobreposição. 22/44

UC: Requisitos funcionais Após decompor o ciclo de instrução em operações elementares, precisamos definir o que a Unidade de Controle deve fazer para que elas sejam seguidas. Três passos para caracterizar a UC: 1) Definir os elementos básicos do processador 2) Descrever as microoperações que o processador executa 3) Determinar as funções que a UC deve realizar para que as microoperações sejam seguidas 23/44

Passo 1: Elementos Básicos do Processador Minimamente: ULA Registradores Caminhos de dados internos Caminhos de dados externos Unidade de Controle 24/44

Passo 2: Tipos de Microoperações Pelos exemplos vistos anteriormente, é suficiente categorizar as microoperações em: 1)Transferência de dado entre registradores 2)Transferência de dado de registrador para o exterior (p. ex. barramento do sistema) 3)Transferência de dado do exterior para registrador 4)Execução de operação lógica ou aritmética, usando registradores como fonte e destino. 25/44

Passo 3: Funções da Unidade de Controle Duas tarefas básicas. Sequenciamento: Faz com que a CPU siga as microoperações passo a passo Execução Executa, efetivamente, cada microoperação Regidas e executadas por meio de sinais de controle. 26/44

Sinais de Controle Clock Uma microoperação (ou conjunto de microoperações simultâneas) por ciclo de clock. do Registrador de Instrução Opcode da instrução atual Determina quais microinstruções executar e sua ordem Flags Estado da CPU Resultados de operações anteriores do Barramento de Controle Interrupções Reconhecimento de sinais de controle originários da CPU (acknowledgments) 27/44

Modelo de uma UC Unidade de Controle Sinais de controle para componentes internos à CPU Sinais de controle do barramento do sistema Barramento de Controle Sinais de controle para barramento do sistema 28/44

Sinais de Controle Saída Dentro da CPU Causam movimento de dados Activam funções específicas Através do barramento de controle do sistema Para a memória principal Para módulos de entrada/saída 29/44

Controle de Leitura/Escrita As operações de leitura/escrita em registradores podem ser pensadas como operações de abertura e fechamento de portas (gates). Um registrador tem 2 gates, um de saída (leitura) e um de entrada (escrita). Rwrite R Rread A operação (leitura/escrita) pode ser controlada por meio de sinais nos gates. 30/44

Controle de Leitura/Escrita As operações de leitura/escrita em registradores podem ser pensadas como operações de abertura e fechamento de portas (gates). Um registrador tem 2 gates, um de saída (leitura) e um de entrada (escrita). 1 = Rwrite Rread = 0 R escrita no registrador A operação (leitura/escrita) pode ser controlada por meio de sinais nos gates. 31/44

Controle de Leitura/Escrita As operações de leitura/escrita em registradores podem ser pensadas como operações de abertura e fechamento de portas (gates). Um registrador tem 2 gates, um de saída (leitura) e um de entrada (escrita). 0 = Rwrite Rread = 1 R leitura do registrador A operação (leitura/escrita) pode ser controlada por meio de sinais nos gates. 32/44

Controle de Leitura/Escrita As operações de leitura/escrita em registradores podem ser pensadas como operações de abertura e fechamento de portas (gates). Um registrador tem 2 gates, um de saída (leitura) e um de entrada (escrita). 0 = Rwrite Rread = 0 R registrador desabilitado A operação (leitura/escrita) pode ser controlada por meio de sinais nos gates. 33/44

Organização Interna da CPU Geralmente, um único barramento interno Os gates controlam o movimento de dados de/para o barramento interno Sinais de controle controlam a transferência de dados de/para o barramento do sistema Registradores temporários para o funcionamento adequado da ULA: R ULAin e R ULAout (obs.: na figura 14.6 são os registradores Y e Z) 34/44

CPU com Barramento Interno Único Rin ULA Rout 35/44

Sequência de Sinais de Controle: Exemplo Busca de instrução: t1: MAR PC UC abre gate de leitura do PC e gate de escrita do MAR Rin ULA Rout 36/44

Sequência de Sinais de Controle: Exemplo Memory READ Busca de instrução: t1: MAR PC UC abre gate de leitura do PC e gate de escrita do MAR t2: MBR Memória[MAR] UC abre gate de leitura do MAR, gate de escrita do MBR p/ barr. do sistema e manda comando de leitura para memória Rin ULA Rout 37/44

Sequência de Sinais de Controle: Exemplo Busca de instrução: t1: MAR PC UC abre gate de leitura do PC e gate de escrita do MAR t2: MBR Memória[MAR] UC abre gate de leitura do MAR, gate de escrita do MBR p/ barr. do sistema e manda comando de leitura para memória t3: IR MBR UC abre gate de leitura do MBR p/ barr. interno e gate de escrita do IR Rin ULA Rout 38/44

UC calcula Funções Lógicas! Cada sinal de controle é função lógica dos bits do IR, das flags, e do tempo de execução atual (um número binário que depende do clock) Unidade de contador Controle Sinais de controle para componentes internos à CPU Sinais de controle do barramento do sistema Sinais de controle para barramento do sistema Barramento de Controle 39/44

Controle Hardwired Como cada sinal de controle é função lógica variáveis booleanas, podemos criar circuitos digitais combinacionais que calculem essas funções lógicas. Essa abordagem usando apenas circuitos digitais, não reprogramáveis, é chamada hardwired Entradas: bits do barramento de controle, flags, registrador de instrução, bits do gerador de temporização (um contador binário que tem como entrada o clock) Saídas: sinais binários de controle para os gates dos registradores, para a ULA, e para as linhas de controle do barramento do sistema. 40/44

Controle Hardwired: Entradas Flags e bits do barramento de controle Cada bit tem um significado Registrador de Instrução (IR) Opcode causa sinais de controle diferentes para cada instrução Lógica diferente para cada opcode Geralmente, a lógica é facilitada colocando-se um decodificador entre o IR e a UC decodificador: n bits de entrada e 2n bits de saída Clock Coloca-se um contador entre o clock e a UC (chamado gerador de temporização) 41/44

UC com Entradas Decodificadas Flags and control bus signals 42/44

Controle Hardwired: Problemas Lógica complexa de sequenciamento e de implementação das microoperações Difícil de projetar e de testar Projeto inflexível E se houver um erro de projeto? Só pode ser corrigido alterando-se o circuito! Como geralmente hoje os circuitos são integrados (sem possibilidade de alterá-los), o único jeito de corrigir um erro seria trocar o processador Dificuldade de implementar novas instruções Seria necessário trocar o processador. E se pudéssemos programar as microoperações? Yes, we can! Isso se chama controle microprogramado. 43/44

Para Casa Ler o capítulo 14 (a subseção sobre o Intel 8085 é para ser lida como cultura geral, para fixar os conceitos) Exercícios: fazer do 14.1 ao 14.5 (todos os exercícios do capítulo na 5a. edição) Fazer leitura de familiarização do cap. 15 (próxima aula) LEMBREM DE PREPARAR A FOLHA DE CONSULTA PARA A P2! Vejam as condições nos slides da aula 27. 44/44