Arquitetura da CPU
Unidade de microprocessamento é sinônimo de unidade de processamento central, CPU usada no computador tradicional. O microprocessador (MPU) atua como um dispositivo ou grupo de dispositivos que realizam as seguintes tarefas.
- comunicar-se com dispositivos periféricos
- fornecer sinal de tempo
- fluxo de dados direto
- realizar tarefas de computador conforme especificado pelas instruções na memória
Microprocessador 8085
O microprocessador 8085 é um microprocessador de uso geral de 8 bits que é capaz de endereçar 64k de memória. Este processador tem quarenta pinos, requer fonte de alimentação única de +5 V e clock monofásico de 3 MHz.
Diagrama de bloco
ALU
A ALU executa a função de computação de microprocessador. Inclui o acumulador, registro temporário, circuito aritmético e lógico e cinco sinalizadores. O resultado é armazenado no acumulador e sinalizadores.
Diagrama de bloco
Acumulador
É um registro de 8 bits que faz parte da ALU. Este registro é usado para armazenar dados de 8 bits e na realização de operações aritméticas e lógicas. O resultado da operação é armazenado no acumulador.
Diagrama
Bandeiras
Os sinalizadores são programáveis. Eles podem ser usados para armazenar e transferir os dados dos registradores usando instruções. A ALU inclui cinco flip-flops que são configurados e redefinidos de acordo com a condição dos dados no acumulador e outros registros.
S (Sign) flag- Após a execução de uma operação aritmética, se o bit D 7 do resultado for 1, o sinalizador é definido. É usado para número assinado. Em um determinado byte, se D 7 for 1 significa número negativo. Se for zero significa que é um número positivo.
Z (Zero) flag - O sinalizador zero é definido se o resultado da operação da ALU for 0.
AC (Auxiliary Carry) flag- Na operação aritmética, quando o transporte é gerado pelo dígito D3 e passado para o dígito D 4 , o sinalizador AC é definido. Este sinalizador é usado apenas internamente na operação BCD.
P (Parity) flag- Após a operação aritmética ou lógica, se o resultado tiver um número par de 1s, o sinalizador é definido. Se tiver um número ímpar de 1s, o sinalizador será redefinido.
C (Carry) flag - Se o resultado da operação aritmética for um transporte, o sinalizador de transporte será definido, caso contrário, ele será redefinido.
Seção de registro
É basicamente um dispositivo de armazenamento e transfere dados de registradores usando instruções.
Stack Pointer (SP)- O ponteiro da pilha também é um registro de 16 bits que é usado como um ponteiro da memória. Ele aponta para um local de memória na memória de leitura / gravação conhecido como pilha. Entre a execução do programa, às vezes os dados são armazenados na pilha. O início da pilha é definido carregando um endereço de 16 bits no ponteiro da pilha.
Program Counter (PC)- Este registro de 16 bits trata da quarta operação para sequenciar a execução da instrução. Este registro também é um ponteiro de memória. A localização da memória tem endereço de 16 bits. É usado para armazenar o endereço de execução. A função do contador do programa é apontar para o endereço de memória a partir do qual o próximo byte deve ser obtido.
Storage registers- Esses registros armazenam dados de 8 bits durante a execução de um programa. Esses registros são identificados como B, C, D, E, H, L. Eles podem ser combinados como par de registros BC, DE e HL para realizar algumas operações de 16 bits.
Seção de tempo e controle
Esta unidade é responsável por sincronizar a operação do microprocessador de acordo com o pulso do clock e por gerar os sinais de controle que são necessários para uma comunicação suave entre o microprocessador e os dispositivos periféricos. Os sinais da barra RD e da barra WR são pulsos síncronos que indicam se os dados estão disponíveis no barramento de dados ou não. A unidade de controle é responsável por controlar o fluxo de dados entre o microprocessador, a memória e os dispositivos periféricos.
Diagrama de PIN
Todo o sinal pode ser classificado em seis grupos
SN | Grupo | Descrição |
---|---|---|
1 | Address bus | O microprocessador 8085 possui 8 linhas de sinal, A 15 - A 8, que são unidirecionais e usadas como um barramento de endereços de alta ordem. |
2 | Data bus | As linhas de sinal AD7 - AD0 são bidirecionais para dupla finalidade. Eles são usados como barramento de endereços de ordem inferior, bem como barramento de dados. |
3 | Control signal and Status signal | Sinal de controle RD bar- É um sinal de controle de leitura (baixo ativo). Se estiver ativo, a memória lê os dados. WR bar- É um sinal de controle de escrita (baixo ativo). Está ativo quando escrito na memória selecionada. Sinal de status ALU (Address Latch Enable)- Quando ALU está alto. O microprocessador 8085 usa barramento de endereço. Quando ALU está baixo. O microprocessador 8085 usa barramento de dados. IO/M bar- Este é um sinal de status usado para diferenciar entre operações de i / o e de memória. Quando está alto, indica uma operação de i / o e quando está baixo, indica uma operação de memória. S1 and S0 - Esses sinais de status, semelhantes a i / o e barra de memória, podem identificar várias operações, mas raramente são usados em sistemas pequenos. |
4 | Power supply and frequency signal | Vcc - Fonte de alimentação de + 5v. Vss - referência de aterramento. X, X- Um cristal é conectado a esses dois pinos. A frequência é dividida internamente por dois sistemas de operação a 3 MHz, o cristal deve ter uma frequência de 6 MHz. CLK out - Este sinal pode ser usado como relógio do sistema para outros dispositivos. |
5 | Externally initiated signal | INTR (i/p) - Pedido de interrupção. INTA bar (o/p) - É usado como interrupção de reconhecimento. TRAP (i/p) - Esta é uma interrupção não mascarável e tem a prioridade mais alta. HOLD (i/p) - É usado para manter o programa em execução. HLDA (o/p) - Espere reconhecer. READY (i/p) - Este sinal é usado para atrasar o ciclo de leitura ou gravação do microprocessador até que um periférico de resposta lenta esteja pronto para aceitar ou enviar dados. RESET IN bar - Quando o sinal neste pino fica baixo, o contador do programa é definido como zero, o barramento tem três estados e o MPU é reinicializado. RESET OUT- Este sinal indica que o MPU está sendo reiniciado. O sinal pode ser usado para reiniciar outros dispositivos. RST 7.5, RST 6.5, RST 5.5 (Request interrupt)- É usado para transferir o controle do programa para um local de memória específico. Eles têm prioridade mais alta do que a interrupção INTR. |
6 | Serial I/O ports | O microprocessador 8085 tem dois sinais para implementar os dados de entrada seriais da transmissão serial e os dados de saída serial. |
Formato de Instrução
Cada instrução é representada por uma sequência de bits dentro do computador. A instrução é dividida em um grupo de bits denominado campo. A forma como a instrução é expressa é conhecida como formato de instrução. Geralmente é representado na forma de uma caixa retangular. O formato da instrução pode ser dos seguintes tipos.
Formatos de instrução variáveis
Esses são os formatos de instrução nos quais o comprimento da instrução varia com base nos especificadores de opcode e endereço. Por exemplo, a instrução VAX varia entre 1 e 53 bytes enquanto a instrução X86 varia entre 1 e 17 bytes.
Formato
Vantagem
Esses formatos têm boa densidade de código.
Recua
Esses formatos de instrução são muito difíceis de decodificar e pipeline.
Formatos de instrução fixos
Nesse tipo de formato de instrução, todas as instruções têm o mesmo tamanho. Por exemplo, MIPS, Power PC, Alpha, ARM.
Formato
Vantagem
Eles são fáceis de decodificar e canalizar.
Recua
Eles não têm uma boa densidade de código.
Formatos de instrução híbridos
Neste tipo de formatos de instrução, temos vários comprimentos de formato especificados por opcode. Por exemplo, IBM 360/70, MIPS 16, Thumb.
Formato
Vantagem
Esse compromisso entre densidade de código e instrução desse tipo é muito fácil de decodificar.
Modos de Endereçamento
O modo de endereçamento fornece maneiras diferentes de acessar um endereço para dados fornecidos a um processador. Os dados operados são armazenados na localização da memória, cada instrução requer certos dados nos quais deve operar. Existem várias técnicas para especificar o endereço dos dados. Essas técnicas são chamadas de modos de endereçamento.
Direct addressing mode- No modo de endereçamento direto, o endereço do operando é fornecido na instrução e os dados estão disponíveis na localização da memória que é fornecida na instrução. Vamos mover esses dados no local desejado.
Indirect addressing mode- No modo de endereçamento indireto, a instrução especifica um registro que contém o endereço do operando. Tanto a RAM interna quanto a RAM externa podem ser acessadas por meio do modo de endereçamento indireto.
Immediate addressing mode- No modo de endereçamento imediato, os dados diretos são fornecidos no operando que movimenta os dados no acumulador. É muito rápido.
Relative addressing mode- No modo de endereço relativo, o endereço efetivo é determinado pelo modo de índice usando o contador do programa em vez do registro do processador de propósito geral. Este modo é denominado modo de endereço relativo.
Index addressing mode- No modo de endereço de índice, o endereço efetivo do operando é gerado adicionando um valor de conteúdo ao conteúdo do registro. Este modo é denominado modo de endereço de índice.