Вы находитесь на странице: 1из 16

Introduo

A Arquitetura de Computadores o projeto conceitual e fundamental da estrutura


operacional de um sistema computacional. o estudo dos requisitos necessrios
para que um computador funcione e de como organizar os diversos componentes
para obter melhores desempenhos.
Como os computadores entenderam qualquer tipo de dispositivo capaz de receber
uma entrada e que retorna uma sada aps realizar uma srie de operaes com
base nos valores recebidos e armazenados

2- Estrutura e Funcionamento da CPU


Diferentemente do que muitas pessoas imaginam, a unidade central de
processamento (CPU) o 'crebro' do computador. a funo da CPU executar
programas armazenados na memria buscando as instrues, examinando e
executando-as uma aps a outra. A CPU composta por vrias pores, so elas:
Unidade de controle, Unidade lgica e aritmtica e registradores. esses
componentes da CPU so conectados entre si por barramentos. Barramentos
podem ser entendidos como linhas de comunicao que permitem a interligao
entre dispositivos internos ou externos.
A Unidade de controle responsvel por buscar as instrues na memria e
determinar o seu tipo e pode ser pensada como uma mquina de estados finitos.
A unidade lgica e aritmtica responsvel por executar operaes como adio, e
AND booleano, entre outras, para executar as instrues.
Os registradores presente na CPU so memrias pequenas e de alta velocidade
para armazenar resultados temporrios e controle de informaes. Existem vrios
tipos de registradores de uso geral ou especfico. O mais importante deles o
contador do programa (PC - Program Counter). Este contador indica a prxima
instruo a ser buscada para execuo. Outro de grande importncia o
Registrador de instruo (Instruction Register), que contm a instruo executada no
momento em questo.
A seqncia de eventos ao longo de um ciclo de instruo da seguinte forma 1)
Trazer a prxima instruo da memria para o registrador;
2) Alterar o contador de programa para indicar a prxima instruo;
3) Determinar o tipo de instruo trazida;
4) Se a instruo utilizar uma palavra na memria, determinar onde esta palavra
est;
5) Trazer a palavra para dentro de um registrador na CPU, se precisar;
6) Executar a instruo;
7) Armazenar o resultado e voltar para a etapa 1 para iniciar a execuo da
instruo seguinte.

3- O Conceito de Ciclo de Instruo

Um ciclo de instruo (tambm chamado de ciclo de busca e execuo ou ciclo


busca-execuo) o perodo de tempo no qual um computador l e processa
uma instruo em linguagem de mquina da sua memria ou a sequncia de aes
que a UCP realiza para executar cada instruo em cdigo de mquina num
programa.
A expresso "ciclo de busca e execuo" tambm muito usada, pois descreve em
essncia o modo como um computador funciona: a instruo deve
ser buscada na memria principal e depois executada pela UCP. Deste ciclo
emergem todas as funes do computador que so familiares para o usurio final.

O ciclo de instruo
Cada UCP de computador pode ter vrios ciclos diferentes, baseados em diferentes
conjuntos de instrues.
O ciclo de execuo de uma instruo dividido nos seguintes estados:
1. Clculo do endereo de memria que contm a instruo
2. Busca da instruo (Instruction Fetch)
3. Decodificao da instruo
4. Clculo do endereo dos operandos
5. Busca do operando (Operand Fetch)
6. Execuo da operao
7. Armazenamento do resultado em um endereo de memria

4- Arquitetura RISC e CISC


Arquitetura RISC
Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de
Instrues (RISC) uma linha de arquitetura de processadores que favorece um
conjunto simples e pequeno de instrues que levam aproximadamente a mesma
quantidade de tempo para serem executadas. A maioria dos microprocessadores
modernos so RISCs, por exemplo, DEC Alpha, SPARC, MIPS, e PowerPC. O tipo
de microprocessador mais largamente usado em desktops, o x86, mais CISC do
que RISC, embora chips mais novos traduzam instrues x86 baseadas em
arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando
prioridade de execuo.
Os processadores baseados na computao de conjunto de instrues reduzidos
no tm micro-programao, as instrues so executadas diretamente pelo
hardware. Como caracterstica, esta arquitetura, alm de no ter microcdigo, tem o
conjunto de instrues reduzido, bem como baixo nvel de complexidade.
A idia foi inspirada pela descoberta de que muitas das caractersticas includas na
arquitetura tradicional de processadores para ganho de desempenho foram
ignoradas pelos programas que foram executados neles. Mas o desempenho do
processador em relao memria que ele acessava era crescente. Isto resultou
num nmero de tcnicas para otimizao do processo dentro do processador,
enquanto ao mesmo tempo tentando reduzir o nmero total de acessos memria.
RISC tambm a arquitetura adotada para os processadores dos videogames
modernos, que proporcionam um hardware extremamente dedicado somente
execuo do jogo, tornando-o muito mais rpido em relao a micro computadores
com mais recursos, embora com processador x86.
Caractersticas da Arquitetura RISC
A arquitetura RISC possui caractersticas especficas que tem como objetivo tratar
os problemas e limitaes da arquitetura CISC. Entre as principais caractersticas da
arquitetura RISC esto os seguintes:

Menor quantidade de instrues e um conjunto de instrues com tamanho


fixo;

Execuo otimizada de Chamada de Funes (CALL);

Menor quantidade de modos de endereamento;

Modo de execuo com Pipelining.


4

Arquitetura CISC
CISC (sigla para Complex Instruction Set Computer, ou, em uma traduo literal,
"Computador com um Conjunto Complexo de Instrues"): uma linha de
arquitetura de processadores capaz de executar centenas de instrues complexas
diferentes sendo, assim, extremamente verstil. Exemplos de processadores CISC
so os 386 e os 486 daIntel.
Os processadores baseados na computao de conjunto de instrues complexas
contm uma micro-programao, ou seja, um conjunto de cdigos de instrues que
so gravados no processador, permitindo-lhe receber as instrues dos programas e
execut-las, utilizando as instrues contidas na sua micro-programao. Seria
como quebrar estas instrues, j em baixo nvel, em diversas instrues mais
prximas do hardware (as instrues contidas no microcdigodo processador).
Como caracterstica marcante esta arquitetura contm um conjunto grande de
instrues, a maioria deles em um elevado grau de complexidade.
Examinando do ponto de vista um pouco mais prtico, a vantagem da arquitetura
CISC que j temos muitas das instrues guardadas no prprio processador, o que
facilita o trabalho dos programadores de linguagem de mquina; disponibilizando,
assim, praticamente todas as instrues que sero usadas em seus programas. Os
processadores CISC tm a vantagem de reduzir o tamanho do cdigo
executvel por j possuirem muito do cdigo comum em vrios programas, em
forma de uma nica instruo.
Porm, do ponto de vista da performance, os CISCs tm algumas desvantagens em
relao aos RISCs, entre elas a impossibilidade de se alterar alguma
instruo composta para se melhorar a performance. O cdigo equivalente s
instrues compostas do CISC pode ser escrito nos RISCs da forma desejada,
usando um conjunto de instrues simples, da maneira que mais se adequar. Sendo
assim, existe uma disputa entre tamanho do cdigo X desempenho.

Controle microprogramado;

Instrues de dois operandos ADD CX,mem;

Modos registrador-registrador, registrador-memria, e memria-registrador;

Mltiplos modos de endereamento memria, incluindo indexao (vetores);

Instrues de largura (tamanho) varivel, conforme modo de endereamento


utilizado;

Instrues requerem mltiplos ciclos de mquina para execuo, variando


tambm com o modo de endereamento;
5

Poucos registradores;

Registradores especializa
5- Registradores e paralelismo
Registradores
O registrador de uma CPU (unidade central de processamento) uma unidade de
memria capaz de armazenar n bits. Os registradores esto no topo da hierarquia de
memria, sendo assim, so o meio mais rpido e caro de se armazenar um dado.
Lembrando que os registradores so circuitos digitais capazes de armazenar e
deslocar informaes binrias, e so tipicamente usados como um dispositivo de
armazenamento temporrio.
So utilizados na execuo de programas de computadores, disponibilizando um
local para armazenar dados. Na maioria dos computadores modernos, quando da
execuo das instrues de um programa, os dados so movidos da memria
principal para os registradores. Ento, as instrues que utilizam estes dados so
executadas pelo processador e, finalmente, os dados so movidos de volta para a
memria principal.

Registradores Gerais
Nos dias de hoje os computadores necessitam de muito mais espao para
armazenar as informaes em todos os tipos de memria, a partir desse
momento,as informaes que so armazenadas por conjuntos de dgitos binrios
nos sistemas digitais internos do computador tambm tem que ser maior, ocupando
um espao de 32, 64 ou 128 bits, sendo que em perodos mais antigos essa
memria dos conjuntos de dgitos binrios possuam no mximo 16 bits.
Os sistemas digitais necessitam de comunicao com a parte de hardware do
computador, para que seja armazenado n conjuntos de dgitos binrios. Dentro dos
sistemas digitais temos os circuitos digitais capazes de realizar o armazenamento de
informaes sendo eles os registradores.
O nome utilizado para armazenar dados em um registrador carregar, embora as
palavras escrever e armazenar tambm sejam usados. A ao oposta a carregar um
registrador conhecida como ler os contedos de um registrador. A leitura consiste
simplesmente em se conectar s sadas do registrador. Assim percebe-se que a
leitura no est sincronizada com o relgio, alm disso no remove os bits do
registrador nem os modifica de nenhum modo.

Exemplos de registradores gerais

Registrador acumulador (EAX): registrador acumulador expandido


de arquiteturas 8086
6

Registradores de base (EBX): registrador de base estendido de arquiteturas


8086
Registrador contador (ECX): registrador de laos de repetio em arquiteturas
8086
Registradores de dados (EDX): registrador estendido de "contas" com
palavras de arquiteturas 8086

Registradores de base
Registradores de base so registradores que recebem o endereo-base de um dado
objeto. Este tipo de registrador oferece aos programadores um subterfgio para a
criao de "ponteiros" (variveis, contendo o caminho para um endereo no
software). Imagine-se da seguinte forma:
Um programa que, tendo dois nmeros, recebe de um outro programa outros
valores. Ento, o que se faz criar "atalhos" (path) que indicam qual valor ser
usado. Assim, havendo somente uma imagem do valor, podem ser usados os
valores, sem alter-los diretamente.
Registrador contador
Conta todas as repeties e deslocamentos, podendo ser atribudo um valor de
interrupo.
Registradores de dados
Registradores de dados so utilizados para armazenar valores, tais
como inteiros e pontos flutuante. Em algumas UCPs (CPUs, em ingls) antigas e
mais baratas, um registrador de dados especial, conhecido como acumulador, e
utilizado implicitamente em muitas operaes. O acumulador funciona como um
recipiente onde so colocados e somados valores de clculos e comparaes.
Registrador de carga paralela
O tipo mais simples de registrador um conjunto de flip-flop que so carregados a
cada ciclo de relgio. Este registrador bsico ser til como registrador de estado
em um bloco de controle, onde so carregados em todos os ciclos do relgio.
Porm, para algumas aplicaes queremos controlar se dentro desse ciclo do
relgio o registrador vai ser carregado ou apenas manter o valor anterior. Assim,
utilizaremos um registrador de carga paralela. No qual ter uma linha de carga que
controlar se o registrador carregado com entradas externas, com todas elas
carregadas em paralelo.
A entrada externa utilizada para obter o controle sobre a carga do registrador pode
ser um multiplexador 2X1, que ser colocado na frente de todos os flip-flop, no caso
de um registrador de 4 bits.
Registrador de deslocamento
Pode-se tambm deslocar os contedos de um registrador para a direita ou para a
esquerda. Deslocar a direita significa mover um bit armazenado (em um flip-flop)
para o flip-flop que lhe est direita. Por exemplo: Se um registrador de quatro bits
7

armazena originalmente 1101, ento o deslocamento direita resultar em 0110, ou


seja, perdemos o bit que estava mais direita (1), e colocamos um 0 no bit
esquerda. Basicamente temos 4 tipos desses registradores dependendo da forma
como entra e como sai a informao dos mesmos, sendo eles:

SISO: entrada em srie (serial) e uma sada em srie (serial).

PISO: entrada em paralelo e uma sada em srie (serial).

SIPO: entrada em srie (serial) e uma sada em paralelo.

PIPO: entrada paralela e uma sada paralela.


Registrador circular
A partir do momento que se tem um registrador de deslocamento, pode-se obter o
registrador circular, que nada mais que uma variao do registrador de
deslocamento. Essa variao consiste em uma adio de rotao no registrador, ou
seja, o bit que sai, volta. Assim, o bit que estiver mais direitacao do registrador
ser automaticamente deslocado para o bit que estiver mais esquerda. Este
registrador precisa de algum recurso para que possa alocar alguma informao no
registrador, sendo este recurso por deslocamento ou carga paralela.
Paralelismo
Um processador superescalar aquele no qual so usadas vrias pipelines de
instruo independentes. Cada pipeline tem diversos estgios, podendo manipular
vrias instrues a cada instante. O uso de vrias pipelines introduz um novo nvel
de paralelismo, possibilitando processar diversos fluxos de instruo de cada vez.
Um processador superescalar explora o que conhecido como paralelismo no nvel
de instruo, que diz respeito ao nvel em que instrues de um programa podem
ser executadas em paralelo. Se os dados de entrada de uma instruo dependem
da sada produzida por uma instruo precedente, a execuo dessa instruo no
pode ser completada antes ou ao mesmo tempo em que a execuo da instruo da
qual ela depende. Uma vez que essas dependncias de dados sejam identificadas,
o processador pode executar e completar instrues em uma ordem diferente da
que ocorre no cdigo de mquina original. Computao paralela uma forma de
computao em que vrios clculos so realizados simultaneamente, operando sob
o princpio de que grande problemas geralmente podem ser divididos em problemas
menores, que ento so resolvidos concorrentemente (em paralelo). Existem
diferentes formas de computao paralela: em bit, instruo, de dado ou de tarefa. A
tcnica de paralelismo j empregada por vrios anos, principalmente na
computao de alto desempenho, mas recentemente o interesse no tema cresceu
devido s limitaes fsicas que previnem o aumento de frequncia de
processamento. Com o aumento da preocupao do consumo de energia dos
computadores, a computao paralela se tornou o paradigma dominante nas
arquitetura de computadores sob forma de processadores multincleo. Uma
abordagem alternativa para obter maior desempenho conhecida como
superpipeline. A tcnica explora o fato de que muitos dos estgios de uma pipeline
desempenham tarefas que requerem um tempo menor que a metade de um ciclo de
relgio. Tipos de Paralelismo Nvel de instrues: um nico processador deve
executar mais instrues por segundo Nvel do processador: vrios processadores
8

trabalhando juntos para a soluo do mesmo problema Paralelismo em nvel de


instruo Execuo em Pipeline O maior gargalo para a velocidade de execuo de
instrues o acesso memria. A Soluo buscar antecipadamente as
instrues na memria utilizao um buffer de pr-busca que um conjunto de
registradores que armazenam as instrues antecipadas. A Pr-busca divide a
execuo das instrues em busca e execuo efetiva. A Pipeline divide a execuo
da instruo em vrias partes, com um hardware dedicado a cada uma delas.
Arquteturas superescalares Se um pipeline bom, dois ainda melhor. Uma nica
unidade de busca de instruo busca pares de instrues e pe cada uma em um
pipeline (execuo em paralelo). No pode haver conflitos pela utilizao de
recursos. O resultado de uma das instrues no pode depender da outra. Muitos
pipelines implicam em um aumento considervel do hardware. O Uso de um nico
pipeline com diversas unidades funcionais (estgio 4 do pipeline), essas unidade
funcionais executam as operaes em uma velocidade bem mais lenta que o
processo de busca das mesmas. Paralelismo no nvel do processador Os Problemas
dos processadores so a limitao de velocidade devido a tecnologia vigente,
quanto mais rpido mais calor dissipado. O Paralelismo no nvel de instruo
aumenta o desempenho na ordem de 5 a 10 vezes. Para se ter um aumento de
desempenho da ordem de 50, 100 ou mais, necessrio recorrer a computadores
com mais de um processador Computadores Matriciais Problemas cientficos:
estrutura regular de dados, a exemplo de matrizes.Mesmos clculos efetuados em
diversos conjuntos de dados ao mesmo tempo. Duas solues de paralelismo para
solucionar os problemas cientficos: Processador matricial Processador vetorial O
Processador matricial composto por um grande nmero de processadores
idnticos. Cada processador executa a mesma sequncia de instrues em
conjuntos de dados diferentes, possui uma nica unidade de controle que envia
instrues em broadcast (difuso) para todos os processadores. O Processador
Vetorial muito parecido com o processador matricial, as operaes aritmticas so
realizadas em uma nica ULA operando em pipeline, trabalha com registradores
vetoriais isso registradores convencionais que podem ser carregados por meio da
execuo de uma nica instruo, que os carrega de modo serial. Processador
matricial x vetorial Processadores matriciais so eficientes apenas para clculos
idnticos em conjuntos distintos de dados, so mais rpidos que os processadores
vetoriais, necessitam de um maior hardware e so mais difceis de programar. O
Processamento vetorial pode ser incorporado a processadores convencionais,
operaes vetorias so executadas mais rapidamente. Multiprocessadores
Composto por vrios processadores independentes que compartilham a mesma
memria. As atividades dos processadores devem ser coordenadas para que um
no interfira na atividade do outro, ou seja, gerenciar a memria que cada um usa
para no haver conflitos alm de compartilharem um barramento nico. Uma
soluo para evitar os conflitos adicionar uma memria local para cada
processador, que armazena o programa e os dados que no precisam ser
compartilhados. Com a reduo do uso do barramento compartilhado, diminui o
trfego e reduz as possibilidades de conflito. Outra soluo para os conflitos
baseado no uso de memria cache. Multicomputadores Comunicao por meio de
troca de mensagens. Existem topologias especiais de interconexo, impossibilidade
de se interligar todos os computadores, ocorre ento o roteamento de mensagens
9

entre os computadores. Transmisso em torno de alguns microsegundos, existem


sistemas de multicomputadores com 10.000 processadores. Sistemas
multiprocessadores so mais fceis de programar, sistemas multicomputadores so
mais fceis de constuir. Existe ainda a soluo do sistema hbrido, neste caso.
Porm a Iluso de compartilhamento de memria, sem a dificuldade da
implementao real. Multincleo (mltiplos ncleos, do ingls multicore) consiste em
colocar dois ou mais ncleos de processamento (cores) no interior de um nico
encapsulamento (um nico chip). O sistema operacional trata cada um desses
ncleos como um processador diferente. Na maioria dos casos, cada unidade possui
seu prprio cache e pode processar vrias instrues simultaneamente. Adicionar
novos ncleos de processamento a um processador (nico encapsulamento)
possibilita que as instrues das aplicaes sejam executadas em paralelo, como se
fossem 2 processadores distintos. Os dois ncleos no somam a capacidade de
processamento, mas dividem as tarefas entre si. Por exemplo, um processador de
dois ncleos com clock de 1.8 GHz no equivale a um processador de um ncleo
funcionando com clock de 3.6 Ghz, e sim dois ncleos de 0.9. A arquitetura de multithreads executadas simultaneamente (SMT Simultaneous Multithreading) oferece
um aumento no desempenho do processador a um custo reduzido no aumento da
rea do die tipicamente, um ganho de 20% na performance a um custo de 5% a
mais de transistores. O ganho de perfomance vem da melhor utilizao dos recursos
do processador e da mitigao do impacto causado pela latncia da memria; j o
baixo aumento da rea vem do aproveitamento de caractersticas j existentes nos
processadores super-escalares. Intel Hyper-Threading Technology (HTT) HyperThreading ou hiperprocessamento uma tecnologia usada em processadores que o
faz simular dois processadores tornando o sistema mais rpido quando se usa
vrios programas ao mesmo tempo. Apesar do foco da tecnologia Hyper-Threading
ser os processadores para servidores de rede, os processadores da srie Intel
Core2 (Extreme Edition) e Intel Core (i3,i5 e i7) usufruem dessa tecnologia
proporcionando at 12 ncleos totais (i7 980x). Essa tcnica foi criada para oferecer
maior eficincia na utilizao dos recursos de execuo do processador. Segundo a
Intel, a Hyper-Threading oferece um aumento de desempenho de at 30%
dependendo da configurao do sistema. A simulao do segundo processador
feito utilizando partes no aproveitadas do processador na previso de desvio do
pipeline. Estas partes so conhecidas como bolhas do pipeline e no teriam utilidade
nenhuma desperdiando ciclos. Simulando em um nico processador fsico dois
processadores lgicos, cada processador lgico recebe seu prprio controlador de
interrupo programvel (APIC) e um conjunto de registradores. Os outros recursos
do processador fsico como cache de memria, unidade lgica e aritmtica,
barramentos, so compartilhados entre os processadores lgicos, parecendo assim
um sistema com dois processadores. Os aplicativos que mais se beneficiam do HT,
de uma forma geral, so os aplicativos de compresso de udio e vdeo,
compactao e descompactao de arquivos, aplicativos de renderizao 3D e
alguns jogos. Os ganhos so mais expressivos em ambientes multitarefa. Falando
em software, significa que o sistema operacional pode enviar tarefas para os
processadores lgicos como se estivesse enviando para processadores fsicos em
um sistema de multiprocessamento, e o impacto sobre o desempenho o mesmo de
ter dois processadores reais. Um efeito colateral do Hyper-Threading o aumento
10

do consumo de energia e, conseqentemente, a dissipao trmica do processador


em 6 a 8%. comum que a temperatura do processador suba 5 ou 6 graus, o que
pode prejudicar a estabilidade do sistema, caso a ventilao dentro do gabinete no
seja boa e o processador j esteja trabalhando prximo limite. Os aplicativos que
costumam apresentar perdas mais frequentes de desempenho so, sobretudo os
aplicativos do dia-a-dia, como navegadores, editores de texto e planilhas. Turbo
Boost O Turbo Boost permite o aumento dinmico da velocidade de clock da CPU,
quando necessrio. O Turbo Boost ativado quando o sistema operacional requer o
maior desempenho possvel do processador. Tal desempenho controlado via
ACPI(configurao e gerenciamento de energia), o qual suportado por todos os
principais sistemas operacionais, sendo, portanto, desnecessrio quaisquer software
ou drivers adicionais para esta nova tecnologia. HD Boost responsvel pela
compatibilidade entre CPU e programas que usam os conjuntos de instrues
SSE4(conjuntos de instrues principais). Tal caracterstica possibilita um maior
desempenho em aplicativos mais robustos que necessitam de um poder de
processamento de alto nvel. QPI QuickPath Interconnect (Interconexo de caminho
rpido) Ao invs de aumentar a frequncia ou a tenso, o recurso Intel QPI aumenta
a largura de banda (o que permite a transmisso de mais dados) e diminui as
latncias. Vale salientar que este recurso s est presente nos CPUs Intel Core i7 da
srie 900 e possibilita taxas de transferncia de at 25.6 GB/s.

11

6- Pipeline
uma tcnica de hardware que permite que a CPU realize a busca de uma ou mais
instrues alm da prxima a ser executada. Estas instrues so colocadas em
uma fila de memria dentro do processador (CPU) onde aguardam o momento de
serem executadas: assim que uma instruo termina o primeiro estgio e parte para
o segundo, a prxima instruo j ocupa o primeiro estgio.
Em resumo, o processo pelo qual uma instruo de processamento subdividido
em etapas, uma vez que cada uma destas etapas executada por uma poro
especializada da CPU, podendo colocar mais de uma instruo em execuo
simultnea. Isto traz um uso mais racional da capacidade computacional com ganho
substancial de velocidade. Entre os problemas enfrentados esto a dependncia de
instrues anteriores e desvios que dificultam o processo, bem como a diferena de
complexidade de instrues que fazem com que as mesmas possam levar um
tempo varivel para execuo.
A tcnica de pipeline utilizada para acelerar a velocidade de operao da CPU,
uma vez que a prxima instruo a ser executada est normalmente armazenada
nos registradores da CPU e no precisa ser buscada da memria principal que
muito mais lenta.

Conceito
A tcnica de pipeline semelhante a uma linha de produo de fbrica. Cada
instruo de um microprocessador passa por diversas fases at sua execuo.
Estas fases podem ser:
1-Decodificao
2-Acesso memria ou aos registradores
3-Processamento aritmtico
Se conseguirmos separar todas estas fases de forma independente, e separar cada
fase por ciclo de relgio teramos (neste exemplo) 3 ciclos por instruo. Se usarmos
uma tcnica de pipeline poderamos colocar 3 instrues ao mesmo tempo no
12

microprocessador (cada uma numa fase distinta) e termos 3 instrues em 3 ciclos


(1 instruo por ciclo idealmente). Outros problemas advm desta tcnica, como
desvios (como saber as prximas instrues), e dependncia de instrues (a
prxima depende da anterior). Na prtica todos os microprocessadores modernos
utilizam-se de vrias (dezenas) fases no processamento para usufruir
de clocks maiores (quanto menor a fase, mais rpido pode ser o ciclo)

Uso real
Algumas CPUs incluem conceitos muito mais avanados de pipeline:

Pr-decodificao: a CPU pode iniciar a decodificao de diversas instrues


(paralelamente) e antes do momento das mesmas serem executadas.

Execuo fora-de-sequncia: algumas CPUs podem alm de pr-decodificar,


executar previamente um determinado nmero de instrues. Numa etapa posterior,
a ordem de execuo verificada e os resultados das operaes so consolidados
na sua ordem correta.

Previso de desvio: caso exista uma instruo de desvio dentro do pipeline e


a sua execuo for consolidada, todas as instrues posteriores a mesma e que se
encontram na fila devem ser abortadas.

13

7- Memria
Em informtica, memria so todos os dispositivos que permitem a um computador
guardar os dados, temporria ou permanentemente. Memria um termo genrico
para designar componentes de um sistema capazes de armazenar dados e
programas. O conceito de computador digital binrio com programa armazenado
(arquitetura de Von Neumann e subseqentes) sempre baseado no uso de
memria, e no existiria sem a utilizao destas. A unidade bsica de memria o
digito binrio, ou bit. Um bit pode conter 0 ou 1. a unidade mais simples possvel.
Um sistema que armazenasse apenas um destes valores no poderia formar a base
de um sistema de memria.
H dois tipos principais:
Memria ROM - do tipo no voltil, somente de leitura e contm o conjunto
de instrues (programa) do sistema.
Memria RAM: do tipo voltil, de leitura e gravao, usada para
armazenamento dos dados gerados durante a execuo do programa
Categorias de memria
Registrador-Interno ao microprocessador e com alta velocidade e baixa capacidade
de armazenamento
Memria cach - Pequena poro de memria com alta velocidade de resposta.
Muito prxima ou at integrada aos microprocessadores
Melhora de desempenho durante a execuo de um programa.
Memria principal (memria de trabalho) - E onde devem estar armazenados os
dados a serem manipulados pelo processador
14

Memria secundria - Armazena maior quantidade de dados e instrues por um


perodo de tempo mais longo (Ex.: disco rgido, fitas magnticas)

Concluso
Toda a base da Cincia da Computao est na compreenso do funcionamento
bsico de um computador
Cada computador tem um conjunto de operaes e convenes nicas para
determinar as posies dos dados com os quais a operao ser realizada. Os
vrios computadores diferem nas operaes especficas que fornecem e nos
mtodos que usam para referenciar os dados que sero manipulados por uma
operao. Em geral uma instruo : (operao + operando).
A operao especifica a funo que ser desempenhada. Operando fornece a
maneira de calcular a posio atual dos dados com os quais a operao ser
realizada. Um programa constitudo de uma seqncia pr-determinada de
instrues, que deve ser seguida para que seja atingido o objetivo computacional.
Este programa e os dados esto armazenados na memria da mquina, desta
forma, o programa deve ser interpretado para realizao do processamento, isto , a
informao codificada correspondente s aes e aos operando deve ser entendida
e ento processada.
A memria de um sistema de computador que tem a funo de armazenar dados e
instrues; organizada em posies, que podem ser visualizadas como elementos
em uma matriz. Cada elemento tem um endereo na memria, quando um destes
nmeros aparece nos circuitos de controle conectados memria, o contedo (o
valor que est na posio) ser trazido da memria para os circuitos da unidade de
processamento ou a informao na unidade de processamento que ser
armazenada na memria, dependendo do trabalho associado com o endereo.
15

Instrues em um computador so executadas em uma seqncia determinada por


suas posies de memria. Na maioria dos computadores as instrues e dados so
distribudos em posies de memria.
A unidade lgica e aritmtica realiza aes indicadas nas instrues, executando
operaes numricas (aritmticas) e no numricas (lgicas) alm da preparao de
informaes para desvios do programa. O controle do programa e a ULA formam
a unidade central de processamento (UCP ou CPU em ingls), ou simplesmente
processador

16