Buscar

Resumos - FAC

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Capítulo 6
Unidade Central de Processamento
Funções Básicas da CPU
O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um programa.
Um programa, para ser efetivamente executado pelo processador, deve ser constituído de uma série de instruções de máquina. Para que a execução tenha início, as instruções devem ser armazenadas em células sucessivas, na memória principal. 
A função da CPU consiste, então, em:
Buscar na memória a instrução a ser executada.
Interpretar que operação a instrução está explicitando.
Buscar os dados onde estiverem armazenados.
Executar efetivamente a operação com os dados e armazenar o resultado no local definido pela instrução.
Reiniciar o processo apanhando a próxima instrução.
Estas etapas compõem o que se denomina um ciclo de instrução. Este ciclo se repete indefinidamente até que o sistema seja desligado, ou ocorra algum tipo de erro, ou seja encontrada uma instrução de parada. Em outras palavras, a CPU é projetada e fabricada com o propósito único de executar sucessivamente pequenas operações, na ordem definida pela organização do programa.
As atividades realizadas pela CPU podem ser divididas em duas grandes categorias funcionais: função processamento e função controle.
A função processamento se encarrega de realizar as atividades relacionadas com a efetiva execução de uma operação, ou seja, processar. 
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 do controle da ação dos demais componentes do sistema de computação (memória, entrada/saída).
Função Processamento
Anteriormente, já nos foi apresentado o conceito do que significa processamento de dados, a ação de manipular um ou mais valores (dados) em uma certa seqüência de passos, de modo a produzir um resultado útil. Este resultado muda conforme o tipo de operação realizada.
Processar o dado é executar com ele uma ação que produza algum tipo de resultado. Esta é, pois, a atividade-fim do sistema, uma vez que ele existe simplesmente para processar dados. Entre as tarefas comuns a esta função (processamento) podem ser citadas as que realizam:
Operações aritméticas
Operações lógicas
Movimentação de dados
Desvios
Operações de entrada ou saída
O dispositivo principal desta área de atividades de uma CPU é chamado de ALU (Unidade Lógica e Aritmética). Os demais componentes relacionados com a função processamento são os registradores, que servem para armazenar dados (ou para guardar resultados) a serem utilizados pela ALU. A interligação entre estes componentes é efetuada pelo barramento interno da CPU.
( Unidade Lógica e Aritmética – ALU
A ALU é o dispositivo da CPU que executa realmente as operações matemáticas com os dados, como por exemplo operações de deslocamento, incremento, decremento e complemento, além das operações aritméticas e lógicas já apresentadas.
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores e, por isso, a ALU possui dois registradores de entrada.
A ALU é um aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações citadas. 
( Registradores
Para que um dado possa ser transferido para a ALU, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em algum registrador. Além disso, o resultado de uma operação realizada na ALU deve ser armazenado temporariamente, de modo que possa ser reutilizado mais adiante (por outra instrução) ou apenas para ser, em seguida, transferido para a memória.
Para atender a estes propósitos, a CPU é fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados. Servem, pois, de memória auxiliar da ALU. Há sistemas nos quais um desses registradores, denominado acumulador (ACC), além de armazenar dados, serve de elemento de ligação da ALU com os demais dispositivos da CPU, conforme já explicado.
Em geral os registradores de dados da CPU têm largura (capacidade em bits) igual à da palavra. Por exemplo, o tamanho da palavra dos processadores IBM/370 era de 32 bits, a mesma largura dos registradores de emprego geral neles existentes. Além disso, a quantidade e o uso dos registradores variam bastante de modelo para modelo de CPU.
Além dos registradores de dados, a CPU possui sempre outros registradores (que não participam diretamente da função processamento), com funções específicas ou que funcionam para a área de controle. Entre estes registradores podemos citar desde já o registrador de instrução (IR – Instruction Register) e o contador de programa (PC – Program Counter), além do registrador de endereços de memória (MAR – Memory Address Register) e o registrador de dados de memória (MBR – Memory Buffer Register).
Registrador de Dados da Memória (MBR) – registrador que armazena temporariamente a informação que está sendo transferida da MP para a UCP (leitura) ou da CPU para a MP (escrita). Em seguida, a referida informação é reencaminhada para outro elemento da CPU para processamento ou para uma célula da MP, conforme o tipo da operação de transferência. 
Registrador de Endereços da Memória (MAR) – registrador que armazena temporariamente o endereço de acesso a uma 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 MP para decodificação e localização da célula desejada.
( A Influência do Tamanho da Palavra
	A capacidade de processamento de uma CPU (a velocidade com que realiza o ciclo de uma instrução) é em grande parte determinada pelas facilidades embutidas na ALU para a realização das operações matemáticas projetadas.
Um dos elementos principais para isso é a definição do tamanho da palavra da CPU. O valor escolhido no projeto de fabricação da CPU determinará o tamanho dos elementos ligados à área de processamento, entre estes, a própria ALU. Um tamanho maior ou menor de palavra (e, por conseguinte, da ALU, dos registradores de dados, do barramento interno) acarreta, sem dúvida, diferenças fundamentais de desempenho da CPU.
Vejamos um exemplo simples sobre a influência do tamanho da palavra na capacidade de processamento.
Vamos realizar a soma de dois valores, A = 3A25h e B = 172Ch, ambos números inteiros, com 16 bits. A soma será simulada em dois sistemas de computação, sistema 1 e sistema 2.
O sistema 1 possui palavra de 8 bits, e a memória principal tem 64K células de 8 bits cada uma. O sistema 2, por sua vez, possui palavra de 16 bits, e a memória principal possui um espaço de endereçamento de 1 M células, todas também de 8 bits cada uma.
Operação de soma no sistema 1
A operação é realizada em duas etapas, porque cada valor tem 16 bits e a CPU (ALU, ACC e barramento de dados) só permite armazenar, processar e transferir dados com 8 bits de tamanho.
 Na primeira etapa são transferidos para a ALU, via ACC e barramento de dados, a primeira metade de cada número (25 para o número A e 2C para o número B) e eles são somados.
Na segunda etapa a operação realizada é a mesma, exceto que desta vez é para a segunda metade dos números (3A para o número A e 17 para o número B).
A operação completa gasta um período de tempo igual a T1.
Operação de soma no sistema 2
A operação é realizada em uma única etapa, porque a CPU é fabricada para operar valores de 16 bits, mesmo tamanho dos números.
A operação completa gasta um período de tempo igual a T2.
Considerando que a operação de soma no sistema 1 é realizada em duas etapas e a mesma operação no sistema 2 é realizada em uma só etapa, o tempo T2 deve ser aproximadamente a metade do tempo T1. isto torna a capacidade da CPU do sistema 2 bem maior que a capacidade do sistema 1.
No projeto de uma CPU, a definição da palavra tem enorme influência no desempenhoglobal de toda a CPU e, por conseguinte, do sistema como um todo. Vejamos:
Influência no desempenho devido ao maior ou menor tempo na execução de instruções com operações matemáticas na ALU, conforme demonstrado no exemplo anterior.
Influência no desempenho devido ao tamanho escolhido para o barramento interno e externo da CPU. Em geral, obtém-se o máximo de desempenho quando a largura do barramento de dados é, no mínimo, igual ao tamanho da palavra. Se a largura do barramento for, por exemplo, 16 bits em um sistema com palavra de 32 bits (ALU e registradores de 32 bits), então o movimento de 4 bytes de um dado tipo caractere requererá dois ciclos de tempo de barramento, ao passo que em barramento de 32 bits requereria apenas um ciclo de tempo. 
Influência também na implementação física do acesso à memória. Embora atualmente a capacidade das memórias seja medida em bytes, o movimento de dados entre CPU e MP é normalmente medido em palavras, porque o barramento de dados que une o MBR à memória deve acompanhar em largura o valor da palavra. Para uma CPU de 32 bits de palavra, por exemplo, é desejável que a memória seja organizada de modo que sejam acessadas 4 células contíguas em um único ciclo de memória. Se isto não ocorrer, a CPU deverá ficar em estado de espera (wait state). 
Função Controle
Já sabemos que as instruções de máquina que compõem um programa em execução devem estar armazenadas seqüencialmente na memória principal (e na cache, se houver alguma). Sabemos também que a ALU é a parte da CPU responsável por realizar a operação matemática definida pela instrução que estiver sendo executada no momento. Portanto, ainda falta sabermos:
O que é e como funciona uma instrução de máquina.
Como a referida instrução de máquina é movimentada da memória para a CPU, onde na CPU ela será armazenada e como será identificada a ação que deve ser realizada. A resposta para estas indagações está no conhecimento das funções desempenhadas pela área de controle de uma CPU.
A área de controle de uma CPU é a parte funcional que realiza as seguintes atividades:
Busca da instrução que será executada, armazenando-a em um registrador especialmente projetado para esta finalidade, o IR.
Interpretação das ações a serem desencadeadas com a execução da instrução (se é uma soma, uma subtração, uma complementação etc. e como realizá-las).
Geração dos sinais de controle apropriados para a ativação das atividades requeridas para a execução propriamente dita da instrução. Esses sinais de controle são enviados aos diversos componentes do sistema, sejam internos da CPU (como a ALU) ou externos (como a memória ou E/S).
Em outras palavras, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado.
Os dispositivos básicos que devem fazer parte da área de controle:
Unidade de Controle (UC).
Decodificador.
Registrador de instrução (IR).
Contador de instrução (PC).
Relógio (Clock).
Registradores de endereço de memória (MAR) e de dados da memória (MBR).
1.2.1) Unidade de Controle
	É o dispositivo mais complexo da CPU. Além de possuir a lógica necessária para realizar a movimentação de dados e instruções de e para a CPU, esse dispositivo controla a ação da ALU. 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). 
1.2.2) Clock
	É o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de medida do relógio, denominada freqüência, a qual também usamos para definir velocidade na CPU. Um ciclo de relógio (clock cycle) ou de máquina é o intervalo de tempo entre o início de um pulso e o início do seguinte. Este ciclo está relacionado à execução de uma instrução básica. No entanto, mesmo esta instrução básica não se realiza em um só passo e, por essa razão, costuma-se dividir o ciclo de relógio em ciclos menores, em subciclos, defasados no tempo, de modo que cada um aciona um passo diferente da instrução básica.
	A unidade de medida usual para a freqüência dos relógios de CPU é o Hertz (Hz), que significa um ciclo por segundo. Como se trata de freqüências elevadas, abreviam-se os valores usando-se milhões de Hertz ou de ciclos por segundo (MegaHertz ou MHz).
	Assim, por exemplo, se um determinado processador funciona com seu relógio oscilando 25 milhões de vezes por segundo, sua freqüência de operação é de 25 MHz. E como a duração de um ciclo é o inverso da freqüência, temos sua duração de 40 ns. 
1.2.3) Registrador de Instrução - IR
	É o registrador que tem a função específica de armazenar a instrução a ser executada pela CPU. Ao se iniciar um ciclo de instrução, a UC emite um sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória (uma cópia dela), e que, via barramento de dados e MAR, será armazenada no IR.
1.2.4) Contador de Instrução - PC
	É o registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada. Tão logo a instrução que vai executada seja buscada (lida) da memória para a CPU (início do ciclo de instrução), o sistema providencia a modificação do conteúdo do PC de modo que ele passe a armazenar o endereço da próxima instrução na seqüência. Deve-se observar que o PC é um registrador crucial para o processo de controle e de seqüenciamento da execução dos programas.
1.2.5) Decodificador de Instrução
	É um dispositivo utilizado para identificar as operações a serem realizadas, que estão correlacionadas à instrução em execução. Em outras palavras, cada instrução é uma ordem para que a CPU realize uma determinada operação. Como são muitas instruções, é necessário que cada uma possua uma identificação própria e única. A unidade de controle está, por sua vez, preparada para sinalizar adequadamente aos diversos dispositivos da CPU, conforme ela tenha identificado a instrução a ser executada.
1.2.6) Reg. de Dados de Memória (MBR) e Reg. de Endereços de Memória (MAR)
	São os registradores utilizados pela CPU e memória para comunicação e transferência de informações. Em geral, o MBR possui um tamanho igual ao da palavra e do barramento de dados, enquanto o MAR possui um tamanho igual ao dos endereços da memória e, consequentemente, do barramento de endereços do sistema. pela definição do tamanho de bits do MAR podemos calcular qual o espaço máximo de endereçamento da memória principal de um computador.
- � PAGE �46� -

Continue navegando