Organizacao de Computadores Unidade II
-
Upload
rossimusic -
Category
Documents
-
view
25 -
download
0
Transcript of Organizacao de Computadores Unidade II
-
35
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
Unidade II3 ORGANIZAO DO COMPUTADOR
3.1 Processadores
O processador (gura 30) o crebro do computador e tambm conhecido como CPU (Central Processing Unit), ou Unidade Central de Processamento. Utiliza a linguagem de mquina, binrio 0 e 1, nos seus clculos.
Figura 30 - Modelo de processador de microcomputador [Processador]
Basicamente, o processador o responsvel por executar os programas que cam carregados na memria principal. Ele executa as instrues ou tarefas dos programas uma a uma.
As principais funes do processador, de acordo com Stallings, so:
1) Busca de instruo: l uma instruo da memria;
2) Interpretao da instruo: decodicao da instruo;
3) Busca de dados: uma instruo pode necessitar de diferentes dados da memria ou de E/S;
4) Processamento de dados: execuo aritmtica ou lgica sobre os dados;
5) Escrita de dados: os resultados podem necessitar escrever dados na memria ou em E/S.
-
36
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
Para executar as tarefas, o processador utiliza partes distintas, como Unidade de Controle, Unidade Lgica Aritmtica (ALU) (gura 31) e registradores.
Lembrete
ALU abreviao em ingls de Arithmetic Logic Unit, tambm conhecida como ULA (Unidade Lgica Aritmtica).
Unidade de controle
ALU
Registradores
Figura 31 - ALU / ULA
Fonte: TANENBAUM, 2007a.
A unidade de controle busca as informaes na memria principal.
A unidade lgica e aritmtica realiza clculos e comparaes entre valores.
Os registradores compem uma memria de alta velocidade (interna CPU) utilizada para armazenar resultados temporrios e para o controle do uxo de informaes.
Observao
Existem diferentes tipos de registradores, isto , com funes distintas; entretanto, normalmente, todos os registradores tm o mesmo tamanho.
Os registradores mais conhecidos so:
Contador de Programa: que indica a prxima instruo a ser executada.
Registrador de Instruo: que contm a instruo que est sendo executada, ou seja, a informao captada da memria cache, principal, E/S, etc.
-
37
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
Registradores de dados: so utilizados apenas para armazenar dados, no sendo empregados no clculo de endereos.
Registradores de endereos: recebem o endereo de um dado objeto. Esse registrador oferece aos programadores a possibilidade da utilizao de ponteiros.
Lembrete
Ponteiros so variveis contendo um endereo no programa.
Registrador (gura 32) o elemento superior no nvel de hierarquia de memria, por possuir a maior velocidade de transferncia dentro do sistema, estando acima da memria cache, da memria principal e da memria secundria. Estudaremos essas estruturas mais adiante. O registrador possui a menor capacidade de armazenamento e o maior custo, o tipo mais caro de memria.
ULA
A B
A + B
A + B
A
B
Registradores
Registrador de entrada da ULA
Barramento de entrada da ULA
Registrador de sada da ULA
Figura 32 - Registradores
Fonte: TANENBAUM, 2007a.
Nessa gura, temos a representao grca dos registradores de entrada que recebem os valores hipotticos A e B que sero somados na ALU e enviados ao registrador de sada. Os resultados so armazenados em registradores para novos clculos e posteriormente podem ser armazenados (escritos) em memria. A comunicao entre os registradores e a ALU acontecem por meio de barramentos internos da CPU. A seta esquerda indica o caminho dos dados; e, quanto mais rpido for esse processo, maior o desempenho do processador e do sistema computacional como um todo.
-
38
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
Resumidamente, uma operao normal do caminho de dados consiste em selecionar o contedo de um ou dois registradores, submet-lo ALU e movimentar o resultado para outro registrador.
3.1.1 Execuo da instruo
De acordo com Tanenbaum, a CPU executa as instrues atravs das seguintes etapas:
1) Trazer a prxima instruo da memria at o registrador.
2) Alterar o contador de programa para indicar a prxima instruo.
3) Determinar o tipo da instruo;
4) Se a instruo necessitar de uma palavra da memria, determinar onde essa palavra est.
5) Trazer a palavra para dentro de um registrador da CPU, se necessrio.
6) Executar a instruo.
7) Voltar etapa 1 para iniciar a execuo da instruo seguinte.
Essa sequncia chamada ciclo buscar-decodicar-executar e fundamental para a operao de todos os computadores.
Lembrete
Que o programa armazenado na memria na forma de instrues que o processador consiga interpretar, ou seja, o programa quando escrito em linguagem de alto nvel, sofre vrios nveis de traduo antes de ser executado diretamente pelo processador.
3.1.2 Clock interno
O Clock do processador ou interno um chip que emite sinais eltricos atravs de um cristal de quartzo e realiza a sincronizao entre as instrues a serem processadas. Quando as tarefas so executadas, ocorre o pulso de Clock. As oscilaes so mensuradas em hertz (Hz), unidade padro de medidas de frequncia, que indica o nmero de ciclos que ocorre em certo tempo, no caso, segundos. Desse modo, se um processador trabalha com 500 MHz, por exemplo, signica que capaz de lidar com 500 milhes de operaes de ciclos de Clock por segundo. Quanto mais Clocks, mais rpido o processador; entretanto, existem limites.
-
39
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
Lembrete
Existe outro tipo de Clock, externo CPU.
Saiba mais
3.2 RISC versus CISC
Com o avano da tecnologia, no nal da dcada de 1970 j existia uma decincia entre o que as mquinas podiam fazer e o que as linguagens de alto nvel exigiam.
A ideia que prevalecia era desenvolver processadores cada vez mais poderosos no intuito de diminuir ou extinguir a lacuna existente.
Entretanto, alguns prossionais resolveram nadar contra a corrente e passaram a pensar no desenvolvimento de mquinas mais simples. Em 1980, um grupo em Berkeley, liderado por David Patterson e Carlo Squin, criou chips de CPU e batizou com o termo RISC (Reduced Instruction Set Computer), ou computador com conjunto de instrues reduzidas, em comparao com CISC (Complex Instruction Set Computer), ou computador com conjunto de instrues complexas.
Eles acreditavam que, embora fossem necessrias mais instrues para o RISC em comparao com o CISC, se as instrues do RISC fossem mais rpidas, este teria um melhor desempenho.
A gura 32 representa uma estrutura de processamento com tecnologia RISC.
Apesar da vantagem da tecnologia RISC, a tecnologia CISC no deixou de existir; primeiro, porque existiam bilhes de dlares investidos em softwares para a arquitetura CISC (compatibilidade), e segundo, porque a Intel, a partir do 486, desenvolveu uma tecnologia hbrida, ou seja, um ncleo com RISC que executa as instrues mais simples (as mais comuns) e CISC para as mais complicadas. O resultado que instrues comuns so rpidas e as complexas, lentas.
Quase trs dcadas aps o lanamento da tecnologia RISC, aprendemos que novas tecnologias de impacto podem surgir a todo momento, tornando-se difcil e s vezes invivel sua implementao imediata; desse modo, nada mais coerente do que delimitar princpios de projeto, visando minimizar esses riscos.
Os princpios de projeto tambm visam maximizar o desempenho de sistemas computacionais. A seguir, mencionamos os mais relevantes.
-
40
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
3.3 Princpios de projeto para computadores modernos
3.3.1 Todas as instrues so executadas diretamente pelo hardware
Atualmente a recomendao que as instrues correspondam diretamente a elementos de hardware, pois antigamente era comum em estruturas computacionais adicionar uma camada de software entre o hardware e os demais programas, providenciando um novo nvel de interpretao, o microcdigo. O microcdigo oferece a possibilidade de incluir ou alterar instrues sem alterar o hardware; mas, apesar de oferecer mais exibilidade, no considerado uma boa prtica, pois o nvel adicional de interpretao acarreta perda de desempenho, que no compensa s novas instrues que possam ser adicionadas.
3.3.2 Maximize a taxa de execuo de instrues
Uma das formas de maximizar o desempenho do computador aumentar a taxa de execues de instrues por segundo, atravs do aumento da velocidade de relgio (Clock), ou atravs do paralelismo, como veremos adiante.
3.3.3 As instrues devem ser fceis de decodicar
Quanto mais simples ou menos formatos alternativos tiverem as opes de execuo de uma instruo, melhor; pois, se a instruo tiver poucos formatos, o tempo de identicao da instruo ser reduzido logo, e o tempo de processamento ser otimizado.
3.3.4 Somente Load e Store devem referenciar a memria
O acesso memria principal uma operao mais demorada. Por esse motivo, recomendado que apenas as instrues Load (leitura) e Store (gravao) tenham acesso memria.
3.3.5 Providencie muitos registradores
Quando o processador no tem um registrador disponvel para armazenar um valor resultante, ele transfere esse valor para a memria principal. Sabemos que a transferncia de dados entre o processador e a memria principal um processo mais lento do que a movimentao de dados dentro do processador; portanto, quanto mais registradores possveis, melhor.
4 PARALELISMO (PIPELINE)
4.1 Paralelismo no nvel de instruo
Conforme mencionamos, um dos caminhos para se maximizar a performance do computador aumentar a taxa de execues de instrues por segundo, aumentando a velocidade de relgio do computador. Outra forma fazer com que o processador realize atividades em paralelo.
-
41
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
O Pipeline ou Paralelismo a tcnica de dividir a execuo da instruo em vrias partes, e cada uma ser manipulada por uma parte especca do processador. A gura 33, extrada da obra de Tanenbaum, exemplica a questo.
Unidade de busca de instruo
Unidade de decodicao de instruo
Unidade de busca de operando
Unidade de execuo de
instruo
Unidade de gravao
S1 S2 S3 S4 S5
S1:S2:S3:S4:S5:
1
1
21
2
321
3
4321
4
543215
654326
765437
876548
987659
Tempo
(a)
(b)
...
Figura 33 - Modelo de Pipeline
Fonte: TANENBAUM, 2007a.
Nesse exemplo, temos cinco estgios ou unidades S1 (busca de instruo), S2 (decodicao de instruo), S3 (busca de operando), S4 (execuo) e S5 (gravao). Nove ciclos de relgio (time) e nove instrues (quadradinhos).
No primeiro ciclo, o processador busca a instruo 1, na unidade de busca de instruo; no segundo ciclo, enquanto realiza a decodificao da instruo 1, na unidade de decodificao, busca a instruo 2 na unidade de busca de instruo, e assim sucessivamente, como uma linha de montagem.
A questo que nem todas as instrues demandam o mesmo tempo para serem executadas, pois nem todas as unidades trabalham na mesma velocidade; a unidade de execuo, por exemplo, com instrues do tipo LOAD e STORE, que acessam a memria principal, so mais demoradas. A soluo so as arquiteturas superescalares, como veremos a seguir.
4.2 Arquiteturas superescalares
A Idea da arquitetura superescalar manter na unidade de execuo mais de uma ALU, uma unidade para LOAD, uma para STORE e uma de ponto flutuante ex.1,35789. Desse modo, ocorre uma compensao, pois as demais unidades so mais rpidas. A figura 34 exemplifica a questo.
-
42
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
Unidade de busca de instruo
Unidade de decodicao de instruo
Unidade de gravao
S1 S2 S3 S5
LOAD
ALU
STORE
ALU
Ponto utuante
Unidade de busca operando
S4
Figura 34 - Arquitetura superescalar
Fonte: TANENBAUM, 2007a.
Lembrete
Esse tipo de paralelismo implementado dentro do processador, ou seja, no depende de mais de um processador. Nesse tipo de design, deve ser tomado o cuidado para que as instrues sejam executadas na ordem correta.
Saiba mais
4.3 Paralelismo no nvel do processador
Por mais que consigamos aumentar o desempenho da CPU, maximizando as taxas de execuo (Clock) e implementando paralelismo no nvel de instruo, as limitaes so uma constante, pois aumentar taxas de execuo no pode ultrapassar a velocidade da luz. Outro problema a dissipao do calor, cada vez maior em relao s execues. O paralelismo no nvel de instruo, como vimos, ajuda, mas no suciente, pois exige uma grande dependncia entre as instrues. A soluo implementar paralelismo no nvel do processador, ou seja, projetar computadores com vrias CPUs. Vejamos a seguir.
-
43
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
4.3.1 Computadores matriciais
Um computador matricial aquele com grande nmero de processadores que executam o mesmo conjunto de instrues em conjuntos diferentes de dados. Esse tipo de arranjo encontra uso em aplicaes cientcas, em que um grande conjunto de dados deve ser submetido a um mesmo conjunto de frmulas. Ele no comum em computadores comerciais, mas muitos supercomputadores (especialmente os fabricados pela Cray Computing) usam um tipo especial de arranjo desse tipo, chamado processador vetorial.
4.4 Multiprocessadores
Uma forma simples de aumentar a capacidade de processamento de um computador adicionar outro processador. Essa a ideia do multiprocessador, mas isso no to simples. Sempre que fazemos algum tipo de paralelismo, deve haver alguma gura fazendo a arbitragem das tarefas que sero executadas por cada processador. Alm disso, no multiprocessador, todas as CPUs compartilham uma mesma quantidade de memria.
O acesso a essa memria deve ser controlado tambm, para que um processador no tente utilizar um espao que esteja sendo usado por outro. Normalmente essa funo desempenhada pelo sistema operacional.
A maioria dos sistemas operacionais de mercado atualmente tem alguma capacidade de multiprocessamento.
4.5 Multicomputadores
A diferena entre o multicomputador e o multiprocessador que no multicomputador cada CPU tem uma memria local que s acessada por aquele processador.
No multicomputador, pode ou no haver uma quantidade de memria compartilhada entre os processadores. Um dos problemas desses tipos de arranjo conectar todos os processadores memria. Por esse motivo, muitos projetistas abandonam a ideia da memria compartilhada e criam computadores nos quais h apenas processadores com memrias privadas. Esse tipo de arranjo normalmente chamado de fracamente acoplado, em contraste com o arranjo fortemente acoplado, que o multiprocessador.
Memria Compartilhada
CPUCPUCPUCPU
Barramento
(a)
-
44
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
CPUCPUCPUCPU
Barramento
Memrias locais
Memria Compartilhada
(b)
Figura 35 - (a) Multiprocessador de barramento nico. (b) Multicomputador com memrias locais
Fonte: TANENBAUM, 2007a.
Resumo
Nesta unidade, abordamos temas como a organizao do computador, o que so processadores, Clock, Arquitetura RISC versus CISC, entre outros.
Conhecemos essas arquiteturas e as superescalares, vimos a arquitetura do multiprocessador e de multicomputadores. Entendemos um pouco mais sobre discos magnticos e perifricos.
Exerccios
Questo 1
Organizao dos sistemas de computao
-
45
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
Em relao Arquitetura dos Computadores, analise as armativas:
I. A funo da CPU executar programas armazenados no disco rgido, buscando suas instrues, examinando-as e executando-as, uma aps a outra.
II. A CPU possui uma memria interna, de alta velocidade, usada para armazenar resultados temporrios e certas informaes de controle.
III. Um computador uma mquina composta de um conjunto de partes eletrnicas e eletromecnicas, com capacidade de coletar, armazenar e manipular dados, alm de fornecer informaes.
IV. O hardware do computador tudo aquilo que o compe sicamente. Constitu-se em hardware o prprio sistema operacional do computador e outros programas do computador.
V. O computador uma mquina programvel capaz de processar informaes com grande rapidez.
VI. Os computadores digitais so totalmente binrios, isto , trabalham apenas com dois valores, tornando assim simples o emprego da lgica booleana (Verdadeiro/Falso, Aberto/Fechado, ...) tanto na construo de componentes quanto como base para a escrita de programas.
correto o que consta em:
A. I, II, IV e VI, apenas.
B. II, III, IV e V, apenas.
C. I, III, IV e VI, apenas.
D. II, III, V e VI, apenas.
E. I, II, III, IV, V e VI.
Resposta correta: Alternativa D.
Anlise das armativas
I) Armativa incorreta.
Justicativa: A CPU executa programas armazenados na memria RAM.
II) Armativa correta.
Justicativa: A CPU utiliza a memria cache para armazenar resultados temporrios. A memria cache mais rpida que a memria RAM.
-
46
Unidade II
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
III) Armativa correta.
Justicativa: Os computadores executam quatro funes bsicas: Entrada, Processamento, Armazenamento/recuperao de dados e Sada.
IV) Armativa incorreta.
Justicativa: Sistema operacional um software.
V) Armativa correta.
Justicativa: O computador sozinho um juntado de dispositivos eletrnicos sem nenhuma funo. Pare que um computador trabalhe necessrio insero de informaes (Entrada), seguindo as instrues fornecidas pelos programas, o computador processa os dados originrios da entrada. A sada costuma ser armazenada para posterior utilizao.
VI) Armativa correta.
Justicativa: os computadores seguem a lgica clssica que constituda por 0 e 1.
Questo 2. (IFTO adaptada) Considere o diagrama de blocos geral de um multiprocessador fortemente acoplado mostrado a seguir:
Processador1
Processador2
Processadorm
E/S 1
E/S 2
E/S m
. . .
.
.
.
Rede de interconexo
Memria principal
Arquitetura e organizao de computadores
Analise a veracidade das armaes abaixo e indique a alternativa correta:
I) Neste esquema, cada processador autocontido, possuindo unidade de controle, ULA, registradores e memria cache.
-
47
Revi
so:
Am
anda
/ Di
agra
ma
o: M
rci
o -
09/0
6/11
ORGANIZAO DE COMPUTADORES
II) Mais de um processador pode participar da execuo de uma aplicao.
III) A memria pode ser organizada de modo a permitir acessos simultneos a blocos separados de memria por diferentes processadores.
IV) Cada processador pode possuir recursos prprios, no compartilhados, de memria e dispositivos de E/S.
A. Os itens I e II so falsos.
B. O item III falso.
C. O item IV falso.
D. Todos os itens so verdadeiros.
E. Todos os itens so falsos.
Resoluo desta questo na Plataforma.