220 likes | 339 Views
Organização e Arquitetura de Computadores I Parte de Controle. Ivan Saraiva Silva Milano Gadelha. Sumário. Introdução Topologia da parte de controle Implementação da PC Exemplo de Implementação Controle do MIC Lógica de Seqüenciamento do MIC. Introdução.
E N D
Organização e Arquitetura de Computadores IParte de Controle Ivan Saraiva Silva Milano Gadelha
Sumário • Introdução • Topologia da parte de controle • Implementação da PC • Exemplo de Implementação • Controle do MIC • Lógica de Seqüenciamento do MIC
Introdução • A parte de controle define, ciclo-a-ciclo, a seqüência de operações elementares executadas pela Parte Operativa • Uma operação elementar é definida pelo conjunto de sinais que controlam em um ciclo o uso dos recursos da Parte Operativa. • Uma Unidade de Controle (Parte de Controle) pode ser projetada • Como uma memória de microprograma • Como uma máquina de estados finitos
Topologia da Parte de Controle • A Parte de Controle pode ser vista como uma Máquina de Moore. • O estado atual define as computações a serem executadas no ciclo atual. • A função próximo estado depende apenas do Estado Atual • Maquina Meale • Próximo estado é definido por: • Resultados de Computações do estado atual • Entradas Primárias do sistema.
Topologia da Parte de Controle Estado Atual Função de Saída Função Próximo Estado PO
Implementações da PC • Diagrama de transição de estados • Especifica estados existentes • Especifica as condições de transição entre o estados • Esconde uma tabela de transição de estado que mostra a implementação real
Implementações da PC • Diagrama de transição de estados • O estado atual é representado em um círculo • Cada estado pode ser rotulado da seguinte forma • Nome/Saída_produzida • Mudanças de estado são indicadas por setas direcionais do estado atual para o próximo; • Variáveis de entrada e saída, em cada transição estado são representadas ao lado da seta, separadas por barra
In Out 1 1 Exemplo de Implementação • Reconhecedor de seqüências de uns • Uma entrada de um bit • Uma saída de um bit • A saída é “1” se: • O bit de entrada atual é “1” e • Pelo menos os dois últimos bits da entrada foram “1”.
Iniciar Bit /Iniciar /Bit A/0 Bit /Bit /Bit /Bit Bit Bit Exemplo de Implementação B/0 C/0 D/0 E/1
Exemplo de Implementação • Para desenvolvermos uma tabela de estado • Representar em colunaas 2n combinações da variável “estado atual” • Representar em linhaas 2m combinações das variáveis de entrada • Na interseção linha/coluna representar, separados por barra, o próximo estado e os valores de saída do estado aual
D E A B C /I /Bit A/0 /I Bit A/0 I /Bit B/0 B/0 B/0 B/0 B/1 I Bit B/0 C/0 D/0 E/0 E/1 Exemplo de Implementação
Exemplo de Implementação D E A B C /I /Bit A/0 A/0 A/0 A/0 A/1 /I Bit A/0 A/0 A/0 A/0 A/1 I /Bit B/0 A/0 A/0 A/0 A/1 I Bit B/0 C/0 D/0 E/0 E/1
Bit /Bit /I Bit /Bit /I Bit /I /I Exemplo de Implementação Iniciar /Iniciar B/0 C/0 /Bit A/0 D/0 /Bit E/1 Bit
Controle do MIC • A Unidade de controle do MIC não é baseada em máquinas de estado • O MIC utiliza um controle microprogramado • Que significa um programa que interpreta as instruções do MIC • O microprograma representa uma visão abstrata da arquitetura
Microprograma • Microprogramação envolve: • Memória de microprograma • Códigos de microprograma • Microisntruções • Sequenciamento de microinstruções • Corresponde a execução sequencial do microprograma • Microinstrução • Palavra armazenada na memória de microprograma que “gera” um conjunto de sinais de controle para cada microtarefa executada na arquitetura.
Controle do MIC • Relembrando a interface PC-PO do MIC • AMUX: Controla a entrada do multiplexador • ALU: Define a operação da ULA • SH: Define se há deslocamento e a direção • MBR: Habilita escrita no MBR a partir do deslocador • MAR: Habilita escrita no MAR a partir do latch B • RD: Requisita leitura da memória • WR: Requisita escrita na memória • ENC: Controla armazenamento nos registradores • A, B e C : Endereços de leitura (A e B) e escrita (C) nos registradores
ULA Controle do MIC RD WR MAR MBR C P C A C S P I R T I R 0 1 -1 A M B M A B C D E F Z N 16
Controle do MIC • A unidade de controle do MIC deve gerar, a cada ciclo, todos os sinais . Lógica de Cálculo do MPC MIR Registrador de Controle Micro MEM Memória de Controle Registrador MPC Seqüenciador
Controle do MIC “1” + MPC MEMORIA A M U X C O N D A D D R A L U M B R M A R E N C S H R D W R C B A
Lógica de Seqüenciamento do MIC • Depende do código na micro-instrução atual do campo COND • COND = 0 – Próxima instrução estará em MPC+1 • COND = 1 – Próxima instrução estará em ADDR se N = 1, senão estará em MPC + 1 • COND = 2 – Próxima instrução estará em ADDR se Z = 1, senão estará em MPC + 1 • COND = 3 – Próxima instrução estará em ADDR
Instrução LODD X Significado: AC := (M(x)) – conteudo da posição de memória X. Código de operação da instrução LODD “0000” mar := pc; rd; pc : pc + 1; rd; ir := mbr; if n goto 28; tir := lshift(ir + ir); if n goto 19; tir := lshift(tir); if n goto 11; alu := tir; if n goto 9; mar := ir; rd; rd; ac := mbr; goto 1; Exemplo de Microprograma
Tarefas recomendadas • Leitura do texto sobre sistemas seqüências que está na página do curso • Leitura do material de apoio distribuído na sala de aula