Buscar

arquitetura s

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 115 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 115 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 115 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

ORGANIZAÇÃO E 
ARQUITETURA DE 
COMPUTADORES
Meire Higinio
-fc ser
educacional
gente criando o futuro
ORGANIZAÇÃO E 
ARQUITETURA DE 
COMPUTADORES
RE HIGINIO
ser
educacional
Presidente do Conselho de Administração Janguiê Diniz
Diretor-presidente Jânyo Diniz
Diretoria Executiva de Ensino Adriano Azevedo
Diretoria Executiva de Serviços Corporativos Joaldo Diniz
Diretoria de Ensino a Distância Enzo Moreira
Autoria Meire Higinio
Projeto Gráfico e Capa DP Content
DADOS DO FORNECEDOR
Análise de Qualidade, Edição deTexto, Design Instrucional,
Edição de Arte, Diagramação, Design Gráfico e Revisão.
© Ser Educacional 2019
Rua Treze de Maio, n° 254, Santo Amaro
Recife-PE - CEP 50100-160
*Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência.
Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. 
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio 
ou forma sem autorização.
A violação dos direitos autorais é crime estabelecido pela Lei n.° 9.610/98 e punido pelo artigo 184 do 
Código Penal.
Imagens de ícones/capa: © Shutterstock
À
1
Boxes
k
r
<s>
ASSISTA
Indicação de filmes, vídeos ou similares que trazem informações comple­
mentares ou aprofundadas sobre o conteúdo estudado.
CITANDO
Dados essenciais e pertinentes sobre a vida de uma determinada pessoa 
relevante para o estudo do conteúdo abordado.
CONTEXTUALIZANDO
Dados que retratam onde e quando aconteceu determinado fato; demons 
tra-se a situação histórica do assunto.
CURIOSIDADE
Informação que revela algo desconhecido e interessante sobre o assunto 
tratado.
DICA
Um detalhe específico da informação, um breve conselho, um alerta, uma 
informação privilegiada sobre o conteúdo trabalhado.
I EXEMPLIFICANDO
I Informação que retrata de forma objetiva determinado assunto.
EXPLICANDO
Explicação, elucidação sobre uma palavra ou expressão específica da 
área de conhecimento trabalhada.
Sumário
Unidade 1 - História, conceitos e principais modelos utilizados na atualidade
Objetivos da unidade............................................................................................................ 12
Introdução à Organização e Arquitetura de Computadores..........................................13
Histórico da arquitetura de computadores......................................................................14
Geração zero: computadores mecânicos (1642-1945)........................................ 14
Primeira geração: válvulas (1945-1955).............................................................. 15
Segunda geração: transistores (1954-1965)........................................................18
Terceira geração: circuitos integrados (1965-1980)............................................19
Gerações posteriores: VLSI (1980-atuaI)............................................................ 19
Organização de sistemas de computadores....................................................................20
Unidade Central de Processamento.................................................................. 20
Unidade de Controle, Unidade Lógica e Aritmética, Registradores.................... 21
Memória primária, memória secundária, entrada e saída..................................22
Arquiteturas RISC e CISC, pipeline.....................................................................29
Sintetizando............................................................................................................................ 33
Referências bibliográficas..................................................................................................34
Sumário
Unidade 2 - Números binários: conversões, operações, overflow, portas e álgebra 
booleana
Objetivos da unidade 36
Representação de números binários com sinal............................................................. 37
Conversão: decimal para binário....................................................................... 38
Conversão: binário para decimal....................................................................... 38
Bit de sinal........................................................................................................ 39
Aritmética binária com operandos representados em complemento para dois..... 40
Soma................................................................................................................. 41
Subtração......................................................................................................... 42
Detecção de overflow em operações de adição e subtração em binário................ 43
Nível lógico-digital............................................................................................................... 43
Álgebra booleana..............................................................................................44
Tabelas-verdade................................................................................................44
Circuitos lógico-digitais básicos.......................................................................................45
OR (ou).............................................................................................................. 46
AND (e)..............................................................................................................46
NOT (não) ou inversão.......................................................................................47
NAND................................................................................................................ 48
NOR...................................................................................................................48
XOR...................................................................................................................49
Somador............................................................................................................50
Simulador de circuitos lógico-digitais (software) 53
Sintetizando............................................................................................................................57
Referências bibliográficas................................................................................................. 58
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Sumário
Unidade 3 - Linguagens de máquina e de montagem, conjuntos de instruções e MIPS
Objetivos da unidade 60
Linguagem de máquina e linguagem de montagem (assembly language)
Linguagem de máquina.................................................................................... 62
Linguagem de montagem (assembly language)................................................ 63
Conjuntos de instruções...................................................................................................... 67
Representação das instruções..........................................................................67
Tipos de instruções........................................................................................... 68
Tipos de operandos........................................................................................... 69
Tipos de operações........................................................................................... 73
Registradores................................................................................................... 77
Instruções de linguagem de montagem MIPS.................................................................77
Carga................................................................................................................ 77
Aritméticas........................................................................................................77
Lógicas..............................................................................................................78
Operandos imediatos.........................................................................................78
Transferência de dados.....................................................................................79
Simulador de linguagem de montagem MIPS (software)............................................ 81
Sintetizando............................................................................................................................86
Referências bibliográficas................................................................................................. 87
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
4Hk
r
Unidade 4 - Organização de memória interna e externa, periféricos, multiproces- 
sadores e multicomputadores
Objetivos da unidade 89
Organização da memória.................................................................................................... 90
Hierarquia da memória..................................................................................... 90
Memória auxiliar..................................................................................................................95
Dispositivos de armazenamento.......................................................................96
Acessando periféricos....................................................................................................... 100
Entrada e saída (l/O)........................................................................................ 100
Barramentos.................................................................................................... 101
Comunicações.................................................................................................102
Interfaces.........................................................................................................102
Periféricos.......................................................................................................103
Arquiteturas paralelas........................................................................................................ 103
Multiprocessadores de memória compartilhada.............................................. 104
Multiprocessadores homogêneos em um chip.................................................105
Multiprocessadores heterogêneos em um chip............................................... 106
Tipos de sistemas de processadores paralelos e sua organização.................. 107
Multiprocessadores UMA................................................................................ 108
Multiprocessadores NUMA..............................................................................109
Multicomputadores de troca de mensagens.................................................... 109
Topologias........................................................................................................110
Propriedades................................................................................................... 111
Sintetizando.......................................................................................................................... 113
Referências bibliográficas................................................................................................ 114
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
J k
Apresentação
Prezado aluno,
Este material foi desenvolvido com o intuito de levá-lo a conhecer os com­
putadores de forma mais profunda do que um usuário comum. A partir de 
agora, você verá os computadores não apenas pelo exterior, mas terá a visão 
da sua arquitetura interna e da forma como seus sistemas são organizados.
Apesar da área de TI possuir diversos campos de atuação, existem conhe­
cimentos básicos requeridos por todas elas. Os conhecimentos que você vai 
adquirir aqui são de extrema importância em qualquer segmento que deseje 
seguir.
É importante que você leia o material diversas vezes e utilize os canais dis­
poníveis para tirar dúvidas.
Foco e dedicação serão diferenciais para que você se destaque no mercado 
de trabalho.
Seja bem-vindo!
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
A Professora Meire Higinio é pós-gra­
duada em Investigação de Fraudes e 
Forense Computacional pela Faculda­
de Impacta de Tecnologia desde 2017 
e graduada em Sistemas de Informa­
ção pela Universidade Estácio de Sá 
desde 2011. Em 2017, certificou-se em 
ITIL Foundation pela Exin. Possui mais 
de dez anos de experiência na área de 
Serviços de TI e Liderança de Equipes 
de TI.
Currículo Lattes:
http://lattes.cnpq.br/2881931647805004
Dedico este trabalho à minha esposa, à minha filha e aos meus pais, por 
sempre me incentivarem nos estudos e estarem ao meu lado nos desafios e 
conquistas da minha carreira.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
ser
educacional
Objetivos da unidade
9 Aprender sobre a evolução histórica dos computadores;
* Estudar a estrutura dos computadores através dos conceitos de organização e 
arquitetura;
* Compreender como dispositivos internos e externos se comunicam para que 
haja o funcionamento do computador.
Tópicos de estudo
• Introdução à Organização e 
Arquitetura de Computadores
• Histórico da arquitetura de 
computadores
• Geração zero: computadores 
mecânicos (1642-1945)
• Primeira geração: válvulas 
(1945-1955)
• Segunda geração: transistores 
(1954-1965)
• Terceira geração: circuitos 
integrados (1965-1980)
• Gerações posteriores: VLSI 
(1980-atual)
• Organização de sistemas de 
computadores
• Unidade Central de Processa­
mento
• Unidade de Controle, Unidade 
Lógica e Aritmética, Registrado- 
res
• Memória primária, memória 
secundária, entrada e saída
• Arquiteturas RISC e CISC, 
pipeline
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Introdução à Organização e Arquitetura de Computadores
Nesta unidade, estudaremos os 
conceitos de Organização e Arquite­
tura de Computadores e sua evolução 
até os dias de hoje. Para isso, vamos 
iniciarcompreendendoa diferença en­
tre estrutura e função do computador:
• Estrutura: é o conjunto de dispo­
sitivos que compõem um computa­
dor;
• Função: a função primordial do 
computador é executar progra­
mas. Para isso, sua estrutura pre­
cisa funcionar de forma organizada 
e harmônica.
No mundo computacional, tornou-se unânime o uso dos conceitos de Orga­
nização e Arquitetura de Computadores:
Arquitetura de computador refere-se aos atributos de um sis­
tema visíveis a um programador ou, em outras palavras, aque­
les atributos que possuem um impacto direto sobre a execução 
lógica de um programa. Organização de computador refere-se 
às unidades operacionais e suas interconexões que realizam as 
especificações arquiteturais (STALLINGS, 2010, p. 22).
Para compreender melhor, podemos utilizar como exemplo uma linha de 
computadores de determinado fabricante. Toda linha pode ter a mesma arqui­
tetura e os produtos podem parecer idênticos, porém, podem ter uma organi­
zação variada, chegando ao consumidor com preços diferentes de acordo com 
sua configuração e capacidade.
Nesta unidade, estudaremos um breve histórico da arquitetura dos com­
putadores, incluindo a arquitetura Von Neumann e sua importância para os 
modelos que são produzidos até hoje. Veremos, também, a organização de 
sistemas, as arquiteturas RISC e SISC e o conceito pipeline.
Bons estudos!
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Histórico da arquitetura de computadores
Vivemos numa era na qual a tecnologia está presente em todos os lugares, 
nos auxiliando nas mais diversas atividades e necessidades, mas nem sempre 
foi assim. Não se sabe ao certo quando surgiram as primeiras máquinas ca­
pazes de realizar cálculos, sabe-se que elas não eram digitais e dependiam do 
trabalho manual do programador.
Vamos estudar a evolução dos computadores através das quatro gerações 
para compreender suas características, funcionamento e diferenças entre uma 
geração e outra.
Geração zero: computadores mecânicos (1642-1945)
Centenas de anos antes do surgimento dos computadores elétricos já 
existiam máquinas para realizar cálculos, chamadas de computadores me­
cânicos ou geração zero. A primeira calculadora mecânica foi criada em 
meados de 1642 pelo francêsBlaise Pascal. A calculadora Pascaline era ca­
paz de realizar cálculos de adição e subtração de forma simples, já divisão e 
multiplicação, por um sistema de repetição. A máquina funcionava pelo uso 
de uma manivela.
Em 1672, Gottfried Leibniz aperfeiçoou a Pascaline, melhorando sua agilida­
de e acrescentando a função de raiz quadrada.
Em 1801, foi criado o primeiro modelo que utilizava um tecido perfurado, 
capaz de ser programado de acordo com esses furos. Esta espécie de tear foi 
criada porJoseph-Marie Jacquard.
A Máquina Analítica foi criada em 1834; tinha unidades de en­
trada e saída, unidade de memória e unidade de computação, 
similares à arquitetura utilizada nos dias de hoje.
Em 1890, Herman Hollerith criou uma máqui­
na que também utilizava a tecnologia de car­
tões perfurados, mas o seu modelo possuía 
pinos que transpassavam somente os furos 
dos cartões, podendo assim realizar os cálcu­
los necessários.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Em 1944, a IBM lançou o Mark I, computador que possuía uma estrutura gi­
gantesca e era considerado lento, porém conseguia realizar cálculos extensos.
O Primeira geração: válvulas (1945-1955)
Os primeiros computadores considerados digitais 
para uso geral contavam com a utilização de milhares 4 
de válvulas. A válvula era um dispositivo semelhante
a uma lâmpada, feita de vidro transparente e totalmen­
te fechada, com uma estrutura interna que continha ele­
trodos. Ao ser aquecida, o vácuo fazia com que os elétrons 
fossem transmitidos pela estrutura de metal para outro 
filamento, conhecido como efeito termoiônico. O problema
das válvulas era que, devido ao seu superaquecimento, consumiam muita 
energia elétrica e queimavam constantemente.
ENIAC: o primeiro computador digital
O primeiro computador digital começou a ser construído durante a Se­
gunda Guerra Mundial. O Laboratório de Pesquisa Balística (BRL) do Exér­
cito dos Estados Unidos tinha cerca de 200 pessoas realizando cálculos 
para auxiliar a artilharia. Porém, os cálculos podiam levar horas para fica­
rem prontos, processo este extremamente oneroso.
Devido à necessidade de reduzir esse tempo, iniciou-se a construção 
do primeiro computador eletrônico digital de uso geral, o ENIAC (Electro­
nic Numerical Integrator and Computer), pela parceria dos cientistas John 
Eckert e John Mauchly, ambos da Universidade da Pensilvânia. O projeto 
durou de 1943 a 1946, desta forma, não foi utilizado para o seu propósito 
inicial de auxiliar na guerra.
O gigantesco computador pesava cerca de 30 toneladas, possuía mais 
de 18.000 válvulas e consumia mais de 140.000 kilowatts. Sua capacidade 
era decimal e permitia realizar cerca de 5.000 cálculos por segundo, po­
rém, sua programação era manual e, para mudar o tipo de cálculo, era ne­
cessário reprogramar o equipamento alterando chaves e cabos. Utilizava 
cartões perfurados que na época eram fabricados pela IBM para proces­
samento de dados.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Figura 1. ENIAC. Fonte: Shutterstock. Acesso em: 04/04/2019.
O ENIAC foi utilizado para outras finalidades, entre elas, analisar a viabili­
dade de um projeto da bomba termo nuclear de hidrogênio. Em 1955, foi des­
montado e partes da sua estrutura estão expostas em diversos museus pelo 
mundo.
CONTEXTUALIZANDO
0 projeto ENIAC contou com cerca de 80 mulheres programadoras. Na 
época, elas não eram reconhecidas e não participavam dos eventos e 
premiações sobre o computador. Somente em 1997, seis delas entraram 
para o Hall Internacional da Fama de mulheres na tecnologia.
A arquitetura de John Von Neumann
Consultor do projeto ENIAC e professor de matemática na Universidade 
de Princeton, John Von Neumann acreditava que o processo de programação 
dos computadores poderia ser facilitado se os programas e os dados ficassem 
armazenados no mesmo espaço de memória (conceito de programa armaze­
nado). Em 1946, Neumann começou a trabalhar no projeto do IAS, primeiro 
computador criado pelo Instituto de Estudos Avançados de Princeton (IAS).
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
UNIDADE CENTRAL DE PROCESSAMENTO (CPU)
UNIDADE DE CONTROLE ■HlDO PROGRAMA
(CC)
MEMÓRIA EQUIPAMENTO
PRINCIPAL 9 DE E/S
(M) (E, S)
UNIDADE LÓGICA
E ARITMÉTICA
(CA) |m
Figura 2. Unidade Central de Processamento (CPU).
O IAS foi baseado na arquitetura de Von Neumann, possuía uma Unidade 
Central de Processamento que continha uma Unidade Lógica e Aritmética (CA) 
e uma Unidade de Controle do Programa (CC) que interagiam com a Memória 
Principal (M) e os Dispositivos de Entrada e Saída (E/S).
De acordo com Von Neumann, cada item tinha a seguinte função:
• Memória principal: local onde ficam armazenados os programas utiliza­
dos e os dados;
• Unidade de Processamento (CPU):
• Unidade de controle: contém as instruções que devem ser executadas;
• Unidade lógica e aritmética: responsável por executar as instruções;
• Dispositivos de entrada e saída: por onde entram as informações inseri­
das pelo usuário. Faz a interface com equipamentos externos, como mouse 
e teclado, por exemplo.
Essa arquitetura se tornou referência e é utilizada pela maioria dos compu­
tadores até os dias de hoje.
EDVAC
Em 1949, surgiu o EDVAC (Electronic Discrete Variable Automatic Computer), 
criado por Von Neumann e os mesmos criadores do ENIAC. No mesmo ano, na 
Universidade de Cambridge - no Reino Unido - foi criado o EDSAC (Electronic 
Delay Storage Automatic Calculator) por Maurice Wilker.
Em 1951, os mesmos criadores do ENIAC apresentaram sua nova máquina: 
o UNIVAC1. Ele foi o primeiro computador comercial criado e foi instalado no 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
escritório do censo dos Estados Unidos no mesmo ano. Não usava mais os co­
nhecidos cartões perfurados, mas sim fita magnética.
A IBM, que até então produzia e comercializava os cartões perfurados, lan­
çou seu primeiro computador em 1953, o IBM 701, que utilizava a tecnologia da 
fita magnética. Posteriormente, a empresa lançou vários outros computado­
res, criando uma extensa linha de equipamentos.
FORTRAN: primeira linguagem de programação
Em 1957, surgiu a primeira linguagem de programação para 
computadores: FORTRAN (FORmula TRANslation). Desen­
volvida por John Backus e sua equipe de 13 programadores,
a linguagem era considerada de alto nível e foi 
utilizada pela IBM no modelo 704. Em seguida, 
outros fabricantes desenvolveram compila­
dores para o Fortran e conseguiram assim 
produzir diversos tipos de programas para 
seus computadores.
Segunda geração: transistores (1954-1965)
O transistor era um dispositivo semicondutor, criado em 1947 para subs­
tituir as válvulas, porém, somente na década de 1950 começou a ser utili­
zado em computadores. A IBM foi pioneira no fornecimento da tecnologia 
e algumas empresas começaram a utilizá-la em pequenos computadores. 
Posteriormente, a IBM entrou no mercado com sua linha 7000. As vantagens 
da substituição das válvulas pelos transistores eram inúmeras: seu tama­
nho era menor, dissipava melhor o calor economizando energia elétrica e 
era mais resistente.
ASSISTA
0 filme Estrelas além do tempo relata o período da 
corrida espacial, quando a NASA adquiriu o IBM 7090, 
e como Katherine Johnson conseguiu estudar sozinha 
a linguagem de programação Fortran e assim operar o 
novo computador para traçar rotas e trazer de volta seus 
tripulantes em segurança.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES O
Terceira geração: circuitos integrados (1965-1980)
O circuito integrado (Cl) foi criado em 1958 e recebeu este nome pois in­
tegrava em sua estrutura de silício vários componentes como capacitores, re- 
sistores, transistores, diodos, entre outros. Tais componentes, até então, eram 
fabricados e instalados separadamente. O pequeno dispositivo revolucionou a 
eletrônica. Em 1964, a IBM lançou uma família de computadores que utilizava a 
tecnologia dos circuitos integrados: System/360.
O modelo fez tanto sucesso que colocou a IBM como maior fornecedora de 
computadoresda época, pois os programas eram compatíveis com os diversos 
modelos da mesma linha.
O Gerações posteriores: VLSI (1980-atual)
A década de 1980 foi responsável 
pela comercialização de computado­
res em larga escala para uso pessoal. 
Com o surgimento da tecnologia VLSI 
(Very Large Scale Integration), tornou- 
-se possível colocar em um único chip 
milhões de transistores, fazendo com 
que os computadores fossem ainda 
menores, mais rápidos e mais baratos.
Computadores capazes de execu­
tar múltiplas funções começaram a 
ser produzidos na década de 1990 e, 
de lá pra cá, surgiram computadores 
portáteis, computadores para carros 
e atualmente os computadores po­
dem ser integrados a diversos obje­
tos, tecnologia chamada de "internet 
das coisas" e a "computação vestível", 
utilizada em roupas, relógios e outros 
produtos que se pode usar.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Organização de sistemas de computadores
Um computador é um conjunto de módulos que possuem funções específi­
cas e se comunicam para realizar processamento de dados. Esses módulos são: 
Unidade Central de Processamento, Memória e dispositivos de entrada e saída. 
Acomunicação entre esses módulos é feita através de linhas de transmissão ou 
barramento (veremos esse item adiante).
REGISTRADORES
Figura 3. Unidade Central de Processamento (CPU).
Unidade Central de Processamento (CPU)
O processador, conhecido como Unidade Central de Processamento (CPU), é 
um chip instalado na placa-mãe do computador responsável por processar dados 
de acordo com instruções previamente armazenadas na memória principal.
Muitos confundem esse termo com toda a estrutura contida no gabinete do 
computador, mas esse conceito está incorreto.
O processador funciona de forma parecida ao cérebro humano. Ele executa ta­
refas que nos são perceptíveis e outras não. Por exemplo, não temos que lembrar 
constantemente de respirar, pois esse processo é automático, mas se precisamos 
escovar os dentes precisamos nos lembrar (buscar na memória) de como fazê-lo.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
O processador é composto por uma 
Unidade de Controle e uma Unidade 
Lógica e Aritmética. Juntamente com a 
memória e os dispositivos de entrada 
e saída realizam o processo de busca, 
leitura, execução, processamento e 
gravação das instruções previamente 
armazenadas. Esse ciclo é conhecido 
como "buscar-decodificar-executar". Figura 4. CPU. Fonte: Shutterstock. Acesso em: 04/04/2019.
Os processadores em geral mantêm uma busca de instrução em uma se­
quência de endereço de memória mais alto. Por exemplo, se ele localizou uma 
palavra no local 100, na seguinte busca ele irá procurar no local 101, 102, 103 
e adiante. Isso significa que a instrução lida foi carregada em um registrador 
de instrução (IR), e é lá que ficam as "ações" que o processador deve tomar nas 
próximas pesquisas.
Unidade de Controle, Unidade Lógica e Aritmética, Re- 
gistradores
Unidade de Controle (UC)
Podemos considerar que a Unidade de Controle (UC) é o cérebro do proces­
sador. Ela fica armazenada dentro do chip juntamente com a ULAe é responsável 
por controlar a operação da CPU. A UC busca as instruções na memória principal 
e as envia para a ULA, informando também a sequência em que elas devem ser 
executadas. Devemos lembrar que a UC não processa dados, ela apenas geren­
cia esses processos, servindo como ponte entre a memória e a ULA.
Unidade Lógica e Aritmética (ULA)
O local onde os dados são processados na CPU é chamado de Unidade Lógi­
ca e Aritmética (ULA). Ela tem a capacidade de executar diversos processos de 
acordo com a instrução recebida. Nos primeiros computadores, a quantidade 
de instruções era menor e a execução mais demorada, mas, com o passar do 
tempo, os programas de computadores foram projetados com o propósito de 
auxiliar o hardware a aumentar sua capacidade de processamento, tornando- 
-se mais rápido para o usuário.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Registradores
Os registradores são um conjunto de unidades de armazenamento, tam­
bém conhecidos como memória de rascunho. Eles podem serdivididos em dois 
tipos: visíveis ao usuário e controle e estado.
Registradores visíveis ao usuário
Podem ser acessados através de linguagem de programação e são classifi­
cados como:
• Registrador de uso geral: utilizado para realizar funções diversas e arma­
zenar dados e/ou endereços;
• Registrador de dados: dedicado apenas para o registro de dados;
• Registrador de endereços: dedicado ao endereçamento em geral;
• Registrador de código de condução: armazena os resultados das opera­
ções em forma de bits.
Registradores de controle e estado
Os registradores são locais de armazenamento dentro da CPU. Neles ficam 
guardados diversas informações, incluindo os resultados gerados pela ULA, 
podendo ou não serem enviados para a memória, dependendo do que for 
solicitado. Existem diversos tipos de registradores, sendo os principais (STAL- 
LINGS, 2010, p. 15):
• Registrador de Buffer de Memória (MBR): determina a quantidade de 
bits (palavra) a ser enviada ou recebida da memória ou da E/S;
• Registrador de Endereço de Memória (MAR): especifica o endereço da 
palavra (da MBR) na memória;
• Registrador da Instrução (IR): contém a instrução que está sendo executada;
• Registrador de Buffer de Instrução (IBR): mantém temporariamente a 
próxima instrução a ser executada;
• Contador de Programa (PC): contém o endereço da próxima instrução a 
ser trazida da memória.
Memória primária, memória secundária, entrada e saída
Memória primária
A memória primária tem como principal função manter disponíveis as infor­
mações que serão utilizadas pelo processador. Este tipo de memória não pode 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
ser acessada pelo usuário para guardar arquivos, o acesso é feito pela unidade de 
controle da CPU.
A maioria das memórias primárias são voláteis, ou seja, temporárias. Elas man­
têm as informações ativas enquanto estão em contato com a energia elétrica e 
vão perdendo gradativamente quando a energia é desligada. Por esse motivo, sua 
capacidade de armazenamento é bem menor do que as memórias secundárias 
(não voláteis). Veremos a seguir os tipos de memória primária:
Memória RAM
A memória RAM (Random Access Memory) é um chip composto por transistores 
e capacitores que faz uma leitura em código binário. A capacidade de armazena­
mento e a velocidade do processamento dos dados vão depender do barramento 
do periférico.
Figura 5. Memória RAM. Fonte: Shutterstock. Acesso em: 04/04/2019.
A memória RAM é dividida em dois tipos:
• SRAM (Static Random Access Memory): memória estática, rápida e volátil.
Essa memória perde as informações quando a energia é desligada;
• DRAM (Dynamic Random Access Memory): memória dinâmica, mais comple­
xa e mais lenta que a SRAM. Essa memória precisa que a informação seja atua­
lizada constantemente para que permaneça armazenada.
Memória ROM
A memória ROM (Read-Only Memory), ou, em português, "memória apenas de 
leitura", é a memória que não se pode alterar, dessa forma, os dados são gravados 
somente uma vez e essa memória não é volátil. Existem diversos tipos de memória 
ROM, conforme abaixo:
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
• PROM (Programmable Read-Only Memory): pode ser programada uma vez, 
porém, após a gravação, não pode mais sofrer alterações;
• EPROM (Erasable Programmable Read-Only Memory): esse tipo de memória 
permite que seus dados sejam apagados, porém esse processo é feito em um 
equipamento específico, que utiliza luz ultravioleta;
• EEPROM (Electrically-Erasable Programmable Read-Only Memory): esta me­
mória pode ser programada e apagada sem ser removida do computador para 
outro equipamento;
• EAROM (Electrically-Alterable Programmable Read-Only Memory): as infor­
mações podem ser alteradas ou apagadas parcialmente.
Cache
A memória cache tem como função armazenar os principais dados e recursos 
utilizados pelo processador e trazê-los de forma muito mais rápidaquando soli­
citados. É uma memória extremamente pequena se comparada à memória RAM.
MEMÓRIA 
PRINCIPAL
Figura 6. Comunicação entre cache, processador e memória principal. Fonte: STALLINGS, 2010, p. 117.
Memória secundária
A memória secundária é o armazenamento não volátil do computador. Seus 
dados permanecem intactos mesmo quando o computador é desligado ou rei­
niciado. As informações podem sergravadas, alteradas ou excluídas a qualquer 
momento, pois o usuário tem acesso a este periférico através do sistema ope­
racional.
Por esses motivos, sua capacidade de armazenamento é muito maior do
que as memórias primárias. Existem diversos tipos de memórias secundárias,
veremos alguns a seguir.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Hard Disk(HD)
A grande maioria dos computadores contém um dispositivo que armazena in­
formações do sistema operacional, programas instalados, arquivos do usuário e 
muito mais, que é conhecido como HD. Nos últimos anos, este dispositivo vem 
diminuindo de tamanho e aumentando sua capacidade de armazenamento.
Existem também os HDs portáteis, que podem ser levados para qualquer lugar 
e conectados via USB em outros dispositivos, facilitando muito a vida do usuário.
Figu ra 7. HD interno. Fonte: Shutterstock. Acesso em: 
09/04/2019.
Figura 8. HD portátil USB. Fonte: Shutterstock. Acesso 
em: 09/04/2019.
Pen-drive e cartão de memória
A cada dia menores e com maior capacidade de armazenamento, os pen-dri- 
ves e cartões de memória cabem no bolso e até mesmo na carteira. Esses pe­
quenos dispositivos facilitam a vida do usuário permitindo que suas informações 
sejam transportadas e transferidas de modo rápido e seguro.
As entradas (conexões) compatíveis com tais periféricos já estão disponíveis 
em computadores, equipamentos médicos, equipamentos de som e televisão e 
nos mais diversos objetos para as mais diversas finalidades.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Figura 9. Pen-drives em modelos e tamanhos variados.
Fonte: Shutterstock. Acesso em: 09/04/2019.
Figura 10. Catião de memória micro SD. Fonte: Shutters­
tock. Acesso em: 09/04/2019.
CD, DVD e blu-ray
Existem no mercado mídias de CD-ROM, DVD-ROM e blu-ray graváveis (só se 
pode gravar uma vez) e regraváveis (permitem que as informações sejam regrava- 
das quantas vezes forem preciso).
Com essa facilidade, o usuário pode acessar seus dados também em diversos 
aparelhos que aceitem esse formato de mídia.
Figura 11. Armazenamento em mídias de CD, DVD e blu-ray. Fonte: Shutterstock. Acesso em: 09/04/2019.
Entrada e saída (E/S)
A execução dos processos de dados depende também de dispositivos de en­
trada e saída (E/S). Isso ocorre porque, para que a CPU execute as instruções, é 
necessário haver uma solicitação por meio de um dispositivo de entrada, enquan­
to que o resultado desse processo é exibido por meio de um dispositivo de saída.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
EXEMPLIFICANDO
Para imprimir um documento, você utiliza um dispositivo de entrada (mou­
se). E, para tê-lo em mãos, é necessário acionar um dispositivo de saída (a 
impressora).
Podemos classificar esses dispositivos em três tipos:
• Dispositivos de entrada: interface do usuário com a máquina, dispositivo 
através do qual ele pode inserir informações e dar comandos que serão exe­
cutados pelo computador. Exemplo: teclado, mouse, microfone, scanner, entre 
outros;
• Dispositivos de saída: exibem o resultado do processamento solicitado. 
Exemplo: monitor, impressora, caixas de som, entre outros.
EXEMPLIFICANDO
Existem dispositivos que executam as funções tanto de entrada quanto 
de saída, como, por exemplo, impressoras multifuncionais (têm função de 
scanner e impressora), e monitores touch screen (permitem tanto a inser­
ção de dados quanto mostram o resultado na mesma tela).
Para que os periféricos se comuniquem corretamente com os módulos 
do computador através do barramento, eles são instalados em controlado­
res, que por sua vez são instalados em uma grande placa eletrônica, chama­
da placa-mãe.
Placa-mãe (Motherboard)
Aplaca-mãe é uma grande placa de 
circuito impresso que agrega todos os 
itens necessários para o computador 
funcionar. Nela ficam instalados tran­
sistores, diodos, capacitores, o chip da 
CPU, barramentos, slots para memó­
rias e diversos conectores para perifé­
ricos externos. Ao ligar o computador, 
a energia elétrica é distribuída para 
toda a sua estrutura.
A placa-mãe fica instalada numa 
caixa de metal chamada de gabinete.
Figura 12. Placa-mãe. Fonte: Shutterstock. Acesso em: 
09/04/2019.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
MONITOR TECLADO DRIVE DE CD-ROM
Q
DRIVE DE
DISCO RÍGIDO
CONTROLADOR 
DE DISCO-RÍGIDO
CONTROLADOR 
DE TECLADO
CONTROLADOR 
DE CD-ROM
CONTROLADOR 
DE VÍDEO
BARRAMENTO
Figura 13. E/S e seus controladores.
Controlador
O controlador é o dispositivo responsável por fazer a comunicação entre 
E/S e a placa-mãe. Ele liga a placa e o conector de entrada através de cabos, 
assim os dispositivos são instalados e fixados de forma segura e duradoura.
Para cada periférico instalado haverá um controlador em contato com o 
barramento:
Barramento
A comunicação entre os módulos dos computadores é feita através de li­
nhas de transmissão; esses grupos de linhas são chamados de barramento. 
São classificados em três grupos:
• Barramento de dados: cada linha pode transportar 1 bit por vez, dessa 
forma, a quantidade de bits que podem ser transferidos de uma única vez 
depende da quantidade de linhas (largura do barramento);
• Barramento de endereços: designa o acesso à determinada palavra na 
memória. Sem essas linhas informando o local, o endereço correto da ori­
gem ou o destino, os dados seriam armazenados de forma aleatória e seria 
quase impossível localizá-los;
I CONTEXTUALIZANDO
| Bit é a menor parcela de informação processada por um computador.
• Barramento de controle: responsável por controlar o uso das linhas de 
dados e endereços, já que elas são utilizadas por todos os componentes. 
Os sinais de controle transmitem informações de comando e sincronização 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
entre os módulos do sistema. Os sinais de sincronização indicam a valida­
de da informação de dados e endereço. Os sinais de comando especificam 
operações a serem realizadas (STALLINGS, 2010, p. 69).
Padrões de barramento
Como estudamos no item anterior, barramentos são conjuntos de linhas 
que permitem a comunicação entre os dispositivos. Além dos tipos que vimos, 
existem os barramentos padrão, que possuem uma largura específica compa­
tível com itens similares. Vamos ver alguns exemplos:
Barramento PCI (Peripheral Component Interconnect)
Lançado pela Intel na década de 1990, o barramento PCI ficou muito conhe­
cido por permitir conectar diversos dispositivos à placa-mãe do computador. 
Esse padrão tem a capacidade de transferir dados a 32 bits e clock de 33 MHz.
Barramento AGP (Accelerated Graphics Port)
O padrão AGP surgiu em 1996 para a utilização exclusiva de placas de vídeo. 
Pelo fato de seus recursos não serem compartilhados com outros dispositivos, 
permitia a utilização total da sua capacidade, ou seja, sua taxa de transferência 
de dados era extremamente alta.
Barramento PCl-Express
A Intel lançou esse padrão em 2004 e substituiu os modelos anteriores PCI 
e AGP. Um de seus modelos permite trabalhar com uma taxa de transferência 
de até 4 GB por segundo.
Arquiteturas RISC e CISC, pipeline
A Arquiteturas RISC e CISC
A necessidade de processar instruções cada vez mais complexas fez aumentar 
o estudo sobre arquiteturas que permitissem realizar esses processos de forma 
mais rápida. Vamos falar agora sobre duas arquiteturas muito importantes: RISC 
(ReducedInstruction Set Computer) e CISC (ComplexInstruction Set Computer).
Arquitetura RISC
O processador RISC (computador com conjunto de instruções reduzidas) surgiu 
na década de 1980 com o intuito de utilizar instruções mais simples e em menor 
quantidade, mas que pudessemser executadas de forma mais rápida. Ele era in­
compatível com os modelos existentes na época.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Por ter um baixo nível de instru­
ções e complexidade, o processo é 
executado diretamente pelo hardwa­
re, não sendo necessária a utilização 
de microcódigo. Essa arquitetura utili­
za a técnica de pipeline de instruções 
para otimizar seus processos.
Arquitetura CISC
O processador CISC (computador com conjunto de instruções complexas) 
tem uma capacidade de processar grandes conjuntos de instruções, desde as 
mais simples até as mais complexas. Muitas vezes esse processo precisa ser di­
vidido e executado em diversas partes, o que o torna mais lento em relação aos 
processadores RISC.
Processador híbrido
Existem também os processadores híbridos, que utilizam a tecnologia RISC 
para conjuntos de instruções menores e SISC para instruções mais complexas.
Pipeline
O conceitopipeline (ou paralelismo) surgiu com os processadores MIPS, ca­
pazes de emitir milhões de instruções por segundo. Com essa quantidade de 
processos, foi necessário paralelizar as atividades do computador. As instru­
ções passaram a ser executadas de acordo com a disponibilidade de determi­
nado recurso da CPU, em vez de seguir uma ordem obrigatória.
Vamos usar um exemplo simples para melhor compreensão: três pessoas 
precisam tomar banho, vestir-se e ir para o trabalho. Cada uma leva cerca de 40 
minutos para realizar esse processo e o tempo total para que todas terminem é 
de duas horas. O conceito de paralelismo sugere que quando a primeira pessoa 
terminar o banho a segunda já deve iniciar o seu banho. Em resumo, conforme 
cada parte do processo vai sendo liberada já vai sendo preenchida por outro.
O paralelismo pode ocorrer de duas maneiras: a nível de instrução e a 
nível de processador.
Paralelismo em nível de instrução
Explora cada instrução individualmente, otimizando as operações por se­
gundo. Esta execução também pode ser dividida em várias partes, passando 
por diversos estágios até ser concluída.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
(a) (b)
Figu ra 14. Visão geral de paralelismo em cinco estágios.
Podemos ver na Fig. 14 um modelo de pipeline com cinco estágios:
• Estágio 1: obtém a instrução e a coloca no buffer;
• Estágio 2: decodifica a instrução e determina os especificadores do comando;
• Estágio 3: calcula o endereço dos operandos e os busca;
• Estágio 4: executa a instrução;
• Estágio 5: armazena o resultado na memória.
Ainda de acordo com a Fig. 14, podemos ver que essa divisão em partes permi­
te que conforme as instruções forem processadas as demais venham preenchen­
do o espaço.
EXEMPLIFICANDO
Buffer é uma pequena área da memória ultrarrápida, utilizada para arma­
zenar informações importantes temporariamente.
Quando se trata de processamento em larga escala, o melhor conceito de para­
lelismo a ser utilizado em nível de processador, ou seja, processadores com maior 
capacidade de executar corretamente essa função. Para uma grande demanda 
utilizam-se computadores paralelos ou computadores construídos com diversas 
CPUs (multiprocessadores).
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Multiprocessadores
Computadores projetados com mais de uma CPU são chamados de multipro­
cessadores. Essas CPUs podem utilizar um barramento único e dividir a mesma 
memória ou podem ter um pouco de memória dedicada (vide imagem).
MEMÓRIAS LOCAIS
MEMÓRIA 
COMPARTILHADA
(A) BARRAMENTO
MEMÓRIA 
COMPARTILHADA
(B) BARRAMENTO
Figura 15, Multiprocessadores com memória compartilhada e com memórias locais.
Multicomputadores
Diferente do sistema de multiprocessadores, o uso de multicomputadores fun­
ciona com diversos computadores utilizando sua memória dedicada, processado­
res e armazenamento, interligados via rede executando tarefas.
Esse modelo ocupa mais espaço físico e tem um consumo de energia muito 
maior do que o uso de multiprocessadores.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Sintetizando
Chegamos ao final desta unidade e conseguimos compreender o conceito 
de Organização e Arquitetura de Computadores e sua evolução nas últimas dé­
cadas. Vimos que, desde Von Neumann até os dias de hoje, temos melhorado 
a arquitetura dos computadores e feito mudanças que permitiram um grande 
avanço no que diz respeito à capacidade, à velocidade e ao tamanho.
Vimos que as primeiras máquinas chegavam a tomar salas inteiras, mas, 
com os computadores cada dia mais compactos, as informações chegam a ca­
ber no bolso. Compreendemos a importância da organização dos módulos do 
computador e da CPU e como eles se comunicam, buscando, executando e 
mostrando as instruções.
Nos aprofundamos nos tipos de memória e suas funções, tanto de memó­
rias que fazem parte do conjunto do computador quanto de memórias exter­
nas. Estudamos outras arquiteturas, como RISC e CISC, e vimos como o con­
ceito pipeline (ou paralelismo) é importante para melhor uso dos módulos do 
processador.
O conteúdo desta unidade foi desenvolvido como base para qualquer pro­
fissional de TI. Os conhecimentos aqui adquiridos são imprescindíveis para 
uma carreira de sucesso, independentemente do ramo escolhido pelo aluno, 
por isso, sugerimos que você leia este material quantas vezes forem necessá­
rias e busque sempre se aprofundar nos temas abordados.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Referências bibliográficas
CORRÊA, A. G. D. Organização e arquitetura de computadores. São Paulo:
Pearson, 2017. Disponível em: <https://bv4.digitalpages.com.br/?0from=#/edi- 
cao/9788543020327>. Acesso em: 24fev. 2019.
ESTRELAS além do tempo | trailer internacional oficial | legendado HD.
Postado por Fox Film do Brasil. (2min. 54s.). son. color, leg. Disponível em: <ht- 
tps://www.youtube.com/watch?v=wx3PVtrll-Os>. Acesso em: 09 abr. 2019.
STALLINGS, W. Organização e arquitetura de computadores. 8. ed. São Pau­
lo: Pearson, 2010.
TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de computadores.
6. ed. São Paulo: Pearson, 2013.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
2 NÚMEROS
BINÁRIOS: 
CONVERSÕES, 
OPERAÇÕES,
/ERFLOW, PORTAS
EÁLGEBRA 
BOOLEANA
ser
educacional
Objetivos da unidade
• Aprender a conversão de números binários;
• Compreender a importância do bit de sinal e do overflow;
• Entender a utilização da álgebra booleana na comunicação com a E/S 
e como é criada uma tabela-verdade;
• Conhecer as portas e suas operações.
Tópicos de estudo
• Representação de números • Nível lógico-digital
binários com sinal • Álgebra booleana
• Conversão: fecimal para binário
• Conversão: binário para decimal
• Tabelas-verdade
• Bit de sinal • Circuitos lógico-digitais básicos
• OR(ou)
• Aritmética binária com operan- • AND (e)
dos representados em comple­ • NOT (não) ou inversão
mento para dois • NAND
• Soma • NOR
• Subtração • XOR
• Somador
• Detecção de overflow em ope­
rações de adição e subtração em • Simulador de circuitos lógico-
binário -digitais (software)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Representação de números binários com sinal
Os computadores trabalham com um sistema binário. Isso significa que, 
enquanto digitamos ou realizamos cálculos, as informações que vemos são 
diferentes da forma como o computador interpreta: ele faz a conversão dos 
números e letras para este sistema.
O sistema de numeração que utiliza base dois é igual a um número binário, 
sendo estes números zero e um (0,1):
CURIOSIDADE
Você sabia? 0 sistema binário surgiu séculos antes da criação dos com­
putadores. Estudos mostram que a civilização de Mangareva já utilizava 
este sistema, usando elementos da natureza, como animais e frutas, para 
representar seus valores (1,2,4, 8).
Para termos uma visão inicial da diferença entre números decimais e biná­
rios observe a Tabela 1.
TABELA 1. CONVERSÃO DE NÚMEROS
Decimal Binário
7 0111
6 0110
5 0101
4 0100
3 0011
2 0010
1 0001
0 0000
■1 1111
■2 1110
■3 1101
■4 1100
■5 1011
■6 1010
•7 1001
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORESComovemos na Tabela 1, após a conversão para binários, só existem números 
zero e um. A conversão para números binários é feita pelo computador de forma 
automática, mas a partir de agora vamos estudar como funciona esta conversão.
O Conversão: decimal para binário
Para converter determinado número para binário, devemos seguir um pas­
so a passo. Vamos usar como exemplo o número 30. Observe a imagem:
A conversão consiste em dividir o número decimal por dois até não haver 
mais possibilidade de divisão. Os números que sobram devem ser contados 
de baixo para cima e este é o resultado em binário. Vamos analisar a Figura 1:
• Iniciamos com o número que será convertido (30, em azul). Devemos di- 
vidi-lo por dois (em amarelo), em seguida dividir seu resultado (15) e assim su­
cessivamente até o fim;
• Os valores que sobram (em ciano) devem ser lidos de baixo para cima (b). 
Este é o resultado da conversão: 11110.
______________________________________________________________ •
Conversão: binário para decimal
Agora que você aprendeu a converter números decimais em binários, va­
mos fazer o inverso: utilizar a mesma numeração da conversão anterior, na 
qual o número binário é 11110. Observe a Figura 2.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES O
Resultado: 3(1 (d)
Figura 2. Conversão de binário para decimal.
Vamos analisá-la:
• Um modo simples de converter o número binário 11110 é colocá-lo de 
trás para frente em uma coluna (b) e multiplicá-lo por dois elevados à potência 
(iniciar sempre do zero - em ciano);
• Os resultados somados (c) chegam ao número decimal: 30 (d).
Com os exemplos anteriores, conseguimos concluir que 30 e 11110 resul­
tam no mesmo número, porém em sistemas numéricos diferentes.
Bit de sinal
Utilizamos o sinal + para números positivos e - para negativos, quando rea­
lizamos cálculos no papel, calculadora, computador etc. No sistema binário, 
também existe uma forma de identificar se os números são positivos ou nega­
tivos, através do bit de sinal.
No número binário, o último bit à esquerda é chamado de MSB (Most Sig- 
nificant Bit) e é utilizado como sinal para identificar se é positivo ou negativo:
Figu ra 3. Representação do bit de sinal.
0 Positivo
1 Negativo
Para exemplificar, imagine que o registrador possui em determinada posi­
ção X os bits 0100101 e na posição Y os bits 1100101. O primeiro bit, à esquer-
ORGANIZAÇÃOE ARQUITETURA DE COMPUTADORES
da, é o que define se o número é positivo ou negativo. 
Observe a Figura 4.
Figura 4. Binários positivos e negativos.
Por se tratar de números binários, os valores posicionais são elevados à 
potência dois (a). O primeiro bit à esquerda informa se o valor é positivo ou 
negativo (b). O último bit, à direita, é chamado de LSD (Least Significant Bit). 
Na Figura 4, (d), podemos ver a diferença na conversão para decimal: número 
positivo ou negativo.
Aritmética binária com operandos representados em 
complemento para dois
Antes de falarmos sobre complemento de dois, vamos entender como fun­
ciona o complemento de um. Neste complemento, os números são trocados, 
mantendo a mesma posição.
No complemento de um, onde é zero se torna um. E onde é um se torna 
zero. Observe a imagem a seguir:
O complemento de dois tem uma pequena diferença, veja a seguir:
Posição X
X, X, X. X, X, X, X,
0 10 0 10 1
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
10 110 10
+ | 1 (b)
10 110 11
(c)
Figura 6. Complemento de dois.
No complemento de dois, o primeiro passo é fazer a substituição dos núme­
ros, mantendo na mesma posição, como no complemento um (Figura 6, a). A 
seguir, é acrescentado o número um ao LSB (b) e, por fim, chega-se ao número 
binário representado em complemento para 2.
Soma
Como já sabemos, o sistema decimal utiliza os números de 0 a 9. No sistema 
binário, as possibilidades de soma são somente 0 e 1, por isso a forma de exe­
cutar as operações é diferente. Veja um exemplo de soma em decimal e binário:
TABELA 2. SOMA DECIMAL E BINÁRIA
Decimal Binária
5 0101
+ 4 + 0100
9 1001
Para iniciarmos os cálculos, é im­
portante aprender como os números 
binários podem ser somados. Observe 
a Figura 7.
Assim como na soma de números 
decimais, nos números binários tam­
bém colocamos um número embaixo do 
outro e, assim, começamos o cálculo da 
direita para esquerda. Os números que 
sobram devem ser somados com o da 
posição seguinte:
Figura 7. Somando números binários.
Figura 8. A soma em números binários.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
O cálculo deve iniciar sempre da direita para a esquerda (a). Quando no resul­
tado sobra 1, o número deve ser somado com a próxima posição (b). No nosso 
cálculo, somamos os números 5 e 4 em binário e o resultado foi 9, ou seja, 1001.
O Subtração
Para a subtração vamos utilizar a Figura 9.
Vamos realizar uma subtração utilizando o cálculo 5 - 4 = 1 em binário. Ob­
serve a Figura 10.
Assim como na soma, na subtração devemos iniciar da direita para esquer­
da (a). Se houver a necessidade de subtrair 0 -1, devemos tomar emprestado 
da próxima posição à esquerda, assim como em números decimais:
Figura 11. Subtração em números binários.
(a)
0 i
1 4 0
- 0 0 1
1 0 1
(b)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Detecção de overflow em operações de adição e subtra­
ção em binário
Você deve ter notado que em alguns casos o resultado obtido está com o 
sinal errado. No sistema binário, quando o resultado é incorreto, ou a palavra 
possui um tamanho maior do que já está sendo utilizado, acrescenta-se um 
bit à esquerda. Esta ação é chamada de overflow, que em português significa 
"transbordar", "estourar". Essa condição de overflow acontece apenas quando 
somamos dois números positivos ou dois números negativos, o que sempre 
produz um resultado errado (CORRÊA, 2017, p. 55).
Para compreender melhor o overflow, vamos analisar a Figura 12: a soma 
dos números gera um resultado negativo (a). Para corrigir, o sistema acrescenta 
um bit à esquerda com o sinal correto, nesse caso, sinal positivo (b). Por fim, 
temos a palavra correta (c):
Figura 12. Overflow em operações de adição e subtração binárias.
+5 0 1 0 1
+ +4 + 0 1 0 0
+9 1 0 0 1 (a)
(b) 0
(0 0 1 0 0 11
Bit de sinal Magnitude correta
Nível lógico-digital
O nível lógico-digital, ou o nível 0, é onde operam as memórias. Estas me­
mórias podem ser combinadas em grupos e são armazenadas pelos registra- 
dores. É o nível mais baixo. Nesse nível, um transistor pode funcionar como um 
comutador binário muito rápido.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Álgebra booleana
A álgebra booleana trabalha em sistema binário, dessa forma, por utilizar 
apenas zero e um, pode ser considerada mais simples que a álgebra conven­
cional. É utilizada com o intuito de facilitar a relação entre entrada e saída (E/S) 
através de diversas portas, além de poder ser utilizada para representar o nível 
de tensão de uma conexão (nível-lógico).
TABELA 3. ÁLGEBRA BOOLEANA
Fonte: MOSS; TOCCI; WIDMER, 2011, p. 50.
Lógico 0 Lógico 1
Falso Verdadeiro
Desligado Ligado
BAIXO ALTO
Não Sim
Aberto Fechado
Tabelas-verdade
As tabelas-verdade descrevem uma função lógica listando todas as combi­
nações possíveis de valores de entrada e indicando, para cada combinação, um 
valor de saída (STALLINGS, 2010, p. 610).
Observe as tabelas da Figura 13.
Entradas
Saída
w
A B X
0 0 1
0 1 0
1 0 1
1 1 0
(b)
A B C X
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1
A B c D
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
7
(a)
(c)
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
Figura 13. Tabelas-verdade. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 50.
Vamos analisar as tabelas da Figura 13. Podemos ver que existem duas 
entradas (a e b) e uma saída (x) que são representadas nas colunas. As linhas 
são os níveis que cada tabela poderá ter. Para sabermos quantos níveis a 
tabela deve ter, devemos considerar a quantidade deentradas e elevá-las à 
potência dois (binário). Neste caso, temos duas entradas, então considera­
mos 22 = 4 (quatro linhas).
A primeira coluna da direita para a esquerda vai ter sempre a sequência de
1 em 1 binário. Na coluna B, temos 0-1-0-1. Na coluna A, temos a sequência de
2 em 2 binário: 0-0-1-1.
A coluna x mostra a combinação correta para cada nível. Por exemplo, na 
primeira linha, para as entradas A = 0 e B = 0, a saída éX = 1; e na segunda linha, 
para as entradas A = 0 e B = 1, a saída é X = 0.
Podemos observar claramente nas tabelas (b) e (c) que, não importa a 
quantidade de entradas (colunas), elas sempre seguirão a sequência utilizada 
no primeiro exemplo (a):
• Primeira coluna: sequência de 1 em 1;
• Segunda coluna: sequência de 2 em 2;
• Terceira coluna: sequência de 4 em 4;
• Quarta coluna: sequência de 8 em 8.
E assim por diante.
Circuitos lóg ico-dig itais básicos
Um circuito lógico-digital é um circuito com diversos mecanismos cha­
mados portas. Cada porta possui uma operação diferente e, conforme cada 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
mecanismo é acionado, uma saída é gerada, até que por fim todo o processo 
seja completo. Os computadores têm a capacidade de executar essas ações 
milhões de vezes e numa velocidade muito alta.
A partir de agora, veremos os diferentes tipos de porta, como funcionam 
suas entradas e saída e a forma que elas são representadas na tabela-verdade.
^^^”ÕrIÕu)
A porta OR (ou) é um circuito que possui duas ou mais entradas e uma saída 
(Figura 14). Ela opera com a expressão booleana: x = A + B.
Como podemos ver na imagem, a tabela-verdade (a) mostra todas as pos­
sibilidades de acordo com a quantidade de entradas da porta. Por exemplo, 
vamos considerar que 0 é negativo e 1 positivo. Na linha 1, a entrada A e B são 
0, dessa forma, a saída X também é 0. Na quarta linha a entrada, A possui 1 e a 
entrada B possui 0, dessa forma, a saída é positiva: 1.
AND (e)
A porta AND (e) possui duas ou mais entradas e uma saída (Figura 15). Dife­
rentemente da porta OR, ela opera com a expressão booleana x = AB.
Observe a Figura 15.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
AND
A B X = A.B
0 0 0
0 1 0
1 0 0
1 1 1
(a) (b)
Figura 15. AND. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 54.
A operação AND consiste no fato de que, se uma das entradas for zero, a 
saída será sempre zero. Veja que, na Figura 15, em todas as linhas em que exis­
te uma entrada zero o resultado é zero.
O NOT (não) ou inversão
A porta NOT (não) também é conhecida pela inversão, além de possuir uma 
entrada. Ela opera com a expressão booleana: x = Ã.
NOT
NOT
A 
0 
1
X = A —
1
0
(a)
A • O
(b) A presença de um pequeno círculo sempre 
denota nvetsão! (C)
Figura 16. NOTou inversão. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 57.
Observando a Figura 16, podemos ver um círculo que representa a inver­
são, dessa forma, na tabela-verdade notamos que quando A = 0, x = 1; e quan­
do A = 1, x = 0.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
NAND
A porta NAND é representada pelo mesmo símbolo da porta AND, porém 
acrescentado de um círculo que significa inversão. Nesta operação, é utilizada 
a expressão booleana: x = AB.
AND NAND
(c)
(b)
Figura 17 NAND. Fonte: MOSS. TOCO: WIDMER. 201!. p. 66
Vamos analisar a tabela-verdade na Figura 18: na primeira linha, temos as 
entradas A = 0 e B = 0. Na operação AND, o resultado é x = 0, porém com a in­
versão o resultado NAND é x = 1. Também podemos ver que na quarta linha as 
entradas são A = 1 e B = 1. Na operação AND, o resultado é x = 1, porém com a 
inversão, na tabela NAND, vemos x = 0.
C^NOR
Basicamente, o símbolo utilizado para por­
ta NOR é o mesmo da porta OR acrescentado 
de um círculo que representa a inversão. / 
Ela opera com a expressão booleana x = J 
A + B. Isso significa que, primeiramente, 
é feita a operação OR e em seguida a ope­
ração de inversão.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Vamos analisar a tabela-verdade: na primeira linha, temos as entradas 
A = 0 e B = 0. Na operação OR, o resultado é x = 0, e após a inversão a tabela 
NOR é x = 1.
Na quarta linha, temos as entradas A = 1 e B = 1. Na operação OR, o re­
sultado é x = 1, mas após a inversão a tabela NOR mostra que x = 0.
Na porta XOR, a saída vai a nível alto sempre que uma entrada for dife­
rente da outra. Esta operação usa a expressão booleana: x = A®B, x = ÃB 
ou x = As.
Observe a Figura 19.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
(b)
0 0 0
0 1 1
1 0 1
1 1 0
Figura 19. XOR. Fonte TOCCI, WIDMER. 20
Podemos ver na tabela-verdade da Figura 19, que sempre que os va­
lores das entradas forem diferentes, a saída vai a nível alto. Na primeira 
linha, vemos as entradas A = OeB = Oenaquartalinhaas entradas A = 1 e B 
= 1, dessa forma, a saída em cada uma delas é x = 0. Na segunda e terceira 
linhas, os valores são diferentes. Na segunda linha, vemos as entradas A = 
0 e B = 1 e na terceira linhas as entradas A = 1 e B = 0, dessa forma, a saída 
em ambas é x = 1.
Somador
Você já aprendeu nesta Unidade como é feita a soma nos computado­
res usando números binários. A partir de agora, você vai ver o compor­
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
tamento do computador durante esta operação utilizando o somador ou 
somadores.
Precisamos compreender que as operações realizadas pelos computa­
dores ocupam espaço na memória. Se consideramos que determinada pa­
lavra possui 6 bits e ocorre um overflow, a memória precisa disponibilizar 
mais espaço para o bit a mais que será utilizado. Ou quando na soma exis­
te um número que "sobra" e deve ser somado com os números da posição 
seguinte, este número que sobra precisa de um espaço na memória.
Figura 20. O computador durante o processo de soma. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 270.
Como vimos anteriormente, a soma é feita sempre da direita para a es­
querda, começando pelo LSB. Analisando a imagem acima, vemos que os 
dois números a serem somados estão posicionados um em cima do outro: 
primeira parcela e segunda parcela. Veja que a soma de 1 + 1 = 0, e sobra 
1. Esta sobra é chamada de carry.
Para esta operação são utilizados 5 bits:
• 3 bits para a soma: carry, primeira parcela e segunda parcela;
• 2 bits para o resultado: resultado da soma e o carry.
Os circuitos lógicos possibilitam que este processo seja multiplicado,
tornando-o mais rápido e eficaz. Este circuito é chamado de somador
completo.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Soma apatete nas saídas 5,. Sr Sr. 5.. Sr
Bits da ugunda panela 
vondos do registrsdor B
Bits da primeira parrela 
vondos do regittrador A
Figura 21. Carry. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 270.
Entradas 
de bits da 
primeira 
parcela
Entradas 
de bits da 
segunda 
parcela
Entradas 
de bits do 
carry
Saída de 
bits da 
soma
Saída de 
bits do 
carry
A B C. S C.
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Figura 22. Carry. Fonte: MOSS; TOCCI; WIDMER, 2011, p. 271.
Esta operação usa a expressão: S = A B Cin + A B Cin+ A B C in + ABCin.
Analisando a tabela-verdade de um circuito somador completo (Figura 
22), temos as seguintes colunas:
A: refere-se aos bits da primeira parcela;
B: refere-se aos bits da segunda parcela;
Cin: refere-se ao carry;
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
S: refere-se à saída;
Cout: refere-se à saída do carry (aquela que será somada com a posição 
seguinte).
Figura 23. Tabela-verdade de um circuito somador. Fonte: Moss; Tocei; Widmer, 2011, p. Z11.
Observe a Figura 23: o circuito lógico mostra os mecanismos de entrada 
e saída referentes à tabela-verdade da Figura 22. Podemos ver que, além 
das entradas A e B, existe também a entrada Cin referente ao carry da po­
sição anterior. Vemos também que, além da saída S, temos a Cout referente 
ao valor que será somado juntamente com a próxima posição.
Simulador de circuitos lógico-digitais (software)
Existem dezenas de simuladores de circuitos digitais no mercado. Vamos 
utilizar aqui uma versãogratuita e on-line, a The Logic Lab, pois consideramos 
ser muito útil para sua prática.
O site possui dispositivos de entrada e saída, portas lógicas e outros itens 
para que você possa montar diversos circuitos.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Figura 24. Portas lógicas. Fonte: Neuroproductions, s/d.
Vamos fazer uma simulação: você lembra que a porta AND só tem uma 
saída em nível alto quando as duas entradas são iguais a 1? Vamos testar! 
Colocamos dois interruptores na entrada e um ventilador na saída. Imagi­
ne que, quando o interruptor está ligado, a entrada tem valor 1 e, quando 
está desligado, a entrada tem valor 0:
Figura 25. Simulação. Fonte: Neuroproductions, s/d.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Podemos ver agora que mesmo se um dos interruptores for ligado, não 
ocorre o acionamento do ventilador.
—"--------■-------- -------------- ’---------- -------
Não seguro www.neuroproductions.be/logic-lab/
THE LOGIC LAB
Input
Logic ports 
Flip-flops
Figura 26. Simulação. Fonte: Neuroproductions, s/d.
www.neuroproductions.beu
Figura 27. Simulação. Fonte: Neuroproductions, s/d.
Por fim, ao acionar os dois interruptores, o ventilador foi acionado. Conse­
guimos testar aqui o uso da porta AND:
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Figura 28. Simulação. Fonte: Neuroproductions, s/d.
A partir de agora, você pode utilizar o simulador da sua preferência para 
exercitar as operações e portas vistas nesta Unidade. Aproveite também para 
criar tabelas-verdade enquanto simula diversos circuitos lógico-digitais.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Sintetizando
Nesta Unidade, conseguimos alcançar os objetivos propostos e compreen­
demos como os computadores utilizam o sistema binário para realizar diver­
sas operações, ao mesmo tempo que controla a quantidade de bits utilizados 
pela memória. Além disso, podemos perceber que a álgebra booleana é mais 
simples do que a álgebra convencional por trabalhar apenas com binários, e 
aprendemos o que são as tabelas-verdade.
Vimos também os diferentes circuitos lógicos e como eles são representa­
dos nas tabelas-verdade. E, por fim, utilizamos um simulador de circuito lógico- 
-digital on-line e gratuito, plataforma esta que permitirá que o aluno realize 
diversas experiências e pratique os conhecimentos aprendidos.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Referências bibliográficas
CORRÊA, A. G. D. Organização e arquitetura de computadores. São Paulo: 
Pearson, 2017.
DICIO. Binário. Disponível em: <https://www.dicio.com.br/binario/>. Acesso 
em: 05 jul. 2019.
MOSS, G. L.; TOCCI, R. J.; WIDMER, N. S. Sistemas digitais: princípios e aplica­
ções. São Paulo: Pearson, 2011.
MULTI CALCULADORA ON-LINE. Soma de números binários. Disponível em: 
<http://www.multicalculadora.com.br/soma-de-numeros-binarios-on-line/>. 
Acesso em: 05 jul. 2019.
NEUROPRODUCTIONS. The Logic Lab. Disponível em: <http://www.neuropro- 
ductions.be/logic-lab/>. Acesso em: 05 jul. 2019.
SAMPEDRO, J. Um sistema binário inventado na Polinésia séculos antes de 
Leibniz, 16 dez. 2013. El País. Disponível em: <https://brasil.elpais.com/bra- 
sil/2013/12/16/sociedad/1387215405_275511.html>. Acesso em: 05 jul. 2019.
STALLINGS, W. Organização e arquitetura de computadores. 8. ed. São Pau­
lo: Pearson, 2010.
TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de computadores.
6. ed. São Paulo: Pearson, 2013.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
LINGUAGENS 
DE MÁQUINA E 
DE MONTAGEM, 
CONJUNTOS DE
INSTRUÇÕES E MIPS
ser
educacional
Objetivos da unidade
• Aprender as diferenças entre linguagem de máquina e linguagem de 
montagem;
• Compreender o que são conjuntos de instruções e para que servem;
* Conhecer as instruções da linguagem MIPS;
* Conhecer um simulador da linguagem de montagem e efetuar uma simulação.
Tópicos de estudo
• Linguagem de máquina e lin­
guagem de montagem (assembly 
language)
• Linguagem de máquina
• Linguagem de montagem 
(assembly language)
• Conjuntos de instruções
• Representação das instruções
• Tipos de instruções
• Tipos de operandos
• Tipos de operações
• Registradores
• Instruções de linguagem de 
montagem MIPS
• Carga
• Aritméticas
• Lógicas
• Operandos imediatos
• Transferência de dados
• Simulador de linguagem de 
montagem MIPS (software)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
(assembly language)
Linguagem de máquina e linguagem de montagem
Os computadores possuem circui­
tos eletrônicos que enviam sinais elé­
tricos ao receber e executar instruções. 
Para que estes sinais sejam interpreta­
dos pelo computador foram criados os 
programas de computadores.
Como sabemos, os computadores 
operam com sistema binário, pois este 
é o sistema que ele consegue com­
preender. Você pode imaginar, portan­
to, que, se todos os programas desenvolvidos fossem feitos apenas na lingua­
gem que o computador consegue compreender, seria mais trabalhoso e até 
mesmo mais demorado.
Você pode estar se perguntando se existe mais de uma forma de criar 
programas para os computadores, e a resposta é: sim! Por isso, a partir de 
agora, você irá estudar a linguagem de máquina e a linguagem de monta­
gem (assembly language) e entenderá como cada uma pode ser utilizada 
dentro da programação de computadores.
Antes de começar, vamos explicar o que significam alguns termos que utili­
zaremos bastante a partir de agora:
• Opcode: operação básica de instrução, cada instrução contém uma um 
código único;
• Linguagem-fonte: a linguagem na qual o programa original foi escrito;
• Linguagem-alvo: a linguagem convertida;
• Montador: programa que traduz a linguagem de montagem em lingua­
gem de máquina;
• Depurador: tem a função de testar (depurar) o programa e encontrar pos­
síveis erros, auxiliando o programador a corrigi-los antes de finalizá-lo;
• Compilador: é o programa que transforma o código criado em linguagem- 
-fonte (pode ser de alto nível) para a linguagem que o computador utiliza, isto 
é, código-objeto.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Linguagem de máquina
A linguagem de máquina é a lin­
guagem que o computador consegue 
compreender; é a linguagem operada 
pelo processador. Ela está mais pró­
xima ao hardware e, para ser desen­
volvida, o programador precisa ter um 
bom conhecimento da arquitetura do 
computador para que a sua capacida­
de seja bem aproveitada e custos se­
jam evitados.
A programação em linguagem de máquina é feita através de números bi­
nários e todo computador possui um conjunto de instruções (ISA - Instruction 
Set Architecture ou em português: Arquitetura do Conjunto de Instrução). Em 
linguagem de máquina, cada instrução é executada individualmente, ou seja, 
para cada instrução uma execução (processo 1 para 1). Essas instruções "na­
tivas" podem ser substituídas por um novo conjunto de instruções de acordo 
com a necessidade, desenvolvido pelo programador.
Existem duas formas de substituir estas instruções, através das técnicas de 
tradução e interpretação (TANENBAUM; AUSTIN, 2013, p. 2):
• Tradução: Nesta técnica, cada nova instrução é substituída por uma ins­
trução equivalente do conjunto nativo. O novo programa é convertido para 
programa nativo para ser executado pelo computador e em seguida é descar­
tado. Este novo programa é chamado de programa-objeto, que é lido e execu­
tado pelo computador;
• Interpretação: No caso da interpretação, após cada instrução ser lida e 
decodificada já é executada, não havendo a tradução. Para executar este pro­
cesso, é necessário um programa chamado interpretador.
Cada instrução na linguagem de máquina do processadorétradu-
zida em uma sequência de instruções da unidade de controle de 
baixo nível. Essas instruções de baixo nível são conhecidas como
microinstruções e o processo detradução conhecido como micro- 
programação (STALLINGS, 2010, p. 460).
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES O
________________________________________________________________________________________________________•
Linguagemde montagem (assembly language)
A linguagem de montagem tem como uma das suas principais características 
a facilidade ao programar. Enquanto na linguagem de máquina é necessário que 
o programador tenha um bom conhecimento sobre a arquitetura do computa­
dor e conheça os valores que utilizará em binário ou hexadecimal, na linguagem 
de montagem ele pode utilizar códigos muito mais simples de se decorar.
Por exemplo, para realizar soma, subtração, multiplicação e divisão, ele não 
precisa saber como representá-los em 0 e 1, podendo utilizar códigos como 
ADD, SUB, MULe DIV.
Esta linguagem possui diversas vantagens, e uma delas é o acesso à má­
quina. Com este acesso o programador pode desenvolver programas menores 
que melhorem o desempenho do computador.
A linguagem de montagem também pode ser usada em sistemas embarca­
dos de pequeno a grande porte, que são sistemas menores desenvolvidos para 
uma função específica, como marca-passos, semáforos, satélites etc.
Estrutura da linguagem de montagem
De acordo com Stallings, a estrutura da linguagem de montagem possui 
quatro elementos: rótulo, mnemônico, operando(s) e comentário. Vamos 
ver, a seguir, como funciona cada um deles:
Rótulo Mnemônico Operando(s)
lZ_j I______ I I_______ IJ-
Opcional Nome do 
opcode ou nome 
da diretiva ou 
nome da macro
Zero ou mais
;comentário
'______ ;4
Opcional
Figura 1. Elementos da estrutura de montagem. Fcnte: STALLINGS, 2010.
Rótulo
Quando falamos em rótulo, do que você lembra? Você pode lembrar da eti­
queta colada a um produto, que traz informações sobre ele. Na linguagem de
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
montagem o intuito é o mesmo. Um rótulo pode ser utilizado para nomear 
uma instrução, um endereço ou outros dados, fazendo, assim, com que eles 
sejam localizados mais facilmente.
Vejamos um exemplo:
L2: SUB EAX, EDX; subtrai conteúdo do registrador EDX do conteúdo
; de EAX e armazena o resultado em EAX
JG L2 ; salta para L2 se resultado da subtração for positivo
Figura 2. Trecho de programa usando rótulos. Fonte: STALLINGS, 2010.
Como podemos ver na Figura 2, o trecho do programa descreve a ação de 
extrair informações de um registrador e armazenar em outro, e só saltar para o 
L2 se o resultado for positivo, ou seja, se o resultado for negativo, ele continua 
nesse loop até obter um resultado diferente. Para o programador, porém, não 
existem números, cálculos e símbolos; ele apenas utiliza os rótulos que condi­
zem com as instruções que devem ser utilizadas.
2ZTTV CITANDO
"Se um rótulo direto é usado, ele é interpretado como endereço (ou offset) 
de dados. Se o rótulo é colocado dentro de colchetes, ele é interpretado 
como dado no endereço" (STALLINGS, 2010, p. 587).
Mnemônico
Mnemônico é o nome dado a uma sentença de linguagem de montagem. Ele 
segue a lógica de que uma abreviação pode ser mais fácil para representar esta 
sentença do que ter que reescrevê-la sempre que necessário.
Ele pode nomear a função que será executada ou mesmo a operação.
Operando(s)
Todas as operações dos computadores utilizam dados. Um operando é um 
valor utilizado por uma instrução, podendo ser um endereço, número, caracte- 
re ou dado lógico. Estudaremos este tema mais adiante.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Comentário
A linguagem de montagem permite ao programador incluir comentários no 
seu programa. O comentário pode ser colocado após um comando ou em uma 
linha específica, e deve ser sinalizado por um caractere que indique que aquele 
conteúdo não deve ser executado.
Sentenças da linguagem de montagem
Na linguagem de montagem, uma sentença é a ação que o programa deve 
executar com base em instruções definidas pelo programador. Por exemplo, 
em determinado trecho, o programa deve buscar determinado valor e só pas­
sar para o próximo passo ao encontrá-lo. Até a ação ser concluída ele deve ficar 
em um loop fazendo essa busca.
Dentro da linguagem de montagem, existem três tipos de sentenças: ins­
trução, diretiva e definição de macro. Veja a seguir:
Instrução
As instruções são responsáveis por dizer ao computador o que deve ser fei­
to. Quando desenvolvidas em linguagem de montagem, são traduzidas por um 
montador para linguagem de máquina, uma a uma. Isso significa que para cada 
instrução de linguagem de montagem existe uma para linguagem de máquina.
Diretiva
Diferente da instrução, a sentença diretiva não é traduzida para linguagem 
de máquina. Ela é responsável por dar as diretrizes para o montador realizar 
seus processos corretamente.
Observe a imagem a seguir:
L2 DB "A"
MOV AL, [L1]
MOV EAX, L1
MOV [L1], AH
; byte inicializado para código ASCII de A(65)
; copiar byte que está em L1 para AL
; armazenar endereço do byte que está em L1 em EAX
; copiar conteúdo de AH dentro do byte que está em L1
Figura 3. Diretivas dentro de um programa. Fonte: STALLINGS, 2010.
Podemos ver na Figura 3 como a sentença dá ao montador as diretivas de 
como iniciar, copiar e armazenar. Mais uma vez, você pode compreender que 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
através das sentenças não é necessário que o programador esteja sempre digi­
tando textos e números gigantescos, mas usando abreviações para tal.
Vamos analisar mais um exemplo:
TABELA 1. DIRETIVAS DENTRO DE UM PROGRAMA
(a) Letras para diretivas RESx e Dx
Unidade Letra
Byte B
Palavra (2 bytes) W
Palavra dupla (4 bytes) B
Palavra quádrupla (8 bytes) Q
Dez bytes T
(b) Diretivas
Nome Descrição Exemplo
DB,DW,DD,DQ,DT
L6 DD 1A92H
Inicializa posições ; palavra dupla em L6 iniciali­
zada com1A92H
RESB, RESW, 
RESD,RESQ,REST
BUFFER RESB 64 
Reserva posições nao
; reserva 64 bytes começando 
inicializadas
em BUFFER
INCBIN
inclui arquivo binário na INCBIN "file.dat"
saíaa ; inclui este arquivo
EQU
MSGLEN EQU 25 
Define um símbolo para um
; constante MSGLEN equivale 
dado valor constante
ao decimal 25
TIMES
ZEROBUF TIMES 64 DBO
Repete instrução várias vezes ; inicializa buffer de 64 bytes
todo para zero
Observe na Tabela 1 (a) que cada letra faz referência a uma unidade. Na Ta­
bela 1 (b), temos as diretivas que trazem estas unidades em forma de letra. Veja 
que, na primeira linha, temos DB, DW, DD, DQ e DT, que se referem a palavra 
dupla e têm sua descrição como Inicializa posições, definindo, assim, onde a 
palavra será inicializada.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Definição de macro
Macro é um trecho de um programa com um nome específico. Imagine que 
determinada ação deve ser executada diversas vezes, o que faria com que o 
programador tivesse que repetir aquele trecho do código pela quantidade de 
vezes necessária, tornando-o mais extenso. Com o uso da macro, o programa­
dor pode dar um nome a esse trecho e, sempre que a mesma sentença tiver 
que ser executada, ele inclui apenas o nome dado a ela.
Quando o programa chega no ponto da sentença que possui uma macro, 
ele faz um processo chamado de extensão de macro, que consiste em chamar 
aquele trecho da macro e incluí-lo na sentença.
EXPLICANDO
A programação em linguagem de montagem pode ser considerada mais 
difícil por muitos, porém, para programadores experientes, ela pode ser 
considerada melhor e mais fácil, pois permite gue o profissional tenha 
acesso à arguitetura do computador. A única linguagem de nível alto gue 
permite este acesso é a linguagem C.
Conjuntos de instruções
Um programa de computador é composto por diversas instruções, também 
chamadas de conjuntos de instruções. Estes conjuntos são o meio pelo qual o pro­
gramador pode acessar e controlar o processador. Como já vimos nesta unidade, 
todo computador tem um conjunto de instruções original, mas outros conjuntos 
podem ser desenvolvidos com o intuito de alterar ou substituir o conjunto original.
A partir de agora, vamos compreender como funcionam estes conjuntos.
O Representação das instruções
Um código de um programa pode ser escrito atra­
vés de uma representação simbólica. Cada instrução 
possui uma sequência de bits, que podem ser 
divididos

Outros materiais