















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aula sobre microprocessadores.
Tipologia: Slides
1 / 23
Esta página não é visível na pré-visualização
Não perca as partes importantes!
















2020 - Aula 5 – Processadores
Unidade de controle Problema 9 : como especificar as constantes no programa? Solução (provisória): especificar as constantes nas próprias instruções que as referenciam, tal como indicado na figura. É apenas mais um campo de cada célula da memória de instruções, tal como o endereço de dados que já existia.
Unidade de controle O multiplexador colocado na entrada da memória de dados permite escrever diretamente o valor de uma constante na memória de dados. No entanto, se algumas instruções precisam especificar apenas uma constante, outras instruções precisam de mais constantes. Como a largura das células da memória de instruções não pode variar de acordo com a instrução que contêm, os bits necessários para o número máximo de constantes nas várias instruções teriam de existir em todas as células da memória de instruções, o que implicaria um grande desperdício de memória.
Unidade de controle Solução(definitiva): especificar as constantes nas próprias instruções, mas apenas uma por cada instrução. O artifício é transformar instruções que usem mais do que uma constante numa sequência de instruções mais simples, em que cada uma use apenas uma constante. Assim os campos endereço de dados e valor numérico podem ser o mesmo, partilhado. Numas instruções servirá como endereço de uma célula da memória de dados. Noutras servirá para poder especificar um valor numérico.
Unidade de controle Também leituras que se refiram a células de memória podem ser substituídas por leituras que se refiram ao registrador A quando o seu valor for idêntico. Soma , temp e N são constantes simbólicas que terão de ser substituídas pelos respectivos valores numéricos antes de o algoritmo ser executado. Já não há referencias a mais do que uma constante na mesma instrução, com exceção das instruções 5 e 6 , que ainda se referem a duas constantes, 0 e 13.
Microcessadores Unidade de controle Programa 2
Unidade de controle Problema 10. Como introduzir suporte para as constantes no hardware? Solução: especificar caminhos que permitam às constantes ir das instruções para os recursos em que vão ser usadas.
Unidade de controle O sinal de endereço de dados , vindo da memória de instruções, é agora chamado de constante , pois serve para todas as constantes. Este sinal está associado aos seguintes pontos: Entrada de dados da memória de dados (já estava associado) – permite a algumas instruções especificar um endereço de dados; Novo multiplexador (MUX_B) – suporta as instruções que guardam constantes no registrador A e instruções em que o segundo operando é uma constate. Entrada do PC – suporta desvios (em que a constante que especifica o novo endereço é guardada no PC).
Unidade de controle Há mais dois sinais de controle (ambos de 1 bit cada um): SEL_B – controla a seleção de entrada no multiplexador MUX_B; ESCR_PC – indica, em cada instrução, se o próximo valor de PC é obtido por contagem simples (incremento de uma unidade, passa à instrução seguinte) ou carregando o endereço especificado na instrução (caso de um desvio). A tabela a seguir indica o valor dos sinais relevantes para cada uma das utilizações das constantes, permitindo identificar o percurso da constante, desde a instrução até o recurso em que é usada em cada caso.
Unidade de controle
Unidade de controle Problema 11. Como implementar os desvios condicionais? Solução: definir quais as condições possíveis e escolher, por meio de um multiplexador, um dos bits que as representem, tal como indicado na figura abaixo. Cada bit escolhido pode ser 0 ou 1 , dependendo do valor da condição.
Unidade de controle
Unidade de controle Desvia se o valor do registrador A for menor que zero (condição depende do valor de A) – caso da instrução 5 do programa 2. Considerando que ESCR_PC fica ativo em 1, o MUX_PC na figura anterior seleciona (por indicação do sinal SEL_PC , que é constituído por dois bits): 0 se não for para desviar; 1 se for para desviar;
Unidade de controle Um bit 1 , se o registrador A for menor que zero, e que vale 0 caso contrário. Esse bit pode ser obtido pelo simples NOR de todos os bits do registrador A (a saída vale 1 se todos os bits de A forem 0 ). Um bit 1 , se o registrador A for menor que zero, e que vale 0 caso contrário. Este bit é, na prática, o bit mais significativo (o de sinal) do registrador A, uma vez que se assume que os operandos estão representados em complemento de 2.