x Controle Aula 12
Microarquitetura 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 cicloa-ciclo da parte operativa
MIC MIC é uma microarquitetura didática usado por Tannenbaum É uma máquina multicíclo Constituído de: Pequeno conjunto de instruções Um banco de registradores Uma ULA Três barramentos internos
Parte de Controle Parte Operativa Parte de Controle
Parte de Controle Parte Operativa MIR Registrador de Controle
Parte de Controle Parte Operativa MIR Micro MEM Registrador de Controle Memória de Controle
Parte de Controle Parte Operativa Sequenciador MIR Micro MEM Registrador de Controle Memória de Controle
Parte de Controle Parte Operativa Lógica de Cálculo do MPC Registrador MPC Sequenciador MIR Micro MEM Registrador de Controle Memória de Controle
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
Endereços Dados MAR MBR
Instruções de programas são executados segundo uma ordem precisa Uma microarquitetura necessita saber, 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 executada
Endereços Dados MAR MBR ALU PC 1
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
Endereços Dados MAR MBR PC ALU IR TIR 1
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
Endereços Dados MAR MBR PC ALU IR TIR 1
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 adequado
Endereços Dados MAR MBR PC IR TIR ALU 1 A B C D E F
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
Endereços Dados MAR MBR PC AC IR TIR ALU 1 A B C D E F
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)
Endereços Dados MAR MBR PC AC SP IR TIR ALU 1 A B C D E F
Formatos de Instrução Formato 1 Formato 2 Formato 3 4 bits 12 bits OpCode 8 bits 8 bits OpCode 16 bits OpCode
MASCARAS DE BIT AMASK = 0x0FFF Recupera endereço em instruções no formato 1 BMASK = 0X00FF Recupera endereço em instruções no formato 2
Endereços Dados MAR MBR PC AC SP IR TIR 1 AMASK BMASK ALU A B C D E F
Algoritmos de multiplicação e divisão usam deslocamentos Deslocamentos podem ser usados em decodificação e outras operações importantes DESLOCADOR Necessidade de um deslocador Deslocamento pode ser feito na ULA, mas pode ser interessante tê-lo fora dela
Endereços Dados MAR MBR PC AC SP IR TIR 0 ALU 1-1 AMASK BMASK A B C D E F
Instruções de programas são executados segundo uma ordem precisa Uma microarquitetura necessita saber, 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 executada
WR RD Endereços Dados MAR MAR MBR Z N A B WR RD MBR 4 4 ALU PC AC SP IR TIR 0 1-1 AMASK BMASK A B C D E F AMUX F 2 2 S 11 C
WR RD Endereços Dados MAR MAR MBR Z N A B WR RD MBR 4 4 ALU PC AC SP IR TIR 0 1-1 AMASK BMASK A B C D E F AMUX F 2 2 S 11 C
Interface PO/C 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