Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIDADE CENTRAL DE PROCESSAMENTO (UCP) Como vimos, o programa é constituído de instruções de máquina que são armazenadas de forma seqüencial em células sucessivas da memória, juntamente com dados eventualmente necessários à execução do mesmo. O ciclo de funcionamento realizado pela UCP para executar um programa possui os seguintes passos: - uma instrução é lida da memória para dentro da UCP; - a UCP interpreta qual é a instrução, decodificando o significado a partir de informações contidas na própria instrução. Essa etapa permite identificar se a instrução é uma soma, uma movimentação de dados, um desvio de fluxo, etc.; - eventuais dados necessários à execução da instrução são localizados onde estiverem na memória, e trazidos para dentro da UCP; - a instrução é efetivamente executada e os resultados (se houver algum) são guardados no local (posição de memória ou registrador) definido pela própria instrução; e - a próxima instrução é apanhada e o ciclo volta ao primeiro passo. Essas etapas constituem o ciclo de instrução da máquina. O ciclo se repete indefinidamente, até que ocorra uma instrução de parada, um erro, ou o sistema seja desligado.O fluxo básico do ciclo de instrução pode ser definido como: Nesse ciclo, podemos identificar duas atividades principais da UCP: controle e processamento. Na atividade de controle são gerados todos os sinais para sincronizar os diversos componentes em que se divide a UCP, a memória e demais dispositivos do sistema. Na atividade de processamento, a operação matemática, lógica ou de desvio da instrução é efetivamente executada. Para que possamos compreender melhor o modo de funcionamento da UCP, vamos examinar o seguinte diagrama esquemático: Esse diagrama foi inspirado nas funções mínimas de uma UCP, ou seja, uma UCP real possui alguns outros componentes. Estes, entretanto, são os elementos fundamentais para que se possa compreender o ciclo de operação da máquina. Ainda nessa linha de simplificação, é bom ressaltar que as operações que serão a seguir explicadas, são relatadas como um processo serial, isto é, cada pequena atividade do ciclo da instrução é descrita como se fosse realizada em seqüência à atividade anterior. Modernos processadores possuem algum paralelismo (pipeline) na decodificação e execução das instruções (as tarefas são tratadas como atividades de uma linha de produção de automóveis, por exemplo). Para efeito de aprendizado, entretanto, vamos desconsiderar esse paralelismo. O processamento é a atividade fim do sistema. Processar um dado é executar sobre o dado algum tipo de ação que produza um resultado. As principais ações que podem ser executadas sobre um dado são: operações aritméticas (soma, subtração, multiplicação, divisão); operações lógicas (e, ou, ou exclusivo, etc.); movimentação de dados (memória/memória, memória/registradores, registradores/registradores); desvios no fluxo de execução das instruções; e, operações de entrada e saída. Dentro da UCP, o dispositivo principal da atividade de processamento é a Unidade Aritmética e Lógica (UAL). Os registradores também estão relacionados com essa atividade, já que armazenam os dados que são usados pela UAL. A interligação entre UAL e registradores é feita pelo barramento interno da UCP. A UAL é um aglomerado de circuitos lógicos e componentes eletrônicos que, integrados, realizam as seguintes operações (algumas com um outras com dois operadores): soma; subtração; multiplicação; divisão; E; OU; XOU; complemento; deslocamento à direita; deslocamento à esquerda; incremento; e, decremento. Para que os dados possam ser operados pela UAL, eles devem antes ser armazenados nos registradores. Também o resultado da operação deve ser armazenado em um registrador, antes que seja enviado à memória ou seja usado em uma outra instrução. Para tanto, a UCP é fabricada com um determinado número de registradores, alguns de propósito geral (para qualquer tipo de dado) outros mais específicos para algum tipo de dado (registros de indexação, por exemplo). Os registradores nada mais são que células de memória que ficam dentro da UCP e são implementados com tecnologia que permite tempo de acesso muito rápido. O acumulador (ACC) é um registrador especial que, em algumas máquinas, é usado pela UAL como elemento de ligação com os demais dispositivos da UCP. Além dos registradores de dados, existem registradores que estão diretamente envolvidos com a tarefa de processamento, mas que são necessários para o carregamento da instrução ou para controlar a seqüência de operação. Esses registradores são: o Contador de instruções (CI); o Registrador de Instrução (RI); o Registrador de Endereços de Memória (REM); e, o Registrador de Dados de Memória (RDM). O Registrador de Dados de Memória é um registrador que armazena temporariamente a informação que está sendo transferida da Memória Principal (MP) para a UCP (em uma operação de leitura) ou da UCP para memória (em uma operação de escrita). Em seguida o dado é transferido para outro elemento da UCP, para processamento (no caso da leitura) ou para uma célula da memória (no caso da escrita). O Registrador de Endereços de Memória é um registrador que armazena temporariamente o endereço de acesso a uma determinada posição de memória, ao se iniciar uma operação de leitura ou de escrita. Em seguida, o referido endereço é encaminhado à área de controle da memória para decodificação e localização da célula desejada. O Registrador de Instruções tem a função de armazenar a instrução que acabou de ser carregada e está pronta para ser decodificada e executada. Ao se iniciar o ciclo de instrução, a Unidade de Controle (UC) emite um sinal de controle que acarreta a execução de um ciclo de leitura para buscar a instrução na memória que, via barramento de dados e RDM, é armazenada no RI. O endereço onde a instrução foi buscada é dado pelo Contador de Instruções que é, portanto, um registrador que contém sempre o endereço da próxima instrução a executar. Tão logo a instrução esteja carregada no RI, o sistema providencia a modificação do conteúdo do CI, de forma a que ele passe a armazenar o endereço da próxima instrução na seqüência. Caso a instrução contenha algum desvio de fluxo, o novo endereço será armazenado no CI após a decodificação da instrução. Cada instrução é uma ordem para que a UCP realize uma determinada operação. Como são muitas instruções, cada uma possui uma identificação própria e única. O Decodificador de Instruções é o dispositivo que identifica qual é a instrução carregada no RI e, partir disso, informa a Unidade de Controle . A Unidade de Controle é o dispositivo que dá o seqüenciamento de toda a operação da UCP. É ela que determina quando e qual registrador ou outro dispositivo (UAL, por exemplo), deve receber ou fornecer um dado. Essa seqüência de fluxo de dados dentro da UCP é característica para cada uma das instruções e é conhecida como microinstrução. A execução de uma instrução de máquina pode requerer várias microinstruções de controle dos dispositivos internos da UCP. Ao programa que contém as várias microinstruções para execução de uma instrução de máquina, chamamos microprograma. Uma UCP que se utiliza deste recurso é uma UCP microprogramada. O intervalo entre cada um dos passos da seqüência de execução de uma instrução é dado pelo Relógio. Este dispositivo, portanto, apenas fornece uma base de tempo cíclica para temporização das operações. Cada intervalo desses é conhecido como ciclo de relógio ou ciclo de máquina.
Compartilhar