Resumo de Fundamentos de Arquitetura de Computadores
Fundamentos de Arquitetura de Computadores: Guia Completo
Introdução
Os sequenciadores são o coração do controle da Unidade de Controle (UC): geram e distribuem as micro-ordens necessárias para executar cada instrução. Existem dois modelos principais: sequenciador cabeado e sequenciador microprogramado. Ambos produzem sinais de nível e impulsivos que governam os diversos órgãos do processador seguindo cronogramas projetados para cada operação.
Definição: Um sequenciador é o conjunto de lógica (cabeada ou baseada em memória) encarregado de produzir, no tempo adequado, as micro-ordens que controlam a execução das instruções.
Modelos de Sequenciador: Visão Geral
Sequenciador Cablado
- Implementação: circuitos lógicos fixos (portas lógicas, conectores) que geram micro-ordens para cada operação.
- Vantagens: maior velocidade, resposta rápida porque não depende de acessos à memória de controle.
- Desvantagens: maior custo, maior tamanho físico e consumo de energia; difícil de modificar ou corrigir.
Definição: Sequenciador cablado é um projeto onde as micro-ordens são geradas por redes lógicas fixas instaladas em hardware.
Sequenciador Microprogramado
- Implementação: memória de controle que armazena microprogramas; cada microinstrução produz micro-ordens.
- Vantagens: reprogramável, permite corrigir ou aprimorar o controle sem alterar o hardware; facilita a abstração entre programador e hardware.
- Desvantagens: mais lento devido a acessos à memória de controle; requer espaço para a ROM/RAM de microprograma.
Definição: Sequenciador microprogramado é um projeto no qual a UC inclui uma memória de controle com microprogramas que geram micro-ordens.
Sincronização e tipos de sequenciadores
Sequenciador síncrono (cabeamento típico)
- Baseado em atrasos e fases de clock predefinidas. O sequenciador conhece os tempos de resposta dos órgãos e adiciona atrasos apropriados entre micro-ordens.
- Os sinais de nível são ativados e permanecem até sua anulação pela lógica do cronograma.
Sequenciador assíncrono
- Avança de fase quando os órgãos governados indicam que terminaram a operação (sinais de finalização).
- Útil quando os tempos de memória ou outros periféricos são variáveis: a transição depende do estado real, não de clocks fixos.
Você sabia que em projetos assíncronos a transição entre micro-operações ocorre apenas quando a finalização da etapa anterior é confirmada, reduzindo esperas desnecessárias?
Distribuidor de fases (gerador temporal)
- Função: a partir de pulsos de clock, produz sinais temporais (fases) que permitem ao sequenciador posicionar-se na fase do ciclo de instrução/memória.
- Exemplo: um distribuidor de 4 biestáveis gera os sinais $\Theta_0$, $\Theta_1$, $\Theta_2$, $\Theta_3$ sequenciais; no ABACUS, é tipicamente empregado um distribuidor de 2 fases porque o ciclo de memória equivale a dois batimentos de clock.
Definição: Distribuidor de fases é o circuito que converte pulsos de clock em sinais temporais (fases) regularmente espaçados utilizados pelo sequenciador.
Processamento de instruções no sequenciador
- Identificar as entradas do sequenciador:
- Biestáveis de estado (ex: I e O que indicam o ciclo instrução/operando)
- Sinais do distribuidor de fases ($\Theta$)
- Código de operação decodificado (sinais como sum, sus, and, or, alm, pac, sai, sap)
- Bit de indireção (IND)
- Traçar o cronograma para cada instrução: definir quais micro-ordens são ativadas em cada fase.
- Derivar equações lógicas para cada micro-ordem: combinar as entradas que determinam sua ativação.
- Implementar os circuitos do sequenciador (lógica cabeada) usando as equações resultantes ou carregar o microprograma se for microprogramado.
Definição: Cronograma é a representação temporal (por fases) das micro-ordens que devem ser ativadas para executar uma instrução.
Exemplo prático (ABACUS): fluxo de uma instrução com e sem indirecionamento
- Ciclo de busca da instrução: $I = 1$, $O = 0$. A leitura é habilitada e a pa
Já tem uma conta? Entrar
Sequenciadores e Microprogramação
Klíčové pojmy: Sequenciador: gera micro-ordens temporizadas para executar instruções, Sequenciador cabeado: mais rápido mas inflexível e custoso, Sequenciador microprogramado: reprogramável através de memória de controle, Distribuidor de fases produz sinais $\Theta_i$ que sincronizam micro-ordens, Cronograma define quais micro-ordens são ativadas em cada fase, Derivar equações lógicas: listar situações e combiná-las com OR para cada micro-ordem, Biestáveis I e O controlam o ciclo instrução/operando e são atualizados por $\Theta_0$, SRM, LEC, SRD, SRP, ENA, EAC são micro-ordens chave no ABACUS, Endereçamento indireto adiciona um ciclo extra e condiciona sinais (IND), Comparar cabeado vs microprogramado ajuda a escolher o design de acordo com os requisitos