unidade central de...

159
1 Arquitetura e Organização de Computadores Unidade Central de Processamento Prof. Otávio Gomes [email protected] Prof. Mário Luiz Rodrigues [email protected]

Upload: vuongcong

Post on 17-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

1Arquitetura e Organização de Computadores

Unidade Central de Processamento

Prof. Otávio [email protected]

Prof. Mário Luiz [email protected]

Page 2: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

2Arquitetura e Organização de Computadores

Unidade Central de Processamento

Unidade Central de ProcessamentoUnidade Lógica e AritméticaMicro-ArquiteturasOrganização em Parte Operativa e de ControleControle MicroprogramadoControle FSM (Máquina de Estados Finitos)

Page 3: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

3Arquitetura e Organização de Computadores

Page 4: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

4Arquitetura e Organização de Computadores

A unidade central de processamento do computador busca, decodifica e executa as instruções dos programas.

As duas partes principais da CPU são o caminho dos dados (datapath) e a unidade de controle.

– O datapath consiste em uma unidade lógica-aritmética e unidade de armazenamento (registradores) que estão interconectados ao barramento de dados, que está conectado à memória principal.

– Os componentes da CPU realizam operações sequenciais de acordo com os sinais fornecidos pela unidade de controle.

Unidade Centralde Processamento

Page 5: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

5Arquitetura e Organização de Computadores

Registrados mantém os dados guardados e podem ser prontamente acessados pela CPU.

Eles podem ser implementados utilizando flip-flops do tipo D.– Um registrador 32-bit requer 32 flip-flops D.

A unidade lógica-aritmética (ALU) é reponsável pelas operações lógicas e aritméticas requisitados pela unidade de controle.

A unidade de controle determina que ações devem ser executadas de acordo com os valores dos registros contador de programas (Program Counter) e de status (flags).

Unidade Centralde Processamento

Page 6: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

6Arquitetura e Organização de Computadores

Unidade Centralde Processamento

Page 7: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

7Arquitetura e Organização de Computadores

• A CPU compartilha dados com componentes de outros sistemas através do barramento de dados.– Um barramento é um conjunto de linhas que

transfere/suporta um bit por linha.• Dois tipos de barramentos são encontrados com frequência:

point-to-point e multipoint.

O Barramento (Bus)

Page 8: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

8Arquitetura e Organização de Computadores

Barramentos são linhas de dados, linhas de controle e linhas de endereços.Enquanto as linhas de dados trasnferem bits de um dispositivo para outro, as linhas de controle determinam o fluxo dos dados e quando o dispositivo poderá acessar o barramento.Linhas de endereço determinam a localização da fonte de dados ou o destino do dado.Há diferentes tipos de conexão para diferentes dispositivos/unidades:

– Memória– I/O (Entrada/Saída)– CPU

O Barramento (Bus)

Page 9: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

9Arquitetura e Organização de Computadores

Módulos do Computador

Page 10: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

10Arquitetura e Organização de Computadores

Recebe e envia dados

Recebe endereços ( de localizações)

Recebe sinais de controle– Read– Write– Timing

Memória

Page 11: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

11Arquitetura e Organização de Computadores

Similar à memória do ponto de vista dos computadores

Saída (Output)– Recebe dados do computador– Envia dados aos periféricos

Entrada (Input)– Recebe dados dos periféricos– Envia dados ao computadores

Entrada/Saída (I/O)

Page 12: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

12Arquitetura e Organização de Computadores

Recebe sinais de controle do computador

Envia sinais de controle aos periféricos

Recebe endereços do computador– Número da porta para identificar periférico

Envia sinais de interrupção (controle)

Entrada/Saída (I/O)

Page 13: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

13Arquitetura e Organização de Computadores

Leitura de Instruções e Dados

Escrita de Dados (Após processamento)

Envio de sinais de controle para outras unidades/dispositivos

Recebe (e atua) nas interrupções

Conexões da CPU

Page 14: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

14Arquitetura e Organização de Computadores

Um caminho de comunicação entre dois ou mais dispositivos

Usualmente utiliza broadcast

Frequentemente agrupado– O número de canais em um barramento– Um barramento de 32 bits é um conjunto de 32

canais simples de um bit cada

Linhas de energia podem não ser exibidas, mas são essenciais.

O que é um barramento?

Page 15: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

15Arquitetura e Organização de Computadores

Transferência de dados– Lembre-se que não há diferença entre “data” e

“instruction” neste nível

O comprimento da palavra é a chave que determina a performance

– 8, 16, 32, 64 bit

BarramentoDe Dados

Page 16: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

16Arquitetura e Organização de Computadores

É necessário identificar a fonte e o destino dos dados

O barramento determina a capacidade máxima de memória de sistema.

– Por exemplo, o microprocessador 8080 tem 16 bit, sendo assim, o barramento de endereçamentos fornece 64k de espaço de endereçamento

BarramentoDe Endereços

Page 17: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

17Arquitetura e Organização de Computadores

Controle e informações de tempo– Sinal de Leitura/Escrita na memória– Requisição de Interrupção– Sinais de Clock

BarramentoDe Controle

Page 18: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

18Arquitetura e Organização de Computadores

BarramentoDe Controle

Page 19: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

19Arquitetura e Organização de Computadores

Esquema de Interconexãodos Barramentos

Page 20: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

20Arquitetura e Organização de Computadores

Muitos dispositivos em um único barramento podem levar a propagação de atraso.

Muitos sistemas utilizam múltiplos barramentos para evitar este problema.

Problemas deBarramentos Simples

Page 21: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

21Arquitetura e Organização de Computadores

ISA (Industrial Standard Architecture)– Primeiro sistema aberto de arquitetura de barramento

para PCs– 8 bit

• 4.77 MHz, 20 address lines (1M address space)

– 16 bit (introduced with the 286)• 8.33 MHz, 24 address lines (16M address space)

EISA (Extended ISA)– Introduced in 88-89– 16/32 bit data lines, 24/32 bit address, 8.33MHz– Backward compatible with ISA, roughly twice the space of

ISA

ISA

Page 22: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

22Arquitetura e Organização de Computadores

ISA

Page 23: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

23Arquitetura e Organização de Computadores

Barramentos de AltaPerformance

Page 24: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

24Arquitetura e Organização de Computadores

Dedicado– Linhas de endereço e de dados separadas

Multiplexado– Linhas compartilhadas– Linha de controle de validação de endereço ou

dado– Vantagem: menos linhas– Desvantagens

• Controle muito mais complexo• Controle de performance

Tipos deBarramentos

Page 25: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

25Arquitetura e Organização de Computadores

Mais de um módulo controlando o barramento, por exemplo, controladores CPU e DMA.

Somente um módulo pode controlar o barramento por vez. O controle pode ser centralizado ou distribuído.

Controle de Barramento(Bus Arbitration)

Page 26: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

26Arquitetura e Organização de Computadores

Centralizado– Um único dispositivo hardware controla o

acesso ao barramento• Controle do Barramento• Árbitro

– Pode ser parte da CPU ou estr separado

Distribuído– Cada módulo pode solicitar o controle do

barramento– Lógica de controle em todos os módulos

Controle de Barramento(Bus Arbitration)

Page 27: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

27Arquitetura e Organização de Computadores

Coordenação de eventos no barramento

Síncrono (Synchronous)– Eventos são determinados pelos sinais de clock– Controle do barramento inclui uma linha de clock– Uma simples transição 1-0 é um ciclo de

barramento– Todos os dispositivos devem ler a linha de clock

Timing

Page 28: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

28Arquitetura e Organização de Computadores

Timing

Page 29: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

29Arquitetura e Organização de Computadores

Peripheral Component Interconnection

Intel released to public domain

33/100/133/266/333+ MHz clock, independent of processor

32 or 64 bit data and address lines (128 bit soon)– 50 lines– Supports up to 16 slots and ISA slots

• Normally, 2 ISA slot, 1 of which is a “shared” slot with PCI

– PCI Express x16 adapters and PCI Express x1 adapters

Barramento PCI

Page 30: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

30Arquitetura e Organização de Computadores

PCI 32 bit slot

AGP slot

PCI Express x16 slot

PCI Express x1 slot

Slots PCI

Page 31: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

31Arquitetura e Organização de Computadores

Systems lines– Including clock and reset

Address & Data– 32 time mux lines for address/data– Interrupt & validate lines

Interface Control

Arbitration– Not shared– Direct connection to PCI bus arbiter

Error lines

Linhas de BarramentoPCI (necessárias)

Page 32: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

32Arquitetura e Organização de Computadores

Interrupt lines– Not shared

Cache support

64-bit Bus Extension– Additional 32 lines– Time multiplexed– 2 lines to enable devices to agree to use 64-bit

transfer

Linhas de BarramentoPCI (opcionais)

Page 33: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

33Arquitetura e Organização de Computadores

Transaction between initiator (master) and target

Master claims bus

Determine type of transaction– e.g. I/O read/write

Address phase

One or more data phases

Comandos PCI

Page 34: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

34Arquitetura e Organização de Computadores

Todo computador contém pelo menos um clock que sincroniza as atividades de seus dispositivos.

Um número fixo de clocks é necessário para a tranferência dos dados e para as operações computacionais.

A frequência do clock, medida em megahertz or gigahertz, determina a velocidade em que estas operações serão executadas.

O tempo do ciclo de clock está ligado à frequência de clock.

– Um clock de 800 MHz clock tem um tempo de ciclo de 1.25 ns.

Clocks

Page 35: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

35Arquitetura e Organização de Computadores

• Velocidade de clock não pode ser confundido com performance da CPU.

• O tempo necessário para que a CPU execute um programa é dado pela equação:

– Nós podemos aumentar o throughput da CPU quando reduzimos o número de instruções em um programa, reduzimos o número de ciclos por instrução, ou reduzimos o número de nanosegundos por ciclo de clock.

Clocks

Page 36: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

36Arquitetura e Organização de Computadores

O computador se comunica com o mundo através do subsistema de entrada/saída (I/O).

Os dispositivos de I/O são conectados à CPU através de várias interfaces.

Os dispositivos de I/O podem ser mapeados em memória (memory-mapped), onde o dispositivo se comporta como a memória principal, do ponto de vista da CPU.

Ou o dispositivo de I/O pode ser controlado por instruções (instruction-based), onde a CPU tem instruções específicas para o controle de I/O.

I/O Subsystem

Page 37: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

37Arquitetura e Organização de Computadores

• Como o computador acessa uma localização de memória correspondente a um endereço específico?

• Podemos observar que 4M pode ser expresso como

2 2 × 2 20 = 2 22 words.• As localizações de memória para este espaço de

endereçamento vão de 0 até 2 22 -1.• Neste caso, o barramento de memória deste

sistema necessita de, pelo menos, 22 linhas de endereço.

Organização da Memória

Page 38: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

38Arquitetura e Organização de Computadores

A memória física geralmente consiste em mais do que um chip de RAM.

O acesso à memória é mais eficiente quando ela está organizada em bancos de chips, com intervalos de acesso entre eles.

Uma parte do endereço fará a designação do banco de memória e outra parte apontará o endereço específico dentro daquele banco.

Organização da Memória

Page 39: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

39Arquitetura e Organização de Computadores

Organizaçãoda Memória

Page 40: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

40Arquitetura e Organização de Computadores

Organizaçãoda Memória

Page 41: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

41Arquitetura e Organização de Computadores

Componentes do ComputadorTop Level

Page 42: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

42Arquitetura e Organização de Computadores

Ciclo de Intruçãocom Interrupções

DECODE

Page 43: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

43Arquitetura e Organização de Computadores

Fluxo de DadosDiagrama de Busca

Page 44: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

44Arquitetura e Organização de Computadores

Diagrama de EstadosCiclos de Instrução

Page 45: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

45Arquitetura e Organização de Computadores

Pode ter diversas formas

Depende da instrução que está sendo executada

Pode incluir– Memory read/write– Input/Output– Register transfers– ALU operations

Fluxo de DadosExecução

Page 46: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

46Arquitetura e Organização de Computadores

Controle de TransferênciaInterrupções

Page 47: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

47Arquitetura e Organização de Computadores

Múltiplas InterrupçõesSequenciais

Page 48: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

48Arquitetura e Organização de Computadores

Múltiplas InterrupçõesAninhadas (Nested)

Page 49: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

49Arquitetura e Organização de Computadores

Fluxo de ControlePrograma

Page 50: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

50Arquitetura e Organização de Computadores

• A CPU é projetada e fabricada com o propósito único de

executar sucessivamente pequenas operações matemáticas

(ou outras manipulações simples com dados), na ordem e na

sequência definidas pela organização do programa.

• As atividades realizadas pela CPU podem ser divididas em

duas grandes categorias funcionais:

– Função processamento;

– Função controle.

Funções da CPU

Page 51: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

51Arquitetura e Organização de Computadores

• A função processamento se encarrega de realizar as

atividades relacionadas com a efetiva execução de uma

operação, ou seja, processar.

• Processar o dado é executar com ele uma ação que

produza algum tipo de resultado.

Função deProcessamento

Page 52: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

52Arquitetura e Organização de Computadores

• Tarefas comuns a esta função são as que realizam:

– Operações aritméticas (somar, subtrair, multiplicar, dividir);

– Operações lógicas (and, or, xor, etc);

– Movimentação de dados (memória - CPU, CPU - memória,

registrador - registrador etc);

– Desvios (alteração de sequência de execução de instruções);

– Operações de entrada ou saída.

Função deProcessamento

Page 53: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

53Arquitetura e Organização de Computadores

• Fazem parte dessa área funcional os seguintes

dispositivos:

– Unidade Aritmética e Lógica (ALU);

– Acumulador (ACC);

– Registradores.

Page 54: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

54Arquitetura e Organização de Computadores

M P

ULA ACCReg

Barramentode endereços

Barramentode dados

Page 55: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

55Arquitetura e Organização de Computadores

Em 1980, David Patterson e Carlo Séquin começaram a projetar chips para CPU e cunharam o termo RISC para os chips que produziram.

Em 1984, Hennessy projetou e fabricou o MIPS. A partir daí começou a diferenciação e a guerra entre os defensores do CISC e RISC.

RISC x CISC

Page 56: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

56Arquitetura e Organização de Computadores

CISC (Complex Instruction Set Computer)– Se caracteriza por possuir um conjunto de instruções

bastante complexo.– Possui uma quantidade muito maior de instruções.– Possui uma quantidade menor de registradores.

RISC (Reduced Instruction Set Computer)– Se caracteriza por possuir um conjunto de instruções

bastante simples.– Possui uma quantidade pequena de instruções.– Possui muitos registradores.

RISC x CISC

Page 57: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

57Arquitetura e Organização de Computadores

Elementos funcionais de um processador:– Elementos que operam nos valores de dados

• São os elementos combinacionais.• Suas saídas dependem apenas da entrada atual.• Dada a mesma entrada, estes elementos sempre

produzem uma mesma saída.• Não possuem memória.

– Elementos que contêm estados• São os elementos seqüenciais• Possuem um armazenamento interno• Possuem, no mínimo, duas entradas e uma saída.

– Valores de entrada: clock e o dado a ser escrito.– Valor de saída: dado a ser lido.

• Clock informa quando se deve escrever. Porém, a leitura pode ser feita a qualquer momento.

Convenções Lógicasde Projetos

Page 58: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

58Arquitetura e Organização de Computadores

Define quando os sinais podem ser lidos e quando podem ser escritos.

– Importante para estabelecer a sincronização destas operações.

• Sem uma metodologia de clocking, ou seja, sem a sincronização das leituras/escritas não teríamos garantia que o sinal lido corresponde ao valor antigo, ao valor recém-escrito ou ainda a uma mistura de ambos.

Metodologia deClocking

Page 59: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

59Arquitetura e Organização de Computadores

Sincronização acionada por transição– Quaisquer valores armazenados em um

elemento seqüencial são atualizados apenas em uma transição de clock (transição de subida ou descida).

Metodologia deClocking

Page 60: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

60Arquitetura e Organização de Computadores

Qualquer ULA é um aglomerado de circuitos lógicos e

componentes eletrônicos simples que, integrados,

realizam as operações já mencionadas.

Essas operações são sempre realizadas sobre duas

palavras da máquina.

Em geral, esse circuito que trabalha com palavras de n

bits é construído a partir de n circuitos idênticos, cada

qual responsável por uma posição individual de bits.

ULA

Page 61: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

61Arquitetura e Organização de Computadores

Para que um dado possa ser transferido para a ULA, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em um registrador.

O resultado de uma operação aritmética ou lógica realizada na ULA é armazenado temporariamente, para que possa ser reutilizado (por outra instrução) ou apenas para ser transferido para a memória.

Para atender a estes propósitos, a CPU é fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados.

O número de registradores e suas funções varia de processador para processador e é um dos maiores problemas no projeto de uma CPU.

Registradores

Page 62: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

62Arquitetura e Organização de Computadores

Há sistemas nos quais um desses registradores, denominado acumulador (abrevia-se, em inglês, ACC), além de armazenar dados, serve de elemento de ligação da ALU com os outros dispositivos da CPU.

Os registradores da CPU são divididos em 2 tipos:

Registradores visíveis para o usuário

– Permite ao usuário minimizar referências à memória através do uso

deles.

Registradores de controle e de estado

– Utilizados pela UC para controlar operações da CPU e programas

privilegiados do sistema operacional para controlar a execução de

programas.

Registradores

Page 63: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

63Arquitetura e Organização de Computadores

Registradores visíveis para o usuárioRegistradores visíveis para o usuário

a. Registradores de propósito geral

b. Registradores de dados

c. Registradores de endereço (segmento, apontador de

pilha e de índice)

d. Registradores de código de condição (flags)

Registradores

Page 64: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

64Arquitetura e Organização de Computadores

Registradores de Controle e de EstadoRegistradores de Controle e de Estado

a. Contador de Programa– Contém o endereço da instrução a ser buscada.

b. Registrador de Instrução– Contém a última instrução a ser buscada.

c. Registradores de endereçamento à memória– Contém o endereço de uma posição da memória.

d. Registradores de armazenamento temporário de dados.– Contém uma palavra de dados a ser escrita na memória ou a palavra lida

mais recentemente.

Registradores

Page 65: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

65Arquitetura e Organização de Computadores

Atividades:

• Busca da instrução a ser executada, armazenando-a em um registrador especialmente projetado para esta finalidade;

• Interpretação das ações a serem desencadeadas com a execução da instrução (se é soma, subtração, etc e como realizá-la);

• Geração de sinais de controle apropriados para ativação das atividades requeridas para a execução propriamente dita da instrução identificada. Estes sinais são enviados tanto para componentes internos (ULA, por ex.) quanto externos (MEM, E/S).

Função de Controle

Page 66: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

66Arquitetura e Organização de Computadores

• Em resumo, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer, no momento adequado.

• Os dispositivos básicos que devem fazer parte dessa área funcional são:

– Unidade de controle (UC);– Decodificador;– Registrador de instrução (RI) ou IR - "instruction register";– Contador de instrução (CI) ou PC "program counter";– Relógio ou "clock";– Registradores de endereço de memória (REM) e de dados da

memória (RDM).

Função de Controle

Page 67: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

67Arquitetura e Organização de Computadores

M P

ULA

RDM

REMCIACCReg

Barramentode endereços

Barramentode dadosCPU

U CDecodificadorde instruções

RIClock

Barramentode controle

Page 68: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

68Arquitetura e Organização de Computadores

Page 69: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

69Arquitetura e Organização de Computadores

Uma implementação do MIPS simplificada, contendo somente:– Instruções de referência à memória: lw, sw – Instruções aritméticas e lógicas: add, sub, and, or, slt– Instruções de fluxo de controle: beq, j

• Implementação genérica:

– usar o contador de programa (PC) para fornecer o endereço da instrução

– Ler a instrução da memória– ler registradores– Usar a instrução para decidir exatamente o que fazer

• Todas as instruções usam a ALU após a leitura dos registradores

Por que? Referência a memória?Aritmética? Fluxo de controle?

Fluxo de Dadose Controle

Page 70: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

70Arquitetura e Organização de Computadores

Resumo / Vista Simplificada:

Dois tipos de unidades funcionais:– Elementos que operam sobre dados (combinacional)– Elementos que contêm estado (sequencial)

Registers

Register #

Data

Register #

Datamemory

Address

Data

Register #

PC Instruction ALU

Instructionmemory

Address

Fluxo de Dadose Controle

Page 71: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

71Arquitetura e Organização de Computadores

Sem clock vs. com clock

Clocks são usados em lógica síncrona – como um elemento que contem estado pode ser atualizado?

Tempo de ciclo

Borda de subida

Borda de descida

Fluxo de Dadose Controle

Page 72: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

72Arquitetura e Organização de Computadores

Inclui as unidades funcionais que necessitamos para as instruções

PC

Instructionmemory

Instructionaddress

Instruction

a. Instruction memory b. Program counter

Add Sum

c. Adder

ALU control

RegWrite

RegistersWriteregister

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Writedata

ALUresult

ALU

Data

Data

Registernumbers

a. Registers b. ALU

Zero5

5

5 3

16 32Sign

extend

b. Sign-extension unit

MemRead

MemWrite

Datamemory

Writedata

Readdata

a. Data memory unit

Address

Fluxo de Dadose Controle

Page 73: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

73Arquitetura e Organização de Computadores

Operando A

Operando B

resultado

Flag de resultado zero

Fluxo de Dadose Controle

Page 74: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

74Arquitetura e Organização de Computadores

Seta31

0

Result0a0

Result1a1

0

Result2a2

0

Operation

b31

b0

b1

b2

Result31

Overflow

Bnegate

Zero

ALU0Less

CarryIn

CarryOut

ALU1Less

CarryIn

CarryOut

ALU2Less

CarryIn

CarryOut

ALU31Less

CarryIn

32

32

32

Seleção

result

a

b

ALU

Linhas de controle:

000 = and001 = or010 = add

110 = subtract111 = slt

Fluxo de Dadose Controle

Page 75: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

75Arquitetura e Organização de Computadores

endereçode 32 bitspelo PC

instrução de 32 bits

Fluxo de Dadose Controle

Page 76: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

76Arquitetura e Organização de Computadores

Para leitura: deve fornecero endereço (Address) e acionar ocontrole de leitura (MemRead=1)

Para escrita deve fornecer o endereço (Address), o dadoa ser escrito no (Writedata) eacionar o controle de escrita

(MemWrite=1)

Fluxo de Dadose Controle

Page 77: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

77Arquitetura e Organização de Computadores

endereço da próxima

de instrução

endereço da instrução corrente

Quando é sequencial, é o endereço da instrução corrente adicionado de 4 (memória de instruções constituída de bytes)

Fluxo de Dadose Controle

Page 78: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

78Arquitetura e Organização de Computadores

Usar os multiplexadores para juntar os elementos

PC

Instructionmemory

Readaddress

Instruction

16 32

Add ALUresult

Mux

Registers

Writeregister

Writedata

Readdata 1

Readdata 2

Readregister 1Readregister 2

Shiftleft 2

4

Mux

ALU operation3

RegWrite

MemRead

MemWrite

PCSrc

ALUSrc

MemtoReg

ALUresult

ZeroALU

Datamemory

Address

Writedata

Readdata M

ux

Signextend

Add

Fluxo de Dadose Controle

Page 79: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

79Arquitetura e Organização de Computadores

Selecionar as operações para executar (ALU, leitura/escrita, etc.)

Controlar o fluxo de dados (entradas para o multiplexador)

A informação vem de 32 bits da instrução

Exemplo:

add $8, $17, $18 Formato de Instrução:

000000 10001 10010 01000 00000 100000

op rs rt rd shamt funct

Operação da ALU baseada no tipo de instrução e código da função

Fluxo de Dadose Controle

Page 80: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

80Arquitetura e Organização de Computadores

Fluxo de Dadose Controle

J-type (jump) and I-type (immediate) instructions are fully specified by op. R-type (register) instructions include an additional field funct to determine the exact operation. The fields used in these types are:

6 5 5 5 5 6 bits[ op | rs | rt | rd |shamt| funct] R-type[ op | rs | rt | address/immediate] I-type[ op | target address ] J-type

rs, rt, rd: register operands;Shamt: shift amount;Address/immediate: operand directly.

For example adding the registers 1 and 2 and placing the result in register 6 is encoded:[ op | rs | rt | rd |shamt| funct] 0 1 2 6 0 32 decimal 000000 00001 00010 00110 00000 100000 binary

Page 81: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

81Arquitetura e Organização de Computadores

– Dado o tipo de instrução 00 = lw, sw01 = beq, 10 = aritmética

– Código de função para aritmética

Descrição de uma tabela verdade (que pode ser convertido em portas):

ALUOp Computado do tipo de instrução

ALUOp Funct field OperationALUOp1 ALUOp0 F5 F4 F3 F2 F1 F0

0 0 X X X X X X 0100 1 X X X X X X 1101 0 X X 0 0 0 0 0101 0 X X 0 0 1 0 1101 0 X X 0 1 0 0 0001 0 X X 0 1 0 1 0011 0 X X 1 0 1 0 111

Controle

Page 82: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

82Arquitetura e Organização de Computadores

Lógica combinacional simples (tabela verdade)

Operation2

Operation1

Operation0

Operation

ALUOp1

F3

F2

F1

F0

F (5– 0)

ALUOp0

ALUOp

ALU control block

R-format Iw sw beq

Op0

Op1

Op2

Op3

Op4

Op5

Inputs

Outputs

RegDst

ALUSrc

MemtoReg

RegWrite

MemRead

MemWrite

Branch

ALUOp1

ALUOpO

Controle

Page 83: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

83Arquitetura e Organização de Computadores

Calcular o tempo de ciclo assumindo atrasos desprezíveis exceto:– Memória (2ns), ALU e somadores (2ns), acesso aos registradores (1ns)

MemtoReg

MemRead

MemWrite

ALUOp

ALUSrc

RegDst

PC

Instructionmemory

Readaddress

Instruction[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

RegWrite

4

16 32Instruction [15– 0]

0Registers

WriteregisterWritedata

Writedata

Readdata 1

Readdata 2

Readregister 1Readregister 2

Signextend

ALUresult

Zero

Datamemory

Address Readdata M

ux

1

0

Mux

1

0

Mux

1

0

Mux

1

Instruction [15– 11]

ALUcontrol

Shiftleft 2

PCSrc

ALU

Add ALUresult

Implementaçãode um ciclo

Page 84: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

84Arquitetura e Organização de Computadores

Uma implementação do MIPS simplificada, contendo somente:– Instruções de referência à memória: lw, sw– Instruções aritméticas e lógicas: add, sub, and, or, slt– Instruções de fluxo de controle: beq, j

• Implementação genérica:

– Usar o contador de programa (PC) para fornecer o endereço da instrução

– Permitir a leitura da instrução da memória e dos registradores– Definir número e tamanho dos registradores– Criar instruções que se façam necessárias– Usar a instrução para decidir exatamente o que fazer

Implementação eFuncionamento

Page 85: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

85Arquitetura e Organização de Computadores

Micro-Arquiteturas

Page 86: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

86Arquitetura e Organização de Computadores

Uma Microarquitetura é dividida em uma Parte Operativa e uma Parte de Controle

• Parte Operativa (ou Caminho de Dados)– Constituída de todos os componentes responsáveis pela execução das operações elementares sobre os dados (transformações nos dados)

• Parte de Controle– Constituída de circuitos sequenciais e/ou memória de programa que gera o controle ciclo-a-ciclo da parte operativa

Micro-Arquiteturas

Page 87: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

87Arquitetura e Organização de Computadores

Physics

Devices

Analog

Circuits

Digital

Circuits

Logic

Micro-

architecture

Architecture

Operating

Systems

Application

Software

electrons

transistors

diodes

amplifiers

filters

AND gates

NOT gates

adders

memories

datapaths

controllers

instructions

registers

device drivers

programs

Micro-Arquiteturas

Page 88: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

88Arquitetura e Organização de Computadores

Micro-Arquitetura

Page 89: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

89Arquitetura e Organização de Computadores

Parte Operativa

• Uma microarquitetura executa instruções que são armazenadas na memória

• Recupera e armazena dados em memória

LEITURA E ESCRITA NA MEMÓRIA

• Necessita de registradores de endereço e dados

• Necessidade de barramentos de endereços e dados

Micro-Arquitetura

Page 90: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

90Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 91: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

91Arquitetura e Organização de Computadores

Parte Operativa

Instruções de um programas são executados segundo uma ordem precisa• Uma microarquitetura necessita saber, sempre, qual a próxima instrução a ser executada

APONTADOR DE PROGRAMA• Necessidade de um registrador apontador de programa (PC)• Necessidade de realização de operações sobre o conteúdo do PC, para atualização a cada instrução

Micro-Arquitetura

Page 92: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

92Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 93: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

93Arquitetura e Organização de Computadores

Parte Operativa

A Instrução lida da memória é armazenada para decodificação e uso futuro.

REGISTRADOR DE INSTRUÇÕES

• Necessidade armazenamento dos dados vindos da memória• Necessidade de um registrador de instrução

Micro-Arquitetura

Page 94: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

94Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 95: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

95Arquitetura e Organização de Computadores

Parte Operativa

O processo de escrita de dados na memória também utiliza os registradores e barramentos de dados e endereços

CAMINHO PARA A SAÍDA DE DADOS

• Necessidade de recursos específicos para saída de dados.

Micro-Arquitetura

Page 96: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

96Arquitetura e Organização de Computadores

Parte OperativaSaída de dados

Micro-Arquitetura

Page 97: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

97Arquitetura e Organização de Computadores

Parte Operativa

Para realização de instruções aritméticas a existência de registrado internos aceleram a busca de dados

REGISTRADORES DE USO GERAL

• Necessidade de uma banco de registradores de propósito geral• Necessidade de uma ULA com um conjunto de operadores adequados

Micro-Arquitetura

Page 98: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

98Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 99: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

99Arquitetura e Organização de Computadores

Parte Operativa

Instruções podem usar um, dois ou três endereços

– A = NOT A– A = A + B– A = B + C

• O uso de mais endereços requer mais bits no formato da instrução

REGISTRADOR ACUMULADOR

• Necessidade do uso de um registrador Acumulador (AC)

Micro-Arquitetura

Page 100: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

100Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 101: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

101Arquitetura e Organização de Computadores

Parte Operativa

A Capacidade de empilhar e desempilhar dados em uma região reservada da memória é um recurso importante em muitas arquitetura

APONTADOR DE PILHA

• Necessidade de um registrador apontador de pilha (PS)

Micro-Arquitetura

Page 102: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

102Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 103: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

103Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 104: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

104Arquitetura e Organização de Computadores

Parte Operativa

Muitas unidades da parte operativa de um processador necessitam de controle explicito

• Estes controles são gerados pela Parte de controle e enviados Ciclo-a-Ciclo à Parte de Controle

SINAIS DE CONTROLE

Micro-Arquitetura

Page 105: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

105Arquitetura e Organização de Computadores

Parte Operativa

Micro-Arquitetura

Page 106: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

106Arquitetura e Organização de Computadores

O projeto do nível de microarquitetura depende:– da arquitetura do conjunto das instruções a serem

implementadas– dos objetivos de custo e performance do computador que

estiver sendo projetadoA maioria das ISAs modernas, em particular os projetos RISC, tem instruções simples que podem ser executadas em um único ciclo de clockAs 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.

Micro-ArquiteturaControle

Page 107: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

107Arquitetura e Organização de Computadores

Temporização do caminho de dados

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.

Micro-ArquiteturaControle

Page 108: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

108Arquitetura e Organização de Computadores

Temporização do caminho de 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

Micro-ArquiteturaControle

Page 109: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

109Arquitetura e Organização de Computadores

Temporização do caminho de dados

É de responsabilidade dos engenheiros de projeto assegurar que essa transição positiva ocorra somente após passado o tempo dw+dx+dy+dz. Caso contrário a carga dos registradores não é realizada

Micro-ArquiteturaControle

Page 110: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

110Arquitetura e Organização de Computadores

Microinstruções

Para controlar um caminho de dados, 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 nossa arquitetura em 6 grupos, e 36 sinais, assim divididos:

Micro-ArquiteturaControle

Page 111: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

111Arquitetura e Organização de Computadores

Microinstruções

Micro-ArquiteturaControle

Page 112: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

112Arquitetura e Organização de Computadores

Microinstruções

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.

Micro-ArquiteturaControle

Page 113: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

113Arquitetura e Organização de Computadores

Controle Microprogramado: o 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 sequenciador:

é responsável pela execução de todos os passos necessários a execução de 1 única instrução do nível ISA.

produz dois tipos de informações a cada ciclo:– 1. O estado de cada sinal de controle do sistema– 2. O endereço da microinstrução que será executada em seguida

Micro-ArquiteturaControle

Page 114: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

114Arquitetura e Organização de Computadores

A figura mostra o diagrama de blocos detalhado da microarquitetura Mic.

O diagrama de blocos tem 2 partes: O caminho de dados, à esquerda e a seção de controle, à direita.

Micro-ArquiteturaControle

Page 115: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

115Arquitetura e Organização de Computadores

A memória de controle:

É o ítem 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 sequencialmente, como as instruções da memória principal. Cada microinstrução especifica explicitamente sua sucessora.

Micro-ArquiteturaControle

Page 116: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

116Arquitetura e Organização de Computadores

A memória de controle:

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.

Micro-ArquiteturaControle

Page 117: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

117Arquitetura e Organização de Computadores

Micro-ArquiteturaControle

Page 118: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

118Arquitetura e Organização de Computadores

ALUSrcA

PCSrc

Branch

ALUSrcB1:0

Opcode5:0

ControlUnit

ALUControl2:0Funct5:0

MainController

(FSM)

ALUOp1:0

ALUDecoder

RegWrite

PCWrite

IorD

MemWrite

IRWrite

RegDst

MemtoReg

RegisterEnables

MultiplexerSelects

MIPS MulticicloUnidade de Controle

Page 119: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

119Arquitetura e Organização de Computadores

Tc = tpcq_PC + tmux + max(tALU + tmux, tmem) + tsetup

SignImm

CLK

ARD

Instr / DataMemory

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1 0

1

PC 0

1

PC' Instr25:21

20:16

15:0

5:0

SrcB20:16

15:11

<<2

ALUResult

SrcA

ALUOut

31:26

RegD

st

Branch

MemWrite

Mem

toReg

ALUSrcA

RegWriteOp

Funct

ControlUnit

Zero

PCSrc

CLK

CLK

ALUControl2:0

ALU

WD

WE

CLK

Adr

0

1Data

CLK

CLK

A

B00

01

10

11

4

CLK

ENEN

ALUSrcB1:0IRWrite

IorD

PCWritePCEn

MIPS MulticicloCaminho crítico

Page 120: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

120Arquitetura e Organização de Computadores

Controle Microprogramadovs.

FSM (Máquina de Estados Finitos)

Page 121: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

121Arquitetura e Organização de Computadores

Controle Microprogramado

A unidade de controle micro-programada é hoje em dia uma miniatura de computador que pode ser programada com seqüência de bits.

A unidade de controle micro-programada é utilizada para se desenvolver a implementação de complexas instruções que não podem ser implementadas e forma de hardware.

O inventor da micro-programação foi Maurice Wilkes em 1953, na Inglaterra. Sua idéia era de criar uma unidade de controle mais fácil de se projetar e mais flexível. A utilização da unidade de controle micro-programada tem algumas vantagens:

• Um computador base, que use a micro-programação pode emular outro computador.

• Uma instrução pode ser desenvolvida e ser utilizada em diferentes modelos de hardware

A IBM reconheceu a importância da unidade de controle micro-programada e implementou no computador IBM 360 em abril de 1964. Todos os modelos desta família de conputadores contavam com uma memória de controle rápida e barata, a qual estava microprogramada. Isto se tornou um grande sucesso a família IBM e desde então a microprogramação ficou popular em todo o mundo.

Page 122: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

122Arquitetura e Organização de Computadores

MicroarquiteturaEstrutura logica e capacidades funcionais de hardware tal como é visto por um microprogramador.

MicroprogramaçãoÉ uma estratefia para implementar a unidade de controle de um processador que consiste em programar ao nivel das operacoes de transferencia de registros.

Unidade de Controle microprogramadaÉ um circuito lógico que permite realizar a execução em seqüência de um conjunto de instruções muito elementares chamadas de microinstruções.a Unidade de Controle é formada por- Memória de Controle (contem as microinstruções)- Seqüenciador - É o encarregado de manter a ordem correta da execução das microinstruções. Informa o local da próxima microinstrução a ser executada e guarda no contador de microprograma.- Contador de microprograma: É o registro que armazena a localização da próxima instrução a ser executada. Este loca se decodificara em DEC e selecionara uma posição da memória de controleT, HOLD, etc.)

Controle Microprogramado

Page 123: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

123Arquitetura e Organização de Computadores

Micro-instrução: É uma palavra da ROM que contém micro-operações de controle.

Micro-operação: É o sinal digital que atua no controle.

Memória de Controle: Memória ROM que armazena o microprograma

Microprograma: É o conjunto de microinstruções que executa o controle

Microrotina: É o conjunto de microinstruções que executa uma função específica no microprograma.

Sequenciador: É um circuito responsável por informar a localização da próxima microinstrução que será executada a partir da microinstrução atual, o indicador de condição e o código da operação do registro de instruções.

Ele é encarregado de direcionar a memória do microprograma baseando-se no contador de microprograma. O Contador de microprograma é um registro que se incrementa com um relógio interno, mas que depende dos registros de estado e instrução e de alguns bits do registro da micro palavra. Em algumas situações determinadas toma valores preestabelecidos (RESET, INTERRUPT, HOLD, etc.)

Controle Microprogramado

Page 124: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

124Arquitetura e Organização de Computadores

Controle Microprogramado

Page 125: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

125Arquitetura e Organização de Computadores

Controle Microprogramado

Page 126: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

126Arquitetura e Organização de Computadores

PCWritePCWriteCondIorD

MemtoRegPCSourceALUOpALUSrcBALUSrcARegWrite

AddrCtl

Outputs

Microcode memory

IRWrite

MemReadMemWrite

RegDst

Control unit

Input

Microprogram counter

Address select logic

Op[

5–

0]

Adder

1

Datapath

Instruction registeropcode field

BWrite

Microprogramação

Page 127: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

127Arquitetura e Organização de Computadores

Máquinas de estado finito:– Um conjunto de estados e – Função próximo estado (determinado pelo estado atual e entrada)– Função de saída (determinada pelo estado atual e possivelmente

entrada)

– Usaremos uma máquina Moore (saída baseada somente no estado atual)

Next-statefunction

Current state

Clock

Outputfunction

Nextstate

Outputs

Inputs

Máquinas de EstadoFinito (FSM)

Page 128: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

128Arquitetura e Organização de Computadores

Máquinas de Estado Finito (FSM)Elementos de um digrama de estados:• Estados• Transições de estado

EstadoRepresenta uma situação estável (ou seja, uma combinação de entradas e saídas) em que o sistema se pode encontrar, ao longo do tempo.Os atributos de um estado são:• O nome simbólico• O código binário (opcional)• A lista de variáveis (de Moore) ativas neste estado• O conjunto de transições que partem deste estado• O conjunto de transições que chegam a este estado

TransiçãoRepresenta uma mudança de um estado para outro, quando ocorre uma determinada combinação das entradas.Os atributos de uma transição são:• O estado de origem• O estado de destino• A condição de transição, em função das entradas• A lista de variáveis (de Mealy) ativas quando ocorre essa transição (opcional)

Page 129: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

129Arquitetura e Organização de Computadores

As saídas não dependem somente das entradas, mas também da seqüência em que foram aplicadas.

......

Z1

Z2

Zn

X1

X2

Xm

Circuito

Seqüencial

Síncrono

Clock

Um circuito seqüencial deve “lembrar” a condição em que se encontra para poder determinar a condição seguinte, em função dos valores das entradas.

Circuitos Sequenciais

Page 130: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

130Arquitetura e Organização de Computadores

Como exemplo, considere um contador síncrono crescente/decrescente.A aplicação de um sinal de clock não é suficiente para determinar o valor de contagem, a não ser que o valor de contagem anterior seja conhecido.

Circuitos Sequenciais

Page 131: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

131Arquitetura e Organização de Computadores

Fli

p-F

lops

Cir

cui t

oC

omb i

naci

o nal

Entradax(t)

s(t)

z(t)clk

init

Page 132: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

132Arquitetura e Organização de Computadores

Circuito Combinacional Circuito Combinacional

Flip-Flops

Page 133: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

133Arquitetura e Organização de Computadores

Uma máquina de estados possui uma condição atual, representada pela combinação das saídas dos flip-flops no momento de clock estável (fora de uma borda) e uma condição seguinte, representada pela combinação lógica nas entradas dos flip-flops que levará as saídas dos flip-flops, no momento da borda de clock, ao próximo estado.

Máquinas de Estado Finito (FSM)

Page 134: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

134Arquitetura e Organização de Computadores

Reg

ist r

ador

de

Est

ado

Red

eC

omb i

naci

o nal

x(t)

z(t)clk

rst

Estado Atual

Entrada Atual

Próximo Estado

Saída Atual

De forma geral, uma Máquina de estado pode ser desenhada com um circuito combinacional e um conjunto de flip-flops ou registrador de estado.

Máquinas de Estado Finito (FSM)

Page 135: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

135Arquitetura e Organização de Computadores

Um circuito seqüencial cuja saída depende do estado atual e da entrada é

chamada de máquina de Mealy.

Stat

e R

egis

t er

C1

x(t) z(t)

clk

rst

Estado Atual

Entrada

Estado Seguinte

C2

Máquinas de Estado Finito (FSM)Mealy

Page 136: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

136Arquitetura e Organização de Computadores

Flip

-Flo

ps

C1

x(t)

z(t)

clk

rst

Estado Atual

Entrada

Estado Seguinte

C2

Em alguns circuitos eqüenciais a saída depende somente do estado atual.

Está é chamada de máquina de Moore.

Máquinas de Estado Finito (FSM)Moore

Page 137: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

137Arquitetura e Organização de Computadores

CLK

X

Y

Z

Entrada X e sinal de clock CLK

Saída Y indica máquina do tipo:

Saída Z indica máquina do tipo:

Mealy

Moore

Máquinas de Estado Finito (FSM)

Page 138: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

138Arquitetura e Organização de Computadores

Exemplo de circuito para uma máquina do tipo Mealy

Máquinas de Estado Finito (FSM)

Page 139: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

139Arquitetura e Organização de Computadores

Exemplo de circuito para uma máquina do tipo Moore

Máquinas de Estado Finito (FSM)

Page 140: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

140Arquitetura e Organização de Computadores

O projeto de Máquinas de Estado consiste de 7 passos:

Passo 1 – Diagrama de Estados

Passo 2 – Tabela de Estados

Passo 3- Eliminação de Estados Equivalentes

Passo 4- Designação de Estados Auxiliares

Passo 5- Mapa de Estado Seguinte

Passo 6- Mapa de Excitação

Passo 7- Mapa de Saída

Máquinas de Estado Finito (FSM)Projeto

Page 141: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

141Arquitetura e Organização de Computadores

Passo 1 – Diagrama de Estados

Um diagrama (gráfico) de estado consiste de:

1. Estados, representados por círculos com os nomes dos estados,

2. Transições, representadas por setas entre estados,

3. Saídas, representadas junto aos estados no caso das máquinas de Moore, ou

junto às transições para o caso das máquinas de Mealy.

Máquinas de Estado Finito (FSM)Projeto

Page 142: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

142Arquitetura e Organização de Computadores

Máquinas de Estado Finito (FSM)Diagrama de Estados - Convenção

Page 143: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

143Arquitetura e Organização de Computadores

S0 S1

0/0

CLR

1/1

1/0

0/1

SaídaEntrada

Estado

Transição do CLK(subida ou descida) Mealy

Máquinas de Estado Finito (FSM)Diagrama de Estados - Convenção

Page 144: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

144Arquitetura e Organização de Computadores

S00

S11

0

CLR

1

1

0

Entrada

Saída

Transição do CLK(subida ou descida)

Moore

Máquinas de Estado Finito (FSM)Diagrama de Estados - Convenção

Page 145: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

145Arquitetura e Organização de Computadores

S0 S1

0/0

CLR

1/1

1/0

0/1

S00

S11

0

CLR

1

1

0

Entrada

Saída

Transição do CLK(subida ou descida)

SaídaEntrada

Estado

Transição do CLK(subida ou descida) Mealy

Moore

Máquinas de Estado Finito (FSM)Diagrama de Estados - Convenção

Page 146: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

146Arquitetura e Organização de Computadores

Moore

Supor uma entrada serial X por onde chegam números “1” e “0”.Diagrama para detectar se o número de “1”s recebidos é impar.

X Z

Clock

Máquinas de Estado Finito (FSM)Moore

Page 147: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

147Arquitetura e Organização de Computadores

S11

01

1

0

Moore

Supor uma entrada serial X por onde chegam números “1” e “0”.Diagrama para detectar se o número de “1”s recebidos é impar.

X Z

Clock

S00CLR

Reset, estado inicial, nada detectado

Transição de Clock com entrada em “1”

Transição de Clock com Segundo 1 - Par

Transição de Clock com

entrada em “0”Detectado número

impar de “1”s

Par Impar

Máquinas de Estado Finito (FSM)Moore

Page 148: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

148Arquitetura e Organização de Computadores

Obter o diagrama de estados de um circuito síncrono que detecte todas as ocorrências da seqüência 101. Considere máquina de Mealy.

Máquinas de Estado Finito (FSM)Mealy

Page 149: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

149Arquitetura e Organização de Computadores

Obter o diagrama de estados de um circuito síncrono que detecte todas as ocorrências da seqüência 101. Considere máquina de Mealy.

S0CLR

00

S1

10

S2

00

11

1

0

0

0

Máquinas de Estado Finito (FSM)Mealy

Page 150: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

150Arquitetura e Organização de Computadores

ExemploDetectar a seqüência 1101

Maq. Estados

din

doutclk

clr

din

dout

1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0

0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0

Page 151: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

151Arquitetura e Organização de Computadores

S00

S10

S20

S30

S41

11

0

1

0 10

0

1

0

CLR

Máquinas de Estado Finito (FSM)Moore – Sequência 1101

Page 152: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

152Arquitetura e Organização de Computadores

Exemplo: Obter o diagrama de estados de um circuito síncrono que detecte todas as ocorrências da seqüência 0010. Ocorrendo mais que dois 0 consecutivos, a máquina volta ao estado inicial após a ocorrência de um 1. Considere máquina de Mealy.

Page 153: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

153Arquitetura e Organização de Computadores

S0 S1

CLR

S2 S300

01

00

10

10

10

S4

00

00

10

10

Page 154: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

154Arquitetura e Organização de Computadores

Exemplo:Obter o diagrama de estados de um circuito síncrono que indique se o número de 0 recebidos for par e maior que zero. Se ocorrer dois 1 consecutivos, o circuito deve travar (com saída igual a zero). Maquina do tipo Moore.

Page 155: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

155Arquitetura e Organização de Computadores

1

CLR S00

S10

0

S21

0PAR

0IMPAR

S60

S30

10

S40

1

0 S51

1

1 1 1

0,1

0

Page 156: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

156Arquitetura e Organização de Computadores

O projeto de Máquinas de Estado consiste de 7 passos:

Passo 1 – Diagrama de Estados

Passo 2 – Tabela de Estados

Passo 3- Eliminação de Estados Equivalentes

Passo 4- Designação de Estados Auxiliares

Passo 5- Mapa de Estado Seguinte

Passo 6- Mapa de Excitação

Passo 7- Mapa de Saída

Máquinas de Estado Finito (FSM)Projeto

Page 157: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

157Arquitetura e Organização de Computadores

PCWritePCSource = 10

ALUSrcA = 1ALUSrcB = 00ALUOp = 01PCWriteCond

PCSource = 01

ALUSrcA =1ALUSrcB = 00ALUOp= 10

RegDst = 1RegWrite

MemtoReg = 0

MemWriteIorD = 1

MemReadIorD = 1

ALUSrcA = 1ALUSrcB = 10ALUOp = 00

RegDst = 0RegWrite

MemtoReg=1

ALUSrcA = 0ALUSrcB = 11ALUOp = 00

MemReadALUSrcA = 0

IorD = 0IRWrite

ALUSrcB = 01ALUOp = 00

PCWritePCSource = 00

Instruction fetchInstruction decode/

register fetch

Jumpcompletion

BranchcompletionExecution

Memory addresscomputation

Memoryaccess

Memoryaccess R-type completion

Write-back step

(Op = 'LW') or (Op = 'SW') (Op = R-type)

(Op

= 'B

EQ')

(Op

= 'J

')

(Op = 'SW

')

(Op

= 'L

W')

4

01

9862

753

Start

Máquinas de Estado FinitoEspecificação

Page 158: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

158Arquitetura e Organização de Computadores

PCWrite

PCWriteCond

IorD

MemtoReg

PCSource

ALUOp

ALUSrcB

ALUSrcA

RegWrite

RegDst

NS3NS2NS1NS0

Op5

Op4

Op3

Op2

Op1

Op0

S3

S2

S1

S0

State register

IRWrite

MemRead

MemWrite

Instruction registeropcode field

Outputs

Control logic

Inputs

Máquinas de Estado FinitoImplementação

Page 159: Unidade Central de Processamentocomputacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/arqorgcomput... · Arquitetura e Organização de Computadores 8 Barramentos são linhas de dados,

159Arquitetura e Organização de Computadores

ROM = "Read Only Memory"– Os valores das palavras de memória são fixas ao longo do tempo

Uma ROM pode ser usada para implementar uma tabela verdade– Se o endereço é de m-bits, podemos endereçar 2m entradas na ROM.– Nossas saídas são os bits de dados onde o endereço aponta.

m é a “altura", e n é a “largura"

m n

0 0 0 0 0 1 10 0 1 1 1 0 00 1 0 1 1 0 00 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 11 1 0 0 1 1 01 1 1 0 1 1 1

Máquinas de Estado FinitoImplementação em ROM