Buscar

ARQUITETURA DE COMPUTADORES E MICROPROCESSADORES -unidade 2

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 23 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 23 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 9, do total de 23 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

Prévia do material em texto

- -1
ARQUITETURA DE COMPUTADORES E 
MICROPROCESSADORES
UNIDADE 1 - QUAL O IMPACTO DA 
EVOLUÇÃO DOS SISTEMAS DE 
COMPUTAÇÃO EM SUA ESTRUTURAÇÃO?
Autoria: Fernando Cortez Sica - Revisão técnica: Jackson Luis Schirigatti
- -2
Introdução
Prezado estudante, nesta primeira conversa, abordaremos
alguns conceitos e as evoluções dos computadores eletrônicos.
Por que devemos conhecer a história dos computadores?
Muitos aspectos dos computadores atuais vieram das gerações
anteriores. Portanto, conhecer essa história significa conhecer
mecanismos que habitam nos computadores atuais.
Após isso, conversaremos sobre a estruturação básica dos
computadores. Que nível de detalhamento veremos
inicialmente? Dialogaremos sobre dois níveis de abstração: arquitetura e organização dos processadores. Por
que é importante aprender esses aspectos? Sabendo as particularidades de uma máquina, temos condições de
implementar sistemas de software mais eficientes, aproveitando melhor os recursos da máquina. Outro motivo
para isso é a possibilidade de criarmos nosso próprio processador. Existem, hoje, várias plataformas de
desenvolvimento que exigem menos esforços para a criação de hardware de sistemas computacionais.
Na sequência, conversaremos sobre o mapeamento das instruções em nível de hardware – a chamada linguagem
de programação . Nesse cenário, explicaremos como as instruções são executadas dentro doAssembly
processador, constituindo o “ciclo de instrução”.
Por fim, veremos duas técnicas para aumentar a eficiência computacional: pipeline e superescalaridade.
Bons estudos!
1.1 Evolução dos sistemas computacionais
Inicialmente, é interessante pontuar que os computadores acompanham a evolução da eletrônica, desde a
válvula termiônica até os atuais circuitos integrados, que têm altos índices de integração. Dá-se o nome de
integração à miniaturização e ao encapsulamento de vários componentes eletrônicos dentro de um mesmo
invólucro. Tal evolução possibilitou a construção de circuitos menores, que tiveram, como consequências mais
evidentes, as seguintes:
• maior densidade de componentes – um espaço menor pode conter muitos mais módulos 
implementados, que proverão uma maior eficiência computacional;
• menor distância para a propagação de sinais – uma menor distância proporciona um tempo menor 
de propagação de sinais. Então, tem-se a possibilidade de operar com frequências mais altas;
• memórias com maior capacidade de armazenamento e mais rápidas – os pontos anteriores 
possibilitaram memórias mais eficientes e com maior capacidade de armazenamento.
Mas qual é a história dos computadores? Responderemos a essa pergunta a seguir.
1.1.1 História dos computadores
A ideia de automatizar cálculos já chamava a atenção da humanidade há muito tempo. De acordo com Monteiro
(2007), podemos apontar, desde 3000 a.C., a existência de dispositivos mecânicos de auxílio aos cálculos:
• em 3000 a.C., havia a utilização do Ábaco ou soroban pelos povos da China e da Mesopotâmia;
• em 1500, uma calculadora mecânica é criada por Leonardo da Vinci;
• em 1642, um contador mecânico para somar e para subtrair é criado por Blaise Pascal;
• em 1673, houve uma concepção de calculadora por Leibniz, que a baseou na máquina de Pascal, 
•
•
•
•
•
•
•
- -3
• em 1673, houve uma concepção de calculadora por Leibniz, que a baseou na máquina de Pascal, 
adicionando-lhe as operações de multiplicação e de divisão;
• em 1801, Joseph Jacquard automatizou a produção de tecelagem. O desenho da trama do tecido era 
armazenado em cartões perfurados;
• em 1823, iniciaram os trabalhos de Charles Babbage na Royal Astronomical Society of Great Britain, que 
deram origem ao primeiro computador mecânico programável – a máquina analítica.
O computador de Babbage era capaz de armazenar 1000 números de 20 dígitos. A sua programação se baseava
na utilização de instruções aritméticas e de desvios – (saltos). Hoje, desvios são encontrados nas diversasjumps
linguagens de programação (desvios condicionais e não condicionais).
Com a evolução das pesquisas sobre eletricidade, após os trabalhos de Nikola Tesla e a invenção dos motores
elétricos, no século XIX, as máquinas de cálculo também evoluíram. Surgiram, então, os dispositivos baseados
nas máquinas de Pascal e de Babbage com motores elétricos.
Outros lançamentos importantes para o aparecimento dos computadores como os conhecemos atualmente
foram os seguintes.
Cartão perfurado
Em 1889, foram desenvolvidos, por Herman Hollerith, o cartão perfurado (de acordo com a ideia de Jacques
Jacquard) e uma máquina que classificava e ordenava informações.
Calculadora com relés eletromecânicos
Em 1935, foi criada, por Konrad Zuse, uma calculadora com relés eletromecânicos.
Computador baseado em relés eletromecânicos
Em 1941, foi criado, por Konrad Zuse, o Z3, primeiro computador baseado em relés eletromecânicos.
Com a invenção das válvulas termoiônicas, os projetos de computadores deixaram de utilizar os relés (ou
componentes mecânicos) e passaram a ser completamente eletrônicos. 
•
•
•
Você o conhece?
Ada Lovelace foi a primeira pessoa a codificar um programa para computador,
escrevendo-o para a máquina analítica de Babbage. A linguagem de programação Ada
(criada em 1982) foi batizada em homenagem a ela. Para saber um pouco mais de Ada
Lovelace, acesse a reportagem de Sousa (2020, on-line).
Acesse
https://conhecimentocientifico.r7.com/ada-lovelace/.
- -4
1.1.2 Geração dos computadores
Os computadores mecânicos já apresentavam ideias que seriam mais bem exploradas nos computadores
eletrônicos: a criação de uma linguagem de programação; estruturas de entrada e de saída de informações; e
módulo central de processamento. Veremos, então, as gerações dos computadores.
• Primeira geração (1940-1952)
Como mencionamos, a primeira geração foi marcada pela utilização de válvulas termoiônicas. Tivemos, como
primeiro computador construído nessa geração, o ENIAC (Electronic Numerical Integrator and Computer), com
suas 30 toneladas e com suas 18 mil válvulas. Esse computador foi desenvolvido por John Mauchly e por John
Eckert, entre os anos de 1943 e 1946, na Universidade da Pensilvânia (Estados Unidos).
Inicialmente, o ENIAC realizaria cálculos balísticos para atender a demandas militares da Segunda Guerra
Mundial. Porém, em função do atraso na construção, não foi colocado em operação a tempo. A sua primeira
missão, de fato, foi frente à construção da bomba de hidrogênio.
A performance do ENIAC era na casa de 5000 adições por segundo, empregando operandos representados no
sistema de numeração decimal, que foi herdado dos dispositivos mecânicos. A sua programação era baseada nas
posições de chaves e de cabos.
Além do ENIAC, destacaram-se o EDVAC ( ), construído emElectronic Discrete Variable Automatic Computer
1946; e o computador desenvolvido no IAS ( , da Universidade de Princeton), porInstitute for Advanced Studies
John von Neumann, em 1952.
Duas inovações do computador de von Neumann foram a utilização de memória para que o programa fosse
armazenado na ocasião de seu processamento; e a dissociação do módulo de controle do módulo responsável
pelo processamento das instruções. A ideia de programa armazenado faz você lembrar-se de algo? Sim, essa é a
filosofia dos computadores atuais! A figura “Módulos funcionais do IAS”, a seguir, ilustra a estruturação do IAS.
•
- -5
Figura 1 - Modelos funcionais do IAS
Fonte: STALLINGS, 2017, p. 14.
#PraCegoVer: na figura, a memória principal e o equipamento de E/S são representados por paralepípedos
verticais de cor verde: a memória principal está à esquerda da imagem, enquanto a unidade central de
processamento está à direta. No centro da imagem, entre a memória principal e o equipamento de E/S, está a
unidade central de processamento, que é composta por dois submódulos: a unidade lógico-aritmética (que
recebe os operandos) e a unidade de controle (que recebe as instruções). Esses submódulos estão indicados em
cubos, que, igualmente, são verdes. Setasbidirecionais ligam a memória principal aos submódulos da unidade
central de processamento; e os submódulos da unidade central de processamento ao equipamento de E/S. Os
submódulos da unidade central de processamento (unidade lógico-aritmética e a unidade de controle) também
são interligados por setas bidirecionais.
Na figura “Módulos funcionais do IAS”, podemos notar a presença destes módulos:
• memória principal – assim como acontece nos computadores atuais, a memória visa a armazenar 
instruções, operandos e resultados;
• unidade lógica-aritmética (ULA) – executa as operações aritméticas e lógicas;
• unidade de controle (UC) – decodifica e gera sinais de controle;
• equipamento de E/S – promove a interface entre o computador e o ambiente externo.
•
•
•
•
- -6
Temos mais duas contribuições do IAS. Uma é a utilização do termo “palavra” para denotar a unidade básica de
armazenamento e de transferência das informações – no caso, a palavra era de 40 bits (representada no formato
binário). A segunda contribuição foi a utilização do termo “registrador” para as estruturas de armazenamento
internas à ULA e à unidade de controle (MBR, MAR e PC):
• registrador de de memóriabuffer (MBR – ) – faz a interface entre CPU e Memory Buffer Register
memória para enviar e para receber dados da memória;
• registrador de endereço de memória (MAR – ) – junto com o MBR, o MAR Memory Address Register
também faz parte da interface entre CPU e memória. Armazena o endereço de memória a ser manipulado;
• registrador de instrução (IR – ) – armazena a instrução a ser executada;Instruction Register
• registrador de de instruçãobuffer (IBR – ) – armazena a próxima instrução Instruction Buffer Register
a ser executada;
• contador de programa (PC – ) – contém o endereço de memória da próxima instrução Program Counter
a ser executada;
• acumulador e quociente-multiplicador (AC e MQ, respectivamente) – armazenam os operandos e o 
resultado gerado pela ULA.
As instruções do IAS eram agrupadas de acordo com a sua funcionalidade. Sendo assim, eram mapeadas
instruções para transferência de dados (memória-registrador e registrador-registrador), para desvio
incondicional; para desvio condicional; para manipulações aritméticas; e, finalmente, para modificação de
endereço.
Nessa geração, outra ideia tomou força: a arquitetura de Harvard (1945). A arquitetura de Harvard separa a
memória de dados da de instruções. Para tanto, faz uso de barramentos específicos dessas memórias para a CPU,
tornando possível a busca simultânea de instruções e de dados. Isso possibilitou avanços na computação atual,
como o e os processadores RISC ( – em português, computador compipeline Reduced Instruction Set Computer
conjunto de instruções reduzidas).
O que são pipeline e RISC? Conversaremos sobre ambos os conceitos em momentos oportunos.
Outros lançamentos da primeira geração, de acordo com Stallings (2017), são os seguintes: UNIVAC (construído,
em 1947, pela ); IBM-700 (1952); IBM-701 (1953); e IBM-702 (1955).Eckert-Mauchly Computer
• Segunda geração (1952-1964)
A segunda geração foi impulsionada pela invenção do transistor, em 1948, por William Shockley (físico da Bell 
Labs). Os transistores substituíram, com eficiência, as válvulas termoiônicas, proporcionando uma drástica
redução do tamanho dos equipamentos e um aumento nas capacidades de processamento e de memória.
•
•
•
•
•
•
Você o conhece?
Alan Turing pode ser considerado o pai da computação. Suas pesquisas
proporcionaram a criação da inteligência artificial e culminaram na concepção dos
computadores atuais. Para saber mais sobre ele, acesse o texto de Nunes (2012).
Acesse
•
http://www.dsc.ufcg.edu.br/~pet/jornal/junho2012/materias/historia_da_computacao.html
- -7
Nessa geração, aparecerem os núcleos de ferrite, os tambores e as fitas magnéticas como dispositivos de
memória; linguagens de programação como o FORTRAN e o COBOL; e os primeiros sistemas operacionais – os
“monitores” (STALLINGS, 2017).
Merecem, também, destaques os seguintes fatos:
• fundação da companhia DEC (Digital Equipment Corporation) em 1957 e o lançamento do computador 
PDP-1 (que marcou o início da geração de minicomputadores);
• lançamento, pela IBM, dos modelos 7090 (1960), 7094 I (1962) e 7094 II (1964).
Dentre as inovações do IBM-7094 que se fazem presentes nos computadores atuais, podemos destacar o
processador dedicado de E/S. Com o processador de E/S, a CPU não apresenta mais a funcionalidade de
controlar as operações de entrada e de saída, ficando, então, dedicada ao processamento efetivo. A troca de
informações entre a CPU e o processador de E/S era baseada na utilização de um buffer de dados – razão pela
qual o nome buffering (buferização) foi atribuído a essa inovação. A figura a seguir ilustra a estrutura para 
buffering.
Você quer ver?
O transistor é construído a partir de materiais semicondutores (por exemplo, o
silício). Ao silício, são adicionadas impurezas (como fósforo e boro), criando uma
desestabilização em sua estrutura atômica, tornando-o carregado positivamente ou
negativamente. Essa carga com excesso ou de íons positivos ou de íons negativos
permite um controle do fluxo dos elétrons. Para saber mais desse assunto, acesse o
vídeo de GV Ensino (2013).
Acesse
•
•
https://www.youtube.com/watch?v=a8mo9EQZ2p4&list=PLFfpdsnO_HS_h-1s1VCFPuFrC-P9btyfb&index=2.
- -8
Figura 2 - Arquitetura básica do IBM-7094
Fonte: STALLINGS, 2017, p. 21.
#PraCegoVer: a figura ilustra a interligação entre a unidade central de processamento e a memória por meio de
um elemento denominado multiplexador. Os três elementos estão representados na porção esquerda da
imagem, em caixas de cor laranja, de acordo com o seguinte ordem: unidade central de processamento,
multiplexador e memória. As relações entre os três elementos são marcadas por setas bidirecionais, que indicam
a retroalimentação de seus processos. Do multiplexador, derivam múltiplos canais de dados, que, por sua vez,
são ligados aos dispositivos de E/S. Temos, como dispositivos de E/S, a unidade de fita magnética, a perfuradora
de cartões, a impressora de linha, a leitora de cartões, o tambor, o disco, as hiperfitas e o equipamento de
teleprocessamento. Todos os canais de dados estão contidos em caixas de cor laranja, e sua relação com o
multiplexador é marcada por setas bidirecionais. Alguns canais de dados interagem entre si: a unidade de fita
magnética, a perfuradora de cartões, a impressora de linha e a leitora de cartões; o tambor e o disco; e o disco, as
hiperfitas e o equipamento de teleprocessamento.
Na figura “Arquitetura básica do IBM-7094”, aparece um módulo multiplexador, que consiste em um seletor,
sendo capaz de selecionar, a cada momento, o canal de dados que transportará as informações entre a CPU e os
dispositivos de E/S.
- -9
dispositivos de E/S.
• Terceira geração (1964-1971)
Nessa época, surgiram os circuitos integrados, encapsulando milhares de transistores em uma região de silício.
Isso proporciou um grande salto na miniaturização dos computadores e um aumento na capacidade de
processamento e de armazenamento de dados. Muitas das inovações também estão presentes nos computadores
atuais:
• utilização de semicondutores e de discos magnéticos nas memórias interna e externa – houve 
diminuição do tempo de acesso às informações e aumento da capacidade de armazenamento;
• técnica de spool ( ) – com o , o multiplexador de E/S Simultaneous Peripheral Operation On-Line spool
da segunda geração foi substituído por um módulo que possibilitava o tráfego de dados de forma 
simultânea aos dispositivos de E/S;
• aparecimento da multiprogramação – houve avanços dos sistemas operacionais multiprogramados, 
como o CTSS/MIT, que deu origem ao MULTICS, que, por sua vez, evoluiu para o UNIX.
Merecem destaques, na terceira geração, os seguintes equipamentos.
• IBM System 360 (1964)
Consistiu em uma família de computadores que se diferenciavam apenas em relação ao custo, à
capacidade de memória, à quantidadede canais de E/S e à capacidade de processamento. Todos os
modelos rodavam o sistema operacional OS 360.
• DEC PDP-8 (1964)
Foi um minicomputador da DEC direcionado ao segmento não coberto pela IBM de minicomputadores.
• PDP-8
Introduziu o termo OEM ( – em português, fabricante original deOriginal Equipment Manufacturers
equipamento) para designar a produção de módulos por terceiros.
Outro ponto a ser observado no PDP-8 é a introdução de uma estrutura, denominada omnibus, para a
interconexão de seus módulos internos. O omnibus contribuiu para a idealização dos barramentos atuais.
• Quarta geração (a partir de 1971)
Alguns autores dividem o período a partir de 1971 em duas gerações, que são marcadas pelo aparecimento dos
circuitos integrados baseados em VLSI (Very Large Scale Integration – em português, integração em larga escala)
e pelo aparecimento do ULSI (Ultra Large Scale Integration – em português, integração em ultra-escala). Porém,
para que a nossa conversa fique mais objetiva, vamos focar em como VLSI e ULSI integram apenas uma geração:
a quarta geração.
•
•
•
•
•
•
•
•
Você quer ler?
Gordon Moore, cofundador da Intel, em 1965, profetizou que a capacidade (e o
número de transistores) de um processador dobraria a cada 18 meses. Essa profecia
ficou conhecida como Lei de Moore. Para saber mais do assunto, acesse a matéria de
Markoff (2016).
Acesse
http://www1.folha.uol.com.br/tec/2016/05/1768028-lei-de-moore-esta-se-esgotando-e-tecnologia-busca-sucessores.shtml.
- -10
Quando se fala em ULSI, dizemos que, dentro de um circuito integrado, podemos encontrar milhões de
transistores. Atualmente, cada transistor se encontra na casa dos nanômetros (10-9 m). A microeletrônica (10-6
m) e a nanoeletrônica possibilitaram o surgimento de microprocessadores e de multiprocessadores altamente
eficientes e de baixo consumo.
Quanto às linguagens de programação surgidas na quarta geração, citamos C++, SQL, JAVA. Há, ainda, os sistemas
operacionais de rede e os distribuídos.
1.2 Arquitetura convencional de computadores
Ao conversarmos sobre a terceira geração, mais precisamente sobre o lançamento do IBM-360, mencionamos o
termo “família”. Mas o que é uma família de computadores/processadores? Para respondermos a essa pergunta,
falaremos, antes, de outros dois termos: arquitetura e organização de computadores.
Os termos arquitetura e organização nos darão uma noção da abstração do processador quanto à separação da
parte visível da parte não visível ao programador. Em algumas situações, é conveniente que conheçamos a
estruturação do processador, para que possamos construir sistemas mais eficientes e otimizar o código para o
processador em questão. Outra situação que temos é a necessidade de implementarmos sistemas de baixo nível,
como a codificação do núcleo ( ) de um sistema operacional e implementação de um compilador ou de um kernel
.device driver
1.2.1 Conceitos de arquitetura e de organização
Para facilitar o entendimento dos conceitos, vamos comparar os termos “arquitetura” e “organização” com uma
função do contexto da programação. Uma função consiste em seu protótipo (nome da função, tipo de retorno e
lista de parâmetros) e na sua codificação. Podemos dizer que o protótipo se relaciona com a arquitetura do
processador. Sendo assim, o programador, para utilizá-la, não precisa saber como foi implementada, mas, sim,
Acesse
Vamos Praticar!
Agora que conversamos um pouco sobre as gerações de computadores, faça uma
pesquisa; escolha uma máquina de cada geração; e identifique, para cada modelo, os
seguintes parâmetros: tamanho físico (pode ser peso ou espaço ocupado); capacidade
de armazenamento da memória; e capacidade de processamento (podem ser, por
exemplo, instruções por segundo ou qualquer outra métrica de performance que você
encontrar, especificando-a). Reflita como a evolução contribui com nossos parques
computacionais.
http://www1.folha.uol.com.br/tec/2016/05/1768028-lei-de-moore-esta-se-esgotando-e-tecnologia-busca-sucessores.shtml.
- -11
processador. Sendo assim, o programador, para utilizá-la, não precisa saber como foi implementada, mas, sim,
como evocá-la em seu código. Assim é, também, nos processadores. Para implementarmos um sistema no qual
temos de usar instruções em , precisaremos saber apenas a arquitetura.Assembly
Notemos alguns aspectos relacionados à arquitetura do processador.
Conjunto de instruções
Cada família de processadores (ou seja, conjunto de processadores com a mesma arquitetura) exporta o mesmo
conjunto de instruções.
Mecanismos de entrada e de saída (E/S) 
Os dispositivos de E/S (ou I/O – ), como os seus métodos de acesso, devem ser de conhecimento doInput/Output
programador, para que possa prover, aos seus sistemas, as funcionalidades inerentes à busca e à gravação de
informações nos dispositivos externos.
Técnicas de endereçamento
Conhecer os modos de endereçamento do processador faz com que possamos implementar, por exemplo, a parte
do SO responsável pelo gerenciamento da memória.
Tamanho dos tipos de dados
Saber o tamanho da palavra e, consequentemente, os tamanhos (em ) utilizados nos tipos de dados (taisbytes
como e ) é útil na implementação de sistemas mais econômicos frente à memória.char float
Pinagem do processador
Corresponde ao protótipo da função (ou seja, relaciona a interface do processador com os demais componentes
da placa).
Registradores
Para codificarmos, por exemplo, ou rotinas de interrupção, faz-se necessário saber o conjunto dedevice drivers
registradores.
Por sua vez, a organização de computadores se relaciona aos aspectos de implementação interna do
processador. O seu conhecimento não é importante para programador, que pode tomar o processador como uma
caixa-preta.
Conheça exemplos de itens da organização dos computadores!
Sinais internos
de controle Servem para ativar e para sincronizar os módulos do processador.
Forma de
implementação
das instruções
Corresponde à própria implementação do hardware.
- -12
Hierarquia dos
m ó d u l o s
funcionais
Estabelece que um processador é composto por diversos submódulos. Cada
implementação pode interconectá-los de forma distinta, mesmo no caso de
processadores da mesma família.
Tamanho do 
pipeline
Devido à quantidade de estágios que o formam, pode influenciar a performance de
processamento. Lembre-se de que conversaremos sobre mais à frente.pipeline
Quantidade de
unidades
superescalares
Este é outro aspecto importante da organização dos computadores. Cada projeto de
processador pode ter uma quantidade distinta de módulos replicados. Também
conversaremos sobre superescalaridade adiante.
Para concluir a nossa conversa sobre os assuntos arquitetura e organização, podemos afirmar que, mesmo
dentro de uma mesma família, dois processadores produzidos por empresas diferentes (como a Intel e a AMD)
têm organizações distintas.
Independentemente da família e da organização, todos os processadores seguem a filosofia de programa
armazenado. Mas o que vem a ser isso? Esse é o próximo assunto de nossa conversa.
Teste seus conhecimentos
(Atividade não pontuada)
1.2.2 Máquina de programa armazenado
Tanto o IAS quanto a máquina de Harvard usavam a ideia de programa armazenado. Diante disso, faz-se
necessária uma estruturação capaz de fornecer, ao processador, as instruções a serem executadas e os
respectivos operandos, conforme mostra a figura “Estruturação básica de um computador”.
- -13
Figura 3 - Estruturação básica de um computador: composição segundo uma abstração de alto nível; e 
decomposição do processador em submódulos
Fonte: Elaborada pelo autor, baseada em STALLINGS, 2017.
#PraCegoVer: a figura é formada por dois círculos azuis. O primeiro ilustra a composição básica de um
computador: módulos E/S, memória principal e unidade central de processamento. Esses três módulos que
aparecem dentro do primeiro círculo azul, em círculos de cor laranja, estão interconectados pelo barramento do
sistema. Relacionado ao primeiro círculo por um envoltóriopontilhado, há um segundo círculo azul, que
decompõe a unidade central de processamento em submódulos: registradores, ALU e unidade de controle. Esses
três submódulos são, por sua vez, interconectados pelo barramento interno; e também estão em círculos de cor
laranja.
A figura “Estruturação básica de um computador” indica que um computador consiste em uma interconexão de
módulos que podem ser decompostos em submódulos. A decomposição da figura seguiu uma abordagem top-
 (de cima para baixo), em que um módulo é decomposto por módulos que são especializados e têm menordown
complexidade de implementação.
Ainda em relação à figura “Estruturação básica de um computador”, podemos perceber que o computador pode
ser decomposto pelos seguintes módulos:
- -14
• CPU – é o módulo principal do computador e executa as instruções dos programas. Para tanto, cada 
instrução é lida da memória e carregada na CPU;
• memória principal – armazena as instruções, as informações a serem executadas e as informações de 
controle;
• E/S (entrada/saída) – são representados pelos controladores e pelos dispositivos de E/S, como 
controladores de teclado e de vídeo e HD ( );Hard Disk
• barramento do sistema – cabe ao barramento do sistema prover a interconexão entre o processador, a 
memória e os dispositivos de E/S. Deve, também, prover mecanismos de sincronização e de 
gerenciamento, para que os intercâmbios de informações sejam realizados de forma segura e eficiente.
O que representam os submódulos pertencentes à CPU? Conversaremos sobre isso a seguir.
1.3 Unidade Central de Processamento
Ainda há pouco, mencionamos que a CPU pode ser decomposta nos seguintes submódulos: unidade de controle,
registradores, ALU e barramento interno. Mas quais são as funcionalidades de cada um deles? Responderemos,
agora, a esse questionamento:
• registradores – são células de memória do processador das quais dependem o carregamento de 
instruções, os dados a serem processados e as informações de controle;
• ALU – contém o hardware para executar instruções aritméticas (como a adição) e lógicas (como a 
comparação de magnitude);
• barramento interno – provê a interconexão dos módulos da CPU;
• unidade de controle – é responsável pelo gerenciamento do processamento e, também, pelo fluxo de 
informações dentro do processador.
Os registradores podem ser dos tipos GPR (General Purpose Registers – em português, registradores de
propósito geral) e registradores de estado e de controle. A função dos GPR é armazenar as informações a serem
processadas e as resultantes de processamento. Os registradores de estado e de controle armazenam
informações úteis ao gerenciamento e à sincronização das etapas da instrução e dos módulos internos ao
processador. Como exemplo de registradores de estado e de controle, podemos citar MBR, MAR, IR, PC. Você se
lembra deles? São os mesmos de quando falamos sobre o IAS.
Além do MBR, do MAR, do IR e do PC, podemos citar, ainda, os seguintes registradores, de acordo com Stallings
(2017).
I/O AR ( )input-output address register
É um registrador da interface processador-dispositivo de I/O e armazena o endereço de I/O a ser manipulado.
•
•
•
•
Vamos Praticar!
Uma das preocupações relacionadas a um computador é a sua performance. Faça uma
pesquisa e reflita sobre como os elementos básicos podem influenciar essa
performance. Por exemplo, caso tenhamos duas máquinas distintas, poderemos
afirmar que a melhor máquina é a que apresenta a maior frequência de ?clock
•
•
•
•
- -15
É um registrador da interface processador-dispositivo de I/O e armazena o endereço de I/O a ser manipulado.
I/O BR ( )input-output buffer register
Armazena a informação manipulada entre a CPU e o dispositivo de I/O cujo endereço consta em I/O AR.
Flags
S erve para armazenar o estado da última operação da ULA. Assim, é possível informar se a última operação da
ULA resultou em um valor nulo ( zero); se resultou em um valor negativo ( sinal); e, ainda, se o valorflag flag
produzido extrapolou a capacidade de representação numérica ( ). Oportunamente, veremos umflag overflow
exemplo em que manipula o registrador .Assembly flags
Voltando às funcionalidades do processador, falamos que o processador gera sinais de controle para realizar as
etapas do ciclo de instrução. Veremos, agora, o que vem a ser ciclo de instrução.
1.3.1 O ciclo de instrução
As instruções são agrupadas em razão de suas funcionalidades e dos módulos ativados por ocasião de suas
execuções. De forma geral, as instruções são agrupadas em quatro grupos (STALLINGS, 2017):
• processador-memória – fornece instruções que executam transferência de dados entre o processador 
e a memória;
• processador-E/S – permite que informações sejam intercambiadas entre o processador e os módulos 
de E/S; 
• processamento – desempenha o processamento propriamente dito. Para executar uma instrução de 
processamento, as informações a ser manipuladas deverão ter sido carregadas previamente nos 
registradores;
• controle – são aquelas que podem, por exemplo, modificar o fluxo de processamento, como acontece 
com os desvios condicionais.
Para que uma instrução seja executada, são necessárias várias etapas desde a sua busca na memória até a
efetivação do resultado. Essas etapas são chamadas de ciclo de instrução, conforme ilustra a figura “Etapas do
ciclo de instrução”, a seguir.
Figura 4 - Etapas do ciclo de instrução
Fonte: Elaborada pelo autor, 2020.
#PraCegoVer: a figura ilustra um ciclo de cinco etapas: buscar instrução da memória; decodificar instrução;
•
•
•
•
- -16
#PraCegoVer: a figura ilustra um ciclo de cinco etapas: buscar instrução da memória; decodificar instrução;
buscar operandos; execução; e escrita dos resultados ( ). Cada etapa surge dentro de uma caixawrite-back
laranja. Setas unidirecionais (da esquerda para direita) relacionam as cinco etapas. A última seta parte de escrita
dos resultados e retorna à etapa inicial, buscar instrução de memória, indicando que o processo se
retroalimenta. A etapa de buscar instrução apresenta um código associado: IR=Mem[PC]; PC = PC + 1. Por sua
vez, a etapa de decodificar instrução apresenta uma subdescrição associada: geração de sinais de controle.
Na figura “Etapas do ciclo de instrução”, o ciclo se repete a cada instrução, realizando as seguintes operações:
• busca da instrução – nesta etapa, transfere-se, do sistema de memória para o registrador IR, a 
instrução cujo endereço é referenciado pelo registrador PC. Após a transferência para o IR, o PC é 
incrementado para que transfira a instrução subsequente ao próximo ciclo de busca;
• decodificação – proporciona a geração de sinais para ativar módulos específicos do processador e para 
proporcionar direcionamento de fluxos para os dados;
• busca dos operandos – após a decodificação, o processador saberá qual classe de instrução será 
executada e, consequentemente, quais serão as fontes das informações a serem manipuladas. Dessa 
forma, realiza-se a busca dos operandos associados à instrução a ser executada;
• execução – representa a execução propriamente dita;
• escrita dos resultados ( )write-back – efetiva os valores resultantes do processamento da instrução.
Conversamos, aqui, sobre registradores, sobre classes de instrução, sobre ciclos de instrução e sobre outros
elementos. Mas como podemos colocar tudo isso em prática? Exemplificaremos isso com conserva sobre a
linguagem Assembly.
1.3.2 Linguagem Assembly
A linguagem representa, na forma de itens mnemônicos, as instruções exportadas pelo processador.Assembly
Cada processador apresenta o seu próprio : caso escrevermos, por exemplo, um programa em Assembly Assembly
do ARM, esse não poderá ser compilado para o x86. Mas como é a sintaxe do ? Para respondermos aAssembly
essa questão, tomemos, como exemplo, um trecho de código escrito em um hipotético. O referidoAssembly
trecho ilustra a tradução do comando “ ” em .if Assembly
mov , [ ] Reg1 Reg2 ; Reg1 = conteúdo da posição de mem. apontada porReg2
mov , Reg3 10 ; Reg3 = 10
sub , Reg1 Reg3 ; Reg1 = Reg1 - Reg3
js p_else ; desvio para p_else se esteja sinalizadaflag sinal
<sequência_if> ; codificação relativa ao if
jump p_final ; desvio não condicional para p_final
p_else: ; rótulo denominado p_else
<sequência_else> ; codificação relativa ao else
p_final: ; rótulo denominado p_final
<restante_do_código> ; sequência após o desvio condicional
Vamos, antes, fazer algumas considerações. A quantidade de operandos (itens a serem manipulados) pode variar
de arquitetura para arquitetura. No nosso caso, as instruções poderão manipular, no máximo, dois operandos.
Sendo assim, teremos a seguinte instrução:
•
•
•
•
•
- -17
instrução , operando_destino operando_fonte
No caso do “ ”, o operando à esquerda corresponde tanto à fonte quanto ao destino do resultado da operação.sub
Caso o manipulasse três operandos, teríamos esta instrução:Assembly
instrução , operando_destino operando_fonte1, operando_fonte2
Os comentários, no código, estão precedidos por ponto-e-vírgula.
Voltando, então, ao código, percebemos que, na primeira linha, ocorre a instanciação, por meio do comando “mov
” (movimentação de dados), do registrador “ ” com o conteúdo da posição de memória referenciado peloReg1
registrador “ ”. Na segunda linha, é realizada a instanciação do registrador “ ” com o valor 10.Reg2 Reg3
Quando é realizada a operação “ ” na terceira linha, é instanciado o registrador . Caso a subtração resultesub flags
em 0, o zero é instanciado em 1; caso a subtração resulte em um valor negativo, o sinal é instanciado em 1.bit bit
O é utilizado como parâmetro da quarta linha: instrução “ ” ( ). A instrução faz com que o fluxoflags js jump sinal js
de processamento seja desviado para o rótulo “ ” (um rótulo marca uma posição de memória) caso o p_else bit
 valha 1 – ou seja, caso a subtração anterior tenha gerado um valor negativo. Sendo assim, o trechoflag sinal
identificado como “ ” somente será executado se o resultado da operação de subtração for maior<sequência_if>
ou igual a zero. Consequentemente, o trecho “ ” será executado se o resultado da operação de<sequência_else>
subtração gerar um valor negativo.
A instrução “ ” corresponde a um desvio não condicional (como o comando “ ” da linguagem C/C++). Nojump goto
caso do código, o desvio não condicional direciona o fluxo de processamento ao rótulo “ ” – saindo dap_final
estrutura .if/else
Exibimos apenas um Assembly hipotético, para que pudéssemos mostrar o que seria programar em Assembly –
o estilo da programação. Em Assembly, temos de planejar, instrução por instrução, o que o computador deverá
fazer.
1.4 Tendências atuais
Os processadores modernos englobam várias técnicas para aumentar a sua performance. Dentre essas técnicas,
destacam-se mecanismos que embutem paralelismo para a execução das instruções.
Inicialmente, vamos apresentar duas técnicas comumente usadas nos processadores atuais: o e apipeline
superescalaridade.
Vamos Praticar!
Atualmente, existem vários modelos de microprocessadores e de microcontroladores.
Faça uma pesquisa das diferenças entre um microprocessador e um
microcontrolador. Depois, veja a estruturação dos registradores e os tipos de
instruções de, por exemplo, um microprocessador PIC.Assembly
- -18
1.4.1 Pipeline
O consiste em antecipar o início da execução da próxima instrução. Em um processamento puramentepipeline 
sequencial, o início da próxima instrução é feito quando a instrução corrente completar todo o seu ciclo de
instrução. No , a busca de uma nova instrução pode ser iniciada quando a instrução atual estiver em suapipeline
etapa de decodificação. Mas o toma por base apenas as etapas do ciclo de instrução? Não! Na verdade,pipeline
cada etapa pode ser quebrada, ainda, em várias microinstruções.
Para facilitar o entendimento disso, vamos adotar um processamento de sinais para um equipamento biomédico.
Vamos supor que sejam necessárias quatro etapas: 1) aquisição de sinais a partir de um transdutor; 2) pré-
processamento, como a aplicação de transformadas numéricas; 3) processamento efetivo; e 4) pós-
processamento, como plotagem de gráficos e atuação eletromecânica.
Agora, imaginemos dois cenários, como indica a figura “ Processamento puramente sequencial (a) e
processamento baseado em pipeline (b)”. Em (a), temos o processamento das quatro etapas realizado no modo
puramente sequencial. Em (b), temos a execução baseada em pipeline. Para o nosso exemplo, assuma que todas
as etapas gastem o mesmo tempo de processamento.
- -19
Figura 5 - Processamento puramente sequencial (a) e processamento baseado em pipeline (b)
Fonte: Elaborada pelo autor, 2020.
#PraCegoVer: a figura mostra duas planilhas – (a) e (b) –, tendo, como linhas, as etapas de processamento de
sinais (aquisição de sinais, pré-processamento, processamento e pós-processamento); e, como colunas, as
marcações de tempo (de 1 até 12). O processamento é feito frame (quadro) a frame. Em (a), que retrata o
processamento sequencial, temos, para o frame 1, a ocupação dos tempos 1, 2, 3 e 4. O processamento do frame 2
ocorre nos momentos 5, 6, 7 e 8. Finalmente, o frame 3 ocupa os momentos subsequentes: 9, 10, 11 e 12. Por sua
vez, (b) ilustra o processamento com pipeline. No tempo 1, temos a aquisição do frame 1. No tempo 2, há o pré-
processamento do frame 1 simultaneamente à aquisição do frame 2. No tempo 3, ocorrem o processamento do 
frame 1, o pré-processamento do frame 2 e a aquisição do frame 3. Em 4, há o processamento do frame 1, o
processamento do frame 2 e o pré-processamento do frame 3. No momento 5, há o pós-processamento do frame
2 e o processamento do frame 3. Finalmente, no tempo 6, há o pós-processamento do frame 3, totalizando as
etapas requeridas para o processamento de sinais.
Na figura “Processamento puramente sequencial (a) e processamento baseado em pipeline (b)”, acima, no
sistema com , cada etapa é processada por um hardware específico. Para que o módulo não fique ocioso,pipeline
transferirá o seu resultado ao módulo seguinte (por meio de de transferência) assim que finalizar umbuffers
processamento; e iniciará o processamento da nova informação. Dessa forma, o tempo total do processamento
do conjunto de diminui, embora o tempo de processamento de cada permaneça inalterado. O idealframes frame
é que o mantenham todos os módulos processando alguma informação; e que haja a vazão de um pipeline frame
finalizado por unidade de tempo – no caso dos processadores, uma instrução sendo completada por unidade de
tempo.
- -20
Para o nosso caso hipotético, com a aplicação do mecanismo de , conseguimos reduzir, pela metade, opipeline
tempo de processamento dos três . Em função da defasagem do início do processamento de cada ,frames frame
podemos falar que o realiza um “pseudoparalelismo”.pipeline
Falamos que o é uma técnica baseada no pseudoparalelismo. A superescalaridade, seria um paralelismopipeline
pleno? Conversaremos sobre isso a seguir.
1.4.2 Superescalaridade
Uma arquitetura é superescalar caso apresente replicações de suas unidades funcionais. Os processadores atuais
utilizam essa filosofia junto com o pipeline para que se tenha altas performances computacionais. A figura “Parte
de um processador hipotético superescalar”, a seguir, simplifica a parte de uma arquitetura hipotética dotada de
estrutura superescalar. Os módulos “Soma FP”, “Mult FP” e “Unidade inteiros” denotam módulos responsáveis
por realizar soma/subtração de ponto flutuante (floating point – FP); multiplicação/divisão de ponto flutuante; e
operações que envolvem operadores inteiros, respectivamente.
Você sabia?
Você sabia que é possível fazer sistemas de software com abordagens baseadas em 
 e em superescalaridade? Para isso, podemos realizar as implementações compipeline
“ ”. As se comportam como funções independentes entre si – ou seja,threads threads
podem ser executadas paralelamente, compartilhando o mesmo espaço de
endereçamento (por exemplo, podendo acessar as mesmasvariáveis globais). Para
saber mais sobre , você poderá procurar pela biblioteca (threads pthread POSIX
). Se quiser ter uma ideia inicial, acesse o texto de Garcia (2017): threads https://www.
embarcados.com.br/threads-posix/.
https://www.embarcados.com.br/threads-posix/
https://www.embarcados.com.br/threads-posix/
- -21
Figura 6 - Parte de um processador hipotético superescalar simplificado
Fonte: Elaborada pelo autor, 2020.
#PraCegoVer: a figura ilustra uma conexão entre a memória e um de instruções. Desse debuffer buffer
instruções, representado em um caixa laranja, deriva uma linha que interliga todos os módulos de
processamento, indicados em caixas azuis: “Soma FP”, dois módulos “Mult FP” e três módulos “Unidades de
inteiros”. Dos módulos “Soma FP” e “Mult FP”, sai uma linha que direciona os resultados para o “Banco de
registradores FP”, de que, por sua vez, deriva uma linha bidirecional para a memória. Dos módulos “Unidade
inteiros”, direcionam-se resultados ao “Banco de registradores inteiros”, de que, por fim, deriva uma linha
bidirecional rumo à memória (interligando-se à saída bidirecional do “Banco de registradores FP”).
Na figura “Parte de um processador hipotético superescalar simplificado”, a memória alimenta, com instruções, o 
de instruções, que, após a decodificação, direciona-as aos módulos de processamento correspondentes. Abuffer 
superescalaridade é alcançada pela replicação de “Mult FP” e de “Unidades de inteiro”. Os bancos de
registradores são específicos para os tipos de dados – ou seja, existem registradores GPR para o armazenamento
apenas de valores de ponto flutuante (interagindo com os módulos que processam informações do tipo ponto
flutuante). Temos, também, registradores GPR que armazenam apenas valores inteiros (conectados apenas aos
módulos de processamento de valores inteiros).
Você quer ler?
O processador é um exemplo de processador atual que utiliza, dentreIntel Core-i7
outras técnicas, as abordagens de e de superescalaridade. Para saber mais dopipeline
assunto, você poderá acessar o texto de Telles (2009).
Acesse
https://www.ic.unicamp.br/~ducatte/mo401/1s2009/T2/042348-t2.pdf
- -22
Existem outros mecanismos e estruturações para que tenhamos um aumento da capacidade de processamento.
Na figura “Parte de um processador hipotético superescalar simplificado”, podemos dividir a memória em
memória de instruções e em memória de dados, tal como ocorre na arquitetura Harvard.
A mesma divisão é encontrada na cache nível 1 (level 1; L1): cache L1 de instruções e cache L1 de dados. Tais
mecanismos e estruturações serão abordados ao longo de nossas conversas.
Teste seus conhecimentos
(Atividade não pontuada)
Conclusão
Nesta primeira conversa, falamos sobre os aspectos iniciais dos computadores; sobre suas gerações; sobre sua
estruturação básica; sobre como as instruções são executadas; sobre duas técnicas para aumentar o poderio de
processamento.
Esperamos ter contribuído com seus estudos, apresentando-lhe conteúdos capazes de sustentar o seu
desenvolvimento estudantil e profissional; e, com isso, ajudá-lo em análises e em tomadas de decisões quanto ao
desenvolvimento de sistemas (tanto de software quanto de hardware) e à implantação de parques
computacionais.
Nesta unidade, você teve a oportunidade de:
• identificar as particularidades de arquitetura e de organização, de modo a poder reconhecer e a analisar 
famílias de processadores;
• identificar os computadores frente ao seu contexto histórico, relacionando os pontos inerentes a cada 
geração às características dos atuais computadores;
• tomar conhecimento do funcionamento e analisar os impactos do e da superescalaridade sobre pipeline
o funcionamento do computador;
• identificar e analisar os pontos que impactam no desempenho computacional.
Vamos Praticar!
Faça uma pesquisa e reflita sobre como a arquitetura Harvard está presente nos
processadores atuais. Os processadores da Intel seguem o padrão Harvard? São
superescalares? Têm ? E os processadores ARM?pipeline
•
•
•
•
- -23
Referências
GARCIA, F. D. Threads POSIX. , [ ], 13 mar. 2017.Embarcados S. l.
Disponível em: .https://www.embarcados.com.br/threads-posix/
Acesso em: 24 out. 2020. 
MARKOFF, J. Lei de Moore está se esgotando e tecnologia busca
sucessores. , São Paulo, 17 maio 2016. DisponívelFolha de São Paulo
em: https://www1.folha.uol.com.br/tec/2016/05/1768028-lei-de-
.moore-esta-se-esgotando-e-tecnologia-busca-sucessores.shtml
Acesso em: 24 out. 2020.
MONTEIRO, M. A. . 5.Introdução à organização de computadores
ed. Rio de Janeiro: LTC, 2007.
NUNES, M. Alan Turing: o pai da computação. , Campina Grande, jun. 2012. Disponível em: Jornal PETNews
. Acesso em: 23http://www.dsc.ufcg.edu.br/~pet/jornal/junho2012/materias/historia_da_computacao.html
out. 2020.
SOUSA, I. – Biografia e sua importância na tecnologia. Conhecimento Científico, [ ], 7 fev. 2020.Ada Lovelace S.l.
Disponível em: . Acesso em: 22 out. 2020.https://conhecimentocientifico.r7.com/ada-lovelace/
STALLINGS, W. . 10. ed. São Paulo: Pearson, 2017.Arquitetura e organização de computadores
TELLES, B. O Processador Intel Core i7. , Campinas, 2009. Paulo Cesar Centoducatte Disponível em: 
. Acesso em: 27 out. 2020.https://www.ic.unicamp.br/~ducatte/mo401/1s2009/T2/042348-t2.pdf
TRANSISTOR #02 – Histórico e funcionamento do transistor. [S. l.], 25 fev. 2013. 1 vídeo (14 min). Publicado pela
instituição GV Ensino. Disponível em: https://www.youtube.com/watch?
. Acesso em: 24 out. 2020.v=a8mo9EQZ2p4&list=PLFfpdsnO_HS_h-1s1VCFPuFrC-P9btyfb&index=2
https://www.embarcados.com.br/threads-posix/
https://www1.folha.uol.com.br/tec/2016/05/1768028-lei-de-moore-esta-se-esgotando-e-tecnologia-busca-sucessores.shtml
https://www1.folha.uol.com.br/tec/2016/05/1768028-lei-de-moore-esta-se-esgotando-e-tecnologia-busca-sucessores.shtml
http://www.dsc.ufcg.edu.br/~pet/jornal/junho2012/materias/historia_da_computacao.html
https://conhecimentocientifico.r7.com/ada-lovelace/
https://www.ic.unicamp.br/~ducatte/mo401/1s2009/T2/042348-t2.pdf
https://www.youtube.com/watch?v=a8mo9EQZ2p4&list=PLFfpdsnO_HS_h-1s1VCFPuFrC-P9btyfb&index=2
https://www.youtube.com/watch?v=a8mo9EQZ2p4&list=PLFfpdsnO_HS_h-1s1VCFPuFrC-P9btyfb&index=2
	Introdução
	1.1 Evolução dos sistemas computacionais
	1.1.1 História dos computadores
	Você o conhece?
	1.1.2 Geração dos computadores
	Você o conhece?
	Você quer ver?
	IBM System 360 (1964)
	DEC PDP-8 (1964)
	PDP-8
	Você quer ler?
	Vamos Praticar!
	1.2 Arquitetura convencional de computadores
	1.2.1 Conceitos de arquitetura e de organização
	Teste seus conhecimentos
	1.2.2 Máquina de programa armazenado
	Vamos Praticar!
	1.3 Unidade Central de Processamento
	1.3.1 O ciclo de instrução
	1.3.2 Linguagem Assembly
	Vamos Praticar!
	1.4 Tendências atuais
	1.4.1 Pipeline
	Você sabia?
	1.4.2 Superescalaridade
	Você quer ler?
	Vamos Praticar!
	Teste seus conhecimentos
	Conclusão
	Referências

Continue navegando