quarta-feira, 26 de junho de 2013

FAC Unidade Central


                      
COMPONENTES DE UM COMPUTADOR
Unidade central do computador

Lembrando que: Os computadores
·      Um computador digital , e um sistema interconectado de processadores, unidades , memórias e entrada e saída (E/S);
·      O computador processa dados por meio eletronica e pode ser programado   para executar diferentes tarefas;
·      É um sistema integrado com Hardware e Software;
·      Hardware: é componentes físico , mas tem outros  componentes físicos, mecânicos, elétricos e   eletrônicos;
·      Software: São conjunto de programas necessários para fazê-lo funcionar, ou  seja, o computador considerado do ponto de vista de sua estrutura lógica.
·      São construídos a partir de pastilhas de circuito integrado contendo minúsculos elementos de comutação, as portas lógicas.  Destas, as mais comuns são :
      AND, OR, NAND, NOR e NOT;
·      Os circuitos mais simples podem ser obtidos combinando diretamente portas individuais usando pastilhas de pequena escala de integração (SSI), 
     circuitos mais complexos são construídos usando componentes com média escala de integração (MSI), como os multiplexadores, demultiplexadores, codificadores, decodificadores, deslocadores e unidades lógicas e aritméticas.    Além disso, funções booleanas arbitrárias podem ser programadas usando-se arranjos lógicos muito mais eficientes e (as vezes) mais econômicos;
·      As operações aritméticas de um computador são feitas por somadores.   Um somador completo de 1 bit pode ser construído a partir de dois somadores parciais, enquanto que um somador para uma palavra multibit pode ser construído, ligando múltiplos somadores completos de tal maneira que o vai-1 de cada um alimente o vizinho da esquerda;
·      Suas  memória é (estática) são laches e flip-flops, cada qual podendo armazenar 1 bit de informação, combinados de diversas formas e usados para armazenar palavras;
·      Os componentes conecta por barramentos.  Muitos, mas não todos os pinos de uma pastilha microprocessadora típica, acionam diretamente as linhas no barramento;
·      Chaves, luzes, impressoras e muitos outros dispositivos de E/S podem ser interfaceados com o computador, usando pastilhas de E/S que podem ser configuradas como parte de espaço de E/S ou o espaço de memória, como for preciso.  Elas podem ser decodificadas total ou parcialmente, dependendo da aplicação.

 representamos sua estrutura como básica :Seus componentes vitais indispensáveis para que este execute sua função: 
entrada de dados, 
memória principal, 
saída de dados e a 
unidade central de processamento representada na figura por dois blocos, 
Unidade de Controle (UC) e 
Unidade Lógica e Aritmética (ULA). 

                               
                                                                           MEMÓRIA


 





         UNIDADE DE                               UNIDADE DE                         UNIDADE DE
             ENTRADA                                CONTROLE                               SAÍDA
 



                                                                         UNIDADE
                                                                LÓGICA E
                                                               ARITMÉTICA



Estrutura Básica de um computador digital
Assim,
1-      Deve haver meios de entrada, pelos quais as informações lhe são fornecidas.  Estes meios constituem as unidade de entrada, tais como controle, fita magnética, discos, que são representadas pelo bloco Entrada no diagrama da figura.

2-      Deve haver dispositivos através dos quais os resultados produzidos tornam-se disponíveis.  Estes podem ser uma impressora, um plotter, uma unidade de disco magnético, etc.  O bloco Saída representa estas unidades no diagrama da figura.

3-      Deve haver uma unidade onde são efetuadas as operações aritméticas e lógicas (cálculos e decisões) sobre as informações que entraram, a fim de produzir os resultados.  Tal unidade é denominada Unidade Lógica e Aritmética (ULA) na figura.

4-      O computador deve ter a capacidade de reter, armazenar e recuperar informações sobre as quais serão efetuados os cálculos, resultados parciais produzidos pela ULA, ou instruções detalhadas para manipular estas informações.  O dispositivo com esta capacidade é a Memória Principal que é representada na figura pelo bloco Memória.

5-      Deve haver um conjunto de circuitos eletrônicos que administra automaticamente todas estas partes do computador, fazendo com que ele siga as instruções a fim de que informações sejam carregadas, manipuladas convenientemente, armazenadas temporariamente na memória e finalmente transmitidas para o meio de saída.  Esta unidade, que recebe o nome de Unidade de Controle do sistema é representada na figura pelo bloco Controle.

6-      Deve haver um circuito externo de relógio (CLOK) responsável por gerar e enviar pulsos quadrados periódicos - responsável pela velocidade com que ocorrem os passos do processamento. Na figura representado pelo CLOK.     

UNIDADE CENTRAL DE PROCESSAMENTO – CPU
(PROCESSADOR)


A Unidade central de Processamento ou o processador central desempenha um papel vital no funcionamento de um sistema de computação, tendo como funções básicas: a realização de processamento e o controle de todo o sistema computacional durante a execução de um programa.
Entendemos aqui, que processamento corresponde:
·      Funções matemática;
·      Funções lógicas;
·      Tratamento de vídeo;
·      Tratamento de áudio;
·      Gerenciamento do armazenamento dos dados;
·      Gerenciamento das comunicações;
·      Gerenciamento do endereçamento dos dados e programas na Memória Principal;
·      Controle direto ou indireto de todos os periféricos integrados e ligados ao computador.

Assim, a CPU é um conjunto altamente amplo e complexo de circuitos eletrônicos que executam instruções armazenadas de um programa. Para que um programa seja efetivamente executado pelo processador deve ser constituído de uma série de instruções de máquinas guardadas na Memória Principal e nos seus registradores internos.   Todas as instruções de programa são construídas a partir de seqüências de instruções primitivas, que são definidas, entendidas e executadas pelo Hardware.

Todos os computadores, de pequeno e grande porte devem ter pelo menos uma CPU,a qual consiste de duas partes: a Unidade de Controle (UC) e a Unidade Lógica e Aritmética (ULA),sendo que cada uma tem uma função específica. 

A CPU interage estreitamente com o armazenamento primário (Memória Principal), recorrendo a ela tanto para obter instruções como dados. Entretanto, a memória não faz parte da CPU.

(Lembramos que a Memória Primária, ou apenas Memória, retém dados apenas por algum tempo, enquanto um programa estiver trabalhando diretamente com eles, enquanto que o armazenamento secundário retém os dados permanentes ou semipermanentes em uma mídia externa (disco) até que o computador precise destes dados processá-los. Quando isso acontecer, os dados são lidos no disco e transferidos para a Memória Principal, para só depois serem processados pela CPU).      

Unidade de Controle - UC

Contém circuitos que usam sinais elétricos para coordenar o computador inteiro para executar instruções armazenadas de um programa. Como um maestro de orquestra, a UC não executa qualquer instrução, ao contrário ela comanda outras partes do sistema para isso. A UC deve comunicar-se tanto com a Unidade Lógica e Aritmética quanto com a Memória.

A Unidade Lógica e Aritmética - ULA

Contém os circuitos eletrônicos que executam todas as operações lógicas e aritméticas. A ULA executa quatro tipos de operações ou cálculos matemáticos: adição, subtração, multiplicação e divisão. Também executa operações lógicas ou comparações. A Unidade pode comparar números, letras ou caracteres especiais para verificar as condições requeridas. Assim, executa uma ação levando em conta se o teste produziu um resultado verdadeiro ou falso. Através da comparação, um computador  pode dizer, por exemplo, se há lugares vagos em um avião, ou se um cliente de cartão de débito ultrapassou seu limite de crédito.

As operações lógicas podem testar três condições:
·  Condição de Igualdade: Em um teste de condição igual a (=), a ULA compara dois valores para determinar se são iguais. Por exemplo, se o número de ingressos vendidos for igual ao número de poltronas do auditório, consideram-se esgotadas as entradas para o concerto.  
·  Condição Menor que: Para testar a condição menor que  (<), a ULA compara dois valores para determinar se o primeiro é menor que o segundo.Por exemplo, se o número de multas por excesso de velocidade na ficha de um motorista for menor do que três, então o preço do seguro será de 425 dólares; caso contrário, será de 500 dólares.  
·  Condição Maior que: Ao testar a condição maior que (>), a ULA determina se o primeiro valor é maior do que o segundo. Por exemplo, se o número de horas que uma pessoa trabalhou em uma semana for inferior maior que 40, então o programa multiplicará cada hora que ultrapassar 40 por duas vezes o pagamento por hora usual para computar o pagamento das horas extras.
Além dessas condições, o computador pode testar um conjunto de condições: maior que ou igual a (≥); menor que ou igual a (≤); menor que ou maior que (representa não igual a) (≠).

Os símbolos que os programadores usam para informar ao computador que tipo de comparação executar são chamados de operadores relacionais. (= igual; < menor que;  > maior que; não igual a (≠).
  

Registradores: áreas de armazenamento temporário

Um REGISTRADOR é um dispositivo capaz de armazenar informações temporárias de alta velocidade. Semelhante à memória principal, diverge apenas pela sua localização, pois se encontram fisicamente localizados dentro do processador, (a memória usualmente está em pastilhas isoladas).  Assim, seu conteúdo pode ser lido e/ou escrito mais rapidamente do que na memória principal. Máquinas maiores e mais caras normalmente possuem mais registradores do que as máquinas menores e mais baratas, que precisam usar a memória principal para armazenar resultados intermediários.  A informação colocada em um registrador permanece lá até que outra informação a substitua, ou seja, o processo de leitura não afeta o conteúdo.  Um registrador pode ser caracterizado por um único número: quantos bits ele pode armazenar.   Assim, por exemplo, um registrador de 16 bits pode conter 16 bits de informação, um de 32 ou 64.

Pense nos registradores como meio para guardar dados que estão diretamente relacionados com a operação que está sendo executada; enquanto que a Memória Principal (RAM) armazena dados que serão usados em breve e o Armazenamento Secundário (HD) mantém dados que podem ser necessários posteriormente, na mesma execução do programa ou talvez em algum momento futuro. Por exemplo, um programa de Folha de Pagamento usa os três tipos de armazenamento. Suponhamos que o programa esteja prestes a calcular o pagamento bruto de um funcionário multiplicando as horas trabalhadas pelo índice do salário em seus respectivos registros. A UC colocou uma cópia dos dados que representam as horas trabalhadas e os dados correspondentes ao índice do salário em seus respectivos registradores. Outros dados relacionados com o cálculo do salário do funcionário ficam aguardando na Memória Principal, prontos para serem usadas se forem necessário. Quando a ULA encerra os cálculos correspondentes a esse funcionário, a UC faz com que o resultado seja transferido para a Memória Principal e em seguida para um arquivo na Memória Secundária ou HD. Os dados do funcionário seguinte será transferido do HD para a Memória Principal, e por fim para os registradores da CPU.    

Os registradores são coordenados pela Unidade de Controle (UC) de modo que aceitem guardem e transfiram instruções ou dados e façam comparações lógicas ou executem operações aritméticas, tudo em alta velocidade. A UC utiliza um registrador da mesma forma que um proprietário utiliza a caixa registradora – como lugar conveniente, temporário,para armazenar aquilo que é usado nas transações.
 
Os registradores que servem a propósitos especiais têm funções específicas, como por exemplo,  manter a instrução que está sendo executada em um determinado instante ou controlar onde a próxima instrução a ser executada está armazenada. (Cada local de armazenamento na memória é identificado por um endereço, da mesma forma que cada casa de uma rua tem seu endereço.) Alguns projetos de CPU incluem registradores de uso geral, que a unidade de controle pode usar para diferentes tarefas quando necessário.

Dentre os registradores mais importantes e essenciais que compõem a CPU estão:
* o Contador de Programa - CP ou PC, que aponta para a próxima instrução a ser executada;
* o Registrador de Instrução - RI ou IR, onde é armazenada a instrução que está sendo executada;
* o Acumulador - ACC;  que pode armazenar dados e resultados intermediários;
* o Registrador de Endereço de Memória - REM ou MAR - armazena o endereço de memória,     ligado ao barramento de endereços;
* o Registrador de Dados de Memória RDM ou MDR - armazena os dados de memória, ligado ao     barramento de dados; 
*  e vários outros registradores que exercem diferentes funções.


Como a CPU executa instruções de programa

A CPU executa a instrução em uma série de pequenos passos seqüenciais. Antes de uma instrução poder ser executada, instruções e dados do programa devem ser colocados na memória por meio de um dispositivos de entrada ou de armazenamento secundário. Assim que os dados e instruções necessários estão na memória principal, a Unidade Central de Processamento executa as quatro etapas seguintes para cada instrução:

1.      A Unidade de Controle busca (obtém) a instrução na memória e a coloca em um registrador (RI).
2.      A UC decodifica a instrução (determina o que ela significa) e define a localização,na memória, dos dados necessários. (Essas duas primeiras etapas juntas são chamadas de tempo de instrução ou I-time.
3.      A UC transfere os dados da memória para os registradores da ULA que executa a instrução lógica ou aritmética, ou seja, a ULA recebe o controle e executa a operaçõa rela nos dados.
4.      A UC armazena o resultado dessa operação em um registrador (ACC) ou na memória. As etapas 3 e 4 são chamadas de tempo de execução ou E-time.

A UC, por fim, instrui a memória a enviar o resultado a um dispositivo de saída ou a um dispositivo de armazenamento secundário (HD). A combinação de tempo de instrução (I-time) e tempo de execução (E-time) denomina-se ciclo de máquina.
Um Ciclo de Máquina pode ser representado pela figura a seguir:

 

















Suponhamos que um programa quer encontrar a média de cinco pontuações de exame. Para isso, deve totalizar as cinco pontuações e depois dividir o resultado por cinco. O programa inicia fixando o total em 0. Depois adiciona cada um dos cinco números, um por vez ao total. Suponhamos que as pontuações sejam: 88, 76, 91, 83 e 87. Nesse cálculo, o total foi fixado em 0 no Acumulador (ACC) e, depois 88, a primeira pontuação do exame foi adicionada.No ciclo seguinte, o registrador de armazenamento receberá o valor seguinte, 76 e adiciona este valor ao anterior, assim, o ACC terá o valor 164, seguindo sempre as quatro etapas do ciclo de máquina para cada valor: 1- Captar, a UC capta a instrução de programa ADD (adicionar) da memória. 2-Decodifica, a UC decodifica a instrução ADD. Ela determina que a adição deve ser efetuada e fornece instruções para que o número seguinte seja colocado em um registrador para esse propósito. O Total atual já está no Acumulador (ACC). 3- Executar: o número seguinte, é colocado no registrador e a ULA faz a adição aumentando o total. 4- Armazenar: Nesse caso a ULA armazena o resultado no acumulador em vez de na memória, porque ainda é necessário adicionar mais números a ela, e o novo total substitui o anterior.
    
Em resumo:
1 - Busca a próxima instrução da memória para o registrador de instrução;
2 - Atualiza o contador de programa para que ele aponte para a instrução seguinte;
3 - Determina o tipo da instrução;
4 - Se a instrução usa dados da memória, determina onde eles estão;
5 - Busca os dados, se houver algum, para os registradores internos da CPU;
6 - Executa a instrução;
7 - Armazena os resultados em locais apropriados;
8 - Volta ao passo 1 para iniciar a execução da próxima instrução.

Esta seqüência de passos é comumente referenciada como o ciclo de busca-decodifica-executa  ou ciclo de instrução que é o centro da operação de todos os computadores e se repete indefinidamente até que o sistema seja desligado, ocorra algum tipo de erro ou seja encontrada uma instrução de parada.  A capacidade de processamento de uma CPU, ou seja, a velocidade com que realiza o ciclo de uma instrução é em grande parte determinada pelo tamanho da palavra que pode processar e pela freqüência que o clok emite seu pulso na unidade de tempo.

A organização interna de parte de uma CPU clássica é mostrada no desenho a seguir e constitui a parte chamada de fluxo de dados.  Consiste num conjunto de registradores (de 1 a 16) e da ULA.    Os registradores alimentam os dois registradores de entrada da ULA, (A  e  B) na figura.  Esses registradores mantêm as entradas da ULA enquanto ela está executando a operação.

                       
                                               A              +            B
 





                                                           A                                 REGISTRADORES
                       

 

                                                           B
             

 


                                        A                                B                  REGISTRADORES DE ENTRADA DA
                                                                                                                                   ULA
`            
 

                                                       U L A                 
 



                                                      A  +   B                              REGISTRADORES DE SAÍDA DA                                                                                                                                                             ULA

 

As atividades realizadas pela CPU podem ser divididas conceitualmente em duas grandes áreas funcionais: a função processamento e a função controle.

Função Processamento 

A função processamento se encarrega de realizar as atividades relacionadas com o processamento em si, incluindo as operações aritméticas, lógicas, movimento de dados, alterações na seqüência de execução de instruções e as operações de entrada e saída de dados.   O dispositivo principal desta área de atividade de uma CPU é a Unidade Aritmética e Lógica (ULA), os registradores e os barramentos internos responsáveis pela interligação entre os componentes.

Desde os primórdios da computação, os projetistas tentam construir máquinas mais rápidas.   Até certo ponto, as máquinas podem ser aceleradas simplesmente aumentando a velocidade do hardware. Entretanto, se depararam com vários limites físicos.  Para começar, as leis físicas dizem que nada pode viajar mais rápido que a luz, cuja velocidade é aproximadamente de 30 cm/ns no vácuo, e 20cm/ns em fio de cobre.  Isso significa que para construir um computador com tempo de instrução de 1 nonossegundo, a distância total que os sinais elétricos podem viajar dentro da CPU, para a memória, e de volta à CPU não pode ser maior que 20 centímetros.   Logo, computadores muito rápidos precisam ser muito pequenos.  

Infelizmente, computadores rápidos produzem mais calor que os lentos e a montagem do computador em um volume pequeno torna difícil a dissipação desse calor.   Considerando tudo isso, produzir computadores cada vez mais rápidos está se tornando cada vez mais difícil e também cada vez mais caro.

O processamento basicamente pode ser efetuado de duas maneiras: processamento serial e  processamento em paralelo, dependendo principalmente da arquitetura dos componentes da CPU. 

O processamento em série ou serial é aquele efetuado por máquinas no qual cada pequena atividade do ciclo de instrução é realizada em seqüência à anterior (algumas poucas atividades podem ser realizadas simultaneamente).   É, sem dúvida, um processo lento e pouco eficiente.

Entretanto, existe outra abordagem.  Em vez de uma única CPU de alta velocidade, é possível construir uma máquina com muitas ULAs mais lentas (e mais baratas) ou mesmo CPUs completas para se obter o mesmo poder computacional a um custo menor. 

Arquiteturas diferenciadas têm simulando um paralelismo, através do "pipelining".  Este  conceito consiste em dividir o processo em estágios de realização independentes uns dos outros, e uma nova instrução pode ser iniciada sem que se tenha concluído a anterior.    Assim, várias instruções são realizadas simultaneamente, porém em estágios diferentes.
Ex: CPU com várias unidades funcionais.
               P1                          P2                             P3                               P4                             P5

Analisador
        de
 Instrução
 

  Unidade de            Cálculo de      Endereço
 

Unidade de   Busca de
    Dados
 

Unidade de Execução de Instruções
 

Unidade de    Busca de   Instrução
 
                                   
                                                                                                                                    
                                                                                                                                                                  
                                                                                                                                              


Ciclos de Máquina (sem pipelining)

 
 




             
                             Instrução 1                                                     Instrução 2

 





                        Instrução1
 


                                        Instrução 2
 


                                                           Instrução 3
 


                                                                                  Instrução 4
Há três abordagens para as máquinas que visam o paralelismo no processamento:

* SISD : Single Instruction, Single Date (fluxo único de instrução e de dados);

* SIMD - Single Instruction, Multiple Data (fluxo único de instrução e múltiplo de dados) que operam com múltiplos conjuntos de dados em paralelo (ALU vetorial capaz de  executar uma única operação entre vetores, produzindo como saída um vetor resultado);

* MIMD - Multiple Instruction, Multiple Data (fluxo múltiplo de instruções e dados).  Esta arquitetura consiste em CPUs diferentes executando programas diferentes podendo ou não compartilhar a mesma memória, o que resulta em um sistema multiprocessador.

A máquina tradicional de Von Neumann tem apenas um fluxo de instruções (um programa), executado por uma única CPU, e uma memória contendo seus dados.  A primeira instrução é buscada da memória e então executada.  A seguir, a segunda instrução é buscada e executada.   Entretanto, mesmo com este modelo seqüencial, pode ser obtida uma limitada quantidade de paralelismo buscando-se e iniciando-se a próxima instrução antes que a corrente esteja terminada.  

A idéia por trás deste projeto é que a unidade de controle busca uma instrução e a entrega para uma das unidades funcionais para execução.  Enquanto isso, a unidade de controle busca a próxima instrução e a entrega para outra unidade funcional.  Esse processo continua até não poder mais, seja porque todas as unidades funcionais do tipo requerido estão ocupadas, ou porque o operando está ainda sendo processado.  Esta estratégia geral obviamente se baseia no fato de que o tempo para executar uma operação é muito maior que o tempo para buscá-la, assim ela é usada nas operações de ponto-flutuante, que  são complexas e lentas, em vez das operações com inteiros, que são rápidas.




As máquinas SIMDs operam em múltiplos conjuntos de dados em paralelo.  Ex: cálculo da temperatura média, a partir de 24 médias horárias para muitos locais.   Para cada local, exatamente o mesmo cálculo precisa ser feito, porém com dados diferentes.







A terceira categoria, MIMD, na qual CPUs diferentes executam programas diferentes, às vezes compartilhando alguma memória comum.  Ex: no sistema de reserva de passagens aéreas, reservas simultâneas prosseguem em paralelo.  

A figura abaixo mostra um sistema multiprocessador, uma máquinas MIMD usando memória compartilhada.  Cada processador tem acesso à memória compartilhada através do barramento.  Entretanto, um grande número de processadores rápidos tentando constantemente acessar do mesmo barramento, pode resultar em conflitos. 

Para resolver estes possíveis conflitos, existem outros projetos nos quais cada processador tem sua própria memória para aqueles dados que não precisam ser compartilhados.  O acesso a esta memória privada não usa o barramento principal, reduzindo significativamente o tráfego no barramento.

Outros sistemas multiprocessadores usam não apenas um barramento, mas vários para reduzir a carga.



Unidade Lógica e Aritmética - ULA  ou  ALU

A ULA é o dispositivo da CPU formada por um conjunto de circuitos lógicos e componentes eletrônicos simples que integrados executam realmente as operações lógicas e matemáticas com os dados.   Tais operações podem ser: soma; multiplicação, subtração; operação lógica AND; operação lógica OR; operação lógica XOR, operação complemento; deslocamento à direita; deslocamento à esquerda, incremento e decremento.

Qualquer operação, por mais complexa que seja, pode ser resolvida através de sua redução às operações elementares, as quais são processadas pela ULA.


Processamento em Série

Uma ULA que trabalha em série, executa as operações seqüencialmente , bit a bit. Supondo-se as entradas para o processador em série, dois registros A e B de quatro bits cada.
 

              A3     A2     A1     A0                B3      B2     B1     B0
 


O resultado será armazenado no registrador  C               C3    C2    C1    C0
 

A ULA realiza operação com A e B. bit a bit, colocando os resultados seqüencialmente nos bits do registrador C.  Cada operação elementar precisa de um impulso de relógio, e a ULA opera somente sobre um par de elementos, por isso os processadores em série são mais econômicos, apesar de serem mais lentos.
Funcionamento da ULA serial:
1. opera sobre os bits A0 e B0 e armazena o resultado em C0;
2. opera sobre os bits A1 e B1 e armazena o resultado em C1;
3. opera sobre os bits A2 e B2 e armazena o resultado em C2;
4. opera sobre os bits A3 e B3 e armazena o resultado em C3;
 

              A3     A2     A1    A0                   
                                                       
                                                                 processador em série         C3     C2    C1    C0
             B3    B2     B1     B0
 

Para completar uma operação sobre dois registros de 4 bits cada, serão necessários 4 impulsos do relógio.

Processamento em Paralelo

Uma ULA trabalha em paralelo quando efetua simultaneamente a operação sobre todos os bits que compõem cada dado.

Supondo os registradores A, B e C  utilizados no exemplo anterior, será necessário um só impulso de relógio para que o resultado seja armazenado por completo no registrador C.

 

              A0
 

              A1       
 

              A2      
                                                                                                                              C0
              A3      
                                                                                                                              C1
                                                            processador em paralelo                  
              B0                                                                                                            C2
                                                                                                                
              B1                                                                                                            C3
 

              B2      
 

              B3      
 

Um processador em paralelo trabalha simultaneamente com todos os bits dos registradores de entrada, sendo que uma operação elementar sobre 2 registradores é executada num único impulso de relógio.   Para conseguir isso, o processador paralelo utilizaria quatro circuitos operacionais elementares, seria portanto mais caro que o processador em série, porém quatro vezes mais rápido.   O processamento consiste de um único passo: operação com os registradores  A  e  B  armazenando o resultado em C.   Os microprocessadores atuais dispões geralmente de processadores em paralelo, pois com eles se atinge maior velocidade.

Processadores com dois registradores de entrada e um registrador de saída

Os dois registradores de entrada armazenam dos dados com os quais efetuará a operação.   Os três registradores são independentes entre si e seu funcionamento é análogo ao processamento em paralelo.

Processadores em paralelo com Acumulador

Neste caso, tem-se um único registrador de entrada e o segundo dado e o resultado são incorporados em um mesmo registrador especial chamado Acumulador.
1. carrega-se no acumulador o primeiro dado, procedente do registrador de entrada;
2. carrega-se no registrador de entrada o segundo dado, (os dois operandos estão agora um no acumulador e o outro no registrador de entrada);
3. a operação é realizada e o resultado dela substitui o conteúdo do acumulador.

Os microprocessadores atuais trabalham geralmente com ULA desse tipo.
 

                                                                                            
                                          processador em paralelo      
             
             

 


Função Controle

A função controle é exercida pelos componentes da CPU que se encarregam das atividades de busca, interpretação e controle da execução das instruções, bem como o controle dos demais componentes do sistema de computação e que integram a Unidade de Controle.    A área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado.   Fazendo-se uma analogia com o ser humano, podemos dizer que a área de controle é o cérebro que comanda o ato de andar, e a área de processamento são os músculos que realizam efetivamente os movimentos.

Assim, a área de controle de uma CPU realiza as atividades de:
a) busca da instrução que será executada, armazenando-a em um registrador IR ou RI;
b) interpretação das ações a serem executadas com a execução da instrução;
c) geração de sinais de controle apropriados para ativação das atividades requeridas para a execução da instrução identificada.  Esses sinais de controle são enviados aos diversos componentes do sistema, sejam internos (ULA)  ou externos (E/S).

O  diagrama de bloco (extraída do livro introdução à Organização de Computadores de Mário A. Monteiro), destaca os dispositivos básicos que devem fazer parte da CPU,  ou  (UPC) com realce para os elementos que contribuem para a realização da função controle :
* Unidade de Controle -  UC
* Relógio ou "Clock"
* Registrador de Instruções - IR ou RI
* Contador de Instruções - PC ou CI
* Decodificador de Instruções
* Registrador de endereço de Memória - REM (MAR)
* Registrador de dados da memória - RDM (MBR)

A quantidade, a complexidade e a disposição dos componentes que realizam as funções de controle variam consideravelmente entre cada modelo de equipamento, entretanto, em síntese, os dispositivos apresentados são essenciais e seu funcionamento é o mais simples.

Relógio

Os sinais de controle emitidos pela UC ocorrem em vários instantes durante o período de realização de um ciclo de instrução e, de modo geral, todos possuem uma duração fixa e igual, originada em um gerador de sinais usualmente conhecido como relógio (Clock).

A duração de cada pulso é chamada de CICLO , e a quantidade de vezes que este pulso se repete em um segundo é denominado  de  FREQÜÊNCIA (Hertz, Hz) usada para definir a velocidade da CPU. 

O ciclo de relógio ou de máquina é portanto o intervalo de tempo entre o início de um pulso e o início do pulso seguinte.   Este ciclo está relacionado à realização de uma operação elementar durante um ciclo de uma instrução.  Ocorre, entretanto, que esta operação elementar não se realiza em um só passo e, por essa razão, costuma-se dividir o ciclo de máquina em subciclos, defasadas no tempo, de modo que cada um aciona um passo diferente da operação elementar.

 

                                                                                      T1
                              
                                                                                          T2
                                             GERADOR                                           UNIDADE
                                T0                                             T3
            RELÓGIO                      DE                                                        DE
                                                                                      T4  
                                                 TEMPO                                                         CONTROLE
                                                                                           T5
 



              DIAGRAMA DE BLOCO DO CONJUNTO DE TEMPO DA ÁREA DE CONTROLE

                                                            1 SUBCICLO          
 


            T0
 

            T1
 

            T2
 

            T3
 

            T4

             
            T5
 

                          1 CICLO

DIAGRAMA DE TEMPO DO CICLO DO PROCESSADOR T0  E SEUS 5 SUBCICLOS



Instruções de Máquina

Uma instrução de máquina é a especificação de uma operação básica ou primitiva que o hardware é capaz de realizar diretamente.  O projeto de um processador é centrado no conjunto de instruções de máquina que se deseja que ele execute, ou seja, todas as possíveis instruções que podem ser interpretadas e executadas. 

Fisicamente falando (do ponto de vista do hardware), uma instrução de máquina é um grupo de bits que indica ao processador uma operação ou ação que ele deve realizar. 

Um processador possui instruções capazes de realizar os seguintes tipos de operações:
·         operações matemáticas (aritméticas, lógicas, complemento, deslocamento);
·         movimentação de dados (memória à CPU   e    CPU à memória);
·         entrada e saída (leitura e escrita em dispositivos de E/S);
·         controle (desvio da seqüência de execução, parar, etc.);

Podemos separar o grupo de bits que constitui a instrução em dois campos:
·         um campo (um subgrupo de bits) chama-se código de operação - C.Op;
·         o restante dos bits (se houver) chama-se campo de operando - Op;

Pode existir um ou mais campos de operandos na instrução, isto é, se a operação for realizada com mais de um dado, a instrução poderá conter o endereço de localização de cada um dos dados referidos nela. 
 

                 C.Op.        Operando 1         Operando 2         Operando 3

O valor binário do campo de operando pode ter mais de um significado, ou seja, o modo de localizar o dado pode variar de instrução para instrução, o que é chamado de modo de endereçamento.



Bibliografia

CAPRON, H.L. & JOHNSON, J.A. Introdução à Informática. São Paulo: PEARSON, 2004.
MONTEIRO, Mário A. Introdução à Organização de Computadores. Rio de Janeiro: LTC, 1995.
PAIXÃO, Renato Rodrigues. Manutenção de Computadores: Guia Prático. São Paulo: Érica, 2010.
TANENBAUM, Adrew S. Organização Estruturada de Computadores. Rio de Janeiro: Prentice-Hall do Brasil, 1992.
TAUB, Herbert. Circuitos Digitais e Microprocessadores. São Paulo: McGraw-Hill, 1984.


Nenhum comentário:

Postar um comentário