Upload
internet
View
138
Download
23
Embed Size (px)
Citation preview
Organização e Arquitetura de Computadores I
MicroarquiteturaIvan Saraiva Silva
Sumário
• Unidades lógicas
• Microarquitetura
• MIC
• Parte Operativa e Parte de Controle
• MIC – Parte Operativa
• Leitura e Escrita em Registradores
Microarquitetura
• Uma Microarquitetura é dividida em uma Parte Operativa e uma Parte de Controle
• Parte Operativa (ou Caminho de Dados)– Constituida 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
MIC
• O MIC é uma microarquitetura didática usado por Tannenbaum
• Existem algumas versões do MIC: MIC-1, MIC-2, MIC-3 e MIC-4
• MIC é uma máquina multicíclo• O MIC é constituído de:
– Pequeno conjunto de instruções– um banco de registradores– Uma ULA– Três barramentos internos
MIC (Tanenbaum)
Parte Operativa
Parte de Controle
MIC: Parte de Controle
Parte Operativa
MIR
Registradorde Controle
MIC: Parte de Controle
Parte Operativa
MIR
MicroMEM
Memóriade Controle
Registradorde Controle
MIC: Parte de Controle
Parte Operativa
MIR
MicroMEM
Memóriade Controle
Registradorde Controle
Seqüenciador
MIC: Parte de Controle
Parte Operativa
MIR
MicroMEM
Memóriade Controle
Registradorde Controle
SeqüenciadorRegistradorMPC
Lógica deCálculo do MPC
MIC: 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
MIC: Parte Operativa
MAR MBR
MIC: 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 executada.
MIC: Parte Operativa
MAR MBR
MIC: Parte Operativa
MAR MBR
PC
A
B
1
C
MIC: Parte Operativa
• A Instrução lida da memória é armazenada para decodificação e uso futuro.
REGISTRADOR DE INSTRÇÕES
• Necessidade armazenamento dos dados vindos da memória
• Necessidade de um registrador de instrução
MIC: Parte Operativa
MAR MBR
PC
A
B
1
C
MIC: Parte Operativa
MAR MBR
PC
A
B
1
C
IR
TIR
MIC: 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
MIC: Parte Operativa
MAR MBR
PC
1
C
IR
TIR
A
B
MIC: Parte Operativa
MAR MBR
PC
1
C
IR
TIR
A
B
MIC: 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 adequado
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR
A
B
C
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
A
B
C
MIC: 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)
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
A
B
C
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
A
B
C
MIC: 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)
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
A
B
C
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
A
B
C
MIC: Parte Operativa
• O MIC possui dois formatos de instrução:
ENDEREÇOCODOP
4 bits 12 bits
ENDEREÇOCODOP
8 bits 8 bits
CODOP
16 bits
Formato 1
Formato 2
Formato 3
MIC: Parte Operativa
MASCARAS DE BIT
• AMASK = 0x0FFF– Recupera o endereço em instruções no formato
1
• BMASK = 0X00FF– Recupera o endereço em instruções no formato
2
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
A
B
C
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
AM
BM
A
B
C
MIC: Parte Operativa
• 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
também pode ser interessante fora dela
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
AM
BM
A
B
C
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
AM
BM
A
B
C
MIC: Parte Operativa
MAR MBR
PC
1IR
TIR A B C FD E
UL
A
AC
SP
AM
BM
A
B
C
0 -1
MIC: Parte Operativa
MAR MBR
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD EZ N
UL
A
A
B
C
MIC: 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
MIC: Parte Operativa
MAR MBR
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD EZ N
C
UL
A
A
B
16
RD WR
MIC: Parte Operativa
• Interface PO/PC– 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
MIC: Parte OperativaLEITURA NOS REGISTRADORES
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD E
A
B
16
AB
C
MIC: Parte Operativa
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD E
A
B
16
LEITURA NOS REGISTRADORES
1616
AB
C
MIC: Parte OperativaESCRITA NOS REGISTRADORES
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD E
C
ENC
C
MIC: Parte Operativa
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD E
C
ENC
...
C
ESCRITA NOS REGISTRADORES
MIC: Parte Operativa
• Um projeto não se inicia na parte operativa– Há uma aplicação ou um conjunto de
aplicações– Há um conjunto de instruções
• A microarquitetura é uma solução de compromisso entre as necessidades e o custo do projeto