Arquitectura de Computadores – Introdução à arquitectura do hardware1José Delgado © 2009 Introdução à arquitectura do hardware Programação cooperativa.

Slides:



Advertisements
Apresentações semelhantes
UNIDADE 1: INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Advertisements

Sistemas Operacionais
Software Básico Silvio Fernandes Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 05:
CPU: Controle e processamento
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
HARDWARE.
Arquitetura e organização de computadores
Barramentos Introdução.
Técnicas para operações E/S
A Arquitetura: conjunto de instruções
4. Input / Output.
Aula 2 – Sumário Transferências entre registos
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução à arquitectura de microprocessadores - 1 Introdução à arquitectura de microprocessadores.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
Exemplo de arquitetura registrador-registrador- MIPS
Processador Fluxo de Dados e Controle
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
SISTEMAS OPERACIONAIS (SO) Aula 2 – Revisão - Organização
Introdução à Informática
Professor: Carlos Roberto da Silva Filho, M. Eng.
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Esquema básico do hardware
+ = MOTIVAÇÃO ARQUITETURA DE COMPUTADORES CIRCUITOS LOGICOS
Autor: Fernando de Mesentier Silva
Arquitectura de Computadores II
Processadores – Aula 3 Professor: André Luis Meneses Silva
INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Eletrônica Digital II ELT013
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Introdução à estrutura e funcionamento de um sistema informático
Arquitectura de Computadores II
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Registos SISTEMAS DIGITAIS Prof. Carlos Sêrro
Funcionamento básico de um computador
Linguagem de Montagem.
ORGANIZAÇÃO DE COMPUTADORES
Organização de um computador
Arquitectura de Computadores – Introdução à arquitectura do hardware1José Delgado © 2011 Introdução à arquitectura do hardware Descodificação de endereços.
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Prof. Remy Eskinazi - Microcontroladores
Memória Principal.
Unidade Central De Processamento: Processador
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Unidade Central De Processamento: Processador
PIC Peripheral Interface Controller
Memorias.
Microprocesadores x Microcontroladores
8088 Assembly Software Básico Mitsuo Takaki.
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Introdução às TIC Prof. Carlos Freire Copyright, Carlos Freire.
Parte 3 Seção de Dados e Unidade de Controle
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Processador MAC-1 Arquitectura.
Arquitetura de Computadores
Afonso Ferreira Miguel
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Transcrição da apresentação:

Arquitectura de Computadores – Introdução à arquitectura do hardware1José Delgado © 2009 Introdução à arquitectura do hardware Programação cooperativa Descodificação de endereços Núcleo do processador Microprogramação

Arquitectura de Computadores – Introdução à arquitectura do hardware2José Delgado © 2009 Processos com multiprogramação Processos – forma de programar várias actividades de forma independente Mudança de processsos por meio de interrupção (assíncrona)

Arquitectura de Computadores – Introdução à arquitectura do hardware3José Delgado © 2009 Processos cooperativos Mudança de processo consentida pelo próprio processo Implementação de um processo que precise de manter estado entre invocações sucessivas: function ProcessoX () { switch estado { case 1:... /* instruções deste estado */ ; estado =...; /* indica qual o estado seguinte */ break;/* sai do processo */ case 2:... /* instruções deste estado */ ; estado =...; /* indica qual o estado seguinte */ break;/* sai do processo */.../* cláusulas dos outros estados */ } return; }

Arquitectura de Computadores – Introdução à arquitectura do hardware4José Delgado © 2009 Espera não bloqueante Não se deve fazer: ; rotina que implementa o processo 1 proc1:Lê posição de memória CMP com valor pretendido; vê se valor é o esperado JNZproc1; se ainda não é, vai tentar de novo...; a fazer caso o valor seja o esperado RET; acabou, regressa O que se deve fazer: ; rotina que implementa o processo 1 proc1:Lê posição de memória CMP com valor pretendido; vê se valor é o esperado JNZfim; se ainda não é, vai tentar de novo...; a fazer caso o valor seja o esperado fim:RET; acabou, regressa. Há-de voltar na próxima ; iteração do ciclo A espera deve ser externa à rotina, e não interna

Arquitectura de Computadores – Introdução à arquitectura do hardware5José Delgado © 2009 Estrutura em assembly ; rotina que implementa um processo processo:Lê variável com o estado do processo estado0:CMP com 0; vê se é o estado 0 JNZestado1 …; faz o processamento do estado 0 estado = novo valor; indica qual o próximo estado JMPfim; acabou execução do estado 0 estado1:CMP com 1; vê se está no estado 1 JNZestado2 …; faz o processamento do estado 1 estado = novo valor; indica qual o próximo estado JMPfim; acabou execução do estado 1 estado2:CMP com 2; vê se está no estado 2 JNZestado3 …; faz o processamento do estado 2 estado = novo valor; indica qual o próximo estado JMPfim; acabou execução do estado 2 estado3:...; etc. Outros estados... fim:RET; sai, para permitir que os outros ; processos corram

Arquitectura de Computadores – Introdução à arquitectura do hardware6José Delgado © 2009 Espaço de endereçamento FFFFH 0000H Espaço de endereçamento (com 16 bits) Memória 1 Periférico 1 Periférico 2 Periférico 3 Memória 2 Processador Unidade de controlo Unidadede dados Unidadede dados Memória Bus de endereços Bus de dados Bus de controlo Periférico 1 Periférico 2 Periférico 3

Arquitectura de Computadores – Introdução à arquitectura do hardware7José Delgado © 2009 Diagrama de blocos Processador MemóriaPeriférico Descodificador de endereços Bus de dados CS1 CS2 Bus de endereços RD WR

Arquitectura de Computadores – Introdução à arquitectura do hardware8José Delgado © 2009 Ciclo de bus com chip select Os chip selects são normalmente activos a zero Os flancos ascendentes dos sinais de RD e WR devem ocorrer “dentro” do período activo do chip select. Relógio Bus de RD WR dados endereços Bus de dados endereço select Chip

Arquitectura de Computadores – Introdução à arquitectura do hardware9José Delgado © 2009 Descodificação de endereços Cada dispositivo liga aos bits de menor peso do bus de endereços O descodificador de endereços liga aos bits de maior peso do bus de endereços. Processador MemóriaPeriférico Descodificador de endereços Bus de dados CS1 CS2 Bus de endereços RD WR

Arquitectura de Computadores – Introdução à arquitectura do hardware10José Delgado © 2009 Supondo um processador de 8 bits com este mapa de endereços: Mapa de endereços ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF –Quantos bits deve ter no mínimo o bus de endereços? –Qual o espaço de endereçamento deste mapa de endereços? –Qual a capacidade da RAM? –Qual a capacidade da ROM? –Qual o espaço reservado para periféricos? –Qual o espaço livre? –Quantos bits de endereço devem ligar a cada módulo de RAM? –E à ROM? MB 2 MB 8 MB 4 KB 6 MB – 4 KB 20 23

Arquitectura de Computadores – Introdução à arquitectura do hardware11José Delgado © 2009 Geração dos chip selects A23 A22 A21 A20 ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF Decoder 1 para 8 A12..A19

Arquitectura de Computadores – Introdução à arquitectura do hardware12José Delgado © 2009 A23 A22 A21 A20 ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF Decoder 1 para 8 A12..A19 Geração dos chip selects A geração do chip select dos “GRANDES” dispositivos é geralmente simples e feita à medida. A geração do chip select dos “pequenos” dispositivos é geralmente feita por discriminação de um bocado médio (com gates ou com outros descodificadores). A geração do chip select dos dispositivos “médios” é geralmente feita com descodificadores que dividem o mapa de endereços em bocados iguais. Regra geral, não deve haver sobreposições.

Arquitectura de Computadores – Introdução à arquitectura do hardware13José Delgado © 2009 Descodificação com PROM Neste caso é possível programar os endereços em módulos de 4K. ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF A A12 PROM (Programmable ROM) Em cada palavra da PROM, só um bit pode estar a 0.

Arquitectura de Computadores – Introdução à arquitectura do hardware14José Delgado © 2009 Descodificação com PROM A PROM permite gerar tantos chip selects quantos os bits da sua largura. Em cada palavra, só pode haver um bit a 0. Os bits de endereço da PROM ligam aos bits de maior peso do bus de endereços. São precisos tantos bits quantos os requeridos pelo dispositivo de endereçamento mais fino (que ocupará apenas uma palavra da PROM). Os dispositivos “maiores” (RAM, por exemplo) ocuparão várias palavras da PROM com o bit da saída respectiva a 0. Zonas do espaço de endereçamento sem dispositivo têm a palavra respectiva com os bits todos a 1. ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF A A12 PROM ( Programmable ROM)

Arquitectura de Computadores – Introdução à arquitectura do hardware15José Delgado © 2009 Descodificação com PROM Neste exemplo, cada palavra da PROM corresponde a 4 K endereços do processador (para bater certo com o requerido pelos periféricos). Quantas palavras deve ter a PROM? Mudar o mapa de endereços implica apenas substituir ou reprogramar a PROM (que então tinha de ser EPROM, EEPROM, FLASH, etc). 4 K Qual o conteúdo da PROM? 800 a FFF 501 a 7FF a 4FF 100 a 1FF 000 a 0FF ROM vazio periféricos vazio RAM 1 RAM 0 ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF A A12 PROM ( Programmable ROM)

Arquitectura de Computadores – Introdução à arquitectura do hardware16José Delgado © 2009 Descodificação mista Isto permite que a PROM seja 8 vezes mais pequena, com menos palavras repetidas. ROM Periféricos RAM 1 RAM FFFFF FFFFF FFFFFF FFF Decoder 1 para 8 A A15 PROM (Programmable ROM) A12 A14 A13

Arquitectura de Computadores – Introdução à arquitectura do hardware17José Delgado © 2009 Endereçamento de byte e de palavra A memória é vista como um vector linear : –de bytes (8 bits), ou –de palavras do processador (N bits) Endereçamento de byte: –Permite acesso directo a um byte –Complica interface de memória (acesso aos bytes que não sejam o de menor peso de cada palavra) –Espaço de endereçamento é menor –PC e SP têm de variar de 2 em 2 (processador de 16 bits) ou de 4 em 4 (processador de 32 bits) Endereçamento de byte (  P de 32 bits) 0CH 08H 04H 00H 10H Endereçamento de palavra 03H 02H 01H 00H 04H

Arquitectura de Computadores – Introdução à arquitectura do hardware18José Delgado © 2009 “Big-endian” vs “little-endian” Em ambos os casos, os inteiros representam-se com os bits de maior peso à esquerda. A diferença está na ordem pela qual os bytes aparecem. Big-endian 0CH 08H 04H 00H 10H 89AB Little-endian 0CH 08H 04H 00H 10H BA Exemplo 03 0F 0A 07 H

Arquitectura de Computadores – Introdução à arquitectura do hardware19José Delgado © 2009 “Big-endian” vs “little-endian” No big-endian, o byte de maior peso está no byte com menor endereço (isto é, aparece primeiro quando se vai incrementando os endereços). No little-endian, é o byte de menor peso que aparece primeiro. Big-endian 0CH 08H 04H 00H 10H 89AB Little-endian 0CH 08H 04H 00H 10H BA Exemplo 03 0F 0A 07 H

Arquitectura de Computadores – Introdução à arquitectura do hardware20José Delgado © 2009 “Big-endian” vs “little-endian” Esta distinção só é importante: –Ao aceder aos bytes individuais de uma palavra; –Ao trocar dados entre computadores. Big-endian 0CH 08H 04H 00H 10H 89AB Little-endian 0CH 08H 04H 00H 10H BA Exemplo 03 0F 0A 07 H

Arquitectura de Computadores – Introdução à arquitectura do hardware21José Delgado © 2009 Acessos à memória flexíveis Alguns processadores suportam: –Acessos a bytes e a palavras de 16 bits e 32 bits (potências de 8 bits até à largura da palavra do processador). Cada instrução tem de indicar o tipo de acesso; –Acessos desalinhados a palavras, em qualquer endereço, o que pode implicar dois acessos e corte e costura...). 10 0CH 08H 04H 00H 10H CDEF 89AB Acessos alinhados em 8, 16 e 32 bits Acesso desalinhado (32 bits, endereço 01H)

Arquitectura de Computadores – Introdução à arquitectura do hardware22José Delgado © 2009 Bits de menor peso As memórias são geralmente feitas com chips (circuitos integrados) com largura de 8 bits, por isso são precisos: –2 em paralelo para fazer 16 bits. –4 em paralelo para fazer 32 bits. Os vários chips em paralelo podem ser acedidos simultaneamente em cada acesso, e é o processador que depois individualiza os bytes, se necessário. No endereçamento de byte, os bits de menor peso do bus de endereço não ligam à memória: –num processador de 16 bits, A0 –num processador de 32 bits, A1 e A0 Endereçamento de byte (  P de 32 bits) 0CH 08H 04H 00H 10H Endereçamento de palavra 03H 02H 01H 00H 04H

Arquitectura de Computadores – Introdução à arquitectura do hardware23José Delgado © 2009 Ligação de RAMs em paralelo RAM (8 bits) Descodificador de endereços CS-RAM RD WR RAM (8 bits) RAM (8 bits) RAM (8 bits) Bus de endereços An..A2 Bus de dados Processador (32 bits) BS3 BS0 BS3..0 (Byte Select) – Indica que bytes são acedidos.

Arquitectura de Computadores – Introdução à arquitectura do hardware24José Delgado © 2009 Voltemos ao PEPE-8 Objectivo: somar um número com todos os inteiros positivos menores que ele. soma = N + (N-1) + (N-2) soma  0(inicializa soma com zero) 2.temp  N(inicializa temp com N) 3.Se (temp < 0) salta para 8(se temp for negativo, salta para o fim) 4.Se (temp = 0) salta para 8(se temp for zero, salta para o fim) 5.soma  soma + temp(adiciona temp a soma) 6.temp  temp – 1(decrementa temp) 7.Salta para 4(salta para o passo 4) 8.Salta para 8(fim do programa)

Arquitectura de Computadores – Introdução à arquitectura do hardware25José Delgado © 2009 Só uma constante por instrução Decompôr instruções com várias constantes em instruções mais simples, cada uma só com uma constante. Já não há endereços e valores numéricos na mesma instrução). Usa-se um registo auxiliar (A) para guardar valores entre instruções. 0M[soma]  0 0A  0 1M[soma]  A 1M[temp]  N 2A  N 3M[temp]  A 2Se (M[temp] < 0) PC  74(A < 0) : PC  12 3Se (M[temp] = 0) PC  75(A = 0) : PC  12 4M[soma]  M[soma] + M[temp] 6A  A + M[soma] 7M[soma]  A 5M[temp]  M[temp] – 1 8A  M[temp] 9A  A – 1 10M[temp]  A 6PC  311PC  5 7PC  712PC  12

Arquitectura de Computadores – Introdução à arquitectura do hardware26José Delgado © 2009 Que operações são necessárias? Para correr o programa anterior, o hardware tem de suportar as seguintes operações: Opera ç ão Exemplo Escrever uma constante no registo A A  0 Armazenar o registo A na mem ó ria M[soma]  A Ler uma c é lula de mem ó ria e escrever no registo A A  M[temp] Opera ç ão com o registo A e uma c é lula de mem ó ria como operandos A  A + M[soma] Opera ç ão com o registo A e uma constante como operandos A  A – 1 Salto incondicional PC  7 Salto condicional (A = 0) : PC  12 Esta notação designa-se RTL (Register Transfer Language)

Arquitectura de Computadores – Introdução à arquitectura do hardware27 Arquitectura de base José Delgado © 2009

Arquitectura de Computadores – Introdução à arquitectura do hardware28José Delgado © 2009 A  M[endereço]

Arquitectura de Computadores – Introdução à arquitectura do hardware29José Delgado © 2009 M[endereço]  A

Arquitectura de Computadores – Introdução à arquitectura do hardware30José Delgado © 2009 A  A + M[endereço]

Arquitectura de Computadores – Introdução à arquitectura do hardware31José Delgado © 2009 A  0 ???

Arquitectura de Computadores – Introdução à arquitectura do hardware32José Delgado © 2009 A  constante

Arquitectura de Computadores – Introdução à arquitectura do hardware33José Delgado © 2009 A  A + constante

Arquitectura de Computadores – Introdução à arquitectura do hardware34José Delgado © 2009 Salto (PC  7) ???

Arquitectura de Computadores – Introdução à arquitectura do hardware35José Delgado © 2009 PC  constante

Arquitectura de Computadores – Introdução à arquitectura do hardware36José Delgado © 2009 (A = 0) : PC  constante SEL_PC (2 bits): não salta, salto incondicional, salto condicional (se A = 0 e se A < 0)

Arquitectura de Computadores – Introdução à arquitectura do hardware37José Delgado © 2009 PEPE-8: instruções com todos os sinais de controlo

Arquitectura de Computadores – Introdução à arquitectura do hardware38José Delgado © 2009 PEPE-8: instruções com opcodes

Arquitectura de Computadores – Introdução à arquitectura do hardware39José Delgado © 2009 Linguagem assembly Categoria Instru ç ão assembly SignificadoOpcode Descri ç ão em RTL Transferência de dados LDvalorLoad (imediato)00HA  valor LD[endereço]Load (memória)01HA  M[endereço] ST[endereço]Store (memória)02HM[endereço]  A Operações aritméticas ADDvalorAdd (imediato)03HA  A + valor ADD[endereço]Add (memória)04HA  A + M[endereço] SUBvalorSubtract (imediato)05HA  A – valor SUB[endereço]Subtract (memória)06HA  A – M[endereço] Operações lógicas ANDvalorAND (imediato)07H A  A  valor AND[endereço]AND (memória)08H A  A  M[endereço] ORvalorOR (imediato)09H A  A  valor OR[endereço]OR (memória)0AH A  A  M[endereço] Saltos JMPendereçoJump0BHPC  endereço JZendereçoJump if zero0CH(A=0) : PC  endereço JNendereçoJump if negative0DH(A<0) : PC  endereço DiversosNOPNo operation0EH

Arquitectura de Computadores – Introdução à arquitectura do hardware40José Delgado © 2009 Instrução LD [endereço]

Arquitectura de Computadores – Introdução à arquitectura do hardware41José Delgado © 2009 Instrução ADD valor

Arquitectura de Computadores – Introdução à arquitectura do hardware42José Delgado © 2009 Programação em assembly Programa em RTLPrograma em assembly 0A  0 1M[soma]  A 2A  N 3M[temp]  A 4(A < 0) : PC  12 5(A = 0) : PC  12 6A  A + M[soma] 7 M[soma]  A 8A  M[temp] 9A  A – 1 10M[temp]  A 11PC  5 12PC  12 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH in í cio:LD0 ST[soma] LDN ST[temp] JNfim teste: JZfim ADD[soma] ST[soma] LD[temp] SUB1 ST[temp] JMPteste fim:JMPfim

Arquitectura de Computadores – Introdução à arquitectura do hardware43José Delgado © 2009 Agora um processador de 16 bits Já não faz uma instrução por ciclo de relógio Tem um ciclo por cada instrução

Arquitectura de Computadores – Introdução à arquitectura do hardware44José Delgado © 2009 Controlo Unidade de controlo CLK Unidade aritmética e lógica (ALU) A B Unidade de processamento de dados Banco de registos MPX PC Registo de instrução flags endereços dados dados/instr. Bus dados Interface de memória Bus end. Bus contr. F Ciclo do processador Descodifica Registo de instrução Controlo flags Executa Banco de registos MPX Unidade aritmética e lógica (ALU) Escreve resultado Banco de registos Unidade aritmética e lógica (ALU) MPX Busca instrução Registo de instrução PC MPX Interface de memória MPX Busca operandos (registos) Banco de registos Busca operandos (memória) Banco de registos MPX Interface de memória MPX

Arquitectura de Computadores – Introdução à arquitectura do hardware45José Delgado © 2009 Controlo Unidade de controlo CLK Unidade aritmética e lógica (ALU) A B Unidade de processamento de dados Banco de registos MPX PC Registo de instrução flags endereços dados dados/instr. Bus dados Interface de memória Bus end. Bus contr. F Exemplo MOV R2, [R3] ADD R1, R2 MOV [R3], R1 MOV R2, [R3] RI  M[PC] PC  PC + 2 R2  M[R3] ADD R1, R2 RI  M[PC] PC  PC + 2 R1  R1 + R2 MOV [R3], R1 RI  M[PC] PC  PC + 2 M[R3]  R1 PC RI  M[PC] PC  PC + 2 R2  M[R3] RI  M[PC] PC  PC + 2 R2  M[R3] RI  M[PC] PC  PC + 2 R2  M[R3] RI  M[PC] PC  PC + 2 R1  R1 + R2 RI  M[PC] PC  PC + 2 R1  R1 + R2 RI  M[PC] PC  PC + 2 R1  R1 + R2 RI  M[PC] PC  PC + 2 M[R3]  R1 RI  M[PC] PC  PC + 2 M[R3]  R1 RI  M[PC] PC  PC + 2 M[R3]  R1

Arquitectura de Computadores – Introdução à arquitectura do hardware46José Delgado © 2009 Estrutura do processador

Arquitectura de Computadores – Introdução à arquitectura do hardware47José Delgado © 2009 Núcleo do processador

Arquitectura de Computadores – Introdução à arquitectura do hardware48José Delgado © 2009 Controlo microprogramado Entradas da unidade de controlo Registo de endereço de controlo Gerador do próximo endereço Próximo endereço Saídas para unidade de controlo Saídas para unidade de processamento de dados relógio Bits de estado (flags) microinstrução ROM com micro- programa Endereço da microinstrução

Arquitectura de Computadores – Introdução à arquitectura do hardware49José Delgado © 2009 Controlo e circuito controlado Deslocar o registo X de N bits

Arquitectura de Computadores – Introdução à arquitectura do hardware50José Delgado © 2009 Micro- programa

Arquitectura de Computadores – Introdução à arquitectura do hardware51José Delgado © 2009 Descodificação da instrução Entradas da unidade de controlo Registo de endereço de controlo Gerador do próximo endereço Próximo endereço Saídas para unidade de controlo Saídas para unidade de processamento de dados relógio Bits de estado (flags) microinstrução ROM com micro- programa Endereço da microinstrução ROM de mapeamento opcode Registo de instrução

Arquitectura de Computadores – Introdução à arquitectura do hardware52José Delgado © 2009 Unidade de controlo

Arquitectura de Computadores – Introdução à arquitectura do hardware53José Delgado © 2009 Microprogramação