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

ARQUITETURA E ORGANIZAÇÃO

DE COMPUTADORES
CURSOS DE GRADUAÇÃO – EAD

Arquitetura e Organização de Computadores – Prof. Ms. Fernando Marco Perez Campos

Meu nome é Fernando Marco Perez Campos.Sou mestre em Engenharia de Produção na linha de
pesquisa de Sistemas de Informação pela Universidade Paulista (São Paulo – SP). Sou graduado
em Ciência da Computação também pela Universidade Paulista. Atuo como professor nos cursos
de Ciência da Computação, Engenharia e Sistemas de Informação e áreas afins, ministrando as
seguintes disciplinas: Lógica de Programação; Arquitetura de Computadores; Organização de
Computadores; Sistemas Digitais; Processamento de Dados; Programação de Computadores
(estrutura de dados); Teoria da Linguagem de Programação; Ciência da Computação Integrada.
Atuo também no mercado de trabalho na área de consultoria e assessoria em informática.

Fazemos parte do Claretiano - Rede de Educação


Fernando Marco Perez Campos

ARQUITETURA E ORGANIZAÇÃO
DE COMPUTADORES

Batatais

Claretiano

2014
© Ação Educacional Claretiana, 2011 – Batatais (SP)
Versão: dez./2014
004.22 C21a

Campos, Fernando Marco Perez


Arquitetura e Organização de Computadores / Fernando Marco Perez
Campos – Batatais, SP : Claretiano, 2014
219 p.

ISBN: 978-85-8377-132-6

1. Sistemas numéricos. 2. Circuitos digitais. 3. Processadores. 4. Memórias.


5. Dispositivos de entrada e saída. I. Arquitetura e Organização de Computadores.

CDD 004.22

Corpo Técnico Editorial do Material Didático Mediacional


Coordenador de Material Didático Mediacional: J. Alves
Preparação Revisão
Aline de Fátima Guedes Cecília Beatriz Alves Teixeira
CDD 658.151

Camila Maria Nardi Matos Felipe Aleixo


Carolina de Andrade Baviera Filipi Andrade de Deus Silveira
Cátia Aparecida Ribeiro Paulo Roberto F. M. Sposati Ortiz
Dandara Louise Vieira Matavelli Rafael Antonio Morotti
Elaine Aparecida de Lima Moraes Rodrigo Ferreira Daverni
Josiane Marchiori Martins Sônia Galindo Melo
Lidiane Maria Magalini Talita Cristina Bartolomeu
Luciana A. Mani Adami Vanessa Vergani Machado
Luciana dos Santos Sançana de Melo
Projeto gráfico, diagramação e capa
Patrícia Alves Veronez Montera
Eduardo de Oliveira Azevedo
Raquel Baptista Meneses Frata
Joice Cristina Micai
Rosemeire Cristina Astolphi Buzzelli Lúcia Maria de Sousa Ferrão
Simone Rodrigues de Oliveira Luis Antônio Guimarães Toloi
Raphael Fantacini de Oliveira
Bibliotecária Tamires Botta Murakami de Souza
Ana Carolina Guimarães – CRB7: 64/11 Wagner Segato dos Santos

Todos os direitos reservados. É proibida a reprodução, a transmissão total ou parcial por qualquer forma
e/ou qualquer meio (eletrônico ou mecânico, incluindo fotocópia, gravação e distribuição na web), ou o
arquivamento em qualquer sistema de banco de dados sem a permissão por escrito do autor e da Ação
Educacional Claretiana.

Claretiano - Centro Universitário


Rua Dom Bosco, 466 - Bairro: Castelo – Batatais SP – CEP 14.300-000
cead@claretiano.edu.br
Fone: (16) 3660-1777 – Fax: (16) 3660-1780 – 0800 941 0006
www.claretianobt.com.br

Fazemos parte do Claretiano - Rede de Educação


SUMÁRIO

CADERNO DE REFERÊNCIA DE CONTEÚDO


1 INTRODUÇÃO............................................................................................................................................... 9
2 ORIENTAÇÕES PARA ESTUDO......................................................................................................................10

Unidade 1 – SISTEMAS NUMÉRICOS E CONVERSÕES DE BASES


1 OBJETIVOS.................................................................................................................................................... 25
2 CONTEÚDOS................................................................................................................................................. 25
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................26
4 INTRODUÇÃO À UNIDADE...........................................................................................................................26
5 SISTEMA NUMÉRICO DECIMAL (BASE 10)..................................................................................................26
6 SISTEMA NUMÉRICO BINÁRIO (BASE 2).....................................................................................................27
7 SISTEMA NUMÉRICO HEXADECIMAL (BASE 16)........................................................................................28
8 CONVERSÃO ENTRE BASES..........................................................................................................................29
9 CONVERSÕES DE BASE COM PONTO FLUTUANTE.....................................................................................32
10 O PERAÇÕES ARITMÉTICAS EM SISTEMAS NUMÉRICOS DE BASE 2 E DE BASE 16..................................34
11 QUESTÕES AUTOAVALIATIVAS...................................................................................................................49
12 C ONSIDERAÇÕES.......................................................................................................................................... 50
13 B IBLIOGRAFIA............................................................................................................................................... 50

Unidade 2 – SISTEMAS DIGITAIS


1 OBJETIVO...................................................................................................................................................... 51
2 CONTEÚDOS................................................................................................................................................. 51
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................51
4 INTRODUÇÃO À UNIDADE...........................................................................................................................52
5 PORTAS LÓGICAS, SÍMBOLOS E TABELAS VERDADE..................................................................................52
6 CIRCUITOS DIGITAIS..................................................................................................................................... 56
7 SIMPLIFICAÇÃO DE EXPRESSÕES BOOLEANAS..........................................................................................59
8 QUESTÕES AUTOAVALIATIVAS....................................................................................................................108
9 CONSIDERAÇÕES.......................................................................................................................................... 110
10 E-REFERÊNCIAS............................................................................................................................................ 110
11 R EFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................111

Unidade 3 – PROCESSADORES
1 OBJETIVOS.................................................................................................................................................... 113
2 CONTEÚDOS................................................................................................................................................. 113
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE..........................................................................................113
4 INTRODUÇÃO À UNIDADE...........................................................................................................................114
5 BARRAMENTO.............................................................................................................................................. 115
6 INSTRUÇÕES................................................................................................................................................. 116
7 ENDEREÇAMENTOS...................................................................................................................................... 118
8 PARALELISMO............................................................................................................................................... 119
9 QUESTÕES DE PROJETOS............................................................................................................................121
10 M ICROCONTROLADORES............................................................................................................................122
11 QUESTÕES AUTOAVALIATIVAS...................................................................................................................122
12 C ONSIDERAÇÕES.......................................................................................................................................... 123
13 E-REFERÊNCIAS............................................................................................................................................ 124
14 R EFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................124

Unidade 4 – MEMÓRIAS
1 OBJETIVO...................................................................................................................................................... 125
2 CONTEÚDOS................................................................................................................................................. 125
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................125
4 INTRODUÇÃO À UNIDADE...........................................................................................................................126
5 MEMÓRIAS DE UM COMPUTADOR............................................................................................................126
6 CARACTERÍSTICAS DA MEMÓRIA...............................................................................................................126
7 TECNOLOGIAS DE MEMÓRIAS....................................................................................................................127
8 DIAGRAMA FUNCIONAL DE UMA MEMÓRIA............................................................................................128
9 QUESTÕES AUTOAVALIATIVAS....................................................................................................................131
10 C ONSIDERAÇÕES.......................................................................................................................................... 131
11 E-REFERÊNCIAS............................................................................................................................................ 131
12 R EFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................131

Unidade 5 – DISPOSITIVOS DE ENTRADA E SAÍDA


1 OBJETIVO...................................................................................................................................................... 133
2 CONTEÚDOS................................................................................................................................................. 133
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................133
4 INTRODUÇÃO À UNIDADE...........................................................................................................................134
5 DISPOSITIVOS DE ENTRADA E SAÍDA.........................................................................................................134
6 TIPOS DE COMUNICAÇÃO...........................................................................................................................135
7 MOUSE.......................................................................................................................................................... 136
8 MONITOR...................................................................................................................................................... 138
9 IMPRESSORAS.............................................................................................................................................. 139
10 M ODEM......................................................................................................................................................... 141
11 P LACAS DE REDE.......................................................................................................................................... 141
12 D ISCOS MAGNÉTICOS.................................................................................................................................. 142
13 F ITAS.............................................................................................................................................................. 143
14 D ISCOS ÓPTICOS.......................................................................................................................................... 144
15 QUESTÕES AUTOAVALIATIVAS...................................................................................................................145
16 C ONSIDERAÇÕES.......................................................................................................................................... 145
17 E- REFERÊNCIAS ........................................................................................................................................... 146
18 R EFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................146

Unidade 6 – SAP1: ARQUITETURA


1 OBJETIVO...................................................................................................................................................... 147
2 CONTEÚDOS................................................................................................................................................. 147
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE..........................................................................................147
4 INTRODUÇÃO À UNIDADE...........................................................................................................................148
5 SAP (SIMPLE-AS-POSSIBLE) – COMPUTADOR MAIS SIMPLES POSSÍVEL.................................................148
6 COMO FUNCIONA O SAP1...........................................................................................................................152
7 QUESTÕES AUTOAVALIATIVAS...................................................................................................................157
8 CONSIDERAÇÕES.......................................................................................................................................... 158
9 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................158

Unidade 7 – SAP1: CONJUNTO DE INSTRUÇÕES E PROGRAMAÇÃO


1 OBJETIVOS.................................................................................................................................................... 159
2 CONTEÚDOS................................................................................................................................................. 159
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................159
4 INTRODUÇÃO À UNIDADE ..........................................................................................................................160
5 CONJUNTO DE INSTRUÇÕES.......................................................................................................................160
6 PROGRAMANDO O SAP1.............................................................................................................................161
7 PROGRAMA ESCRITO EM LINGUAGEM DE MONTAGEM X PROGRAMA ESCRITO EM LINGUAGEM
DE MÁQUINA................................................................................................................................................ 166
8 QUESTÕES AUTOAVALIATIVAS....................................................................................................................168
9 CONSIDERAÇÕES.......................................................................................................................................... 168
10 R EFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................168
Unidade 8 – SAP1: COMO AS INSTRUÇÕES SÃO EXECUTADAS
1 OBJETIVO...................................................................................................................................................... 169
2 CONTEÚDOS................................................................................................................................................. 169
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................169
4 INTRODUÇÃO À UNIDADE ..........................................................................................................................170
5 CONTROLE DO SAP1..................................................................................................................................... 170
6 CICLO DE MÁQUINA E CICLO DE INSTRUÇÃO............................................................................................172
7 QUESTÕES AUTOAVALIATIVAS....................................................................................................................179
8 CONSIDERAÇÕES.......................................................................................................................................... 180
9 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................180

Unidade 9 – SAP2: ARQUITETURA E PROGRAMAÇÃO


1 OBJETIVO..................................................................................................................................................... 181
2 CONTEÚDOS................................................................................................................................................ 181
3 ORIENTAÇÕES PARA O ESTUDO DA UNIDADE...........................................................................................181
4 INTRODUÇÃO À UNIDADE...........................................................................................................................182
5 SAP 2 – ARQUITETURA E PROGRAMAÇÃO.................................................................................................182
6 QUESTÕES AUTOAVALIATIVAS....................................................................................................................197
7 CONSIDERAÇÕES.......................................................................................................................................... 198
8 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................198

APÊNDICE ........................................................................................................................................ 199


LEITURA COMPLEMENTAR I – HISTÓRIA E EVOLUÇÃO DOS COMPUTADORES.......................... 202
LEITURA COMPLEMENTAR II – 8051: UMA VISÃO GERAL............................................................ 213
LEITURA COMPLEMENTAR III – MICROCONTROLADORES........................................................... 217
EAD
Caderno de
Referência de
Conteúdo
CRC

Conteúdo–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Sistemas numéricos e conversões de bases. Circuitos digitais. Processadores. Memórias. Dispositivos de entrada
e saída. Componentes de fluxo de dados. Unidade Aritmética e Lógica. Unidade de Controle e Microprogramação.
Arquitetura do SAP1. Conjunto de instruções e programação do SAP1. Execução de instruções no SAP1. SAP 2.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

1. INTRODUÇÃO
Seja bem-vindo ao estudo de Arquitetura e Organização de Computadores. Nesta parte,
chamada Caderno de Referência de Conteúdo, você encontrará o conteúdo das nove unidades
de estudo.
Antes de iniciarmos este estudo, faz-se necessário responder alguns questionamentos,
tais como:
Como funciona um computador? Qual é a configuração adequada para rodar determina-
dos aplicativos? Como programar de forma mais eficiente? Quais são os componentes necessá-
rios para integrar os computadores aos outros dispositivos eletrônicos do nosso dia a dia?
Para responder essas perguntas, é necessário estudar a computação a partir dos seus
conceitos fundamentais, conhecendo as partes funcionais dos circuitos digitais até chegar ao
sistema como um todo.
A arquitetura dos computadores atuais é grande e complexa, porém trata-se da evolução
de arquiteturas bem mais simples. Assim, a partir do momento em que essas arquiteturas sim-
ples são compreendidas, conseguimos entender também o funcionamento dos computadores
atuais, pois o princípio de funcionamento é o mesmo.
10 © Arquitetura e Organização de Computadores

A tarefa de programar um computador está diretamente relacionada à máquina, pois são


as máquinas que executam os programas. Dessa forma, se você busca escrever programas efi-
cientes, terá que entender como esses programas irão utilizar os recursos de hardwares dispo-
níveis. Você sabia que os melhores programadores possuem um profundo conhecimento de
hardware?
Outro aspecto importante relacionado aos nossos estudos é a computação ubíqua – que
utiliza o conceito de computação pervasiva (presente em quase tudo o que usamos) – com a
computação móvel, para tornar o computador onipresente.
A viabilidade da computação ubíqua está condicionada à possibilidade de integração de
diferentes dispositivos. Para poder integrá-los, é necessário conhecê-los.
Você ainda estudará os sistemas numéricos e as conversões de base, compreenderá a
implementação de sistemas computacionais no nível da lógica digital e suas implementações,
conhecerá os princípios e as organizações das estruturas físicas de um computador e a relação
existente entre o hardware e o software.
Além disso, terá a oportunidade de descobrir como um computador executa os progra-
mas; entender a evolução das tecnologias de hardware até os dias de hoje; aprender alguns
conceitos relacionados aos projetos de computadores e entender como funciona a execução de
um programa.
Além de todos os conceitos apresentados, é importante que você compreenda os con-
ceitos relacionados ao hardware de um computador e ao funcionamento do sistema durante a
execução de um programa.
Para ter um rendimento satisfatório, é importante que você realize todas as atividades e
interaja com seus colegas de curso e seu tutor.
Seremos uma equipe virtual e, portanto, é imprescindível a sua colaboração. Assim, troca-
remos ideias com a finalidade de agregar conhecimentos.

2. ORIENTAÇÕES PARA ESTUDO

Abordagem Geral
Neste tópico, apresenta-se uma visão geral do que será estudado. Aqui, você entrará em
contato com os assuntos principais deste conteúdo de forma breve e geral e terá a oportunidade
de aprofundar essas questões no estudo de cada unidade. Desse modo, essa Abordagem Geral
visa fornecer-lhe o conhecimento básico necessário a partir do qual você possa construir um
referencial teórico com base sólida – científica e cultural – para que, no futuro exercício de sua
profissão, você a exerça com competência cognitiva, ética e responsabilidade social.
Arquitetura e Organização de Computadores está presente na maior parte das grades cur-
riculares dos cursos de Computação e Informática, como, por exemplo, Ciência da Computação,
Engenharia da Computação, Sistemas de Informação, Licenciatura em Computação, Análise e
Desenvolvimento de Sistemas, Tecnologia da Informação, entre outros. A sua aplicação pode ser
direta ou indireta, dependendo do curso em questão e também da área de atuação do profissio-
nal da Computação ou Informática.
A aplicação direta está relacionada às atividades que utilizam a computação como ativi-
dade-fim, ou seja, que utilizam a computação pela computação e não como uma ferramenta
© Caderno de Referência de Conteúdo 11

para solucionar problemas de outras áreas. São exemplos desses profissionais os projetistas de
hardware, engenheiros e bacharéis em Ciência da Computação (quando desenvolvem códigos
em linguagem de montagem ou drivers para novos dispositivos).
Já a aplicação indireta está ligada aos profissionais que utilizam os conceitos de arquite-
tura e organização de computadores para desenvolver melhor uma atividade que não está dire-
tamente relacionada à disciplina. O conhecimento do funcionamento da máquina e seus princí-
pios proporcionam, contudo, maior eficiência e eficácia ao produto ou ao processo em questão.
Como este Caderno de Referência de Conteúdo está focado nos cursos que utilizam a com-
putação como uma ferramenta de desenvolvimento ou como parte de uma infraestrutura, tra-
taremos sobre o tema com ênfase nessas aplicações.
O maior diferencial entre um profissional que possui uma formação prática e outro que
possui uma formação acadêmica é justamente o domínio do seu conhecimento. Enquanto o
profissional prático se limita ao conhecimento da atividade, o profissional acadêmico vai além e
conhece tudo o que está ao redor da atividade, e aplica esse conhecimento para o seu benefício.
Vejamos alguns cenários em que o conhecimento destes conteúdos poderão ser de gran-
de valor:
Um cliente que possui um estacionamento solicitou a construção de um software para
reconhecer o número da placa de seus clientes que entram e saem do seu pátio. A partir daí,
o sistema deve controlar o tempo de estacionamento utilizado e gerar uma fatura. O custo
computacional (esforço do processador) para identificar os números que constam na placa de
cada veículo é muito grande e, por conta disso, é necessário refletir sobre um meio de aperfei-
çoamento do processador para que o programa fique mais leve. Os profissionais de desenvol-
vimento, em especial a equipe de análise de requisitos, poderão identificar a necessidade de
dimensionar um processador com mais núcleos ou mesmo uma máquina com mais processado-
res para poder atender os requisitos desse software e, além disso, os profissionais que codifica-
rão o programa deverão entender como programar especificamente para esses processadores.
Portanto, podemos observar que os conhecimentos de como os processadores funcionam é
fundamental para este cenário.
Outro exemplo é a necessidade de um programa de funcionamento para os produtos
elétrico-eletrônicos que são microcontrolados. A programação desses dispositivos obedece à
mesma lógica da programação dos computadores com que estamos acostumados a trabalhar;
em alguns casos, inclusive, é utilizada a mesma linguagem de programação, como Basic ou C.
Para programar tais dispositivos, mesmo utilizando essas linguagens, é necessário conhecer o
hardware que rodará o programa. Assim, o programador saberá quais são os recursos de hard-
ware disponíveis para utilização e, também, como habilitá-los para receber e enviar sinais. Des-
se modo, todas as unidades de estudo serão importantes para o conhecimento desse tipo de
hardware e da sua correta programação.
Em outro cenário, imagine que você esteja desenvolvendo uma aplicação que precisa tro-
car mensagens (interagir) com dispositivos de hardware externo. Como exemplo, consideremos
que esse dispositivo seja uma fonte de tensão e corrente e, adicionalmente, que ele possua uma
interface serial. Você deverá obter informações sobre como o equipamento troca as suas men-
sagens, configurações de portas e interrupções para só então poder desenvolver um programa
para trabalhar adequadamente com tal dispositivo.
Outra situação é pensar que algumas rotinas exigem o controle direto do hardware, mui-
tas vezes passando até por cima do sistema operacional. Essas aplicações, na maior parte das

Claretiano - Centro Universitário


12 © Arquitetura e Organização de Computadores

vezes, necessitam do acesso ao valor de alguns registradores do processador. Uma possibilidade


para resolver esse problema é programar em assembly (linguagem de montagem – um nível
acima da linguagem de máquina). Para essa programação, é necessário um conhecimento pro-
fundo dos sistemas numéricos binários e hexadecimais; portanto, é desejável que você tenha
conhecimento de sistemas digitais e também dos processadores, memórias e dispositivos de
entrada e saída.
Como um conhecimento maior da arquitetura e da organização dos computadores pode
proporcionar um melhor trabalho? Disponibilizando os dados e as informações necessárias para
entender como a máquina funciona e também propiciando o conhecimento adequado para
trabalhar de forma mais eficiente e eficaz com essas máquinas.
Os conhecimentos adquiridos neste Caderno de Referência de Conteúdo também são ne-
cessários para o desenvolvimento de programas com um custo computacional menor. Você já
pensou nas diferenças existentes entre construir uma estrutura condicional if else ou uma es-
trutura equivalente utilizando apenas dois ifs? Onde o processador gasta o seu tempo? Nas
comparações ou nas atribuições? Quanto tempo um processador gasta para buscar e executar
as instruções? Esse tempo varia de acordo com a instrução que está sendo executada ou é igual
para todas elas? A Arquitetura e Organização de Computadores vai ajudá-lo a refletir e respon-
der perguntas como essas.
Na primeira unidade, você terá a oportunidade de aprender sobre os sistemas numéricos,
suas bases, as conversões numéricas entre números de bases diferentes, além das operações
aritméticas entre eles.
A linguagem natural dos computadores é de base dois (binária). O computador é capaz
de entender apenas zeros e uns, ou melhor, podemos afirmar que ele é capaz de entender a
presença ou a ausência de corrente elétrica em um determinado ponto do circuito, em um
determinado momento. Portanto, para facilitar o entendimento das máquinas, essas condições
são traduzidas em zeros e uns.
No sistema numérico decimal, temos dez algarismos para representar qualquer quantida-
de. Os algarismos do sistema numérico decimal são: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Assim, os números
são formados multiplicando-se cada algarismo com a base (que no caso é dez) elevada à posição
desse algarismo na formação do número.
Por exemplo:
(87632)10 = 8 X 104 + 7 X 103 + 6 X 102 + 3 X 101 + 2 X 100
Ou, ainda:
8 X 10.000 + 7 X 1000 + 6 X 100 + 3 X 10 + 2 X 1 = (87632)10
Observe que, mesmo trabalhando com números de base dez, quando escrevemos vários
números de bases diferentes em um mesmo documento, é muito importante indicar a base. A
indicação da base deve ser feita colocando o número entre parênteses e a base como índice do
lado de fora do parêntese.
Quando trabalhamos com números no sistema hexadecimal, além da indicação citada, é
muito comum encontrarmos o número fora dos parênteses seguido da letra maiúscula H. Por
exemplo, 46H.
Da mesma forma, podemos escrever os números de outras bases como, por exemplo, nú-
meros binários (de base dois), octais (de base oito) e hexadecimais (de base dezesseis).
© Caderno de Referência de Conteúdo 13

O sistema binário utiliza apenas os algarismos 0 e 1. Assim:


(1011)2 = 1 X 23 + 0 X 22 + 1 X 21 + 1 X 20 = (11)10
(1001)2 = 1 X 23 + 0 X 22 + 0 X 21 + 1 X 20 = (9)10
(101011)2 = 1 X 25 + 0 X 24 +1 X 23 + 0 X 22 + 1 X 21 + 1 X 20 = (43)10
(11011)2 = 1 X 24 +1 X 23 + 0 X 22 + 1 X 21 + 1 X 20 = (27)10
O sistema octal utiliza os algarismos 0, 1, 2, 3, 4, 5, 6 e 7. Um erro muito comum é consi-
derar o número oito como sendo o último número do sistema octal. Não pode ser assim, pois o
zero conta como um algarismo e por isso o oito não pode entrar como um símbolo válido para
os números do sistema octal. Veja:
(167)8 = 1 X 82 + 6 X 81 + 7 X 80 = (119)10
O último exemplo será de um número em hexadecimal. Os algarismos do sistema numéri-
co hexadecimal são: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F. Os símbolos A, B, C, D, E e F valem,
respectivamente: 10, 11, 12, 13, 14 e 15.
(210)16 =2 X 162 + 1 X 161 + 0 X 160 = (528)10
(5AF)16 =5 X 162 + 10 X 161 + 15 X 160 = (1455)10
Não será possível demonstrarmos todas as possibilidades, mas todos os sistemas numéri-
cos obedecem sempre à mesma regra.
Utilizando as regras adotadas nos exemplos anteriores, você conseguirá converter um nú-
mero de qualquer base para a base dez.
E o contrário? É possível?
Claro que sim. É possível converter um número de base dez para um número equivalente
em qualquer base. Basta fazer o contrário da formulação adotada na conversão de um número
de qualquer base para a base dez. Deve-se dividir o número de base dez pela base para a qual
se deseja converter o número. As divisões devem ser sucessivas até que o resultado seja menor
do que a base de destino. Ao terminar as divisões, o resultado deverá ser montado pegando-se
o último resultado com os restos das divisões anteriores. Observe os exemplos.

Conversões da base dez para binário


(43)10 = ( )2
Resolução:
43/2 = 21 com resto 1.
21/2 = 10 com resto 1.
10/2 = 5 com resto 0.
5/2 = 2 com resto 1.
2/2 = 1 com resto 0.
Deve-se montar o número partindo-se do último resultado (1) com os últimos restos no
sentido da última operação para a primeira. Assim, temos o seguinte resultado: (101011)2.
(43)10 = (101011)2

Claretiano - Centro Universitário


14 © Arquitetura e Organização de Computadores

Conversão da base dez para a base oito


(73)10= ( )8.
73/8 = 9 com resto 1.
9/8 = 1 com resto 1
Deve-se montar o número partindo-se do último resultado (1) com os últimos restos no
sentido da última operação para a primeira. Assim, temos o seguinte resultado: (111)8.
(73)10 = (111)8

Conversão da base dez para a base dezesseis (hexadecimal)


(73)10= ( )16.
73/16 = 4 com resto 9.
Observe que foi possível executar apenas uma divisão. Neste caso, deve-se pegar o resul-
tado com o resto (nessa ordem) para montar o resultado final.
(73)10= (49)16

Depois de entender os sistemas de numeração e as suas conversões, você terá a possibi-


lidade de aprender a realizar operações aritméticas (soma e subtração) em sistemas numéricos
de bases diferentes de dez.
Na unidade 2, você terá contato com os sistemas digitais e alguns exemplos de circuitos di-
gitais. Para entender o funcionamento dos computadores digitais, é necessário entender como
os dispositivos digitais funcionam e como eles se relacionam.
Todo circuito digital pode ser representado por um diagrama composto por símbolos que
representam portas lógicas. As portas lógicas implementam funções booleanas que podem ser
entendidas como partes de lógica baseada em sinais ligado ou desligado.
Outra forma de representação de um circuito digital é a utilização de expressões boolea-
nas (que operam sobre variáveis binárias e a lógica clássica).
Os circuitos devem receber sinais por meio das variáveis de entrada. Esses sinais serão
processados pelo circuito, que devolverá ao ambiente externo o resultado do processamento
nas variáveis de saída.
Para exemplificar essa operação, imagine um problema prático: suponha que você deseja
construir um circuito capaz de somar dois bits. Para isso, será utilizado um circuito que receberá
os dois bits nas variáveis A e B e o resultado será disponibilizado nas variáveis S (soma) e V (vai
um). Para esse exemplo, as variáveis A e B serão variáveis de entrada, enquanto as variáveis S e
V serão de saída e receberão, respectivamente, o resultado da soma e o resultado do estouro
(vai um).
Para construir o circuito somador, deve-se, em primeiro lugar, montar uma tabela que
armazene todas as possibilidades de valores para as variáveis de entrada e os resultados das
variáveis de saída para cada caso das variáveis de entrada. Essa tabela recebe o nome de tabela
verdade e deverá ter o número de linhas igual a 2n, em que n é igual ao número de variáveis
de entrada. Para entender o motivo dessa conta, basta lembrar que, em um sistema binário, as
variáveis de entrada receberão apenas dois valores: zero ou um. Assim, fazendo uma análise
© Caderno de Referência de Conteúdo 15

combinatória envolvendo todas as possibilidades para n variáveis de entrada, acabamos por


obter o valor 2n.
Veja o exemplo da tabela verdade do somador desse exemplo:

Tabela 1 Tabela verdade de um circuito somador de dois bits.


A B S V
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Todos os valores a serem somados estão em binário; portanto, não se preocupe em enten-
der os resultados. Durante o estudo da Unidade 1, você terá a possibilidade de aprender que,
em binário, 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1 e 1 + 1 = 0 e vai um.
A partir da tabela verdade, utiliza-se uma técnica para escrever a(s) expressão(ões)
booleana(s) da(s) variável(is) de saída(s).
Uma das formas de extrair a expressão booleana a partir da tabela verdade é multiplicar
(operação e booleana) as variáveis de entrada cuja(s) saída(s) for(em) igual(is) a um, invertendo
a variável de entrada (complementando) quando as mesmas forem zero. Usaremos o sinal de
apóstrofe como complemento.
Neste caso, teremos:
S = A’ . B + A . B’
V = A . B.
A técnica de extração de expressão booleana apresentada é denominada soma de pro-
dutos, pois devem ser multiplicadas as variáveis de entrada (operação e ou and), e, então, so-
madas as linhas com saídas iguais a um (operação ou ou or). Na unidade 2, você também terá
a oportunidade de aprender a técnica de produto das somas, que é exatamente o contrário da
técnica soma de produtos. Nessa técnica, devem-se considerar as saídas iguais a zero, somar as
variáveis de entrada (complementando as variáveis com valor igual a um) e multiplicar as linhas
cujas saídas sejam iguais a zero.
As duas técnicas apresentadas são de simples compreensão, porém não produzem expres-
sões simplificadas, ou seja, que utilizam o menor número de portas lógicas possível. Para obter
expressões simplificadas, devemos aplicar algumas propriedades, teoremas ou postulados da
álgebra booleana da mesma forma que fazemos com as expressões matemáticas, ou utilizar
alguma ferramenta para simplificação.
Como nosso curso não tem o foco em sistemas digitais, as simplificações algébricas boo-
leanas não serão abordadas, sendo apresentada somente a técnica de simplificação utilizando
mapas de Veitch-Karnaugh. Esses mapas constituem uma ferramenta bem simples para que, a
partir da tabela verdade, seja escrita a expressão booleana correspondente e, assim, os circuitos
sejam implementados utilizando-se o menor número possível de portas lógicas.
Veja, na Tabela 2, um exemplo do uso da ferramenta Mapas de, aplicado a uma tabela-
-verdade com três variáveis de entrada.

Claretiano - Centro Universitário


Veja,
Veja,nanaTabela
Tabela2,2,um umexemplo
exemplododouso
usoda
daferramenta
ferramentaMapas
Mapasde,
de,aplicado
aplicadoaauma
umatabela-
tabela-
verdade
verdadecom
comtrês trêsvariáveis
variáveisde deentrada.
entrada.
16 © Arquitetura e Organização de Computadores

Tabela 2 Utilização da ferramenta Mapas de Veitch-Karnaugh em uma tabela verdade.


Tabela
Tabela22Utilização
Utilizaçãoda
daferramenta
ferramentaMapas
MapasdedeVeitch-Karnaugh
Veitch-Karnaughem
emuma
umatabela
tabelaverdade.
verdade.
Extração da expressão pelo método da Tabela Verdade.

 Extração da expressão utilizando a ferramenta



 Mapa de Veitch-Karnaugh.


 


 
 
 
 

 

    




    

        


    

    

    

    

    





Expressão extraída da tabela verdade 

Expressão extraída do Mapa de Veitch-Karnaugh
S = A’ . B’ . C’ + A’ . B’ . C + A’ . B . C’ + A’ . B . C. S= A’

 

Comentários:
Pode-se escolher pegar as saídas iguais a um ou as saídas iguais a A operação consiste em analisar o enlace de uns ou


zero. O ideal é escolher a saída com menor número de ocorrências. de zeros, verificando, em todo o espaço do enlace,
Se a escolha for considerar
Pode-se
Pode-se escolher
escolherpegaras saídas
pegar iguais
saídasaiguais
asassaídas um, aaaoperação
iguais um
umououasasconsiste
saídas em as variáveis
saídas de entrada
AAoperação
operação que em
consiste
consiste mudam ou não
emanalisar
analisar de valor.
ooenlace
enlace
multiplicar
iguais
iguaisaazero.as variáveis
zero. idealééde
OOideal entrada
escolher
escolher da
aasaída linha
saída com
comcuja saídanúmero
menor
menor seja igual
número dedea um e de Asuns
de variáveis
uns ou
oude que
dezeros, mudam
zeros,verificando,de valor
verificando, em não
todooentram
emtodo o na
somar às outras multiplicações provenientes das outras linhas cujas saídas espaço
ocorrências.
ocorrências. expressão
espaço do e as variáveis
doenlace,
enlace, asasvariáveisquede
variáveis não
de mudam
entrada
entrada queentram
que
sejam iguaisSeaaescolha
Se um. Já se
escolha fora considerar
forescolha for as
considerar considerar
assaídas as saídas
saídasiguais
iguaisaaum,
um,iguais
aa a zero, a mudam da seguinte
mudam ou
ounão forma:
não de paraAs
devalor.
valor. enlaces
As variáveis de que
variáveis uns, quando
mudam o
quemudam
operação
operação
operação consiste
consiste
consiste emem
emsomar as variáveis
multiplicar
multiplicar de entrada
asasvariáveis
variáveis de da linha
deentrada
entrada dadacuja
linha
linha saída de
valor
devalordanão
valor variável
não entramdena
entram entrada
naexpressão não emudar
expressão e for igual
easasvariáveis
variáveis
seja
cujaigual
cuja saídaa seja
saída zero (colocar
sejaigual
igualaaum entre
um parênteses)
eesomar
somar àsàsoutras
outrase multiplicações
multiplicar com as outras que
multiplicações a um,
que não
nãoela
mudamentrará
mudam sem complemento;
entram
entram da
daseguinte
seguinteforma: e, separa
forma: opara
valor
somas provenientes
provenientes
provenientes das das outras
dasoutras
outras linhaslinhas
linhas cujas cujas
saídassaídas
cujassaídas sejam sejam
iguaisaiguais
sejamiguais aum.
um.Já aJáse
zero. da variável
se enlaces
enlaces de
deuns,dequando
uns, entrada
quandooonão valor
valormudar
da de valor
davariável
variável de e for
de
aaescolha
escolhafor forconsiderar
considerarasassaídassaídasiguais
iguaisaazero,
zero,aaoperação
operaçãoconsiste igual anão
consiste entrada
entrada zero,
não ela edeverá
mudar
mudar efor entrar
forigual
igual aaum,
um,complementada.
ela
elaentrará
entrará
Para
em este
emsomar
somarcaso, temos
asasvariáveis
variáveis osdeseguintes
de entradatermos
entrada da
dalinha (provenientes
linha cuja
cujasaída
saídaseja
sejadeigual
cadaaalinha sem
igual Paracomplemento;
sem enlaces de zeros,
complemento; e,e,sesequando
oovalor
valorda odavalor
variávelda de
variável variável
de
com
zerosaída
zero igualentre
(colocar
(colocar a um):
entre parênteses)
parênteses)eemultiplicar
multiplicarcom comasasoutras
outrassomas
somas de entrada
entrada
entrada não não
nãomudar mudar
mudar de e foreeigual
devalor
valor for a um,
forigual
igual ela
aazero,entrará
zero, ela
ela
provenientes
provenientesdas dasoutras
outraslinhas
linhascujas
cujassaídas
saídassejam
sejamiguais
iguaisaazero.
zero. complementada;
deverá
deverá entrar e, se o valor
entrarcomplementada.
complementada. Parada
Para variável
enlaces
enlaces dede de
Primeira linha: A’ . B’ . C’ entrada
zeros,
zeros, não mudar
quando
quando valoreda
oovalor for
da igual ade
variável
variável zero,
deentradaela entrará
entrada nãonão
Segunda Para
linha:
Paraeste A’ . caso,
este B’ . C temos
caso, temosos osseguintes
seguintestermostermos(provenientes
(provenientesde sem oeecomplemento
de mudar
mudar for
forigual um,(portanto,
igualaaum, ela entraráde forma oposta
elaentrará
Terceira linha: A’ . B . C’ aos enlaces de uns). Quando os enlaces forem de
Quarta linha: A’ . B . C. uns, as variáveis de entrada que sobrarem deverão
ser multiplicadas e os enlaces (quando existir mais
de um) deverão ser somados. Para enlaces de zeros,
as variáveis de entrada que sobrarem deverão ser
somadas (inserir parênteses) e os enlaces (quando
Efetuando a soma das multiplicações, temos: existir mais de um) deverão ser multiplicados.
Para este caso, temos apenas um enlace ocupando
S = A’ . B’ . C’ + A’ . B’ . C + A’ . B . C’ + A’ . B . C. toda a primeira linha. Assim, as variáveis B e C
mudam de valor ao longo de todo o enlace da
primeira linha, enquanto a variável A vale zero para
todo o enlace. A expressão fica: S = A’. É importante
notar a evidente simplificação que o mapa de Veitch-
Karnaugh proporcionou. As duas expressões são
equivalentes, ou seja, fazem a mesma coisa, só que a
expressão proveniente do mapa possui apenas uma
porta não (not) – para complementar o valor de A,
enquanto a expressão extraída da tabela-verdade
utiliza varias portas e (and), ou (or) e não (not).

Os circuitos podem ser construídos utilizando-se os símbolos das portas lógicas e as ex-
pressões booleanas obtidas da tabela verdade.
© Caderno de Referência de Conteúdo 17

Depois de conhecer os circuitos digitais, desde a sua concepção até a sua implementação,
você poderá conhecer os principais circuitos utilizados em conjunto com os sistemas microcon-
trolados e também nos computadores atuais.
Além dos circuitos digitais estarem presentes em sistemas de controle de temperatura,
sistemas de alarme, controle de motores e bombas etc., eles também estão presentes nos com-
putadores, dentro dos processadores e em muitos outros circuitos de controle.
Veja, a seguir, alguns desses circuitos e como eles funcionam.
1) Multiplexadores: são dispositivos que recebem sinais provenientes de vários canais
de dados e transmitem esses sinais utilizando apenas um canal. Para isso, esse dispo-
sitivo compartilha o canal por meio de uma chave de seleção que determinará qual
entrada estará conectada à sua única saída em um determinado instante.
2) Demultiplexadores: fazem o inverso dos multiplexadores. Eles recebem como entrada
apenas um canal de dados e selecionam, por meio de um conjunto de chaves, qual
das saídas disponíveis estará conectada a essa entrada em um determinado instante.
3) Codificadores e decodificadores: são circuitos responsáveis por transformar códigos
de um padrão para outro. Muitas vezes, isso é necessário para poder tratar as in-
formações corretamente em um sistema. Por exemplo, podemos codificar o sistema
numérico decimal em um código binário de quatro bits para poder processar esses
dados em binário. Para devolver o resultado ao usuário, pode-se utilizar um decodifi-
cador para transformar o resultado em um código decimal.
4) Somadores e Subtradores: são circuitos capazes de efetuar a soma ou subtração de
bits. Eles operam sobre o sistema binário e podem ser associados para efetuarem
operações de vários bits simultaneamente. Dentro dos processadores, existem muitos
dispositivos como esses, compondo a unidade lógica e aritmética do chip.
5) Flip-flops: são circuitos sequenciais, ou seja, a sua saída não depende apenas das
suas entradas e sim das saídas atuais (existe uma retroalimentação dos sinais digitais).
Esses dispositivos podem ser utilizados como elementos de memória, registradores,
contadores etc.
Com esses conceitos, você estará apto a continuar os estudos nas próximas unidades,
entendendo não apenas as partes que compõem os computadores e sim como essas partes
funcionam.
Mais adiante, na Unidade 3, você terá a oportunidade de estudar os processadores.
O processador, também conhecido como CPU (Unidade Central de Processamento) é tão
importante que muitas vezes fazemos referência à toda caixa do computador (gabinete) como
sendo a CPU.
É nesse dispositivo que todas as instruções são executadas e que os programas conse-
guem converter dados de entrada em dados de saída. Podemos dizer que se trata do cérebro
do computador.
Todo computador tem um processador. Alguns possuem até mais de um (máquinas multi-
processadas). Os processadores atuais também suportam o multiprocessamento, pois possuem
vários núcleos dentro de um mesmo chip.
Os processadores executam os programas por meio de suas instruções. As instruções de-
terminam os passos para que o processador busque o que tem que ser feito na memória em
que o programa está armazenado, procure os dados necessários para efetuar o processamento
daquela instrução, execute a instrução e guarde o resultado em uma memória de saída chamada
de registrador.

Claretiano - Centro Universitário


18 © Arquitetura e Organização de Computadores

Podemos dividir os processadores em três partes:


1) Unidade de Controle: é a parte que controla o fluxo de bits dentro do processador.
2) ULA (Unidade Lógica e Aritmética): é o local onde os dados são processados.
3) Registradores: é uma "memória" que armazena apenas uma palavra de dados. Uma
palavra de dados é um conjunto de bits que tem um significado na arquitetura do
processador.
Desse modo, ao final da Unidade 3, você saberá quais são as arquiteturas de processado-
res existentes e também como esses processadores trabalham.
Na Unidade 4, trataremos das memórias. "Quanto você tem de memória no seu compu-
tador?". Você já deve ter ouvido muito essa pergunta, não é mesmo? Mas a resposta é sempre
relativa e depende de a qual memória a pergunta faz referência.
Os computadores atuais possuem vários tipos de memórias. As memórias maiores e mais
lentas normalmente são utilizadas para cópias de segurança ou armazenamento de dados que
não são utilizados com frequência. Essas memórias são chamadas de memórias secundárias ou
memória de massa. São exemplos dessas memórias as fitas DAT (apropriadas para cópias de
segurança), CDs, DVDs e HDs (Hard Disk ou disco rígido). Os HDs são bem mais rápidos do que
as fitas e são utilizados para armazenar o sistema operacional, os programas e os dados que são
utilizados com mais frequência.
Quando um programa é executado, ele é dividido em processos e esses processos devem
ser carregados em memórias mais rápidas. Essas memórias constituem a memória principal do
computador e, embora menores por conta do custo, são muito mais eficientes e, por isso, ficam
próximas ao processador. São exemplos dessas memórias: memória RAM, memória CACHE e
registradores. Essas três memórias são voláteis (os dados armazenados são apagados quando a
energia do computador for cortada) e a diferença entre elas é a velocidade.
As memórias RAM são mais lentas do que as memórias CACHE e as memórias CACHE são
mais lentas do que os registradores (que já estão dentro do processador).
Ainda na Unidade 4, você poderá aprender sobre as tecnologias das memórias apresenta-
das e as suas relações. Com essas informações, você será capaz de dimensionar adequadamente
os tipos e os tamanhos das memórias a serem utilizadas em um sistema, de acordo com a sua
aplicação.
Na Unidade 5, você terá a possibilidade de entender os diferentes tipos de dispositivos
que se conectam com os computadores e as particularidades de cada um deles. O funcionamen-
to de uma impressora, um monitor, um modem, um mouse e muitos outros dispositivos serão
explorados nessa unidade. Além de estudar esses dispositivos, você entenderá também como
ocorre a comunicação entre eles.
Basicamente, as comunicações podem ser seriais ou paralelas. Cada uma dessas formas
de comunicação oferece uma vantagem e também uma desvantagem.
Em uma comunicação serial, em que um bit é enviado atrás do outro, é intuitivo afirmar
que a comunicação é menos eficiente do que em uma comunicação paralela, na qual os bits são
enviados em paralelo (vários bits por vez). Na prática, essa afirmativa é falsa, pois, quando con-
sideramos as possíveis velocidades de transmissão, deve-se considerar também o limite máximo
de frequência por conta das possíveis interferências. Assim, sem essas informações, podemos
cometer alguns erros baseados em ideias falsas sobre um universo extremamente nebuloso e
complexo.
© Caderno de Referência de Conteúdo 19

Essa unidade vai trabalhar essas questões com o objetivo de proporcionar a você, profis-
sional da área de informática, a formação adequada para a escolha de dispositivos e suas inter-
faces de comunicação.
Nas Unidades 6, 7 e 8, estudaremos um modelo de computador muito simples, denomina-
do SAP1. Esse computador tem finalidade apenas didática, porém utiliza a mesma base e lógica
dos computadores atuais.
Na Unidade 6, será apresentada a parte física do SAP1. O SAP1 possui os seguintes módu-
los: contador de programa, módulo de entrada e registrador de endereço de memória, registra-
dor de instrução, controlador-sequencializador, acumulador, somador/subtrador, registrador B,
registrador de saída e leds. Cada um desses módulos será explicado detalhadamente no decor-
rer da unidade.
A Unidade 7 irá abordar o conjunto de instruções do SAP1, seus códigos e aplicações; e a
Unidade 8 demonstrará como essas instruções serão executadas.
Para finalizar o estudo deste Caderno de Referência de Conteúdo, na Unidade 9, você terá
a oportunidade de conhecer o SAP2, uma evolução do SAP1 que caminha para os conceitos uti-
lizados nos computadores atuais.
O SAP2 possui muito mais instruções quando comparado ao SAP1, além de possuir mais
registradores e já trabalhar com 16 bits por palavra de dados. A sua compreensão vai propiciar
o entendimento do funcionamento dos computadores atuais que, embora sejam muito mais
complexos, mantém os mesmos conceitos.
Ao final do Caderno de Referência de Conteúdo de Arquitetura e Organização de Compu-
tadores, você será capaz de entender como os programas são executados nos computadores e,
por isso, poderá utilizar melhor as máquinas e desenvolver programas mais eficazes e eficientes.
Vale lembrar a importância do embasamento teórico que este conteúdo proporcionará
para uma adequada gestão da tecnologia da informação no quesito infraestrutura.
Bons Estudos!

Glossário de Conceitos
O Glossário de Conceitos permite a você uma consulta rápida e precisa das definições con-
ceituais, possibilitando-lhe um bom domínio dos termos técnico-científicos utilizados na área
de conhecimento dos temas tratados em Arquitetura e Organização de Computadores. Veja, a
seguir, a definição dos principais conceitos:
1) Assembler: compilador assembly.
2) Assembly: linguagem de montagem. Um programa escrito em assembly utiliza mne-
mônicos e números em hexadecimal.
3) Barramento: conjunto de condutores paralelos capazes de transmitir dados de um
módulo para outro.
4) Capacitores: componente eletrônico que se caracteriza por acumular carga elétrica.
5) Circuito combinacional: circuito eletrônico digital que considera apenas as entradas
atuais do circuito para gerar sinais de saída.
6) Circuito sequencial: circuito eletrônico digital que considera a saída atual do circuito
em conjunto com as novas entradas para gerar os sinais de saída.
7) Codificadores: circuitos digitais capazes de transformar um tipo de padrão digital em
outro tipo, como, por exemplo, um circuito para transformar um código binário em
um código para conectar um display de sete segmentos.

Claretiano - Centro Universitário


20 © Arquitetura e Organização de Computadores

8) Compilador: conjunto de aplicativos capazes de traduzir um programa escrito em uma


linguagem qualquer para a linguagem de máquina.
9) Complemento: o que falta para um todo. Em sistemas de numeração, complemento
é o que falta para a base.
10) Concatenar: estabelecer conexão entre; encadear, ligar.
11) CPU: unidade central de processamento ou, simplesmente, processador.
12) Demultiplexador: circuito digital capaz de selecionar uma de suas várias saídas para
conectar à sua única entrada.
13) Diodo: componente eletrônico que permite a passagem de elétrons em uma única
direção.
14) Display de sete segmentos: visor com sete leds em formato de linha, capaz de indicar
os algarismos decimais de zero a nove.
15) EEPROM: memória que pode ser gravada e apagada várias vezes por meio de sinais
eletrônicos.
16) EPROM: memória que pode ser gravada e apagada por luz ultravioleta.
17) Expressões booleanas: expressões que utilizam variáveis lógicas (variáveis binárias)
para representar um circuito eletrônico.
18) Flash: tipo de memória EEPROM muito utilizado em pen drives e cartões de memória.
19) Led: diodo emissor de luz.
20) Linguagem de montagem: linguagem escrita utilizando zeros e uns. Utiliza OPCODES
e números binários.
21) Mapa de Veitch-Karnaugh: ferramenta utilizada para simplificar expressões boolea-
nas.
22) Microcontrolador: componente eletrônico que possui uma arquitetura semelhante à
dos processadores, com a diferença de prover, adicionalmente, portas de entrada e
saída, conversores AD/DA, entrada e saída serial e muitos outros recursos.
23) Microprograma: é o conjunto das macroinstruções de um computador, acompanhado
das suas respectivas microinstruções.
24) Mnemônico: apelido dado aos OPCODES e são utilizados durante a programação em
assembly.
25) Multicomputadores: arquitetura que possui mais de um processador com memória
dedicada.
26) Multiplexador: circuito digital capaz de selecionar uma de suas várias entradas para
conectar a sua única saída.
27) Multiprocessadores: arquitetura que possui mais de um processador compartilhando
uma única memória.
28) OPCODE: código de operação de uma instrução, definido pelo fabricante do hardware.
29) Palavra de dado: conjunto de bits que representa uma informação, podendo o núme-
ro de bits variar de uma arquitetura para outra.
30) Pipeline: método utilizado para processar mais de uma instrução por vez. Utiliza o
conceito de estágios de processamento, ou seja, várias instruções podem ser executa-
das ao mesmo tempo, porém cada uma em um estágio diferente.
31) PROM: memória que pode ser gravada apenas uma vez.
32) RAM: memória volátil de acesso aleatório.
33) Registrador: memória de uma única palavra de dado.
34) ROM: memória somente leitura.
35) Sistema binário: tipo de sistema de numeração que utiliza dois símbolos para repre-
sentar qualquer quantidade; os símbolos são: 0 e 1.
© Caderno de Referência de Conteúdo 21

36) Sistema decimal: tipo de sistema de numeração que utiliza nove símbolos para repre-
sentar qualquer quantidade; os símbolos são: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.
37) Sistema hexadecimal: tipo de sistema de numeração que utiliza dezesseis símbolos
para representar qualquer quantidade; os símbolos são: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, e F.
38) Sistema Octal: tipo de sistema de numeração que utiliza oito símbolos para represen-
tar qualquer quantidade; os símbolos são: 0, 1, 2, 3, 4, 5, 6, e 7.
39) Sistema Operacional: conjunto de programas que tem a função de prover uma inter-
face entre o homem e a máquina, gerenciando os arquivos e os programas conforme
a necessidade de cada tarefa.
40) Tabela Verdade: utilizada em lógica matemática e/ou em sistemas digitais, é uma ta-
bela que contempla todas as possibilidades de entradas de uma expressão ou circuito,
juntamente com as suas respectivas saídas.
41) Transistor: componente eletrônico que permite ou não a passagem de corrente de um
ponto para outro, dependendo da sua polarização.
42) Volatilidade: indica se os dados gravados em uma memória serão perdidos com a
queda de energia (memórias voláteis) ou não (memórias não voláteis).

Esquema dos Conceitos-chave


Para que você tenha uma visão geral dos conceitos mais importantes deste estudo, apre-
sentamos, a seguir (Figura 1), um Esquema dos Conceitos-chave. O mais aconselhável é que
você mesmo faça o seu esquema de conceitos-chave ou até mesmo o seu mapa mental. Esse
exercício é uma forma de você construir o seu conhecimento, ressignificando as informações a
partir de suas próprias percepções.
É importante ressaltar que o propósito desse Esquema dos Conceitos-chave é representar,
de maneira gráfica, as relações entre os conceitos por meio de palavras-chave, partindo dos
mais complexos para os mais simples. Esse recurso pode auxiliar você na ordenação e na se-
quenciação hierarquizada dos conteúdos de ensino.
Com base na teoria de aprendizagem significativa, entende-se que, por meio da organiza-
ção das ideias e dos princípios em esquemas e mapas mentais, o indivíduo pode construir o seu
conhecimento de maneira mais produtiva e obter, assim, ganhos pedagógicos significativos no
seu processo de ensino e aprendizagem.
Aplicado a diversas áreas do ensino e da aprendizagem escolar (tais como planejamentos
de currículo, sistemas e pesquisas em Educação), o Esquema dos Conceitos-chave baseia-se,
ainda, na ideia fundamental da Psicologia Cognitiva de Ausubel, que estabelece que a apren-
dizagem ocorre pela assimilação de novos conceitos e de proposições na estrutura cognitiva
do aluno. Assim, novas ideias e informações são aprendidas, uma vez que existem pontos de
ancoragem.
Tem-se de destacar que "aprendizagem" não significa, apenas, realizar acréscimos na es-
trutura cognitiva do aluno; é preciso, sobretudo, estabelecer modificações para que ela se con-
figure como uma aprendizagem significativa. Para isso, é importante considerar as entradas de
conhecimento e organizar bem os materiais de aprendizagem. Além disso, as novas ideias e os
novos conceitos devem ser potencialmente significativos para o aluno, uma vez que, ao fixar
esses conceitos nas suas já existentes estruturas cognitivas, outros serão também relembrados.
Nessa perspectiva, partindo-se do pressuposto de que é você o principal agente da cons-
trução do próprio conhecimento, por meio de sua predisposição afetiva e de suas motivações
internas e externas, o Esquema dos Conceitos-chave tem por objetivo tornar significativa a sua

Claretiano - Centro Universitário


22 © Arquitetura e Organização de Computadores

aprendizagem, transformando o seu conhecimento sistematizado em conteúdo curricular, ou


seja, estabelecendo uma relação entre aquilo que você acabou de conhecer com o que já fazia
parte do seu conhecimento de mundo (adaptado do site disponível em: <http://penta2.ufrgs.
br/edutools/mapasconceituais/utilizamapasconceituais.html>. Acesso em: 11 mar. 2010).

Figura 1 Esquema dos Conceitos-chave de Arquitetura e Organização de Computadores.


© Caderno de Referência de Conteúdo 23

Como pode observar, esse Esquema oferece a você, como dissemos anteriormente, uma
visão geral dos conceitos mais importantes deste estudo. Ao segui-lo, será possível transitar
entre os principais conceitos e descobrir o caminho para construir o seu processo de ensino-
-aprendizagem.
O Esquema dos Conceitos-chave é mais um dos recursos de aprendizagem que vem se
somar àqueles disponíveis no ambiente virtual, por meio de suas ferramentas interativas, bem
como àqueles relacionados às atividades didático-pedagógicas realizadas presencialmente no
polo. Lembre-se de que você, aluno EaD, deve valer-se da sua autonomia na construção de seu
próprio conhecimento.

Questões Autoavaliativas
No final de cada unidade, você encontrará algumas questões autoavaliativas sobre os con-
teúdos ali tratados, as quais podem ser de múltipla escolha, abertas objetivas ou abertas dis-
sertativas.
Responder, discutir e comentar essas questões, bem como relacioná-las com a prática
do ensino de Arquitetura de Computadores pode ser uma forma de você avaliar o seu conhe-
cimento. Assim, mediante a resolução de questões pertinentes ao assunto tratado, você estará
se preparando para a avaliação final, que será dissertativa. Além disso, essa é uma maneira pri-
vilegiada de você testar seus conhecimentos e adquirir uma formação sólida para a sua prática
profissional.

As questões de múltipla escolha são as que têm como resposta apenas uma alternativa correta. Por
sua vez, entendem-se por questões abertas objetivas as que se referem aos conteúdos matemáticos
ou àqueles que exigem uma resposta determinada, inalterada. Já as questões abertas dissertativas
obtêm por resposta uma interpretação pessoal sobre o tema tratado; por isso, normalmente, não há
nada relacionado a elas no item Gabarito. Você pode comentar suas respostas com o seu tutor ou com
seus colegas de turma.

Bibliografia Básica
É fundamental que você use a Bibliografia Básica em seus estudos, mas não se prenda só
a ela. Consulte, também, as bibliografias complementares.

Figuras (ilustrações, quadros...)


Neste material instrucional, as ilustrações fazem parte integrante dos conteúdos, ou seja,
elas não são meramente ilustrativas, pois esquematizam e resumem conteúdos explicitados no
texto. Não deixe de observar a relação dessas figuras com os conteúdos, pois relacionar aquilo
que está no campo visual com o conceitual faz parte de uma boa formação intelectual.

Dicas (motivacionais)
Este estudo convida você a olhar, de forma mais apurada, a Educação como processo de
emancipação do ser humano. É importante que você se atente às explicações teóricas, práticas e
científicas que estão presentes nos meios de comunicação, bem como partilhe suas descobertas
com seus colegas, pois, ao compartilhar com outras pessoas aquilo que você observa, permite-
-se descobrir algo que ainda não se conhece, aprendendo a ver e a notar o que não havia sido
percebido antes. Observar é, portanto, uma capacidade que nos impele à maturidade.

Claretiano - Centro Universitário


24 © Arquitetura e Organização de Computadores

Você, como aluno dos Cursos de Graduação na modalidade EaD, necessita de uma forma-
ção conceitual sólida e consistente. Para isso, você contará com a ajuda do tutor a distância, do
tutor presencial e, sobretudo, da interação com seus colegas. Sugerimos, pois, que organize bem
o seu tempo e realize as atividades nas datas estipuladas.
É importante, ainda, que você anote as suas reflexões em seu caderno ou no Bloco de
Anotações, pois, no futuro, elas poderão ser utilizadas na elaboração de sua monografia ou de
produções científicas.
Leia os livros da bibliografia indicada, para que você amplie seus horizontes teóricos. Co-
teje-os com o material didático, discuta a unidade com seus colegas e com o tutor e assista às
videoaulas.
No final de cada unidade, você encontrará algumas questões autoavaliativas, que são im-
portantes para a sua análise sobre os conteúdos desenvolvidos e para saber se estes foram
significativos para sua formação. Indague, reflita, conteste e construa resenhas, pois esses pro-
cedimentos serão importantes para o seu amadurecimento intelectual.
Lembre-se de que o segredo do sucesso em um curso na modalidade a distância é parti-
cipar, ou seja, interagir, procurando sempre cooperar e colaborar com seus colegas e tutores.
Caso precise de auxílio sobre algum assunto relacionado a este Caderno de Referência de
Conteúdo, entre em contato com seu tutor. Ele estará pronto para ajudar você.
EAD
Sistemas Numéricos e
Conversões de Bases

1. OBJETIVOS
• Compreender os sistemas numéricos de diversas bases numéricas.
• Relacionar a aplicação dos sistemas numéricos binários e hexadecimal com sistemas
computacionais.
• Aprender a conversão entre números de diferentes bases numéricas.
• Entender os mecanismos de soma e de subtração em sistemas numéricos diferentes.
• Compreender a subtração por complemento da base em sistemas numéricos de base 2
e sistemas numéricos de base 16.

2. CONTEÚDOS
• Sistemas numéricos de base 10, base 2, base 16 e de outras bases.
• Conversões numéricas entre sistemas numéricos de bases diferentes, de base 10 para
qualquer base, de qualquer base para base 10.
• Conversões numéricas entre sistemas de base 16 para base 2 e de base 2 para base 16.
• Operações aritméticas entre sistemas de numeração de bases diferentes.
• Adição direta nas bases 2 e 16.
• Subtração direta nas bases 2 e 16.
• Subtração por complemento da base nas bases 2 e 16.
26 © Arquitetura e Organização de Computadores

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) A motivação é um fator fundamental para o sucesso de qualquer atividade. Esta uni-
dade é muito importante para o estudo de Arquitetura e Organização de Computado-
res, pois, aqui serão apresentados os conceitos fundamentais do sistema de numera-
ção que as máquinas digitais utilizam: o sistema de numeração binário (de base 2) e a
sua relação com os outros sistemas de numeração utilizados para a programação em
baixo nível ou de hardware.
2) Atente para os detalhes, pois às vezeso que nos parece simplescausa o maior pro-
blema durante o cálculo ou conversão de números em sistemas numéricos de bases
diferentes.
3) Sempre que você estiver trabalhando com sistemas numéricos de bases diferentes,
deixe ao seu alcance os dígitos de cada sistema de numeração ordenados em ordem
crescente para consultas durante as operações aritméticas.
4) Você verá que os algarismos do sistema numérico hexadecimal são substituídos por
letras após o algarismo nove. Para fixar, escreva sobre cada algarismo o seu valor nu-
mérico correspondente. Exemplo: A=10, B=11, C=12, D=13, E=14, F=15.
5) Tenha sempre à mãoos livros indicados na bibliografia básica e complementar. Não se
contente em estudar apenas por meio de uma única fonte de informação.
6) Tire suas dúvidas com o seu tutor sempre que considerar necessário, e não deixe de
levar para as aulas presenciais as suas dúvidas e questionamentos.

4. INTRODUÇÃO À UNIDADE
Você sabe como é o funcionamento do sistema numérico decimal (ou sistema numérico
de base 10)? Ele é o mais utilizado para quantificar valores? Por quê?
Além do sistema numérico decimal, existem outros sistemas numéricos como, por exem-
plo, sistema binário (ou sistema numérico de base 2), sistema hexadecimal (ou sistema numéri-
co de base 16) e muitos outros.
Nesta unidade, você entenderá como os sistemas numéricos funcionam e o que significa
o número que indica a base.

VOCÊ SABIA QUE...––––––––––––––––––––––––––––––––––––––––––––––––––––––––––


Para contar as horas, é utilizado o sistema numérico de base 24, enquanto para contar os minutos o sistema numé-
rico é de base 60?
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

5. SISTEMA NUMÉRICO DECIMAL (BASE 10)


Talvez você já tenha ouvido falar em sistema numérico decimal ou de base 10.
O sistema numérico decimal (base 10) utiliza 10 algarismos (símbolos) para representar
qualquer quantidade.
O número 10 não foi adotado por acaso. Antigamente, quando o homem percebeu a ne-
cessidade de criar um meio de quantificar os objetos, sentiu a necessidade de adotar uma base
para realizar essa contagem. Como temos dez dedos nas mãos, a base 10 foi adotada, pelo fato
de ser um valor visivelmente mais fácil de ser compreendido.
© U1 - Sistemas Numéricos e Conversões de Bases 27
Observe os símbolos utilizados no sistema numérico decimal.

0 1 2 3 4 5 6 7 8 9

Para representar quantidades maiores, utilizamos pesos diferentes para cada posição do
algarismo.
Como a base é 10, para cada posição à esquerda, o peso vai ser 10 vezes maior do que a
posição à direita.
Assim, surgiram os nomes: unidade, dezena, centena, milhar, dezena de milhar, centena
de milhar, milhão etc.

5248 = 5000 + 200 + 40 + 8


= 5 X 1000 + 2 X 100 + 4 X 10 + 8X1
= 5 X 10 +3
2 X 10 +
2
4 X 10 + 1
8 X 100

A forma de decompor um número, de acordo com o exemplo anterior, serve para qual-
quer sistema numérico, bastando para isso mudar a base (em negrito) e manter o expoente da
base como a posição do algarismo, lembrando que a posição mais à direita é a posição zero.
A forma de decompor um número pode ser chamada de lei de formação.
N = An * Bn + A n+1 * Bn+1 + An+2 * Bn+2 + An+3 * Bn+3 + An+4 * Bn+4...

N = Número.
An = Algarismo.
Bn = Base.
n = Posição do algarismo que vale zero para a posição mais à direita do número.
Vamos recordar: os números terminados com 0, 2, 4, 6 e 8 são pares e os terminados com
1, 3, 5, 7 e 9 são ímpares.
Para representar o número decimal, colocamos o número entre parênteses e a base como
índice.
Exemplificando:
(2596)10
(2837) 10
(388) 10

6. SISTEMA NUMÉRICO BINÁRIO (BASE 2)


Sistema binário é aquele que utiliza somente dois algarismos para representar qualquer
quantidade.
Como o sistema tem somente dois algarismos, ele recebe o nome de bit, que é a abrevia-
ção de dígito binário em inglês.
O computador digital tem este nome porque a base de numeração em que ele trabalha é
binária, ou seja, dentro dos circuitos digitais que compõem um computador, ele só entende a

Claretiano - Centro Universitário


28 © Arquitetura e Organização de Computadores

presença ou a ausência de sinal. A partir daí, constrói todas as informações, efetuando todas as
operações que ele é capaz de realizar.
Observe os símbolos utilizados para representar qualquer quantidade do sistema binário.

0 1

Números binários terminados em 0 são pares e terminados em 1 são ímpares.


A lei de formação aplica-se a todos os sistemas numéricos e, portanto, também aplica-se
ao sistema binário.
Observe o exemplo para um número de 4 bits.
0101 = 0 X 23 + 1 X 22 0 X 21 + 1 X 20
= 0+ 4+ 0+ 1
= 4 + 1 = 5 no sistema decimal

Observe, a fórmula utilizada no exemplo anterior.


N = …An+4 * Bn+4+ An+3 * Bn+3 + An+2 * Bn+2 + An+1 * Bn+1+ An * Bn
n = Número que indica a posição do algarismo ou da base (inicialmente a posição vale zero).
A = Algarismo.
B = Base.
N = Número convertido para a base dez.
Para representar o número binário, colocamos o número entre parênteses e a base como
índice.
Exemplificando:
(0101)2
(1001) 2
(111101010) 2

7. SISTEMA NUMÉRICO HEXADECIMAL (BASE 16)


Sistema numérico hexadecimal é utilizado nos projetos computacionais, sejam eles proje-
tos de hardware (parte física do computador) ou projetos de software (parte lógica do compu-
tador).
O sistema numérico hexadecimal é muito utilizado por tratar-se de um sistema mais pró-
ximo da base 10 para a representação de quantidades. Além disso, ele é de fácil conversão para
a base 2, que é o sistema numérico utilizado nos computadores digitais.
Veja, a seguir, os símbolos que compõem o sistema hexadecimal.

0 1 2 3 4 5 6 7 8 9 A B C D E F

Observe que os números de 10 a 15 foram representados pelas letras (de A a F).


Números hexadecimais terminados em 0, 2, 4, 6, 8, A, C e E são pares; os números termi-
nados em 1, 3, 5, 7, 9, B, D e F são ímpares.
© U1 - Sistemas Numéricos e Conversões de Bases 29

2FA1 = 2 X 163 + 15 X 162 10 X 161 + 1 x 160


= 8.192 + 3.840 + 160 + 1
= 8.192 + 3.840 + 160 + 1 = 12.193 no sistema decimal

Desse modo, é importante saber o motivo pelo qual utilizamos as letras entre A e F para
representar os algarismos maiores do que 10. Pois se ao invés das letras, fossem utilizados os
números, como você iria diferenciar o seguinte valor: (11)16 do (B)16? Os dois seriam escritos na
forma (11)16.
Para representar o número hexadecimal, utilizamos a letra H após o número ou colocamos
o número entre parênteses e a base como índice.
Exemplificando:
2A96H ou (2A96)16
Para trabalhar com sistemas numéricos de outras bases, basta observar a lei de formação
e não se esquecer de representar a base, colocando de preferência o número entre parênteses
e a base como índice.

8. CONVERSÃO ENTRE BASES


Veja como é simples converter números entre bases diferentes.
Por exemplo: uma base qualquer para base 10.
Aplica-se a lei de formação conforme exemplos anteriores:
N = An * Bn + An+1 * Bn+1 + An+2 * Bn+2 + An+3 * Bn+3 + An+4 * Bn+4...

N = Número.
An = Algarismo.
Bn = Base.
n = Posição do algarismo que vale zero para a posição mais à direita do número.
Exemplificando:
Conversão do sistema numérico binário para o decimal.

(1101)2 = 1 X 23 + 1 X 22 0 X 21 + 1 X 20
= 8+ 4+ 0+ 1
= 8 + 4 + 1 = (13)10 no sistema decimal

(101101)2 = 1 X 25 + 0 X 24 1 X 23 + 1 X 22 + 0 X 21 + 1 X 20
= 32 + 0+ 8 4 0+ 1
= 32 + 0 + 8 + 4 + 0 + 1 = (45)10 no sistema decimal

Claretiano - Centro Universitário


30 © Arquitetura e Organização de Computadores

Conversão do sistema numérico hexadecimal para o decimal.

(2FA1)16 = 2 X 163 + 15 X 162 10 X 161 1 X 160


= 8.192 + 3.840 + 160 + 1
= 8.192 + 3.840 + 160 +1 = (12.193)10 no sistema decimal

(10A1)16 = 1 X 163 + 0 X 162 10 X 161 1 X 160


= 4.096 + 0+ 160 + 1
= 4.096 + 0 + 160 +1 = (4.257)10 no sistema decimal

Base 10 para qualquer base


Para converter um número de base 10 para uma base qualquer, por exemplo X, deve-se
efetuar sucessivas divisões do número de base 10 pela base X, até que o quociente seja menor
do que a base X. Para compor o número, pega-se o valor do último resultado e se estabelece
uma relação com os restos das divisões anteriores, partindo-se da última divisão até a primeira.
Vejam os seguintes exemplos:
Conversão do número (28)10 para o seu correspondente em binário:

MSB

(28)10 = (11100)2 LSB

Analisando a conversão anterior, saiba que:


MSB indica o bit mais significativo (o que tem maior valor).
LSB indica o bit menos significativo (o que tem menor valor).

Conversão do número (245)10 para o seu correspondente em binário:

MSB

(245)10 = (11110101)2 LSB


© U1 - Sistemas Numéricos e Conversões de Bases 31
Conversão do número (36.850)10 para o seu correspondente na base 8:

MSB

(36.850)10 = (107762)8
LSB

Conversão do número (2387)10 para o seu correspondente na base 16.

MSB

(2387)10 = (953)16 LSB

Conversão entre as bases 2 e 16


Com base nos conceitos estudados até agora, para convertermos um número de base
diferente de 10 para outra base diferente de 10, teríamos primeiro que converter o número da
base qualquer para a base 10 e, em seguida, para a base desejada.
A seguir, você verá como converter um número de base diferente de 10 para outra base
diferente de 10, sem ter que convertê-lo primeiro para a base 10. Portanto, fique atento às ex-
plicações.

Conversão da base 2 para a base 16


Agora, você verá como é que se faz para converter um número da base 2 para a base 16,
sem passar pela base 10.
Divida o número da base 2 em grupos de 4 bits da direita para a esquerda e, depois, con-
verta cada grupo de 4 bits diretamente para hexadecimal (da mesma forma que faria, se fosse
converter para a base 10; quando o resultado for maior que 9, você deverá utilizar letras no
lugar de números).
Como o maior número, que pode ser obtido com 4 bits, é 15, o valor do agrupamento
sempre será representado por um único algarismo de base 16.

Claretiano - Centro Universitário


32 © Arquitetura e Organização de Computadores

Depois, basta você concatenar todos os dígitos resultantes. Como? Basta apontar
que a base resultante é 16.
Exemplificando:

Conversão da base 16 para a base 2


O processo é o inverso do que vimos no exercício anterior.
Converte-se cada algarismo do sistema hexadecimal para a base 2, preenchendo, quando necessá-
rio, os dígitos à esquerda com zeros, a fim de obter sempre resultados de 4 bits.
Concatenam-se os grupos de quatro bits. Depois, basta indicar a base como quiser.
Exemplificando:

(A 2 1 B)16 = (?)2

A 2 1 B
1010 0010 0001 1011

Não se esqueça de
completar com zero os
bits à esquerda, quando
necessário.

(A 2 1 B)16 = (1010001000011011)2

9. CONVERSÕES DE BASE COM PONTO FLUTUANTE


Neste tópico, você aprenderá a converter números com ponto flutuante de qualquer base
para a base dez e converter números com ponto flutuante da base dez para qualquer base.

Conversões de números com ponto flutuante de qualquer base para a base dez
Para converter números de qualquer base para a base dez, devemos utilizar a lei de forma-
ção dos números,conforme já estudado nesta unidade.
© U1 - Sistemas Numéricos e Conversões de Bases 33

Da mesma forma, podemos converter números com ponto flutuante de qualquer base
para a base dez utilizando a mesma regra, porém escrevendo expoentes negativos para os alga-
rismos que estão posicionados à direita da vírgula. Assim, temos:
N = An-4 * Bn-4 + An-3 * Bn-3 + An-2 * Bn-2 + An-1 * Bn-1+ An * Bn + A n+1 * Bn+1 + An+2 * Bn+2 + An+3 * Bn+3 +
An+4 * Bn+4...

Onde:
n = Número que indica a posição do algarismo ou da base.
A = Algarismo.
B = Base.
N = Número convertido para a base dez.

Exemplos:

(1011,11)2 = 1 X 23 + 0 X 22 + 1 X 2 1 + 1 X 2 0 + 1 X 2-1 + 1 X 2-2 =

= 8 + 0 +2 + 1 + 0,5 + 0,25 = (11,75)10

(1001,01)2 = 1 X 23 + 0 X 22 + 1 X 2 1 + 1 X 2 0 + 1 X 2-1 + 1 X 2-2 =

= 8 + 0 +0 + 1 + 0 + 0,25 = (9,25)10

(1010,111)2 = 1 X 23 + 0 X 22 + 1 X 2 1 + 0 X 2 0 + 1 X 2-1 + 1 X 2-2 + 1 X 2-3 =

= 8 + 0 +2 + 0 + 0,5 + 0,25 + 0,125= (10,875)10

FA,39H = 15 X 161 + 10 X 160 + 3 X 16-1 + 9 X 16-2

= 240 + 10 + 0,1875 + 0,11106 = (250,29856)10

292,ACH = 2 X 162 + 9 X 161 + 2 X 160 + 3 X 16-1 + 9 X 16-2

= 512 + 144 + 2 + 0,1875 + 0,03515625 = (658,22265625)10

Conversões de números com ponto flutuante da base dez para qualquer base
Para converter um número da base dez para outra base qualquer, deve-se inicialmen-
te fazer a conversão da parte inteira, conforme já estudado nesta unidade, e, posteriormente,
converter a parte fracionária, utilizando-se a regra das multiplicações sucessivas pela base em
que se quer transformar o número. Para montar o resultado, deve-se pegar a parte inteira de
cada multiplicação efetuada até alcançar um resultado cuja parte fracionária seja zero ou até
o momento em que ocorra uma repetição na parte fracionária, indicando, assim, uma dízima
periódica, ou mesmo uma repetição do tipo dízima não periódica.

Exemplos:
a) (25,848)10 = ()2
Claretiano - Centro Universitário
34 © Arquitetura e Organização de Computadores

Resolução da parte inteira do número apresentado.


(25)10 = (11001)2
Resolução da parte fracionária do número apresentado:

0,848 0,696 0,392 0,784


X 2 X 2 X 2 X 2
1,696 1,392 0,784 1,568

1 1 0 1

= (0,1101)2
Resposta:
(11001)2 + (0,1101)2 = (11001,1101)2

b) (54,624)10 = ()2
Resolução da parte inteira do número apresentado.
(54)10 = (110110)2
Resolução da parte fracionária do número apresentado:
0,624 0,248 0,496 0,992
X 2 X 2 X 2 X 2
1,248 0,496 0,992 1,984

1 0 0 1

= (0,1001)2
Resposta:
(110110)2 + (0,1001)2 = (110110,1001)2

10. OPERAÇÕES ARITMÉTICAS EM SISTEMAS NUMÉRICOS DE BASE 2 E DE


BASE 16
Você já parou para pensar nos resultados das somas numéricas que fazemos diariamente?
E nas subtrações? Por que 5 mais 2 é igual a 7? E se esses valores não estivessem no sistema de
numeração decimal, como é que essas operações seriam feitas?
Os computadores digitais trabalham o tempo todo no sistema numérico binário, por isso
os computadores são denominados “computadores digitais”. Sendo assim, não poderíamos dei-
xar de lado a apresentação da técnica que essas maravilhosas máquinas utilizam para efetuaras
operações aritméticas na base binária. Veremos, a seguir, como as operações de soma e subtra-
ção são executadas, de forma especial, no sistema de numeração binário.
© U1 - Sistemas Numéricos e Conversões de Bases 35
Operação aritmética SOMA
Para entendermos como o computador executa uma soma, é fundamental entendermos
inicialmente como podemos descrever tecnicamente o que ocorre em uma soma no sistema
decimal.
Considere os algarismos decimais dispostos em ordem da seguinte forma:
0 1 2 3 4 5 6 7 8 9

Soma significa deslocamento à direita na sequência dos algarismos decimais, ou seja, 5


+ 2 é igual a 7 porque, estando no 5 e executando dois deslocamentos à direita nos algarismos
decimais ordenados, iremos parar no algarismo 7. Veja:

0 1 2 3 4 5 6 7 8 9
-> -> ^

Vejamos agora o que acontece com a seguinte operação aritmética decimal:7 + 5 = (?)

0 1 2 3 4 5 6 7 8 9
-> -> ^ -> -> ->
← -----------------------------------------------------------------------------------------------------------(vai um)

Então quer dizer que 7 + 5 = 2, certo? Claro que não. O que ocorre é que, quando não exis-
tem mais algarismos à esquerda e, mesmo assim, é necessário fazer um deslocamento, ocorre o
retorno para o algarismo zero e continua-se a contar a partir daí (contando inclusive o retorno).
Esse fato é conhecido como “estouro” e é o famoso “vaium”.
Agora, sim. Veja:
0 1 2 3 4 5 6 7 8 9
-> -> ^ -> -> ->

← ------------------------------------------------------------------------------------------------ (vai um)

5 +
(1 2)10

Vamos analisar outros exemplos de soma direta na base 10 com mais dígitos:

1) (737)10 + (475)10
0 1 2 3 4 5 6 7 8 9 1

7 3 7
-> -> ^ -> -> ->
4 7 5
+
2
← --------------------------------------------------------------------------- (vai um)

Claretiano - Centro Universitário


36 © Arquitetura e Organização de Computadores

0 1 2 3 4 5 6 7 8 9 1 1

-> ^ -> -> -> -> -> -> -> 7 3 7

estouro 4 7 5 +
1 2
← ---------------------------------------------------------------------- (vai um)

0 1 2 3 4 5 6 7 8 9 1 1 1

7 3 7
-> -> ^ -> -> ->
4 8 5 +
estouro
1 2 1 2
← -------------------------------------------------------------------(vai um)

Resultado:
(737)10 + (475)10 = (1212)10

2) (51)10 + (94)10
0 1 2 3 4 5 7 8 9

-> ^ 5 1

9 4 +
5
Não teve estouro

0 1 2 3 4 5 6 7 8 9 1
-> -> -> -> ^ -> -> -> -> -> 5 1

9 4 +
1 4 5
← -------------------------------------------------------------- (vai um)

Resultado:
(51)10 + (94)10 = (145)10

Agora que você já sabe como é o mecanismo da soma no sistema decimal, vamos analisar
como é realizada a soma em sistemas numéricos diferentes da base dez.
O que muda de um sistema numérico para outro é a quantidade de algarismos para a re-
presentação das quantidades. O primeiro passo é escrever os algarismos na ordem crescente de
forma idêntica à que já foi vista no sistema decimal e, a partir daí, contar os deslocamentos e os
estouros, considerando os algarismos da base com a qualse está trabalhando.
A seguir, serão apresentados alguns exemplos de soma na base 16 (hexadecimal) e tam-
bém na base 2 (binária).
Soma no sistema numérico hexadecimal (base 16):
Algarismos da base hexadecimal:
© U1 - Sistemas Numéricos e Conversões de Bases 37

0 1 2 3 4 5 6 7 8 9 A B C D E F

Veja uma operação simples em Hexadecimal:


5H + 7H = ?H.
0 1 2 3 4 5 6 7 8 9 A B C D E F

> > > > > > > ^ 5

7 +
C
----------------------Não ocorre estouro ---------------------

Resposta:
5H + 7H = CH
Agora será apresentada uma operação com estouro em hexadecimal:
8H + DH = (?H)
0 1 2 3 4 5 6 7 8 9 A B C D E F 1

> > > > > ^ > > > > > > > > 8

D
+
← ----------------------------------------------------- (vai um) 1 5

Resposta:
8H + DH = 15H
Tenha sempre muito cuidado no momento de atribuir um valor numérico aos algarismos
representados por letras. É muito simples, mas muitos erros acontecem por falta de atenção.
Uma sugestão é deixar uma tabela sempre à mão com os valores dos algarismos da seguinte
forma:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F

Observe, a seguir, outros exemplos em hexadecimal (base 16):

1) 476H + 1DEH = ?H
0 1 2 3 4 5 6 7 8 9 A B C D E F 1

> > > > ^ > > > > > > > > > > 4 7 6

1 D E
+
← ----------------------------------------------------- (vai um) 4

Claretiano - Centro Universitário


38 © Arquitetura e Organização de Computadores

0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1

4 7 6
> > > > > ^ > > > > > > > > >
1 D E
estouro
+
5 4
← ----------------------------------------------------- (vai um)

0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1

4 7 6
> > ^ 1 D E
Estouro +
6 5 4
----------------------Não ocorre estouro ------------------------

Resposta:
476H + 1DEH = 654H

2) F1EH + FFH = ?H
0 1 2 3 4 5 6 7 8 9 A B C D E F 1

F 1 E
> > > > > > > > > > > > > ^ > >
F F
+
D
← ----------------------------------------------------- (vai um)

1 1
0 1 2 3 4 5 6 7 8 9 A B C D E F F 1 E
> > > > > > > > > > > > > > > > F F
Estouro +
1 D
^
← ----------------------------------------------------- (vai um)

1 1 1
0 1 2 3 4 5 6 7 8 9 A B C D E F F 1 E
^ > F F
+
1 0 1 D
← --------------------------------------------------- (vai um)

Resultado:
F1EH + FFH = 101DH
Soma em binário (sistema numérico de base 2):
© U1 - Sistemas Numéricos e Conversões de Bases 39
Algarismos do sistema numérico binário:
0 1

Somar no sistema numérico binário não é diferente de somar em outros sistemas numéri-
cos. O problema é que, como ocorrem muitos estouros, é necessário um pouco mais de atenção
para não errar.
Veja um exemplo simples de soma no sistema numérico binário:
(0) 2 + (1) 2 = (?)2

0 1
0

1 +
> ^
1

Resultado:
(0)2 + (1)2 = (1)2

Observe agora, a apresentação de um exemplo com estouro:


(1) 2 + (1) 2 = (?)2
1
0 1 0

1
^ >
+
1 0
← ---- estouro

Resultado:
(1)2 + (1)2 = (10)2
Por esse motivo, deixo aqui uma frase bem humorada:
“Existem 10 tipos de pessoas: as que conhecem o sistema de numeração binário e as que
não conhecem” (autor desconhecido).
Claro que, se fizermos uma análise um pouco mais crítica sobre a frase citada, percebe-
remos que se trata de um erro de português, caso o 10 esteja na base decimal, ou de notação
numérica de base se os algarismos 10 estiverem na base numérica binária. Percebemos, dessa
forma, a importância de indicarmos a base sempre que estivermos trabalhando com sistemas
de numeração de bases diferentes.
Mesmo que o sistema padrão seja o decimal e estivermos apresentando um número nes-
sa base, em um projeto onde os números de bases diferentes se misturam,devemos sempre
fazer a indicação corretamente. Exemplo: (34)10.
A seguir, serão apresentados outros exemplos de soma no sistema numérico binário:
1) (101)2 + (11)2 = (?)2

Claretiano - Centro Universitário


40 © Arquitetura e Organização de Computadores

2)
1
0 1
1 0 1

^ > 0 1 1
+
← ---- estouro 0

1 1
0 1
1 0 1

0 1 1
^ > +
0 0
← ---- estouro

1 1 1
0 1
1 0 1

0 1 1
^ > +
1 0 0 0
← ---- estouro

Resposta:
(101)2+ (11)2 = (1000)2

3) (101)2 + (10)2 = (?)2

0 1
1 0 1

0 1 0 +
> ^
1
----sem estouro ---

0 1
1 0 1

0 1 0 +
> ^
1 1
---- sem estouro ---
© U1 - Sistemas Numéricos e Conversões de Bases 41

0 1
1 0 1

0 1 0 +
^
1 1 1
--- sem estouro ---

Resposta:
(101)2 + (10)2 = (111)2

Subtração direta em decimal e subtração direta em outras bases


A subtração direta ocorre da forma inversa à apresentada na soma, ou seja, a subtração
é o deslocamento à esquerda no conjunto de algarismos dispostos em ordem crescente, que
constituem a base numérica.
O “estouro” ou, ainda, o “vai um” agora passa a ser o “empresta um” da casa vizinha
e,assim, devemos ficar atentos aos zeros, que serão importantes para esses casos. É necessário
igualar as casas antes de iniciar uma operação de subtração em qualquer base.
A seguir, apresentaremos exemplos dos sistemas de numeração de base 10, de base hexa-
decimal e de base 2. Observe que todos os exemplos terão como resultado um número positivo.

Exemplos no sistema numérico de base 10 (decimal):


(94)10 – (58)10=

0 1 2 3 4 5 6 7 8 9 9 4
<- <- <- <- <- ^ <- <- <- 1

5 8 -
6
---------------------vem um--------------------------------- →

0 1 2 3 4 5 6 7 8 9 9 4

^ <- <- <- <- <- <-“vem 1


um”
5 8 -
3 6
---------------------vem um------------------------------------------------- →

Resultado:
(94)10 – (58)10= (36)10

Exemplo no sistema numérico hexadecimal (de base 16):


476H – 1DEH = ?H.

Claretiano - Centro Universitário


42 © Arquitetura e Organização de Computadores

4 7 6
0 1 2 3 4 5 6 7 8 9 A B C D E F 1
< < < < < < < ^ < < < < < < < 1 D E -
8

----------------------------vem um-------------------------- →

0 1 2 3 4 5 6 7 8 9 A B C D E F 4 7 6

< < < < < < < <- vem um ^ < < < < < < 1 1

1 D E -
9 8
----------------------------vem um-------------------------- →

0 1 2 3 4 5 6 7 8 9 A B C D E F 4 7 6

1 1
^ < <- vem um 1 D E -
2 9 8

----------------------Não ocorre estouro ------------------------

Resposta:
476H – 1DEH = 298H.

Exemplo no sistema de numeração de base 2 (binário):


(101)2– (10)2 = (?)2
1 0 1
0 1

^ 0 1 0 -
1
----sem estouro ---

1 0 1
0 1
1

^ 0 1 0 -
<
1 1
-------- estouro -----à
© U1 - Sistemas Numéricos e Conversões de Bases 43

1 0 1
0 1 1

0 1 0 –
^ <
0 1 1
--- sem estouro ---

Resposta:
(101)2– (10)2 = (011)2

O problema aparece quando o resultado é negativo! Quando isso se dá, ocorrem infinitos
estouros a partir do algarismo mais significativo (aquele que está mais à esquerda). Não deve-
mos considerar esses estouros na formação do resultado, mas eles nos indicam que o resultado
é negativo e está apresentado na forma de complemento da base.
Antes de prosseguirmos, vamos entender o que é o complemento de um número.
O complemento de um número é o que falta para a base. Por exemplo: no sistema de
numeração decimal, o complemento de 4 é 6, pois é o que falta para alcançar a base, que é dez.
No sistema de numeração hexadecimal, o complemento de 7é 9, pois 7 + 9 é 16, ou seja,
é o que falta para atingir a base.
Em outros sistemas de numeração, aconteceda mesma forma. No sistema de numeração
binário, o complemento de 1 é 1, pois é o que falta para alcançar o 2, a base.
Mas, existe um problema. Se considerarmos complemento como sendo o que falta para a
base, poderemos ter alguns estouros indesejados durante o cálculo de alguns dígitos.
Para resolver esse problema, devemos sempre considerar complemento como sendo o
que falta para a base menos um, e, somente depois dos cálculos dígito a dígito, devolver o um
que foi subtraído.
Assim,o complemento do número decimal 4 é o número decimal 5, e não o número deci-
mal 6. O complemento do número hexadecimal 8 é 6 e não 7, como apresentado anteriormente,
e o complemento do número binário 1 é 0 e não 1, como apresentado na definição.
Para esses casos, podemos considerar que o complemento de um número é o simétrico
na apresentação dos algarismos de uma determinada base, ou seja, se você deslocou três alga-
rismos do zero ao três, o algarismo simétrico é àquele que sofre três deslocamentos do último
algarismo em direção à esquerda. Exemplo: para o sistema decimal, o simétrico de zero é nove,
o simétrico de um é oito, o simétrico de dois é sete e, assim, sucessivamente Só não podemos
esquecer de somar um no final da operação dígito a dígito. Observe os exemplos a seguir:

Exemplo para o sistema de numeração decimal


Algarismo: 0 1 2 3 4 5 6 7 8 9
Simétrico: 9 8 7 6 5 4 3 2 1 0

Exemplo para o sistema de numeração hexadecimal


Algarismo: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Simétrico: F E D C B A 9 8 7 6 5 4 3 2 1 0

Claretiano - Centro Universitário


44 © Arquitetura e Organização de Computadores

Exemplo para o sistema de numeração binário


Algarismo: 0 1
Simétrico: 1 0

A seguir, confira alguns exemplos de exercícios para facilitar seu aprendizado.

Exemplos de exercícios para encontrar o complemento de um número:–––––––––––––––


Apresente o complemento dos números a seguir:
(100110)2 = (011001)2+(1)2=(011010)2
(10010)2 = (01101)2+(1)2=(01110)2
(1000101010)2=(0111010101)2+(1)2=(0111010110)2
FA25H = 05DAH + 1H = 05DBH
7836H = 87C9H + 1H = 87CAH
39840H = C67BFH + 1H = C67C0H
(345)10 = (654)10 + (1)10
(1565)10 = (8434)10+(1)10
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Subtração com resultado negativo


Confira, a seguir, alguns exemplos comentados de subtrações com resultado negativo.

Exemplos no sistema numérico de base 10 (decimal):


(58)10 – (94)10= (–36)10

5 8
Comentários
1
9 4
– O “emprestaum” final indica que o resultado é negativo e,
6 4 portanto,deverá ser complementado.

Como o resultado é negativo, é necessário complementá-lo para obter


3 5 o resultado final.

– 3 6 É importante indicar, com osinal “–”, que o resultado é negativo.

Exemplo no sistema numérico hexadecimal (base 16):


476H –FDEH = – B68H
© U1 - Sistemas Numéricos e Conversões de Bases 45

4 7 6
Comentários
1 1 1
F D E
– O “emprestaum” final indica que o resultado é negativo e, portanto,
4 9 8 deverá ser complementado.

Como o resultado é negativo, é necessário complementá-lo para


B 6 7 obter o resultado final.

– B 6 8 É importante indicar, com o sinal “–”, que o resultado é negativo.

Exemplo no sistema de numeração de base 2 (binário):


(10)2– (101)2 = (– 011)2

0 1 0
Comentários
1 1
1 0 1
– O “emprestaum” final indica que o resultado é negativo e, portanto,
1 0 1 deverá ser complementado.

Como o resultado é negativo, é necessário complementá-lo para


0 1 0 obter o resultado final.
1 +

– 0 1 1
É importante indicar, com o sinal “–”, que o resultado é negativo.

Subtração por complemento da base


A subtração por complemento da base consiste em transformar uma subtração em uma
soma.Para isso, devemos pegar o primeiro operando, somar com o complemento dígito a dígito
do segundo operando e somar um.
É necessário ficar atento à operação do dígito mais significativo (última operação da
soma). Agora tudo ficará invertido. Se, na soma, encontrarmos um estouro na última operação,
esse estouro simplesmente irá indicar que o resultado é positivo e ele já está “pronto”. Não é
necessário descer o último “vai um” e nem complementar o resultado.
Por outro lado, se não houver nenhum estouro na operação do dígito mais significativo
(última operação), aí, sim, temos a indicação de que o resultado é negativo e será necessário
complementá-lo.Vejamos alguns exemplos:

Subtração pelo método do complemento da base com resultado positivo

Exemplos no sistema numérico de base 10 (decimal):


(94)10 – (58)10=

Claretiano - Centro Universitário


46 © Arquitetura e Organização de Computadores

Como os dois termos já possuem o mesmo número de dígitos, não é necessário igualar
as casas; assim, basta fazer a soma do primeiro termo com o complemento digito a dígito do
segundo termo mais um.
(94)10 + (41)10 + (1)10=
Resolução:
1
Comentários
9 4
O estouro na operação final indica que o resultado é positivo e, portan-
4 1 to, já é o resultado final da operação de subtração.
+
1 Observe que o estouro não desce para o resultado.

3 6

Como o resultado é positivo, não será necessário complementá-lo.

Resultado:
(94)10 – (58)10= (36)10

Exemplo no sistema numérico hexadecimal (base 16):


FDEH –476H =
Como os dois termos já possuem o mesmo número de dígitos, não é necessário igualar
as casas; assim, basta fazer a soma do primeiro termo com o complemento dígito a dígito do
segundo termo mais um.
FDEH + B89H + 1H =
1 1 1
Comentários
F D E
B 8 9 O estouro na operação final indica que o resultado é positivo e, por-
+ tanto, já é o resultado final da operação de subtração.
1
Observe que o estouro não desce para o resultado.
B 6 8

Como o resultado é positivo, não será necessário complementá-lo.

Resultado:
FDEH–476H =B68H
© U1 - Sistemas Numéricos e Conversões de Bases 47
Exemplo no sistema de numeração de base 2 (binário):
(101)2– (10)2 =
Para resolver este exemplo, devemos:
• igualar as casas, inserindo zeros à esquerda:
(101)2– (010)2 =
• fazer a soma do primeiro termo com o complemento dígito a dígito do segundo termo
mais um:
(101)2 + (101)2 + (1)2 =
Resolução:

1 1
Comentários
1 0 1
1 0 1 O estouro na operação final indica que o resultado é positivo e, por-
+ tanto, já é o resultado final da operação de subtração.
1
Observe que o estouro não desce para o resultado.
0 1 1

Como o resultado é positivo, não será necessário complementá-lo.

Resultado:
(101)2– (10)2 = (011)2

Subtração pelo método do complemento da base com resultado negativo

Exemplos no sistema numérico de base 10 (decimal):


(58)10 – (94)10=
Como os dois termos já possuem o mesmo número de dígitos, não é necessário igualar
as casas; assim, basta fazer a soma do primeiro termo com o complemento dígito a dígito do
segundo termo mais um.
(58)10 + (05)10 + (1)10=
Resolução:

Claretiano - Centro Universitário


48 © Arquitetura e Organização de Computadores

1
Comentários
0 5 8

0 5 A falta do estouro na operação final indica que o resultado é negativo e,


+ portanto, deverá ser complementado.
1

6 4
Como o resultado é negativo, é necessário complementá-lo para obter
o resultado final.
3 5

1
É importante indicar, com o sinal “–”, que o resultado é negativo.
– 3 6

Resultado:
(58)10 – (94)10= (-36)10

Exemplo no sistema numérico hexadecimal (base 16):


476H – FDEH =
Como os dois termos já possuem o mesmo número de dígitos, não é necessário igualar
as casas; assim, basta fazer a soma do primeiro termo com o complemento dígito a dígito do
segundo termo mais um.
476H +021H + 1H =

Comentários
4 7 6

0 0 2 1 + A falta do estouro na operação final indica que o resultado é negativo


e, portanto, deverá ser complementado.
1

4 9 8

Como o resultado é negativo, é necessário complementá-lo para


B 6 7 obter o resultado final.

– B 6 8 É importante indicar, com o sinal “–”, que o resultado é negativo.

Resultado:
476H – FDEH = – B68H

Exemplo no sistema de numeração de base 2 (binário):


(10)2– (101)2 =
Para resolver este exemplo, devemos:
• igualar as casas, inserindo zeros à esquerda:
(010)2– (101)2 =
© U1 - Sistemas Numéricos e Conversões de Bases 49
• somar o primeiro termo com o complemento dígito a dígito do segundo termo mais um:
(010)2 + (010)2 + (1)2 =

Resolução:
1
Comentários
0 0 1 0
0 1 0
Ao contrário da subtração direta, a falta do estouro na operação final
+ indica que o resultado é negativo e, portanto deverá ser complemen-
tado.
1

1 0 1
Como o resultado é negativo, é necessário complementá-lo para
obter o resultado final.
0 1 0

1 +
É importante indicar, com o sinal “–”, que o resultado é negativo.
– 0 1 1

Resultado:
(10)2– (101)2 = (– 011)2
Concluímos o estudo da nossa primeira unidade.Agora, sugerimos que você resolva as
questões autoavaliativas a seguir e, assim, verifique o seu aprendizado.

11. QUESTÕES AUTOAVALIATIVAS


Sugerimos que você procure responder, discutir e comentar as questões a seguir que tra-
tam da temática desenvolvida nesta unidade.
A autoavaliação pode ser uma ferramenta importante para você testar o seu desempenho.
Se você encontrar dificuldades em responder a essas questões, procure revisar os conteúdos
estudados para sanar as suas dúvidas. Esse é o momento ideal para que você faça uma revisão
desta unidade. Lembre-se de que, na Educação a Distância, a construção do conhecimento ocor-
re de forma cooperativa e colaborativa; compartilhe, portanto, as suas descobertas com os seus
colegas.
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) Normalmente, trabalhamos com o sistema decimal, ou seja, é natural do ser humano trabalhar com um sistema
numérico de base dez. Os computadores trabalham com sistemas binários, ou seja, sistemas de base dois, que
utilizam apenas dois símbolos para representar qualquer quantidade. Usamos muitos outros sistemas de nu-
meração, muitas vezes sem nem mesmo perceber, como é o caso das horas (base vinte e quatro) e os minutos
(base sessenta). Sendo assim, explique os sistemas de numeração e cite exemplos.

2) Como é possível converter um número de qualquer base para a base dez?

3) Como é possível converter um número decimal para qualquer base?

4) Como deve ser aplicada a notação que indica a base de um número?

5) Explique o processo de soma nos sistemas de numeração decimal, hexadecimal e binário.

6) Explique o processo de subtração nos sistemas de numeração decimal, hexadecimal e binário.

Claretiano - Centro Universitário


50 © Arquitetura e Organização de Computadores

7) Como se faz o complemento bit a bit de um número no sistema hexadecimal? E no sistema binário?

8) O que significa o termo “complemento de um número”?

9) Como se faz uma subtração por complemento da base?

12. CONSIDERAÇÕES
Nesta unidade,você teve a oportunidade de aprender um pouco sobre os sistemas de nu-
meração. Inicialmente, estudamos o sistema decimal, o mais utilizado pelos seres humanos;em
seguida,estudamos o sistema de numeração hexadecimal, que é aplicado principalmente na
programação de baixo nível e também na configuração de computadores; e, por fim, estuda-
moso sistema binário (sistemas de numeração de base 2),o qual é um sistema utilizado pelos
computadores digitais,ou seja, os programas em linguagem de máquina estão todos escritos
utilizando zeros e uns, incluindo as instruções que são representadas pelos seus respectivos
códigos de operação (opcode). Assim, os sistemas de numeração foram formalizados com o ob-
jetivo de capacitá-lo a trabalhar com sistemas de numeração de qualquer base.
Além disso, estudamos as conversões de valores, como mudanças da base dez para qual-
quer base e de qualquer base para a base dez, mudanças diretas entre o sistema de numeração
binário e o sistema de numeração hexadecimal e vice-versa. Além disso, você conheceu o me-
canismo de resolução de problemas aritméticos, como soma e subtração de números nas bases
apresentadas, e a operação de complemento.
Agora você já está pronto para continuar os estudos na próxima unidade (sistemas digi-
tais). Bons estudos!

13. BIBLIOGRAFIA
LOURENÇO, Antônio Carlos et al. Circuitos digitais.São Paulo: Érica, 1996.
STALLINGS, William. Arquitetura e organização de computadores: projeto para o desempenho. Tradução de Carlos Camarão de
Figueiredo. 5. ed. São Paulo: Prentice-Hall, 2003.
EAD
Sistemas Digitais

1. OBJETIVO
• Compreender a implementação de sistemas computacionais no nível da lógica digital.

2. CONTEÚDOS
• Portas lógicas.
• Circuitos combinacionais (somadores e subtratores).
• Circuitos sequenciais (registradores).

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Leia todo o conteúdo da unidade.
2) Não deixe de pesquisar e resolver as dúvidas que forem surgindo durante cada etapa
do seu estudo. Nunca deixe para depois.
3) O desenvolvimento de hardware não é o objetivo de nossos estudos. O mais impor-
tante é que você entenda os componentes e os conceitos utilizados na construção de
sistemas digitais.
4) Estude todos os exemplos referentes aos mapas de Veitch-Karnaugh, lembre-se de
que o mais importante é saber para que ele é utilizado.
5) Entenda a função de cada dispositivo digital. Analise o que ele faz e a importância dele
nos circuitos dos computadores atuais.
52 © Arquitetura e Organização de Computadores

4. INTRODUÇÃO À UNIDADE
Na unidade anterior, você teve a oportunidade de aprenderos sistemas numéricos utiliza-
dos pelos computadores e os sistemas digitais.
Nesta unidade, discutiremos a respeito de circuitos digitais, que são os responsáveis pela
implementação da lógica dos computadores atuais.
Um exemplo dessa implementação é a unidade lógica e aritmética que fica dentro do
processador de um computador. Essa unidade é a parte física responsável por efetuar opera-
ções aritméticas e lógicas do computador. Dentro desse módulo, existem muitos circuitos com
diferentes funções, como somadores, subtradores, comparadores etc. Esses circuitos são imple-
mentados por meio de portas lógicas sobre o sistema numérico binário. Assim, estudando esses
componentes, você será capaz de entender melhor como um computador funciona.
Bons estudos!

5. PORTAS LÓGICAS, SÍMBOLOS E TABELAS VERDADE


Os computadores digitais trabalham com a presença ou com a ausência de sinais elétricos
ao longo do seu circuito e, por meio da combinação desses sinais, todas as informações são
processadas.
A lógica utilizada para processar as informações digitais é a lógica booleana e, agora, como
os operadores booleanos terão de efetuar operações sobre dados físicos, teremos também que
ter componentes físicos para a implementação do circuito digital.
Os componentes físicos capazes de efetuar as operações booleanas sobre os sinais elétri-
cos recebem o nome de Portas Lógicas.
Na prática, essas Portas Lógicas são vendidas encapsuladas em uma pastilha de silício
chamada Chip e devem ser integradas a uma placa de circuito impresso para constituírem efe-
tivamente os circuitos.
Para maior clareza de um circuito digital, a sua estrutura é representada por símbolos que
representam as suas funções. Dessa forma fica muito mais fácil de interpretar um circuito e qual
a sua função.
© U2 - Sistemas Digitais 53

Figura 1 Exemplos de Portas Lógicas encontradas no mercado.

Portas lógicas são dispositivos eletrônicos que têm a função de implementar circuitos
booleanos.
Vamos conhecer as principais Portas Lógicas, cada um de seus símbolos para representa-
ção gráfica, além da apresentação de uma tabela denominada tabela verdade que descreverá
o seu funcionamento.

AND (E BOOLEANO)
Para que a saída S seja 1, todas as entradas têm de ser 1.
A B S = A AND B
0 0 0
0 1 0
1 0 0
1 1 1

Símbolo:

Expressão: S = A X B

Claretiano - Centro Universitário


54 © Arquitetura e Organização de Computadores

O símbolo que representa a multiplicação pode ser representado por . ou X

OR (OU BOOLEANO)
Para que a saída seja 1, pelo menos uma das entradas tem de ser igual a 1.
A B S = A OR B
0 0 0
0 1 1
1 0 1
1 1 1

Símbolo:

Expressão: S = A + B

NOT (NÃO BOOLEANO)


A saída S é o complemento da entrada A, ou seja, se entra 1 sai 0 e se entra 0 sai 1.
A S = NOT A
0 1
1 0

Símbolo:

Expressão: S= A´
Aqui temos uma novidade! Nos circuitos digitais, há apenas dois sinais que podem ser
representados por 0 e 1. Quando dizemos que a saída é o inverso da entrada, significa que se na
entrada temos 0 a saída será 1 e se na entrada temos 1 a saída será 0. A essa mudança de estado
(de 0 para 1 ou vice-versa) denominamos complemento.
O complemento pode ocorrer em qualquer parte do circuito e é representado por uma
apóstrofe ou um traço sobre a letra que representa o sinal naquele instante.
Exemplo:
Considere um trecho do circuito representado pela letra maiúscula A, temos: A’ é o com-
plemento de A, assim como A é complemento de A.
© U2 - Sistemas Digitais 55

NAND (NÃO E BOOLEANO)


A saída S é o complemento da saída do operando AND.
A B AXB S = (A X B)’
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0

Símbolo:

Expressão: S = (A X B)´

NOR (NÃO OU BOOLEANO)


A saída S é o complemento da saída do operando OR.
A B A+B S = (A + B)´
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

Símbolo:

Expressão: S = (A + B)´

XOR (OU EXCLUSIVO BOOLEANO)


A saída S será 1, se o número de entradas iguais a 1 for ímpar.
A B S
0 0 0
0 1 1
1 0 1
1 1 0

Claretiano - Centro Universitário


56 © Arquitetura e Organização de Computadores

Símbolo:

Expressão: S = (A + B)

NXOR (NÃO OU EXCLUSIVO)


A saída S será 1 se o número de entradas iguais a 1 for PAR.
A B S
0 0 1
0 1 0
1 0 0
1 1 1

Símbolo:

Expressão: S = A x B

6. CIRCUITOS DIGITAIS
Para projetar um circuito capaz de resolver algum problema real, várias Portas Lógicas são
interligadas e organizadas de acordo com a lógica booleana.
Em primeiro lugar, deve-se montar uma expressão booleana e, em seguida, partir para a
implementação do circuito propriamente dito.
Exemplo:

Figura 2 Circuito digital.


© U2 - Sistemas Digitais 57

Na Figura 2, a expressão booleana correspondente ao circuito é ((A.B)+(C.D))’.


Porém, lembre-se de que a apóstrofe pode ser utilizada para representar o complemento
de uma variável ou de uma expressão.
Agora, veja um exemplo prático de Circuito Digital:
A seguir vamos implementar um circuito digital capaz de fazer uma soma de dois bits e indicar
se o resultado leva o “vai-um” ou não. Esse circuito é chamado de meio-somador, pois não leva em
consideração a possibilidade de receber o “vem-um” da soma anterior.
Para compreender melhor o circuito, serão apresentados em primeiro lugar os conceitos
de soma em binário.
Temos dois algarismos para representar os números binários (0 e 1). Ao colocarmos os
dois algarismos lado a lado na ordem crescente, representamos a soma como sendo um deslo-
camento à direita do algarismo a ser somado. Veja os exemplos:

0+0=0 0 1

0 + 0 deslocamento à direita = 0

Analise o que acontece quando somamos 0 + 1. Nesse caso, deve-se fazer um deslo-
camento à direita do algarismo zero para o próximo (que é o algarismo 1). Observe a seguir.

0+1=1 0 1

0 + 1 deslocamento à direita = 1

Agora ocorre o contrário do exemplo anterior, 1 + 0 significa que estando no algarismo 1


ocorrerá zero deslocamentos para a direita, ou seja, o resultado é o próprio 1.

1+0=1 0 1

1 + 0 deslocamentos à direita = 1

Veja que interessante agora, para somar 1 + 1, ocorre o seguinte: estando no algarismo 1
e com mais um deslocamento à direita, o resultado é zero, pois, como não existe mais algarismo
à direita, deve-se retornar ao algarismo inicial (no caso o zero).

Claretiano - Centro Universitário


58 © Arquitetura e Organização de Computadores

1+1=0 Vai 1 0 1

1 + 1 deslocamento à direita = 0

Isso ocorre porque como não existe outro algarismo depois do 1, o deslocamento ocorre retornando
ao 0, como se os algarismos estivessem dispostos em uma fila circular.

A esse retorno, damos o nome de estouro, e significa vai um para o próximo dígito (se houver).

Ou seja,

Soma de um bit
0+1 0
0+1 1
1+0 1
1+1 0 e vai 1
1 + 1 +1 1 e vai 1

Observe o exemplo prático.


O circuito a seguir apresenta um “meio-somador” com as entradas A e B (que é por onde
entrarão os bits a serem somados) e as saídas Si (que é o resultado da soma) e Ci (o “vai-um”).
Analise o circuito e também a tabela verdade.

Figura 3 Circuito meio-somador.

As expressões booleanas do circuito anterior são:

Si = Ai + Bi
Ci = Ai x Bi

Observe que temos uma expressão booleana para cada saída.


© U2 - Sistemas Digitais 59

Veja na tabela verdade o funcionamento do circuito.


Ai Bi Si Ci Raciocínio usado para obter Si Raciocínio usado para obter Ci
Zero com zero deslocamentos à
0 0 0 0 Não houve estouro.
direita é zero.
Zero com um deslocamento à
0 1 1 0 Não houve estouro.
direita é um.
Um com zero deslocamentos à
1 0 1 0 Não houve estouro.
direita é um.
Um com um deslocamento à direita Houve um estouro e por isso o Ci
1 1 0 1
volta para zero. recebe 1. (equivale ao “vai-um”)

O estudo dos circuitos e sistemas digitais é muito extenso e também complexo. Como alu-
no dos Cursos de Graduação, é necessário que você tenha uma noção sobre esses assuntos e é,
justamente, este o objetivo deste Caderno de Referência de Conteúdo.

7. SIMPLIFICAÇÃO DE EXPRESSÕES BOOLEANAS


Existem técnicas de simplificação de expressões booleanas. Elas são extremamente im-
portantes para viabilizar a implementação de um circuito digital, utilizando o mínimo de recur-
sos financeiros e, também, o mínimo de complexidade.
Para implementar um circuito digital de forma correta, devemos simplificar algebricamen-
te as expressões booleanas, utilizando Postulados, Propriedades e Teoremas ou mesmo uma
ferramenta chamada Mapas de Veitch-Karnaugh.

Mapas de Veitch-Karnaugh
Os mapas de Veitch-Karnaugh são ferramentas que utilizam uma tabela para a extração de
expressão booleana simplificada.Esses mapas sãomontados de uma forma especial, com o obje-
tivo de proporcionar enlaces de células adjacentes e de mesmo valor pelos quais serão extraídas
as expressões booleanas. Eles são preenchidos com as saídas da tabela verdade.
Para que se compreenda o método de simplificação por mapas de Veitch-Karnaugh,é pre-
ciso que, antes,você entenda de que forma o mapa é construído e também os conceitos relacio-
nados a essa ferramenta.
O mapa de Veitch-Karnaugh deve ser construído com o mesmo número de células que as
saídas da tabela verdade a ser trabalhada. Ou seja, ele deverá ser formado por 2n células, onde
n indica o número de variáveis de entrada.
Cada célula do mapa deverá corresponder a uma única saída da tabela verdade e a in-
dicação de qual saída pertence à célula é feita pela forma de construção da tabela verdade. A
posição será indicada conforme demonstrado a seguir:
Para mapas com duas variáveis de entrada:

0 1

0 00 01
A
1 10 11

Claretiano - Centro Universitário


60 © Arquitetura e Organização de Computadores

Para mapas com três variáveis de entrada:

BC

00 01 11 10

0 000 001 011 010


A
1 100 101 111 110

Para mapas com quatro variáveis de entrada:

CD

00 01 11 10

00 0000 0001 0011 0010

01 0100 0101 0111 0110


AB
11 1100 1101 1111 1110

10 1000 1001 1011 1010

Os mapas com cinco variáveis de entrada não serão considerados. Caso seja necessário
simplificar expressões ou extrairuma expressão de uma tabela verdade com mais de quatro
entradas, procure utilizar softwares apropriados para essa função. Existem vários disponíveis no
mercado e são muito úteis na elaboração de circuitos digitais.
Observe um exemplo de alimentação da tabela verdade utilizando letras para exemplificar
a associação das variáveis de saída de uma tabela verdade com o preenchimento do mapa.
Para mapas com duas variáveis de entrada:

linha A B S B

1 0 0 A 0 1

2 0 1 B 0 A B
3 1 0 C A
1 C D
4 1 1 D
© U2 - Sistemas Digitais 61
Para mapas com três variáveis de entrada:

linha A B C S
BC
1 0 0 0 A

2 0 0 1 B 00 01 11 10

3 0 1 0 C
0 A B D C
4 0 1 1 D
A
5 1 0 0 E
1 E F H G
6 1 0 1 F

7 1 1 0 G

8 1 1 1 H

Para mapas com quatro variáveis de entrada:


linha A B C D S CD

1 0 0 0 0 A
00 01 11 10
2 0 0 0 1 B

3 0 0 1 0 C 00 A B D C
4 0 0 1 1 D
5 0 1 0 0 E 01 E F H G
6 0 1 0 1 F AB
7 0 1 1 0 G 11 M N P O

8 0 1 1 1 H
9 1 0 0 0 I 10 I J L K

10 1 0 0 1 J
11 1 0 1 0 K
12 1 0 1 1 L
13 1 1 0 0 M
14 1 1 0 1 N
15 1 1 1 0 O
16 1 1 1 1 P

Após aprender como se monta o mapa, vamos aos procedimentos necessários para a ex-
tração da expressão booleana com a ajuda do mapa.
Dizemos que duas células são adjacentes quando apenas uma de suas variáveis de entrada
muda de valor lógico. Sendo assim, observe a seguir as possibilidades dos enlaces dos mapas de
duas, três e quatro variáveis de entrada:

Claretiano - Centro Universitário


62 © Arquitetura e Organização de Computadores

Possibilidades de enlaces

Possibilidades de enlace com duas variáveis de entrada

B B B

0 1 0 1 0 1

0 A B 0 A B 0 A B
A A A
1 C D 1 C D 1 C D

B B B

0 1 0 1 0 1

0 A B 0 A B 0 A B
A A A
1 C D 1 C D 1 C D

Possibilidade de enlace com três variáveis de entrada

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G
© U2 - Sistemas Digitais 63

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

BC BC

00 01 11 10 00 01 11 10

0 A B D C 0 A B D C
A A
1 E F H G 1 E F H G

Claretiano - Centro Universitário


64 © Arquitetura e Organização de Computadores

Possibilidade de enlace com quatro variáveis de entrada

CD CD

00 01 11 10 00 01 11 10

00 A B D C 00 A B D C

01 E F H G 01 E F H G
AB AB
11 M N P O 11 M N P O

10 I J L K 10 I J L K

CD CD

00 01 11 10 00 01 11 10

00 A B D C 00 A B D C

01 E F H G 01 E F H G
AB AB
11 M N P O 11 M N P O

10 I J L K 10 I J L K

CD CD

00 01 11 10 00 01 11 10

00 A B D C 00 A B D C

01 E F H G 01 E F H G
AB AB
11 M N P O 11 M N P O

10 I J L K 10 I J L K
© U2 - Sistemas Digitais 65

CD CD

00 01 11 10 00 01 11 10

00 A B D C 00 A B D C

01 E F H G 01 E F H G
AB AB
11 M N P O 11 M N P O

10 I J L K 10 I J L K

Expressões booleanas
Após estabelecer os enlaces das células adjacentes, deve-se extrair a expressão booleana
utilizando o método da soma de produtos, para enlaces iguais a zero, ou o método do produto
das somas, para os enlaces iguais a um. Veja, a seguir, as duas formas de extrair a expressão
booleana:

Para resolução do problema pelo método da soma de produtos


Encontre as células adjacentes com o mesmo valor – para o método da soma de produtos,
devemos considerar enlaces de células que representem o nível lógico alto, ou seja, enlaces de
células iguais a 1 (um) – e depois faça um enlace dessas células.
Após os enlaces, analise emcada caso quando as variáveis de entrada mudam de valor
para cada enlace específico. Se a variável de entrada mudar de valor de uma célula do enlace
para outra, então ela não deve ser considerada na expressão;do contrário, ela entrará na ex-
pressão de forma normal – caso o valor da variável de entrada que não muda seja 1 (um) – ou
complementada – caso o valor da variável de entrada que não muda seja 0 (zero).
As variáveis de cada enlace deverão ser multiplicadas e as multiplicações provenientes dos
enlaces deverão ser somadas (no caso de mais de um enlace).
Lembre-se de que, se todas as saídas (valores das células) forem iguais a 1 (um), podemos
resumir o resultado em: S=1, e, da mesma forma, se todas as células forem iguais a 0(zero),o
resultado final será S=0.
Veja alguns exemplos de mapas de Veitch-Karnaugh para variáveis de entrada consideran-
do enlaces de uns:

Claretiano - Centro Universitário


66 © Arquitetura e Organização de Computadores

Exemplo 1 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de uns

EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA


TABELA VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B
1 0 0 1
0 1
2 0 1 1
0 1 1
3 1 0 0 A
4 1 1 0 1 0 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S =A’.B’ + A’.B S= A’
Comentários
Nesta extração,pode-se escolher as saídas iguais Nesta extração, a operação consiste em analisar o enlace de
a um ou as saídas iguais a zero (o ideal é esco- uns ou de zeros, verificando,em todo o espaço do enlace, as
lher a saída com menor número de ocorrências). variáveis de entrada que mudam ou não de valor. As variáveis
Se as escolhidas forem as saídas iguais a um, a operação que mudam de valor não entram na expressão, e as variáveis
consiste em multiplicar as variáveis de entrada da linha que não mudam entram da seguinte forma: para enlaces de
cuja saída seja igual a um e somar com as outras multipli- uns, quando o valor da variável de entrada não mudar e for
cações provenientes das outras linhas cujas saídas sejam igual a um, ela entrará sem complemento; e, se o valor da
variável de entrada não mudar de valor e for igual a zero, ela
iguais a um. Já se a escolha for pelas saídas iguais a zero,
a operação consiste em somar as variáveis de entrada da deverá entrar complementada. Para enlaces de zeros, quan-
linha cujas saídas sejam iguais a zero (colocar entre pa- do o valor da variável de entrada não mudar e for igual a
rênteses) e multiplicar com as outras somas provenien- um, ela entrará complementada; e, se o valor da variável de
tes das outras linhas cujas saídas sejam iguais a zero. entrada não mudar e for igual a zero, ela entrará sem o com-
plemento (portanto, de forma oposta aos enlaces de uns).
Quando os enlaces forem de uns, as variáveis de entra-
Neste caso, foram consideradas as saídas iguais a um e da que sobrarem deverão ser multiplicadas e os enlaces
a multiplicação ocorreu na linha um: A’ . B’ e na linha (quando existir mais de um) deverão ser somados. Para
dois: A’ . B. depois as duas multiplicações foram somadas. enlaces de zeros, as variáveis de entrada que sobrarem
deverão ser somadas (inserir parênteses) e os enlaces
S =A’.B’ + A’.B (quando existir mais de um) deverão ser multiplicados.
Para este caso, o enlace é de um e ocupa toda a primeira
linha. Como para a primeira linha o valor de A não muda
e vale zero, o A entra complementado na expressão, en-
quanto o B muda (da primeira coluna para a segunda ele
passa de zero para um) e, assim, está fora da expressão.
S= A’
© U2 - Sistemas Digitais 67

Exemplo 2 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B

1 0 0 0 0 1

2 0 1 0 0 0 0
3 1 0 1 A
1 1 1
4 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A . B’ + A . B S= A
Comentários
Nesta extração, pode-se escolher as saídas iguais A operação consiste em analisar o enlace de uns ou de ze-
a um ou as saídas iguais a zero (o ideal é esco- ros, verificando,em todo o espaço do enlace, as variáveis de
lher a saída com menor número de ocorrências). entrada que mudam ou não de valor. As variáveis que mu-
Se a escolha for considerar as saídas iguais a um, a ope- dam de valor não entram na expressão, e as variáveis que
ração consiste em multiplicar as variáveis de entrada da não mudam entram da seguinte forma: para enlaces de uns,
linha cuja saída seja igual a um e somar às outras multi- quando o valor da variável de entrada não mudar e for igual
plicações provenientes das outras linhas cujas saídas se- a um, ela entrará sem complemento; e, se o valor da variá-
jam iguais a um. Já se a escolha for considerar as saídas vel de entrada não mudar de valor e for igual a zero, ela de-
iguais a zero, a operação consiste em somar as variáveis verá entrar complementada. Para enlaces de zeros, quando
de entrada da linha cuja saída seja igual a zero (colocar o valor da variável de entrada não mudar e for igual a um,
entre parênteses) e multiplicar às outras somas prove- ela entrará complementada; e, se o valor da variável de en-
nientes das outras linhas cujas saídas sejam iguais a zero. trada não mudar e for igual a zero, ela entrará sem o com-
Neste caso, foram consideradas as saídas iguais a um e a plemento (portanto, de forma oposta aos enlaces de uns).
multiplicação ocorreu na linha três: A . B’ e na linha qua- Quando os enlaces forem de uns, as variáveis de en-
tro: A . B. depois as duas multiplicações foram somadas. trada que sobrarem deverão ser multiplicadas e os en-
S = A . B’ + A . B laces (quando existir mais de um) deverão ser soma-
dos. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, o enlace é de um e ocupa toda a segunda
linha. Como para a segunda linha o valor de A não muda e
vale um, o A entra sem complemento na expressão, en-
quanto o B muda (da primeira coluna para a segunda ele
passa de zero para um) e, portanto, está fora da expressão.
S= A

Claretiano - Centro Universitário


68 © Arquitetura e Organização de Computadores

Exemplo 3 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B

1 0 0 0 0 1

2 0 1 1 0 0 1
3 1 0 1 A
1 1 1
4 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’ . B + A . B’ + A . B S= A + B
Comentários:
Nesta extração, pode-se escolher as saídas iguais A operação consiste em analisar o enlace de uns ou de zeros,
a um ou as saídas iguais a zero (o ideal é esco- verificando,em todo o espaço do enlace, as variáveis de entra-
lher a saída com menor número de ocorrências). da que mudam ou não de valor. As variáveis que mudam de
Se a escolha for considerar as saídas iguais a um, a ope- valor não entram na expressão, e as variáveis que não mudam
ração consiste em multiplicar as variáveis de entrada da entram da seguinte forma: para enlaces de uns, quando o va-
linha cuja saída seja igual a um e somar às outras multi- lor da variável de entrada não mudar e for igual a um, ela en-
plicações provenientes das outras linhas cujas saídas se- trará sem complemento; e, se o valor da variável de entrada
jam iguais a um. Já se a escolha for considerar as saídas não mudar de valor e for igual a zero, ela deverá entrar com-
iguais a zero, a operação consiste em somar as variáveis plementada. Para enlaces de zeros, quando o valor da variável
de entrada da linha cuja saída seja igual a zero (colocar en- de entrada não mudar e for igual a um, ela entrará comple-
tre parênteses) e multiplicar com as outras somas prove- mentada; e, se o valor da variável de entrada não mudar e for
nientes das outras linhas cujas saídas sejam iguais a zero. igual a zero, ela entrará sem o complemento (portanto de for-
No caso, foram multiplicadas as variáveis de entra- ma oposta aos enlaces de uns). Quando os enlaces forem de
da da linha dois: A’.B, da linha três: A . B’ e da linha uns, as variáveis de entrada que sobrarem deverão ser multi-
quatro: A . B e as três multiplicações foram somadas. plicadas e os enlaces (quando existir mais de um) deverão ser
S = A’ . B + A . B’ + A . B somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, temos dois enlaces de uns: um enla-
ce ocupa toda a segunda linha e, portanto, vale A, e ou-
tro ocupa toda a segunda coluna e, portanto, vale B (o
B não muda e vale um para toda a coluna, enquanto o A
muda da primeira linha (onde ele vale 0) para a segun-
da (onde ele vale um). Depois, é só somar o resultado
do primeiro enlace com o resultado do segundo enlace:
S=A+B

A seguir, estudaremos o mapa de Veitch-Karnaugh para três variáveis de entrada, conside-


rando enlaces de uns. Observe os exemplos:
© U2 - Sistemas Digitais 69

Exemplo 4 Mapa de Veich-Karnaugh com três variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
TABELA VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S BC
1 0 0 0 0
00 01 11 10
2 0 0 1 1
3 0 1 0 0
4 0 1 1 1 0 0 1 1 0
5 1 0 0 0 A
6 1 0 1 1 1 0 1 1 0
7 1 1 0 0
8 1 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’ . B’ . C + A’ . B . C + A . B’ . C + A . B . C. S= C
Comentários
Nesta extração, pode-se escolher as saídas iguais a um ou as A operação consiste em analisar o enlace de uns ou de zeros,
saídas iguais a zero (o ideal é escolher a saída com menor verificando,em todo o espaço do enlace, as variáveis de en-
número de ocorrências). trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a ope- de valor não entram na expressão e as variáveis que não mu-
ração consiste em multiplicar as variáveis de entrada da dam entram da seguinte forma: para enlaces de uns, quando
linha cuja saída seja igual a um e somar às outras multi- o valor da variável de entrada não mudar e for igual a um, ela
plicações provenientes das outras linhas cujas saídas se- entrará sem complemento; e, se o valor da variável de entra-
jam iguais a um. Já se a escolha for considerar as saídas da não mudar de valor e for igual a zero, ela deverá entrar
iguais a zero, a operação consiste em somar as variáveis complementada. Para enlaces de zeros, quando o valor da va-
de entrada da linha cuja saída seja igual a zero (colocar en- riável de entrada não mudar e for igual a um, ela entrará com-
tre parênteses) e multiplicar com as outras somas prove- plementada; e, se o valor da variável de entrada não mudar e
nientes das outras linhas cujas saídas sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
No caso:para a segunda linha: A’ . B’ . C, para a quarta linha: A’
uns, as variáveis de entrada que sobrarem deverão ser multi-
. B . C, para a sexta linha: A . B’ . C e para a oitava linha: A .B .C. .
plicadas e os enlaces (quando existir mais de um) deverão ser
Efetuando a soma das multiplicações temos: somados. Para enlaces de zeros, as variáveis de entrada que
S = A’ . B’ . C + A’ . B . C + A . B’ . C + A . B . C. sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, temos apenas um enlace ocupando a primeira
e segunda linha nas colunas dois e três. Sendo assim, o A e
o B mudam de valor e, portanto, não entram na expressão,
enquanto o C não muda de valor e vale um (o C vale tanto
para a segunda coluna quanto para a terceira coluna). Dessa
forma, a expressão fica: S = C

Claretiano - Centro Universitário


70 © Arquitetura e Organização de Computadores

Exemplo 5 Mapa de Veitch-Karnaugh com três variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S BC
1 0 0 0 1
2 0 0 1 0 00 01 11 10
3 0 1 0 1
4 0 1 1 0 0 1 0 0 1
5 1 0 0 1
A
6 1 0 1 0
7 1 1 0 1 1 1 0 0 1
8 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’.B’.C’ + A’.B.C’ + A . B’ . C’ + A . B . C’ S= C’
Comentários
Nesta extração, pode-se escolher as saídas iguais a um ou A operação consiste em analisar o enlace de uns ou de zeros,
as saídas iguais a zero (o ideal é escolher a saída com menor verificando,em todo o espaço do enlace, as variáveis de en-
número de ocorrências). trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a ope- de valor não entram na expressão e as variáveis que não mu-
ração consiste em multiplicar as variáveis de entrada da dam entram da seguinte forma: para enlaces de uns, quando
linha cuja saída seja igual a um e somar às outras multi- o valor da variável de entrada não mudar e for igual a um, ela
plicações provenientes das outras linhas cujas saídas se- entrará sem complemento; e, se o valor da variável de entra-
jam iguais a um. Já se a escolha for considerar as saídas da não mudar de valor e for igual a zero, ela deverá entrar
iguais a zero, a operação consiste em somar as variáveis complementada. Para enlaces de zeros, quando o valor da va-
de entrada da linha cuja saída seja igual a zero (colocar en- riável de entrada não mudar e for igual a um, ela entrará com-
tre parênteses) e multiplicar com as outras somas prove- plementada; e, se o valor da variável de entrada não mudar e
nientes das outras linhas cujas saídas sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram consideradas as linhas:
uns, as variáveis de entrada que sobrarem deverão ser multi-
Primeira linha: A’.B’.C’ plicadas e os enlaces (quando existir mais de um) deverão ser
Terceira linha: A’.B.C’ somados. Para enlaces de zeros, as variáveis de entrada que
Quinta linha: A . B’ . C’ sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Sétima linha: A . B . C’
Para este caso, o enlace ocupa a primeira e a quarta coluna
Em seguida, deve-se somar as multiplicações para montar a nas duas linhas. Pense que a adjacência ocorre por trás, como
expressão: se o mapa fosse interligado nas extremidades, formando um
S = A’.B’.C’ + A’.B.C’ + A . B’ . C’ + A . B . C’ cone. Assim, a variável A muda de valor (da linha um valendo
zero para a linha dois valendo um), a variável muda de zero
(primeira coluna) para um (quarta coluna),a variável C, por sua
vez, não muda (vale zero tanto para a primeira coluna quanto
para a quarta) e entra complementada na expressão. S = C’.
© U2 - Sistemas Digitais 71

Exemplo 6 Mapa de Veitch-Karnaugh com três variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S BC
1 0 0 0 1
2 0 0 1 1 00 01 11 10
3 0 1 0 1
4 0 1 1 0
5 1 0 0 1 0 1 1 0 1
6 1 0 1 0 A
7 1 1 0 1
1 1 0 0 1
8 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’.B’.C’ + A’ . B’ . C + A’.B.C’ + A . B’ . C’ + A . B . C’ S= C’ + A’ . B’
Comentários
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a ope- de valor não entram na expressão e as variáveis que não mu-
ração consiste em multiplicar as variáveis de entrada da dam entram da seguinte forma: para enlaces de uns, quando
linha cuja saída seja igual a um e somar às outras multi- o valor da variável de entrada não mudar e for igual a um, ela
plicações provenientes das outras linhas cujas saídas se- entrará sem complemento; e, se o valor da variável de entra-
jam iguais a um. Já se a escolha for considerar as saídas da não mudar de valor e for igual a zero, ela deverá entrar
iguais a zero, a operação consiste em somar as variáveis complementada. Para enlaces de zeros, quando o valor da va-
de entrada da linha cuja saída seja igual a zero (colocar en- riável de entrada não mudar e for igual a um, ela entrará com-
tre parênteses) e multiplicar com as outras somas prove- plementada; e, se o valor da variável de entrada não mudar e
nientes das outras linhas cujas saídas sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram tomadas as linhas: uns, as variáveis de entrada que sobrarem deverão ser multi-
plicadas e os enlaces (quando existir mais de um) deverão ser
Primeira linha: A’.B’.C’ somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Segunda linha: A’ . B’ . C laces (quando existir mais de um) deverão ser multiplicados.

Terceira linha: A’.B.C’ Para este caso, temos primeiro o enlace que ocupa a primeira
e a quarta coluna nas duas linhas. Pense que a adjacência ocor-
Quinta linha: A . B’ . C’ re por trás, como se o mapa fosse interligado nas extremida-
des, formando um cone. Assim, a variável A muda de valor (da
Sétima linha: A . B . C’ linha um valendo zero para a linha dois valendo um), a variá-
vel muda de zero (primeira coluna) para um (quarta coluna) e
Em seguida, deve-se somar as multiplicações para montar a a variável C não muda (vale zero tanto para a primeira coluna
expressão: quanto para a quarta) e entra complementada na expressão.
S = C’. Temos um segundo enlace que deverá ser somado ao
S = A’.B’.C’ + A’ . B’ . C + A’.B.C’ + A . B’ . C’ + A . B . C’ termo extraído do primeiro enlace. O segundo enlace ocupa
as células da primeira e segunda coluna da primeira linha e,
portanto, a única variável que muda de valor é a variável C. A
variável A entra complementada, pois para toda a primeira
linha ela vale zero e a variável B também deverá entrar com-
plementada, pois, para a primeira e para a segunda coluna ela
também vale zero. A variável C muda da primeira para a se-
gunda coluna e, portanto, a variável C não entra na expressão.

Assim: S= C’ + A’ . B’

Claretiano - Centro Universitário


72 © Arquitetura e Organização de Computadores

Exemplo 7 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA VER- EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
DADE MAPA DE VEITCH-KARNAUGH

linha A B C D S CD
1 0 0 0 0 0
2 0 0 0 1 0 00 01 11 10
3 0 0 1 0 1
4 0 0 1 1 1
5 0 1 0 0 1 00 0 0 1 1
6 0 1 0 1 1
7 0 1 1 0 1
8 0 1 1 1 1 01 1 1 1 1
9 1 0 0 0 0
10 1 0 0 1 0 AB
11 1 0 1 0 0
11 1 1 0 0
12 1 0 1 1 0
13 1 1 0 0 1
14 1 1 0 1 1
10 0 0 0 0
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’.B’.C.D’ + A’.B’.C.D + A’.B.C’.D’ + A’.B.C’.D + A’.B.C.D’ +
S=B’.C’+A’.C
A’.B.C.D + A.B.C’.D’ + A.B.C’.D
Comentários
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de entra-
da que mudam ou não de valor. As variáveis que mudam de
Se a escolha for considerar as saídas iguais a um, a ope- valor não entram na expressão e as variáveis que não mudam
ração consiste em multiplicar as variáveis de entrada da entram da seguinte forma: para enlaces de uns, quando o va-
linha cuja saída seja igual a um e somar às outras multi- lor da variável de entrada não mudar e for igual a um, ela en-
plicações provenientes das outras linhas cujas saídas se- trará sem complemento; e, se o valor da variável de entrada
jam iguais a um. Já se a escolha for considerar as saídas não mudar de valor e for igual a zero, ela deverá entrar com-
iguais a zero, a operação consiste em somar as variáveis plementada. Para enlaces de zeros, quando o valor da variável
de entrada da linha cuja saída seja igual a zero (colocar en- de entrada não mudar e for igual a um, ela entrará comple-
tre parênteses) e multiplicar com as outras somas prove- mentada; e, se o valor da variável de entrada não mudar e for
nientes das outras linhas cujas saídas sejam iguais a zero. igual a zero, ela entrará sem o complemento (portanto, de for-
ma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram consideradasas linhas: três, quatro, cinco, uns, as variáveis de entrada que sobrarem deverão ser multi-
seis, sete, oito, treze e quatorze. plicadas e os enlaces (quando existir mais de um) deverão ser
somados. Para enlaces de zeros, as variáveis de entrada que
Veja: sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Terceira linha: A’.B’.C.D’
Para este caso, temos dois enlaces de quatro células, sen-
Quarta linha: A’.B’.C.D do que o primeiro (mais à esquerda do mapa de Veitch
-Karnaugh) mantém o B no nível lógico um (ou seja, ele
Quinta linha: A’.B.C’.D’ não muda de valor da segunda para a terceira linha da ta-
bela) e o C, igual a zero tanto para a primeira quanto para
Sexta linha: A’.B.C’.D a segunda coluna. Como as variáveis que mudam de valor
não entram na expressão, temos a expressão: S=B’.C’+A’.C.
Sétima linha: A’.B.C’.D

Oitava linha: A’.B.C.D’

Décima terceira linha: A’.B.C.D

Décima quarta linha: A.B.C’.D’

Em seguida, as multiplicações são somadas para montar a


expressão:

S = A’.B’.C.D’ + A’.B’.C.D + A’.B.C’.D’ + A’.B.C’.D + A’.B.C.D’ +


A’.B.C.D + A.B.C’.D’ + A.B.C’.D
© U2 - Sistemas Digitais 73

Exemplo 8 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA VER- EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
DADE MAPA DE VEITCH-KARNAUGH

linha A B C D S
1 0 0 0 0 1
2 0 0 0 1 1 CD
3 0 0 1 0 1
00 01 11 10
4 0 0 1 1 1
5 0 1 0 0 0
00 1 1 1 1
6 0 1 0 1 0
7 0 1 1 0 0
8 0 1 1 1 0 01 0 0 0 0
9 1 0 0 0 1 AB
10 1 0 0 1 1 11 0 0 0 0
11 1 0 1 0 1
12 1 0 1 1 1 10 1 1 1 1
13 1 1 0 0 0
14 1 1 0 1 0
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S =A’.B’.C’.D’ + A’.B’.C’.D + A’.B’.C.D’ + A’.B’.C.D + A.B’.C’.D’ +
S= B’
A.B’.C’.D + A.B’.C.D’ + A.B’.C.D
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a ope-
de valor não entram na expressão e as variáveis que não mu-
ração consiste em multiplicar as variáveis de entrada da
linha cuja saída seja igual a um e somar às outras multi- dam entram da seguinte forma: para enlaces de uns, quando
plicações provenientes das outras linhas cujas saídas se- o valor da variável de entrada não mudar e for igual a um, ela
jam iguais a um. Já se a escolha for considerar as saídas entrará sem complemento; e, se o valor da variável de entra-
iguais a zero, a operação consiste em somar as variáveis da não mudar de valor e for igual a zero, ela deverá entrar
de entrada da linha cuja saída seja igual a zero (colocar en- complementada. Para enlaces de zeros, quando o valor da va-
tre parênteses) e multiplicar com as outras somas prove- riável de entrada não mudar e for igual a um, ela entrará com-
nientes das outras linhas cujas saídas sejam iguais a zero. plementada; e, se o valor da variável de entrada não mudar e
for igual a zero, ela entrará sem o complemento (portanto, de
No caso foram consideradas as linhas: um, dois, três, quatro, forma oposta aos enlaces de uns). Quando os enlaces forem de
nove, dez, onze e doze. uns, as variáveis de entrada que sobrarem deverão ser multi-
Veja: plicadas e os enlaces (quando existir mais de um) deverão ser
somados. Para enlaces de zeros, as variáveis de entrada que
Primeira linha: A’.B’.C’.D’ sobrarem deverão ser somadas (inserir parênteses) e os en-
laces (quando existir mais de um) deverão ser multiplicados.
Segunda linha: A’.B’.C’.D
Para este caso, temos um enlace de quatro células envol-
Terceira linha: A’.B’.C.D’ vendo a primeira e a última linha. Lembre-se de que a as
Quarta linha: A’.B’.C.D extremidades também possuem adjacência. Da primeira
para a última linha, a variável A muda de valor, enquanto
Nona linha: A.B’.C’.D’ a variável B não muda e vale zero, ficando para a expres-
são a variável B’. Já as variáveis C e D mudam ao longo das
Décima linha: A.B’.C’.D
colunas do enlace e, portanto, não entram na expressão.
Décima primeira linha: A.B’.C.D’ O resultado é a expressão: S = B’
Décima segunda linha: A.B’.C.D
Em seguida, deve-se somar as multiplicações para montar a
expressão:
S =A’.B’.C’.D’ + A’.B’.C’.D + A’.B’.C.D’ + A’.B’.C.D + A.B’.C’.D’ +
A.B’.C’.D + A.B’.C.D’ + A.B’.C.D

Claretiano - Centro Universitário


74 © Arquitetura e Organização de Computadores

Exemplo 9 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA VER- EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
DADE MAPA DE VEITCH-KARNAUGH

linha A B C D S

1 0 0 0 0 1

2 0 0 0 1 0

3 0 0 1 0 1 CD
4 0 0 1 1 0
00 01 11 10
5 0 1 0 0 0
6 0 1 0 1 1 00 1 0 0 1
7 0 1 1 0 0
8 0 1 1 1 1 01 0 1 1 0
9 1 0 0 0 1 AB

10 1 0 0 1 0 11 0 1 0 0

11 1 0 1 0 1
10 1 0 0 1
12 1 0 1 1 0
13 1 1 0 0 0
14 1 1 0 1 1
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = A’.B’.C’.D’ + A’.B’.C.D’ + A’.B.C’.D + A’.B.C.D + A.B’.C’.D’ +
S= B’.D’ + B.C’.D + A’.B.D
A.B’.C.D’ + A.B.C’.D
Comentários
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
Se a escolha for considerar as saídas iguais a um, a ope- trada que mudam ou não de valor. As variáveis que mudam
ração consiste em multiplicar as variáveis de entrada da de valor não entram na expressão e as variáveis que não mu-
linha cuja saída seja igual a um e somar às outras multi- dam entram da seguinte forma: para enlaces de uns, quando
plicações provenientes das outras linhas cujas saídas se- o valor da variável de entrada não mudar e for igual a um, ela
jam iguais a um. Já se a escolha for considerar as saídas entrará sem complemento; e, se o valor da variável de entra-
iguais a zero, a operação consiste em somar as variáveis da não mudar de valor e for igual a zero, ela deverá entrar
de entrada da linha cuja saída seja igual a zero (colocar en- complementada. Para enlaces de zeros, quando o valor da va-
tre parênteses) e multiplicar com as outras somas prove- riável de entrada não mudar e for igual a um, ela entrará com-
nientes das outras linhas cujas saídas sejam iguais a zero. plementada; e, se o valor da variável de entrada não mudar e
for igual a zero, ela entrará sem o complemento (portanto, de
No caso, foram utilizadas as linhas: um, três, seis, oito, nove, forma oposta aos enlaces de uns). Quando os enlaces forem de
onze, quatorze. uns, as variáveis de entrada que sobrarem deverão ser multi-
Veja: plicadas e os enlaces (quando existir mais de um) deverão ser
Primeira linha: A’.B’.C’.D’ somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Terceira linha: A’.B’.C.D’
laces (quando existir mais de um) deverão ser multiplicados.
Sexta linha: A’.B.C’.D
Para este caso, temos três enlaces. Um enlace envolven-
Oitava linha: A’.B.C.D do as quatro células das extremidades (lembre-se de que
Nona linha:A.B’.C’.D’ as células das extremidades são adjacentes), outro en-
Décima primeira linha: A.B’.C.D’ lace envolvendo os dois uns da segunda e terceira linha
na segunda coluna e o último enlace envolvendo dois
Décima quarta linha:A.B.C’.D uns da segunda linha na segunda e na terceira coluna.
Em seguida, deve-se somar as multiplicações para montar a O resultado é a expressão: S= B’.D’ + B.C’.D + A’.B.D
expressão:
S = A’.B’.C’.D’ + A’.B’.C.D’ + A’.B.C’.D + A’.B.C.D + A.B’.C’.D’ +
A.B’.C.D’ + A.B.C’.D
© U2 - Sistemas Digitais 75

Para resolução do problema pelo método do produto das somas


Encontre as células adjacentes com o mesmo valor –para o método do produto das somas,
devemos considerar enlaces de células que representem o nível lógico baixo, ou seja, enlaces de
células iguais a 0 (zero) – e depois faça um enlace dessas células.
Após os enlaces, analise, em cada caso, quando as variáveis de entrada mudam de valor
para cada enlace específico. Se a variável de entrada mudar de valor de uma célula para outra do
enlace, então ela não deve ser considerada na expressão;do contrário, ela entrará na expressão
de forma complementada – caso o valor da variável de entrada que não muda seja 1 (um) – ou
entrará de forma normal – caso o valor da variável de entrada que não muda seja igual a 0 (zero).
Perceba que o método do produto das somas troca o complemento também:antes, a variável
deveria entrar complementada quando o valor da variável que não mudava era igual a 0 (zero),
agora é quando ele é igual a 1 (um).
As variáveis de cada enlace deverão ser somadas e as somas provenientes dos enlaces
deverão ser multiplicadas (no caso de mais de um enlace).Agora, também as somas se transfor-
maram em multiplicações e as multiplicações se transformaram em soma.
Lembre-se de que, se todas as saídas (valores das células) forem iguais a 1 (um),podemos
resumir o resultado em: S=1 e, da mesma forma, se todas as células forem iguais a 0(zero),o
resultado final será S=0.Isso não muda.
Veja alguns exemplos de mapas de Veitch-Karnaugh para variáveis de entrada consideran-
do enlaces de zeros.

Claretiano - Centro Universitário


76 © Arquitetura e Organização de Computadores

Exemplo 1 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de uns


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B

1 0 0 1 0 1

2 0 1 1
0 1 1
3 1 0 0 A
1 0 0
4 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A’+B) . (A’+B’) S= A’
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de entra-
Se a escolha for considerar as saídas iguais a um, a ope- da que mudam ou não de valor. As variáveis que mudam de
ração consiste em multiplicar as variáveis de entrada da valor não entram na expressão e as variáveis que não mudam
linha cuja saída seja igual a um e somar às outras multi- entram da seguinte forma: para enlaces de uns, quando o va-
plicações provenientes das outras linhas cujas saídas se- lor da variável de entrada não mudar e for igual a um, ela en-
jam iguais a um. Já se a escolha for considerar as saídas trará sem complemento; e, se o valor da variável de entrada
iguais a zero, a operação consiste em somar as variáveis não mudar de valor e for igual a zero, ela deverá entrar com-
de entrada da linha cuja saída seja igual a zero (colocar en- plementada. Para enlaces de zeros, quando o valor da variável
tre parênteses) e multiplicar com as outras somas prove- de entrada não mudar e for igual a um, ela entrará comple-
nientes das outras linhas cujas saídas sejam iguais a zero. mentada; e, se o valor da variável de entrada não mudar e for
No caso, foram consideradas as saídas iguais a zero e a soma igual a zero, ela entrará sem o complemento (portanto, de for-
ocorreu na linha três: A’ + B e na linha quatro: A’ + B’ (veja que, no ma oposta aos enlaces de uns). Quando os enlaces forem de
método do produto da soma, a variável que tiver o valor zero, uns, as variáveis de entrada que sobrarem deverão ser multi-
entra sem complemento, e a variável que tiver o valor um entra plicadas e os enlaces (quando existir mais de um) deverão ser
complementada). Depois, os dois termos foram multiplicados. somados. Para enlaces de zeros, as variáveis de entrada que
Observe que, para isso, foi necessário incluir parênteses entre sobrarem deverão ser somadas (inserir parênteses) e os en-
as somas para mudar a ordem de precedência das operações. laces (quando existir mais de um) deverão ser multiplicados.
S =(A’+ B) . (A’ + B’) Para este caso, o enlace é de zeros e ocupa toda a segunda
linha. Como para a segunda linha o valor de A não muda e
vale um, o A entra complementado na expressão, enquan-
to o B muda (da primeira coluna para a segunda, ele pas-
sa de zero para um) e, portanto, está fora da expressão.
S= A’
© U2 - Sistemas Digitais 77

Exemplo 2 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B

1 0 0 0 0 1

2 0 1 0 0 0 0
3 1 0 1 A
1 1 1
4 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B) . (A + B’) S= A
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
Se a escolha for considerar as saídas iguais a um, a ope- trada que mudam ou não de valor. As variáveis que mudam
ração consiste em multiplicar as variáveis de entrada da de valor não entram na expressão e as variáveis que não mu-
linha cuja saída seja igual a um e somar às outras multipli- dam entram da seguinte forma: para enlaces de uns, quando
cações provenientes das outras linhas cujas saídas sejam o valor da variável de entrada não mudar e for igual a um, ela
iguais a um. Já se a escolha for considerar as saídas iguais entrará sem complemento; e, se o valor da variável de entra-
a zero, a operação consiste em somar as variáveis de en- da não mudar de valor e for igual a zero, ela deverá entrar
trada da linha cuja saída seja igual a zero (colocar entre complementada. Para enlaces de zeros, quando o valor da va-
parênteses) e multiplicar com as outras somas prove- riável de entrada não mudar e for igual a um, ela entrará com-
nientes das outras linhas cujas saídas sejam iguais a zero. plementada; e, se o valor da variável de entrada não mudar e
No caso, foram consideradas as saídas iguais a zero e a soma for igual a zero, ela entrará sem o complemento (portanto, de
ocorreu nalinha1: A + B e na linha 2: A + B’. Depois, as duas forma oposta aos enlaces de uns). Quando os enlaces forem de
linhas foram multiplicadas. Observe a necessidade de colocar uns, as variáveis de entrada que sobrarem deverão ser multi-
parênteses para mudar a ordem de precedência das opera- plicadas e os enlaces (quando existir mais de um) deverão ser
ções. Veja também que, no método do produto das somas, somados. Para enlaces de zeros, as variáveis de entrada que
a variável que tiver o valor zero entra sem complemen- sobrarem deverão ser somadas (inserir parênteses) e os en-
to e a variável que tiver o valor um entra complementada. laces (quando existir mais de um) deverão ser multiplicados.
S = (A + B) . (A + B’) Para este caso, o enlace é de zeros e ocupa toda a primei-
ra linha. Como para a primeira linha o valor de A não muda
e vale zero, o A entra sem complemento na expressão, en-
quanto o B muda (da primeira coluna para a segunda ele
passa de zero para um) e, portanto, está fora da expressão.
S= A

Claretiano - Centro Universitário


78 © Arquitetura e Organização de Computadores

Exemplo 3 Mapa de Veitch-Karnaugh com duas variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B S B

1 0 0 0 0 1

2 0 1 1 0 0 1
3 1 0 1 A
1 1 1
4 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S=A+B S= A + B
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero
A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências).verificando, em todo o espaço do enlace, as variáveis de en-
Se a escolha for considerar as saídas iguais a um, a ope- trada que mudam ou não de valor. As variáveis que mudam
ração consiste em multiplicar as variáveis de entrada da de valor não entram na expressão e as variáveis que não mu-
linha cuja saída seja igual a um e somar às outras multi- dam entram da seguinte forma: para enlaces de uns, quando
plicações provenientes das outras linhas cujas saídas se- o valor da variável de entrada não mudar e for igual a um, ela
jam iguais a um. Já se a escolha for considerar as saídas entrará sem complemento; e, se o valor da variável de entra-
iguais a zero, a operação consiste em somar as variáveis da não mudar de valor e for igual a zero, ela deverá entrar
de entrada da linha cuja saída seja igual a zero (colocar en-complementada. Para enlaces de zeros, quando o valor da va-
tre parênteses) e multiplicar com as outras somas prove- riável de entrada não mudar e for igual a um, ela entrará com-
nientes das outras linhas cujas saídas sejam iguais a zero. plementada; e, se o valor da variável de entrada não mudar e
for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram somadas as variáveis de entrada da linha 1: A uns, as variáveis de entrada que sobrarem deverão ser multi-
+ B. Como não existe nenhuma outra linha com saída igual a plicadas e os enlaces (quando existir mais de um) deverão ser
zero, a expressão será: somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
S = A + B. laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, temos uma única célula com o va-
lor igual a zero e ela deverá ser considerada sozinha.
Como, para este enlace de uma única saída, as duas va-
riáveis de entrada mudam de valor, a expressão será:
S=A+B
Obs.: neste caso, o mapa de Veitch-Karnaugh não teve
nenhum efeito, pois a expressão já estava simplificada
por existir apenas uma linha com a saída igual a zero.
© U2 - Sistemas Digitais 79

Exemplo 4 Mapa de Veitch-Karnaugh com três variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S
1 0 0 0 0 BC

2 0 0 1 1
00 01 11 10
3 0 1 0 0
4 0 1 1 1
0 0 1 1 0
5 1 0 0 0
A
6 1 0 1 1
1 0 1 1 0
7 1 1 0 0
8 1 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B + C) . (A + B’ + C) . (A’ + B + C) . (A’ + B’ + C). S= C
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a A operação consiste em analisar o enlace de uns ou de zeros,
zero (o ideal é escolher a saída com menor número de ocor- verificando,em todo o espaço do enlace, as variáveis de en-
rências). trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a opera- de valor não entram na expressão e as variáveis que não mu-
ção consiste em multiplicar as variáveis de entrada da linha dam entram da seguinte forma: para enlaces de uns, quando
cuja saída seja igual a um e somar às outras multiplicações o valor da variável de entrada não mudar e for igual a um, ela
provenientes das outras linhas cujas saídas sejam iguais a entrará sem complemento; e, se o valor da variável de entra-
um. Já se a escolha for considerar as saídas iguais a zero, a da não mudar de valor e for igual a zero, ela deverá entrar
operação consiste em somar as variáveis de entrada da linha complementada. Para enlaces de zeros, quando o valor da va-
cuja saída seja igual a zero (colocar entre parênteses) e mul- riável de entrada não mudar e for igual a um, ela entrará com-
tiplicar com as outras somas provenientes das outras linhas plementada; e, se o valor da variável de entrada não mudar e
cujas saídas sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
Neste caso,para a primeira linha: (A + B + C), para a terceira uns, as variáveis de entrada que sobrarem deverão ser multi-
linha: (A + B’ + C), para a quinta linha: (A’ + B + C) e para a plicadas e os enlaces (quando existir mais de um) deverão ser
sétima linha: (A’ + B’ + C). somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Efetuando a multiplicação das somas, temos: laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, temos apenas um enlace ocupando a pri-
S = (A + B + C) . (A + B’ + C) . (A’ + B + C) . (A’ + B’ + C). meira e última (quarta) coluna do mapa de Veitch-Kar-
naugh. Sendo assim, o A e o B mudam de valor e, portan-
Obs.: não deixe de ficar atento ao uso dos parênteses para to, não entram na expressão, enquanto o C não muda de
inverter a ordem de precedência das operações booleanas. valor e vale zero (o C vale zero tanto para a primeira coluna
quanto para a quarta coluna). Desta forma, a expressão fica:
S=C

Claretiano - Centro Universitário


80 © Arquitetura e Organização de Computadores

Exemplo 5 Mapa de Veitch-Karnaugh com três variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S
1 0 0 0 1 BC
2 0 0 1 0
00 01 11 10
3 0 1 0 1
4 0 1 1 0
0 1 0 0 1
5 1 0 0 1
A
6 1 0 1 0
1 1 0 0 1
7 1 1 0 1
8 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B + C’) . (A + B’ + C’) . (A’ + B + C’) . (A’ + B’ + C’) S= C’
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de entra-
da que mudam ou não de valor. As variáveis que mudam de
Se a escolha for considerar as saídas iguais a um, a ope- valor não entram na expressão e as variáveis que não mudam
ração consiste em multiplicar as variáveis de entrada da entram da seguinte forma: para enlaces de uns, quando o va-
linha cuja saída seja igual a um e somar às outras multi- lor da variável de entrada não mudar e for igual a um, ela en-
plicações provenientes das outras linhas cujas saídas se- trará sem complemento; e, se o valor da variável de entrada
jam iguais a um. Já se a escolha for considerar as saídas não mudar de valor e for igual a zero, ela deverá entrar com-
iguais a zero, a operação consiste em somar as variáveis plementada. Para enlaces de zeros, quando o valor da variável
de entrada da linha cuja saída seja igual a zero (colocar en- de entrada não mudar e for igual a um, ela entrará comple-
tre parênteses) e multiplicar com as outras somas prove- mentada; e, se o valor da variável de entrada não mudar e for
nientes das outras linhas cujas saídas sejam iguais a zero. igual a zero, ela entrará sem o complemento (portanto, de for-
ma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, devem-se pegar as linhas: uns, as variáveis de entrada que sobrarem deverão ser multi-
plicadas e os enlaces (quando existir mais de um) deverão ser
Primeira linha: (A + B + C’) somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Terceira linha: (A + B’ + C’) laces (quando existir mais de um) deverão ser multiplicados.
Para este caso, o enlace ocupa a segunda e a terceira coluna nas
Quinta linha: (A’ + B + C’) duas linhas. Assim, a variável A muda de valor (da linha 1 valen-
do zero para a linha 2 valendo um), a variável B muda de zero
Sétima linha: (A’ + B’ + C’) (segunda coluna) para um (terceira coluna), enquanto a variá-
vel C não muda (vale um tanto para a segunda coluna quanto
Em seguida, multiplicar as somas para montar a expressão: para a terceira coluna) e entra complementado na expressão:
S = (A + B + C’) . (A + B’ + C’) . (A’ + B + C’) . (A’ + B’ + C’) S = C’.
Obs.: lembre-se de que, para enlaces de zeros, a variável que
Obs.: não deixe de ficar atento ao uso dos parênteses para não muda e vale um entra complementada na expressão.
inverter a ordem de precedência das operações booleanas.
© U2 - Sistemas Digitais 81

Exemplo 6 Mapa de Veitch-Karnaugh com três variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C S
BC
1 0 0 0 1
2 0 0 1 1 00 01 11 10
3 0 1 0 1
4 0 1 1 0
0 1 1 0 1
5 1 0 0 1
A
6 1 0 1 0
1 1 0 0 1
7 1 1 0 1
8 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B’ + C’) . (A’ + B + C’) . (A’ + B’ + C’) S= (A’+C’) . (B’+C’)
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
Se a escolha for considerar as saídas iguais a um, a ope- trada que mudam ou não de valor. As variáveis que mudam
ração consiste em multiplicar as variáveis de entrada da de valor não entram na expressão e as variáveis que não mu-
linha cuja saída seja igual a um e somar às outras multi- dam entram da seguinte forma: para enlaces de uns, quando
plicações provenientes das outras linhas cujas saídas se- o valor da variável de entrada não mudar e for igual a um, ela
jam iguais a um. Já se a escolha for considerar as saídas entrará sem complemento; e, se o valor da variável de entra-
iguais a zero, a operação consiste em somar as variáveis da não mudar de valor e for igual a zero, ela deverá entrar
de entrada da linha cuja saída seja igual a zero (colocar en- complementada. Para enlaces de zeros, quando o valor da va-
tre parênteses) e multiplicar com as outras somas prove- riável de entrada não mudar e for igual a um, ela entrará com-
nientes das outras linhas cujas saídas sejam iguais a zero. plementada; e, se o valor da variável de entrada não mudar e
for igual a zero, ela entrará sem o complemento (portanto, de
forma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram pegas as linhas: uns, as variáveis de entrada que sobrarem deverão ser multi-
plicadas e os enlaces (quando existir mais de um) deverão ser
Quarta linha: (A + B’ + C’) somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Sexta linha: (A’ + B + C’) laces (quando existir mais de um) deverão ser multiplicados.
Oitava linha: (A’ + B’ + C’)
Para este caso, temos dois enlaces e devemos escolher um
Em seguida, deve-se somar as multiplicações para montar a deles para começar a escrever a expressão booleana. Vamos
expressão: considerar o primeiro enlace,que está ocupando a segunda li-
nha na segunda e na terceira colunas. Para este primeiro enla-
S = (A + B’ + C’) . (A’ + B + C’) . (A’ + B’ + C’) ce, a variável de entrada A não muda de valor e vale um para
toda a segunda linha; portanto, a variável deverá entrar com-
plementada na expressão, pois os enlaces são de zeros. Além
da variável A, a variável C também não muda de valor e vale
um para toda a segunda e a terceira colunas (ou seja, para
todo o enlace); assim, a variável C deverá entrar complemen-
tada para somar-seàvariável A’. O primeiro termo será (A’ +
C’). Como existe mais um enlace, o termo extraído do primeiro
enlace deverá ser multiplicado pelo termo extraído do segun-
do enlace, que será (B’ + C’), pois, para o segundo enlace (que
ocupa toda a terceira linha), a variável A muda de valor (da
primeira linha para a segunda linha) e, portanto, não entra na
expressão, e as variáveis B e C não mudam de valor para toda
a terceira coluna (ou seja, todo o segundo enlace) e valem
um, devendo, portanto, ser complementadas e somadas para
constituir o segundo termo, proveniente do segundo enlace.

Assim: S= (A’+C’) . (B’+C’)

Claretiano - Centro Universitário


82 © Arquitetura e Organização de Computadores

Exemplo 7 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH
linha A B C D S CD
1 0 0 0 0 0
2 0 0 0 1 0
00 01 11 10
3 0 0 1 0 1
4 0 0 1 1 1
5 0 1 0 0 1 00 0 0 1 1
6 0 1 0 1 1
7 0 1 1 0 1
8 0 1 1 1 1 01 1 1 1 1
9 1 0 0 0 0
10 1 0 0 1 0 AB
11 1 0 1 0 0 11 1 1 0 0
12 1 0 1 1 0
13 1 1 0 0 1
14 1 1 0 1 1 10 0 0 0 0
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B + C + D) . (A + B + C + D’) . (A’ + B + C + D) . (A’ + B +
C + D’) . (A’ + B + C’ + D) . (A’ + B + C’ + D’) . (A’ + B’ + C’ + D) . S=(B + C) . (A’ + C’)
(A’ + B’ + C’ + D’)
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a A operação consiste em analisar o enlace de uns ou de zeros,
zero (o ideal é escolher a saída com menor número de ocor- verificando,em todo o espaço do enlace, as variáveis de en-
rências). trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a operação de valor não entram na expressão e as variáveis que não mu-
consiste em multiplicar as variáveis de entrada da linha cuja dam entram da seguinte forma: para enlaces de uns, quando
saída seja igual a um e somar às outras multiplicações prove- o valor da variável de entrada não mudar e for igual a um, ela
nientes das outras linhas cujas saídas sejam iguais a um. Já entrará sem complemento; e, se o valor da variável de entra-
se a escolha for considerar as saídas iguais a zero, a operação da não mudar de valor e for igual a zero, ela deverá entrar
consiste em somar as variáveis de entrada da linha cuja saída complementada. Para enlaces de zeros, quando o valor da va-
seja igual a zero (colocar entre parênteses) e multiplicar com riável de entrada não mudar e for igual a um, ela entrará com-
as outras somas provenientes das outras linhas cujas saídas plementada; e, se o valor da variável de entrada não mudar e
sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
No caso, foram levadas em consideração as linhas 1, 2, 9, 10, forma oposta aos enlaces de uns). Quando os enlaces forem de
11, 12, 15 e 16. uns, as variáveis de entrada que sobrarem deverão ser multi-
Veja: plicadas e os enlaces (quando existir mais de um) deverão ser
somados. Para enlaces de zeros, as variáveis de entrada que
Primeira linha: (A + B + C + D) sobrarem deverão ser somadas (inserir parênteses) e os en-
Segunda linha: (A + B + C + D’) laces (quando existir mais de um) deverão ser multiplicados.
Nona linha: (A’ + B + C + D) Para este caso, temos dois enlaces de quatro células, sendo
Décima linha: (A’ + B + C + D’) que o primeiro (mais à esquerda do mapa de Veitch-Karnaugh)
Décima primeira linha: (A’ + B + C’ + D) mantém o B no nível lógico zero (ou seja, ele não muda de va-
lor da primeira para a quarta linha da tabela) e o C igual a zero
Décima segunda linha: (A’ + B + C’ + D’)
tanto para a primeira quanto para a segunda coluna. Como as
Décima quinta linha: (A’ + B’ + C’ + D) variáveis que mudam de valor não entram na expressão e o
Décima sexta linha: (A’ + B’ + C’ + D’) enlace é de células iguais a zero, temos o termo: (B + C) extraí-
Em seguida, as somas deverão ser multiplicadas para montar do do primeiro enlace. O segundo enlace, mais à esquerda do
a expressão: mapa, ocupa as duas últimas linhas e as duas últimas colunas.
Assim, a variável de entrada A vale um e não muda de valor
S = (A + B + C + D) . (A + B + C + D’) . (A’ + B + C + D) . (A’ + B +
para todo o enlace (vale um para as duas últimas linhas do
C + D’) . (A’ + B + C’ + D) . (A’ + B + C’ + D’) . (A’ + B’ + C’ + D) .
mapa) e a variável C também vale um e não muda de valor
(A’ + B’ + C’ + D’)
para todo o enlace (vale um tanto na coluna 3 como na coluna
4). Como o enlace é de zeros e as variáveis não mudam e valem
um, elas deverão entrar complementadas no termo: (A’ + C’).
Multiplicando-se os dois termos, temos a expressão:
S=(B + C) . (A’ + C’)
© U2 - Sistemas Digitais 83

Exemplo 8 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C D S
1 0 0 0 0 1
2 0 0 0 1 1 CD
3 0 0 1 0 1
4 0 0 1 1 1 00 01 11 10

5 0 1 0 0 0
6 0 1 0 1 0 00 1 1 1 1
7 0 1 1 0 0
8 0 1 1 1 0
01 0 0 0 0
9 1 0 0 0 1
AB
10 1 0 0 1 1
11 1 0 1 0 1 11 0 0 0 0
12 1 0 1 1 1
13 1 1 0 0 0 10 1 1 1 1
14 1 1 0 1 0
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S=(A + B’ + C + D) . (A + B’ + C + D’) . (A + B’ + C’ + D) . (A + B’
+ C’ + D’) . (A’ + B’ + C + D) . (A’ + B’ + C + D’) . (A’ + B’ + C’ + S= B’
D) . (A’ + B’ + C’ + D’)
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a A operação consiste em analisar o enlace de uns ou de zeros,
zero (o ideal é escolher a saída com menor número de ocor- verificando,em todo o espaço do enlace, as variáveis de en-
rências). trada que mudam ou não de valor. As variáveis que mudam de
Se a escolha for considerar as saídas iguais a um, a operação valor não entram na expressão e as variáveis que não mudam
consiste em multiplicar as variáveis de entrada da linha cuja entram da seguinte forma: para enlaces de uns, quando o va-
saída seja igual a um e somar às outras multiplicações prove- lor da variável de entrada não mudar e for igual a um, ela en-
nientes das outras linhas cujas saídas sejam iguais a um. Já trará sem complemento; e, se o valor da variável de entrada
se a escolha for considerar as saídas iguais a zero, a operação não mudar de valor e for igual a zero, ela deverá entrar com-
consiste em somar as variáveis de entrada da linha cuja saída plementada. Para enlaces de zeros, quando o valor da variável
seja igual a zero (colocar entre parênteses) e multiplicar com de entrada não mudar e for igual a um, ela entrará comple-
as outras somas provenientes das outras linhas cujas saídas mentada; e, se o valor da variável de entrada não mudar e for
sejam iguais a zero. igual a zero, ela entrará sem o complemento (portanto, de for-
ma oposta aos enlaces de uns). Quando os enlaces forem de
No caso, foram consideradas as linhas 5, 6, 7, 8, 13, 14, 15 e uns, as variáveis de entrada que sobrarem deverão ser multi-
16. plicadas e os enlaces (quando existir mais de um) deverão ser
Veja: somados. Para enlaces de zeros, as variáveis de entrada que
Quinta linha: (A + B’ + C + D) sobrarem deverão ser somadas (inserir parênteses) e os en-
Sexta linha: (A + B’ + C + D’) laces (quando existir mais de um) deverão ser multiplicados.
Sétima linha: (A + B’ + C’ + D) Para este caso, temos um único enlace ocupando a segunda
e a terceira linha. Para este enlace, a variável A muda de valor
Oitava linha: (A + B’ + C’ + D’) da segunda para a terceira linha (de zero para um) e, portanto,
Décima terceira linha: (A’ + B’ + C + D) não entra no termo, da mesma forma que as variáveis C e D
Décima quarta linha: (A’ + B’ + C + D’) também mudam de valor ao longo do enlace que ocupa todas
as colunas e, portanto, também não entram no termo. A única
Décima quinta linha: (A’ + B’ + C’ + D) variável que não muda de valor e vale um para todo o enlace,
Décima sexta linha: (A’ + B’ + C’ + D’) é o B. Como o seu valor é um e o enlace é de células iguais a
Em seguida,deve-se multiplicar as somas (os termos) para zero, a variável deverá entrar no termo de forma complemen-
montar a expressão: tada. Por existir apenas um enlace, a expressão já está pronta.
S=(A + B’ + C + D) . (A + B’ + C + D’) . (A + B’ + C’ + D) . (A + B’ O resultado é a expressão: S = B’
+ C’ + D’) . (A’ + B’ + C + D) . (A’ + B’ + C + D’) . (A’ + B’ + C’ +
D) . (A’ + B’ + C’ + D’)

Claretiano - Centro Universitário


84 © Arquitetura e Organização de Computadores

Exemplo 9 Mapa de Veitch-Karnaugh com quatro variáveis de entrada e enlaces de zeros


EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA
VERDADE MAPA DE VEITCH-KARNAUGH
linha A B C D S
1 0 0 0 0 1 CD
2 0 0 0 1 0
3 0 0 1 0 1 00 01 11 10
4 0 0 1 1 0
5 0 1 0 0 0
6 0 1 0 1 1 00 1 0 0 1
7 0 1 1 0 0
8 0 1 1 1 1
9 1 0 0 0 1 01 0 1 1 0
10 1 0 0 1 0
11 1 0 1 0 1 AB
12 1 0 1 1 0 11 0 1 0 0
13 1 1 0 0 0
14 1 1 0 1 1
15 1 1 1 0 0 10 1 0 0 1
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B + C + D’) . (A + B + C’ + D’) . (A + B’ + C + D) . (A + B’
+ C’ + D) . (A’ + B + C + D’) . (A’ + B + C’ + D’) (A’ + B’ + C + D) . S= (B’ + D) . (B + D’) . (A’ + B’ + C’)
(A’ + B’ + C’ + D) . (A’ + B’ + C’ + D’)
Comentários:
Pode-se escolher as saídas iguais a um ou as saídas iguais a A operação consiste em analisar o enlace de uns ou de zeros,
zero (o ideal é escolher a saída com menor número de ocor- verificando,em todo o espaço do enlace, as variáveis de en-
rências). trada que mudam ou não de valor. As variáveis que mudam
Se a escolha for considerar as saídas iguais a um, a operação de valor não entram na expressão e as variáveis que não mu-
consiste em multiplicar as variáveis de entrada da linha cuja dam entram da seguinte forma: para enlaces de uns, quando
saída seja igual a um e somar às outras multiplicações prove- o valor da variável de entrada não mudar e for igual a um, ela
nientes das outras linhas cujas saídas sejam iguais a um. Já entrará sem complemento; e, se o valor da variável de entra-
se a escolha for considerar as saídas iguais a zero, a operação da não mudar de valor e for igual a zero, ela deverá entrar
consiste em somar as variáveis de entrada da linha cuja saída complementada. Para enlaces de zeros, quando o valor da va-
seja igual a zero (colocar entre parênteses) e multiplicar com riável de entrada não mudar e for igual a um, ela entrará com-
as outras somas provenientes das outras linhas cujas saídas plementada; e, se o valor da variável de entrada não mudar e
sejam iguais a zero. for igual a zero, ela entrará sem o complemento (portanto, de
No caso, foram utilizadas as linhas 2, 4, 5, 7, 10, 12, 13, 15, forma oposta aos enlaces de uns). Quando os enlaces forem de
16. uns, as variáveis de entrada que sobrarem deverão ser multi-
Veja: plicadas e os enlaces (quando existir mais de um) deverão ser
somados. Para enlaces de zeros, as variáveis de entrada que
Segunda linha: (A + B + C + D’) sobrarem deverão ser somadas (inserir parênteses) e os en-
Quarta linha: (A + B + C’ + D’) laces (quando existir mais de um) deverão ser multiplicados.
Quinta linha: (A + B’ + C + D) Para este caso, temos três enlaces. Um enlace envolvendo as
Sétima linha: (A + B’ + C’ + D) linhas 2 e 3 na primeira e na última colunas, em que as variá-
Décima linha: (A’ + B + C + D’) veis B e D não mudam de valor e valem, respectivamente, um
e zero, gerando o termo: (B’ + D). O segundo enlace envolve a
Décima segunda linha: (A’ + B + C’ + D’)
primeira e última linha, ocupando as colunas 2 e 3, em que as
Décima terceira linha: (A’ + B’ + C + D) variáveis B e D não mudam de valor e valem, respectivamente,
Décima quinta linha: (A’ + B’ + C’ + D) zero e um, gerando o termo: (B + D’). O último enlace poderia
Décima sexta linha: (A’ + B’ + C’ + D’) ocupar a penúltima linha nas colunas 3 e 4 ou a penúltima co-
luna nas linhas 3 e 4. Para este exemplo, foi escolhido o enla-
Multiplicando as somatórias para montar a expressão:
ce que ocupa a penúltima linha nas colunas 3 e 4. Assim, para
S = (A + B + C + D’) . (A + B + C’ + D’) . (A + B’ + C + D) . (A + B’ este enlace, as variáveis A e B não mudam de valor e valem um
+ C’ + D) . (A’ + B + C + D’) . (A’ + B + C’ + D’) (A’ + B’ + C + D) . e um respectivamente, além da variável C, que também não
(A’ + B’ + C’ + D) . (A’ + B’ + C’ + D’) muda de valor e vale um. Assim, o termo será: (A’ + B’ + C’).
Multiplicando as somatórias, temos a seguinte expressão
simplificada:

S= (B’ + D) . (B + D’) . (A’ + B’ + C’)


© U2 - Sistemas Digitais 85

Exemplo 10 Mapa de Veitch-Karnaugh com quatro variáveis de entrada, enlaces de zeros e com
células iguais a X
É importante que você atentepara as células que possuem o valor X, pois elas poderão ser
utilizadas para enlaces de uns ou zeros de acordo com a conveniência do mapa. Se você estiver
utilizando enlaces de zeros e a(s) célula(s) com valor X ajudarem no processo de simplificação,
elas deverão ser utilizadas nos enlaces valendo zero, assim como, se você estiver utilizando
um mapa com enlaces de uns e a(s) célula(s) iguais a X ajudarem de alguma forma a obter o(s)
maior(es) enlace(s) de uns, ela(s) deverá entrar valendo um.
Lembre-se de quevocê não tem a obrigação de utilizar todas as células iguais a X. Deve-se
utilizar apenas as que forem convenientes para fazer o maior enlace possível.

EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA


VERDADE MAPA DE VEITCH-KARNAUGH

linha A B C D S
1 0 0 0 0 1
2 0 0 0 1 0
CD
3 0 0 1 0 1
4 0 0 1 1 0 00 01 11 10
5 0 1 0 0 0
6 0 1 0 1 X 00 1 0 0 1
7 0 1 1 0 0
8 0 1 1 1 X
01 0 X X 0
9 1 0 0 0 1
AB
10 1 0 0 1 0
11 0 X 0 0
11 1 0 1 0 1
12 1 0 1 1 0
10 1 0 0 1
13 1 1 0 0 0
14 1 1 0 1 X
15 1 1 1 0 0
16 1 1 1 1 0

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh


S = (A + B + C + D’) . (A + B + C’ + D’) . (A + B’ + C + D) . (A + B’
+ C’ + D) . (A’ + B + C + D’) . (A’ + B + C’ + D’) (A’ + B’ + C + D) . S= B’ + D’
(A’ + B’ + C’ + D) . (A’ + B’ + C’ + D’)
Comentários:

Claretiano - Centro Universitário


86 © Arquitetura e Organização de Computadores

EXTRAÇÃO DA EXPRESSÃO PELO MÉTODO DA TABELA EXTRAÇÃO DA EXPRESSÃO UTILIZANDO A FERRAMENTA


VERDADE MAPA DE VEITCH-KARNAUGH
Pode-se escolher as saídas iguais a um ou as saídas iguais a zero A operação consiste em analisar o enlace de uns ou de zeros,
(o ideal é escolher a saída com menor número de ocorrências). verificando,em todo o espaço do enlace, as variáveis de en-
Se a escolha for considerar as saídas iguais a um, a ope- trada que mudam ou não de valor. As variáveis que mudam
ração consiste em multiplicar as variáveis de entrada da de valor não entram na expressão e as variáveis que não mu-
linha cuja saída seja igual a um e somar às outras multi- dam entram da seguinte forma: para enlaces de uns, quando
plicações provenientes das outras linhas cujas saídasse- o valor da variável de entrada não mudar e for igual a um, ela
jam iguais a um. Já se a escolha for considerar as saídas entrará sem complemento; e, se o valor da variável de entrada
iguais a zero, a operação consiste em somar as variáveis não mudar de valor e for igual a zero, ela deverá entrar com-
de entrada da linha cuja saída seja igual a zero (colocar en- plementada. Para enlaces de zeros, quando o valor da variável
tre parênteses) e multiplicar com as outras somas prove- de entrada não mudar e for igual a um, ela entrará comple-
nientes das outras linhas cujas saídas sejam iguais a zero. mentada; e, se o valor da variável de entrada não mudar e for
No caso, foram utilizadas as linhas 2, 4, 5, 7, 10, 12, 13, 15, 16. igual a zero, ela entrará sem o complemento (portanto, de for-
ma oposta aos enlaces de uns). Quando os enlaces forem de
Veja: uns, as variáveis de entrada que sobrarem deverão ser multi-
Segunda linha: (A + B + C + D’) plicadas e os enlaces (quando existir mais de um) deverão ser
Quarta linha: (A + B + C’ + D’) somados. Para enlaces de zeros, as variáveis de entrada que
sobrarem deverão ser somadas (inserir parênteses) e os en-
Quinta linha: (A + B’ + C + D) laces (quando existir mais de um) deverão ser multiplicados.
Sétima linha: (A + B’ + C’ + D)
Décima linha: (A’ + B + C + D’) Para este caso, temos dois enlaces. O primeiro, que ocupa a
Décima segunda linha: (A’ + B + C’ + D’) segunda e a terceira linhas e todas as colunas, tem apenas a
Décima terceira linha: (A’ + B’ + C + D) variável de entrada B, que não muda de valor e vale um para as
Décima quinta linha: (A’ + B’ + C’ + D) duas linhas e, consequentemente, para todo o enlace. Assim, o
termo extraído do enlace é: B’. Já o segundo enlace ocupa todas
Décima sexta linha: (A’ + B’ + C’ + D’) as linhas e as colunas 2 e 3, ficando, assim, apenas a variável de
Multiplicando as somatórias para montar a expressão: entrada D valendo um, pois todas as outras variáveis mudam
S = (A + B + C + D’) . (A + B + C’ + D’) . (A + B’ + C + D) . (A + B’ de valor ao longo do enlace. O termo do segundo enlace é D’.
+ C’ + D) . (A’ + B + C + D’) . (A’ + B + C’ + D’) (A’ + B’ + C + D) . Multiplicando-se os termos, obtemos a expressão:
(A’ + B’ + C’ + D) . (A’ + B’ + C’ + D’)
Obs.: para extrair a expressão booleana diretamente da tabe- S = B’ . D’
la verdade, o X não vai influenciar em nada. Deve-se descon-
siderar as linhas que têm a saída igual a X.

Circuitos combinacionais dedicados


Veja com detalhes, a seguir, os circuitos combinacionais dedicados: os multiplexadores, os
demultiplexadores, os codificadores e os decodificadores.

Multiplexadores
Um circuito multiplexador tem como função escolher uma de suas várias entradas para se
conectar à sua única saída.
Como exemplo de aplicação dos circuitos multiplexadores, temos:
• O circuito de controle dos sistemas de segurança monitorado por câmera, em que vá-
rias câmeras podem ser ligadas a um único monitor e, por meio do multiplexador, o
operador poderá escolher qual câmeraenviará imagem ao monitor em um determina-
do momento.
• Dispositivo de controle de várias impressoras compartilhando uma única interface com
o computador.
• O compartilhamento de um meio de transmissão de dados por vários processos de
computadores ou mesmo outros tipos de aparelhos, digitais ou não.
Para entender melhor, considere os circuitos multiplexadores como sendo uma chave se-
letora conforme a Figura 4.
© U2 - Sistemas Digitais 87

Figura 4 Multiplexador.

Existem várias configurações de multiplexadores que diferem pelo número de entradas e


também pela quantidade de canais que eles são capazes de multiplexar.
Os multiplexadores são constituídos por canais de entrada, variáveis de seleção e saída.
Os canais de entrada são os que recebem os vários sinais a serem multiplexados. As variáveis de
seleção são responsáveis por selecionar uma das suas entradas para se conectar à única saída
do circuito. E a saída é o meio pelo qual a entrada estará disponível para uso.
Por se tratar de um circuito digital, o número de variáveis de seleção terá que contemplar
todas as possibilidades de entrada, ou seja, para um multiplexador com quatro canais de en-
trada, teremos, obrigatoriamente, duas variáveis de seleção para poder montar todas as com-
binações dos dois bits e associar cada combinação a um único canal de entrada; se tivermos
um multiplexador com oito canais de entrada, serão necessárias três variáveis de seleção para
contemplar todas as combinações possíveis, e assim sucessivamente, de acordo com a seguinte
fórmula:
Número de linhas = 2número de variáveis de seleção
Veja o diagrama e a tabela verdade de um multiplexador (MUX) de quatro entradas cons-
tituído por portas lógicas:

Tabela 1 Diagrama e tabela verdade de um multiplexado de quatro entradas.


A B S
0 0 E0
0 1 E1
1 0 E2
1 1 E3

Perceba que, como o multiplexador apresentado possui quatro entradas, então serão ne-
cessárias duas variáveis de seleção, para que, dessa forma, sejam contempladas todas as possi-
bilidades de seleção.
A partir desse exemplo, serão apresentados apenas os diagramas dos circuitos combina-
cionais, porém não se esqueça de que eles são sempre constituídos por portas lógicas.

Claretiano - Centro Universitário


88 © Arquitetura e Organização de Computadores

Tabela 2 Diagrama e tabela verdade de um multiplexado de oito entradas.


A B C S
0 0 0 E0
0 0 1 E1
0 1 0 E2
0 1 1 E3
1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7

Tabela 3 Diagrama de tabela verdade de um multiplexador de dezesseis entradas.


A B C D E
0 0 0 0 E0
0 0 0 1 E1
0 0 1 0 E2
0 0 1 1 E3
0 1 0 0 E4
0 1 0 1 E5
0 1 1 0 E6
0 1 1 1 E7
1 0 0 0 E8
1 0 0 1 E9
1 0 1 0 E10
1 0 1 1 E11
1 1 0 0 E12
1 1 0 1 E13
1 1 1 0 E14
1 1 1 1 E15

Observe, na Figura 5, um exemplo de um chip multiplexador de oito canais.

Figura 5 Multiplexador de 8 canais.


© U2 - Sistemas Digitais 89

Demultiplexadores
Um circuito combinacional demultiplexador (DEMUX) faz exatamente o inverso do circuito
combinacional multiplexador (MUX).
Os demultiplexadores têm como função selecionar uma de suas várias saídas para se co-
nectar à sua única entrada.
Neste momento, fica fácil a compreensão de que poderemos utilizar um multiplexador e
um demultiplexador para compartilhar um meio de transmissão. Basta inserir um multiplexador
em uma ponta e um demultiplexador na outra e configurá-lo adequadamente para estabelecer
uma comunicação síncrona entre todos os dispositivos que estão inseridos neste contexto.
Da mesma forma que o MUX, imagine uma chave de múltiplas seleções que possui uma
única entrada e várias saídas como sendo um exemplo de demultiplexador.
Algumas aplicações de um demultiplexador são:
• Conversões de dados -> serial paralelo.
• Recepção de dados compartilhando um único meio.
• Compartilhamento de dispositivos.
Observe, nas Tabela 4, 5 e 6, os diagramas e tabelas verdade de um demultiplexador de
quatro saídas, de um de oito saídas e um de dezesseis saídas.

Tabela 4 Diagrama e tabela verdade de um demultiplexador de quatro saídas.


A B S1 S1 S2 S3
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
1 1 0 0 0 E

Tabela 5 Diagrama e tabela verdade de um demultiplexador de oito saídas.


A B C S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 E 0 0 0 0 0 0 0
0 0 1 0 E 0 0 0 0 0 0
0 1 0 0 0 E 0 0 0 0 0
0 1 1 0 0 0 E 0 0 0 0
1 0 0 0 0 0 0 E 0 0 0
1 0 1 0 0 0 0 0 E 0 0
1 1 0 0 0 0 0 0 0 E 0
1 1 1 0 0 0 0 0 0 0 E

Claretiano - Centro Universitário


90 © Arquitetura e Organização de Computadores

Tabela 6 Diagrama e tabela verdade de um demultiplexador de dezesseis saídas.


A B C D S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15
0 0 0 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 E 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 E 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 E 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 E 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 E 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 E 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 E 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 E 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 E 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E

E agora, na Figura 6, veja um exemplo de um chip demultiplexador de oito canais.

Figura 6 Demultiplexador de 8 canais.

Codificadores e decodificadores
Os codificadores e decodificadores são circuitos combinacionais dedicados a transformar
sinais digitais de uma característica específica para outra, de modo a proporcionar uma comuni-
cação adequada entre circuitos digitais diferentes.
Os computadores trabalham com dados digitais (na base dois). Como é possível a comu-
nicação de um teclado alfanumérico com tantas teclas com um sistema digital de base dois?
Pois bem, o circuito que estabelece a comunicação entre o teclado alfanumérico e computador
digital é denominado de codificador.
Da mesma forma, um circuito que converte os sinais digitais dos comutadores em sinais de
base maior, como os utilizados em um display digital, recebe o nome de decodificador.
© U2 - Sistemas Digitais 91

Veja outras aplicações dos circuitos codificadores e decodificadores como, por exemplo:
1) Comunicação entre telado e display de uma calculadora eletrônica.
2) Reprodução sonora de um compact disc ou DVD.
3) Integração de sistemas que utilizam bases numéricas diferentes.
4) Sinais de dados (incluindo áudio e vídeo) transmitidos via satélite.
5) Modem.
6) Dispositivos utilizados para criptografia.
A seguir, serão apresentados alguns tipos de códigos utilizados no universo da computa-
ção:

Código BCD ou codificador BCD 8421


O código BCD (Binary Coded Decimal) tem como função codificar dados na base decimal
para a base binária.
Como temos dez algarismos decimais, serão necessários quatro bits para essa codificação
(cada combinação de bits deverá representar um algarismo na base decimal).
É evidente que sobrarão linhas de combinações de bits, mas isso é necessário por conta
da análise combinatória dos quatro dígitos binários utilizados e as posições excedentes serão
desconsideradas.
Veja, na Tabela7, um exemplo do Código BCD.

Tabela 7 Código BCD.

DECIMAL CÓDIGO BCD CORRESPONDENTE


0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1

Código BCH
O código BCH (Binary Coded Hexadecimal) codifica os valores da base hexadecimal para
binário da mesma forma que o Codificador BCD (Binary Coded Decimal) faz com os dígitos deci-
mais. Para esse codificador, todas as dezesseis linhas dos quatro dígitos binários da tabela serão
utilizados.
Veja, na Tabela 8, um exemplo doCódigo BCH.

Claretiano - Centro Universitário


92 © Arquitetura e Organização de Computadores

Tabela 8 Código BCH.


HEXADECIMAL CÓDIGO BCD CORRESPONDENTE
0H 0 0 0 0
1H 0 0 0 1
2H 0 0 1 0
3H 0 0 1 1
4H 0 1 0 0
5H 0 1 0 1
6H 0 1 1 0
7H 0 1 1 1
8H 1 0 0 0
9H 1 0 0 1
AH 1 0 1 0
BH 1 0 1 1
CH 1 1 0 0
DH 1 1 0 1
EH 1 1 1 0
DH 1 1 1 1

Código Excesso 3
Conforme já estudado na unidade anterior (Sistemas Numéricos e Conversões de Bases),
as operações de subtração podem ser transformadas em soma utilizando a técnica da subtração
por complemento da base. Essa técnica utiliza com muita frequência a operação de complemen-
to.
O codificador Excesso 3 é útil na simplificação de subtração no sistema binário pelo fato de
que o complemento de um algarismo do sistema decimal correspondeao complemento, dígito
a dígito, do código Excesso 3.
Com o uso dos microcontroladores e microprocessadores, o uso do codificador Excesso 3
não se faz necessário, porém esse codificador foi muito utilizado nas calculadoras eletrônicas,que
não utilizavam esses tipos de circuitos integrados.
Veja, na Tabela 9, um exemplo do código Excesso 3.

Tabela 9 Código Excesso 3.


DECIMAL CÓDIGO BCD CORRESPONDENTE
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0

Perceba que o complemento de (1010)2 é igual a (0101)2,da mesma forma que o comple-
mento dígito a dígito de (7)10 é igual a (2)10.
© U2 - Sistemas Digitais 93

Código Gray
O código Gray codifica os decimais de zero a quinze em dígitos binários, de forma que
somente um digito binário mude de valor de uma linha para outra. Esse código é utilizado por
contemplar o conceito de adjacência existente nos mapas de Veitch-Karnaugh,em que apenas
uma variável de entrada muda de uma célula para outra.
Veja, na Tabela 10, um exemplo do código Gray.

Tabela 10 Código Gray.


DECIMAL CÓDIGO BCD CORRESPONDENTE
00 0 0 0 0
01 0 0 0 1
02 0 0 1 1
03 0 0 1 0
04 0 1 1 0
05 0 1 1 1
06 0 1 0 1
07 0 1 0 0
08 1 1 0 0
09 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

Para encontrar um número do código Gray correspondente a um número decimal, deve-


-se fazer a conversão do número decimal para binário e depois fazer a soma dois a dois dos bits
encontrados, acrescentando o dígito binário mais significativo (mais à esquerda) no resultado
da conversão.
Observe o exemplo a seguir:
(6)10= (0110)2
Deve-se somar o primeiro bità esquerda ao segundo, depois o segundo ao terceiro e,
por último, o terceiro ao quarto; depois, acrescentar o bit mais significativo do número binário
(0110)2;e concatenar os resultados.
Veja:
(6)10 = (0110)2 = (?)2Gray
(0110)2 = (1) 2 +( 0)2 = (1) 2
(0110)2 = (1) 2 +(1)2 = (0) 2
(0110)2 = (1) 2 +( 0)2 = (1) 2
Acrescentado o dígito mais significativo (0), estrutura-se o resultado de baixo para cima.
Veja o resultado a seguir:
(6)10 = (0110)2 = (0101)2Gray

Claretiano - Centro Universitário


94 © Arquitetura e Organização de Computadores

Código ASCII (American Standard Code for Information Interchange)


O código ASCII (American Standard Code for Information Interchange) define um padrão
para troca de dados entre computadores e periféricos.
Observe a Tabela 11:

Tabela 11 Código ASCII.


CARACTER DECIMAL HEXADECIMAL BINÁRIO
NUL 00 00 0000 0000
SOH 01 01 0000 0001
STX 02 02 0000 0010
ETX 03 03 0000 0011
EOT 04 04 0000 0100
ENQ 05 05 0000 0101
ACK 06 06 0000 0110
BEL 07 07 0000 0111
BS 08 08 0000 0100
HT 09 09 0000 1001
LF 10 0A 0000 1010
VT 11 0B 0000 1011
FF 12 0C 0000 1100
CR 13 0D 0000 1101
SO 14 0E 0000 1110
SI 15 0F 0000 1111
DLE 16 10 0001 0000
D1 17 11 0001 0001
D2 18 12 0001 0010
D3 19 13 0001 0011
D4 20 14 0001 0100
NAK 21 15 0001 0101
SYN 22 16 0001 0110
ETB 23 17 0001 0111
CAN 24 18 0001 1000
EM 25 19 0001 1001
SUB 26 1A 0001 1010
ESC 27 1B 0001 1011
FS 28 1C 0001 1100
GS 29 1D 0001 1101
RS 30 1E 0001 1110
US 31 1F 0001 1111
Espaço 32 20 0010 0000
! 33 21 0010 0001
“ 34 22 0010 0010
# 35 23 0010 0011
$ 36 24 0010 0100
% 37 25 0010 0101
& 38 26 0010 0110
© U2 - Sistemas Digitais 95

CARACTER DECIMAL HEXADECIMAL BINÁRIO


‘ 39 27 0010 0111
( 40 28 0010 1000
) 41 29 0010 1001
* 42 2A 0010 1010
+ 43 2B 0010 1011
, 44 2C 0010 1100
- 45 2D 0010 1101
. 46 2E 0010 1110
/ 47 2F 0010 FFFF
0 48 30 0011 0000
1 49 31 0011 0001
2 50 32 0011 0010
3 51 33 0011 0011
4 52 34 0011 0100
5 53 35 0011 0101
6 54 36 0011 0110
7 55 37 0011 0111
8 56 38 0011 1000
9 57 39 0011 1001
: 58 3A 0011 1010
; 59 3B 0011 1011
< 60 3C 0011 1100
= 61 3D 0011 1101
> 62 3E 0011 1110
? 63 3F 0011 1111
@ 64 40 0100 0000
A 65 41 0100 0001
B 66 42 0100 0010
C 67 43 0100 0011
D 68 44 0100 0100
E 69 45 0100 0101
F 70 46 0100 0110
G 71 47 0100 0111
H 72 48 0100 1000
I 73 49 0100 1001
J 74 4A 0100 1010
K 75 4B 0100 1011
L 76 4C 0100 1100
M 77 4D 0100 1101
N 78 4E 0100 1110
O 79 4F 0100 1111
P 80 50 0101 0000
Q 81 51 0101 0001
R 82 52 0101 0010
S 83 53 0101 0011

Claretiano - Centro Universitário


96 © Arquitetura e Organização de Computadores

CARACTER DECIMAL HEXADECIMAL BINÁRIO


T 84 54 0101 0100
U 85 55 0101 0101
V 86 56 0101 0110
W 87 57 0101 0111
X 88 58 0101 1000
Y 89 59 0101 1001
Z 90 5A 0101 1010
[ 91 5B 0101 1011
\ 92 5C 0101 1100
] 93 5D 0101 1101
^ 94 5E 0101 1110
_ 95 5F 0101 1111
` 96 60 0110 0000
a 97 61 0110 0001
b 98 62 0110 0010
c 99 63 0110 0011
d 100 64 0110 0100
e 101 65 0110 0101
f 102 66 0110 0110
g 103 67 0110 0111
h 104 68 0110 1000
i 105 69 0110 1001
j 106 6A 0110 1010
k 107 6B 0110 1011
l 108 6C 0110 1100
m 109 6D 0110 1101
n 110 6E 0110 1110
o 111 6F 0110 1111
p 112 70 0111 0000
q 113 71 0111 0001
r 114 72 0111 0010
s 115 73 0111 0011
t 116 74 0111 0100
u 117 75 0111 0101
v 118 76 0111 0110
w 119 77 0111 0111
x 120 78 0111 1000
y 121 79 0111 1001
z 122 7A 0111 1010
{ 123 7B 0111 1011
| 124 7C 0111 1100
} 125 7D 0111 1101
~ 126 7E 0111 1110
DELETE 127 7F 0111 1111
© U2 - Sistemas Digitais 97

Percebeu que, ao pressionar a tecla y do teclado, o código binário (0111 1001)2será gerado
e enviado ao sistema digital?
Veja, agora,um exemplo de codificador e outro de decodificador:

Codificador BCD
O codificador BCD, apresentado na Figura 7, é capaz de receber, por meio de dez chaves
eletrônicas de seleção exclusiva (em que não se pode ligar mais de uma chave ao mesmo tem-
po), os algarismos de zero a nove (cada chave representará um algarismo), e, por meio do circui-
to codificador BCD, o sistema enviará a um conjunto de quatro leds o valor correspondente da
chave selecionada em binário por meio dos leds.

Figura 7 Codificador BCD.

É importante ressaltar quea entrada zero não é necessária, por deixar todas as saídas em
nível lógico baixo. O zero será representado quando todas as entradas forem zero.

Decodificador BCD-Display de sete segmentos


O decodificador BCD-Display de sete segmentos tem como função receber quatro dígitos
binários por meio de quatro chaves eletrônicas de seleção exclusiva (cada chave representará
um algarismo) e, por meio do circuito codificador BCD-Display de sete segmentos,o sistema en-
viará um conjunto de sete saídas a serem ligadas nos segmentos do display.

Claretiano - Centro Universitário


98 © Arquitetura e Organização de Computadores

Figura 8 Decodificador BCD.

Observe, na Figura 9, um exemplo de ligação do display de sete segmentos ao decodifica-


dor BCD-Displaydesete segmentos:

Figura 9 BCD-Display de sete segmentos.

Somadores e Subtradores
Conheça, a seguir, os Somadores e Subtradores.

Somadores
Os circuitos somadores são responsáveis pela operação de soma de dígitos binários (bits).
Os somadores são divididos em dois tipos: meio-somador (half-adder),em que dois bits entram
no circuito para serem somados e o resultado é disponibilizado nas suas duas saídas, definidas
como resultado e estouro (vai-um);e os somadores completos(full-adder), quelevam em consi-
deração a entrada de um estouro da operação anterior. Dessa forma, o somador completo terá
três entradas, representando, respectivamente, o dígito binário de estouro e os dois dígitos
binários a serem somados.O resultado da soma será apresentado em suas duas saídas definidas
como resultado e estouro.
Para realizar a soma de mais de um dígito binário, deve-se associar um meio somador
(para a soma do primeiro bit) com n somadores completos,em que n deve corresponder ao nú-
mero de dígitos a serem somados menos um (que já foi conectado ao meio somador). Vejam os
exemplos nas Figuras 10, 11 e 12:
© U2 - Sistemas Digitais 99

Figura 10 Meio-somador.

Figura 11 Somador completo.

X5 X4 X3 X2 X1

5V 5V 5V 5V 5V

U4 U3 U1 U2

CIN CIN CIN


CARRY B CARRY B CARRY B CARRY B
SUM A SUM A SUM A SUM A

FULL_ADDER FULL_ADDER FULL_ADDER HALF_ADDER

AB3 AB2 AB1 AB0

BB4 BB3 BB1 BB0

V1

5V

Figura 12 Exemplos de somador de quatro bits.

Subtradores
Os circuitos subtradores ou subtratores são responsáveis pela operação de subtração de
dígitos binários (bits). Os subtradores, assim como os somadores, são divididos em dois tipos:
meio-subtrador (half-subtractor),em que dois bits entram no circuito para serem subtraídos e
o resultado é disponibilizado nas suas duas saídas, definidas como resultado e estouro (nes-
te caso,acontece o “empresta-um”); e subtrador completo (full-subtractor), os quais levam em
consideração a entrada do estouro da operação anterior. Dessa forma, o subtrador completo
terá três entradas, representando, respectivamente, o dígito binário de estouro e os dois dígitos

Claretiano - Centro Universitário


100 © Arquitetura e Organização de Computadores

binários a serem subtraídos.O resultado da subtração será apresentado em suas duas saídas
definidas como resultado e estouro.
Veja, nas Figuras 13 e 14, os exemplos de meio-subtrador e de subtrador completo.

Figura 13 Meio subtrador.

Figura 39 Subtrador completo.

Circuitos sequenciais
Os circuitos apresentados até agora são chamados de combinacionais, pois, por meio da
combinação de portas lógicas, ocorre uma transformação nos sinais de entrada em sinais de
saída. Os circuitos sequenciais diferem-se dos circuitos combinacionais pelo fato de haver uma
retroalimentação ligando a(s) saída(s) atual(is) na(s) entrada(s) futura(s).
Mas como é possível a saída atual influenciar a saída futura? Se a entrada for alterada, a
saída também não será alterada? A resposta para essas perguntas está na imperfeição dos com-
ponentes eletrônicos. As suas saídas não são atualizadas imediatamente depois damudança dos
sinais de entrada e, sendo assim, é possível que a saída atual (denominada como estado interno)
altere a saída futura sem sofrer as consequências da atualização das entradas em um determi-
nado instante. Observe a Figura 15:

Figura 15 Exemplo de um circuito sequencial (flip-flop RS assíncrono).


© U2 - Sistemas Digitais 101

Os circuitos sequenciais têm inúmeras aplicações, como, por exemplo, a constituição de


memórias estáticas, contadores, registradores e muito mais.
Vejamos as aplicações mais relevantes para o estudo deste conteúdo.

Flip-flops
Os flip-flops têm como característica armazenar um estado lógico e podem ser utilizados
como elemento de memória, partes constituintes de registradores, contadores etc., sendo am-
plamente utilizados na eletrônica digital.

Flip-flop RS
Os flip-flops do tipo RS possuem duas entradas, denominadas R (reset) e S (set), e duas
saídas Q e Q’. Esses flip-flops são considerados assíncronos por não depender do pulso de clock
para que as suas saídas sejam atualizadas, ou seja, as atualizações das saídas dependerão ape-
nas do tempo de atraso característico do componente eletrônico.
A saída Q dos flip-flopsRS é levada ao nível lógico alto quando a entrada S (set) estiver no
nível lógico alto e a entrada R (reset) estiver em nível lógico baixo.
Da mesma forma, a saída Q dos flip-flopsRS é levada ao nível lógico baixo quando a entra-
da S (set) estiver no nível lógico baixo e a entrada R (reset) estiver no nível lógico alto.
Quando a entrada S (set) e a entrada R (reset) estiverem no nível lógico baixo, as saídas
Q e Q’ deverão permanecer inalteradas, ou seja, a saída Q,queestava no nível lógico alto, con-
tinuará no nível lógico alto e se, ela estiver no nível lógico baixo, também continuará no nível
lógico baixo.
O problema do flip-flopRS aparece quando as entradas S (set) e R (reset) permanecem jun-
tas em nível lógico alto. Nesse caso (R=1 e S=1), o circuito ficará instável e ocorrerá um erro lógi-
co. Por esse motivo, não se deve deixar que um flip-flop RS receba S=1 e R=1 ao mesmo tempo.

Figura 16 Flip-flop RS.

Veja, a seguir, a tabela verdade (Tabela 11) e o diagrama de tempo (Figura 17) do flip-
-flopRS:

Tabela 11 Tabela verdade do flip-flopRS.


S R Q
0 0 Qa
0 1 0
1 0 1
1 1 * Erro lógico

Claretiano - Centro Universitário


102 © Arquitetura e Organização de Computadores

Figura 17 Diagrama de tempo do Flip-flop RS.

Observe que se pode alterar o circuito do flip-flop RS para que o mesmo receba sinais de
clock, transformando-o, dessa forma, em um dispositivo síncrono. Assim, as saídas serão atuali-
zadas no momento exato definido pelo circuito juntamente ao sinal de clock.

Flip-flop JK
O flip-flop JK é uma evolução do flip-flop RS.Ele resolve o problema do erro lógico quando
as entradas forem nível lógico alto para o set e também para o reset, agora denominados J e K,
respectivamente. Quando o flip-flop recebe nível lógico alto para o J (J=1) e nível lógico alto para
o K (K=1), a saída ficará oscilando entre nível lógico alto e nível lógico baixo (evento denominado
toogle).

Figura 18 Flip-flop JK.

Veja, na Tabela 12, a tabela verdade do flip-flop JK e, na Figura 19, o seu diagrama de tem-
po.

Tabela 12 Tabela verdade do Flip-flop JK.


J K Q
0 0 Qa
0 1 0
1 0 1
T (toogle ou
1 1
oscilação)
© U2 - Sistemas Digitais 103

Figura 19 Diagrama de tempo do flip-flop JK.

Flip-Flop JK Master Slave


O flip-flopJKMaster Slave consiste na ligação de dois Flip-flops JK em série, mas com o sinal
de clock complementado, de forma que não ocorre a oscilação que ocorre no flip-flop JK quando
as entradas J e K ficam no nível lógico alto ao mesmo tempo. Quando as duas entradas do flip-
-flop JK MasterSlaveficarem em nível lógico alto, a saída Q será complementada, ou seja, se a
saída atual Q do flip-flop for um nível lógico alto, ele passará para nível lógico baixo e, da mesma
forma, se a saída atual estiver em um nível lógico baixo, ele passará para nível lógico alto.

Tabela 13 Tabela verdade do Flip-flop JK MasterSlave.


J K Q
0 0 Qa
0 1 0
1 0 1
Qa’ (complemento
1 1
de Qa)

Outros tipos de flip-flops


Na eletrônica digital, e de forma especial na construção de computadores, os flip-flops JK
são muito utilizados como elemento de memória, divisores de frequência etc.

Flip-flop tipo T
Quando as entradas de um flip-flop JK estiverem ambas no nível lógico baixo, as saídas fu-
turas serão iguais às saídas atuais e, quando as entradas de um flip-flop JK estiverem ambas no
nível lógico baixo, as saídas futuras serão complementadas. Com essa configuração, o flip-flop
JK poderá ser utilizado como um divisor de frequência, um oscilador etc. Temos no mercado um
flip-flop denominado de flip-floptipoT, que tem exatamente essa função e é formado por um
flip-flop JK com as entradas curto-circuitadas.
Observe, na Figura 20, um exemplo de flip-flop tipo T e, na Tabela 14, sua tabela verdade.

Claretiano - Centro Universitário


104 © Arquitetura e Organização de Computadores
U5

SET
T Q

CLK ~Q
RESET
T_FF

Figura 20 Flip-flop tipo T.

Tabela 14 Tabela verdade do flip-flop tipo T.


T Q
0 Qa
1 Qa’ (complemento de Qa)

Flip-flop tipo D
Quando as entradas de um flip-flop JK estiverem complementadas, ou seja, se J=1, então
K=0,ou se J=0, então K=1, as saídas futuras serãoiguaisà entrada J. A denominação desse flip-flop
no mercado é flip-flop tipo D e eleé utilizado como elementos de memória.
Observe, na Figura 21, um exemplo de flip-flopU6
tipo D e, na Tabela 15, sua tabela verdade.

SET
D Q

CLK ~Q
RESET
D_FF

Figura 21 Flip-flop tipo D.

Tabela 15 Tabela verdade do flip-flop tipo D.


T Q
0 0
1 1

Contadores
Um contador digital é formado por um conjunto de flip-flops tipo T(em alguns casos, pode-
-se utilizar também Flip-flops tipo D) interligados de forma a gerar saídas em uma sequência
predeterminada.
Os contadores podem ser síncronos ou assíncronos e ainda poderão contar de forma cres-
cente (up) ou decrescente (down).
A quantidade de elementos do tipo flip-flop e as configurações de interligação definirão
se o contador irá contar na base decimal (contador de década), hexadecimal ou em outra base
qualquer. O que muda é a hora da mudança do último algarismo para o zero.
© U2 - Sistemas Digitais 105

Ter um contador assíncrono não significa que ele não possui um sinal de clock. Um con-
tador sempre deverá ser controlado por pulsos de clock. O que acontece é que os pulsos não
serão simultâneos nos flip-flopsporque a entrada de clock deum flip-flop vizinho será a saída Q
de outroflip-flop. O único flip-flop que estará conectado diretamente ao gerador de pulsos de
clock do sistema é o primeiro.
Veja o diagrama de blocos de um contador assíncrono representado na Figura 22:

Figura 22 Diagrama de um contador hexadecimal assíncrono.

Agora, veja o diagrama de temporização de um contador assíncrono representado na Fi-


gura 23:

Figura 23 Diagrama de temporização de um contador hexadecimal.

Observe que a saída de um flip-flop está diretamente conectada à entrada do pulso de


clock do próximo flip-flop.
Analisando o circuito de forma funcional, pode-se perceber que o primeiro flip-flopcom-
plementará a saída Q a cada pulso de clock, enquanto o próximo flip-flop fará a mesma coisa, só
que com o atraso correspondente a um pulso.Enquanto o primeiro flip-flop complementa a sua
saída duas vezes, o flip-flop seguinte fará o complemento apenas uma vez, e assim sucessiva-
mente, gerando, para quatro flip-flops, os seguintes valores de saída (na ordem):

Claretiano - Centro Universitário


106 © Arquitetura e Organização de Computadores

Tabela 16 Contador Hexadecimal.


ORDEM QD QC QB QA HEXADECIMAL
1 0 0 0 0 0H
2 0 0 0 1 1H
3 0 0 1 0 2H
4 0 0 1 1 3H
5 0 1 0 0 4H
6 0 1 0 1 5H
7 0 1 1 0 6H
8 0 1 1 1 7H
9 1 0 0 0 8H
10 1 0 0 1 9H
11 1 0 1 0 AH
12 1 0 1 1 BH
13 1 1 0 0 CH
14 1 1 0 1 DH
15 1 1 1 0 EH
16 1 1 1 1 FH

Veja que a saída Qa faz parte do dígito menos significativo, enquanto que a saída Qd cor-
responde ao bit mais significativo.
Como você está estudando Organização e Arquitetura de Computadores e não Sistemas
Digitais, ou ainda Circuitos Digitais, os outros tipos de contadores, como, por exemplo, os conta-
dores síncronos, decrescentes, representações como diagrama de estados ou ainda diagramas
de tempo, não serão apresentados. Para maiores informações sobre tais dispositivos digitais,
consulte a bibliografia básica e também a bibliografia complementar.

Registradores
Os registradores são subsistemas digitais capazes de manipular e armazenar dados.Estão
presentes em quase todos os dispositivos digitais e podem ser de quatro tipos: registrador se-
rial-serial,em que os dados entram no subsistema de forma serial e saem do mesmo também no
formato serial; registrador paralelo-paralelo, que tem como função receber e enviar os dados de
forma paralela (vários dígitos binários por vez); registrador serial-paralelo, que recebe os dados
no padrão serial e envia pelas suas saídas paralelas; e, por fim, registrador paralelo-serial, em
que os dados são registrados por meio de uma entrada paralela e transmitidos no modo serial.
Veja o diagrama de blocos de cada um desses tipos de registradores:

Figura 24 Registrador paralelo-paralelo de quatro bits.


© U2 - Sistemas Digitais 107

Da mesma forma que os contadores, como estamostratando de Arquitetura e Organiza-


ção de Computadores e não Sistemas Digitais, ou ainda Circuitos Digitais, as implementações
dos registradores não serão apresentados. Para maiores informações sobre tais dispositivos di-
gitais, consulte a bibliografia básica e também a bibliografia complementar.

Informações adicionais sobre os chips comerciais

Séries TTL
No ano de 1964, a Texas Instrument lançou a primeira linha de circuitos integrados TTL
(transistor-to-transistor), as séries 74/54. Outras indústrias empregaram o mesmo sistema dei-
dentificação com diferentes prefixos:
• Texas instruments SN.
• National Semiconductors DM.
• Signetics S.
Um exemplo é a Porta 7408: DM7408,que equivale à Porta SN7408 e também à Porta
S7408.
Observe, na Tabela 17, as características das séries de componentes eletrônicos digitais
TTL:

Tabela 17 Tabela referente ás séries de componentes TTL.


74 74S 74LS 74AS 74ALS 74F
TEMPO DE PROPAGAÇÃO TP=(NS) 9,0 3,0 9,5 1,7 4,0 3,0
ENERGIA DISSIPADA PD= (MW) 10,0 20,0 2,0 8,0 1,2 6,0
SEED-POWER PRODUTO DP (PJ) 90,0 60,0 19,0 13,6 4,8 18,0
FREQUÊNCIA MÁXIMA DE CLOCK (MHZ) 35,0 125,0 45,0 200,0 70,0 100,0
FAN-OUT 10,0 20,0 20,0 40,0 20,0 33,0
TENSÕES
VOH(MINIMO) 2,4 2,7 2,7 2,5 2,5 2,5
V OL(MAXIMO) 0,4 0,5 0,5 0,5 0,5 0,5
V IL(MÍNIMO) 2,0 2,0 2,0 2,0 2,0 2,0
V IL(MÁXIMO) 0,8 0,8 0,8 0,8 0,8 0,8

Acompanhe, na Tabela 18, o código comercial das principais portas lógicas.

Tabela 18 Circuitos integrados da família TTL.


Circuito integrado da família TTL
CÓDIGO 7400 Quatro portas NAND de duas entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7402 Quatro portas NOR de duas entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7404 Seis inversoras (NOT)
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7408 Quatro portas AND de duas entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7410 Três portas NAND de três entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7411 Três portas AND de três entradas
(transistor-to-transistor)

Claretiano - Centro Universitário


108 © Arquitetura e Organização de Computadores

Circuito integrado da família TTL


CÓDIGO 7420 Duas portas NAND de quatro entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7421 Duas portas AND de quatro entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7427 Três portas NOR de três entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7428 Quatro portas NOR de duas entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7430 Uma porta NAND de oito entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7432 Quatro portas OR de duas entradas
(transistor-to-transistor)
Circuito integrado da família TTL
CÓDIGO 7437 Quatro portas NAND de duas entradas
(transistor-to-transistor)
Circuito integrado da família CMOS
CÓDIGO 4000 (complementary metal-oxide- Duas NOR de quatro entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4001 (complementary metal-oxide- Quatro NAND de duas entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4002 (complementary metal-oxide- Seis inversoras
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4011 (complementary metal-oxide- Quatro XOR de duas entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4069 (complementary metal-oxide- Quatro OR de duas entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4070 (complementary metal-oxide- Quatro AND de duas entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 7071 (complementary metal-oxide- Duas NOR de quatro entradas
semiconductor)
Circuito integrado da família CMOS
CÓDIGO 4081 (complementary metal-oxide- Quatro NAND de duas entradas
semiconductor)

8. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) Conceitue o termo “sistemas digitais” e cite alguns exemplos de sua aplicação.

2) Os sistemas digitais utilizam as portas lógicas para a construção dos circuitos digitais. Pode-se afirmar que elas
são fundamentais na arquitetura dos computadores atuais. Explique o que são as portas lógicas.

3) Como continuidade da questão anterior,apresente o funcionamento das seguintes portas lógicas: AND, OR,
NOT, NAND, NOR, XOR, NXOR. Explique cada uma delas e apresente as respectivas tabelas verdades.

4) O que significa expressão booleana? O que elas representam? Cite exemplos.

5) Como é possível desenhar um circuito digital por meiode uma expressão booleana? Cite exemplos.

6) Como é possível partir de um diagrama esquemático de um circuito digital e escrever uma expressão booleana?
Cite exemplos.
© U2 - Sistemas Digitais 109
7) Conceitue e cite uma aplicação para os mapas de Veitch-Karnaugh?

8) Como é estruturadoum mapa de Veitch-Karnaugh com duas variáveis de entrada? Cite um exemplo.

9) Como é estruturadoum mapa de Veitch-Karnaugh com três variáveis de entrada? Cite um exemplo.

10) Como é estruturadoum mapa de Veitch-Karnaugh com quatro variáveis de entrada? Cite um exemplo.

11) Considerando os mapas de Veitch-Karnaugh, o que são e como são feitos os enlaces?

12) Como é possível extrair uma expressão booleana a partir dos enlaces dos mapas de Veitch-Karnaugh?

13) Os multiplexadores são utilizados para escolher uma de suas entradas para estabelecer a conexão com a sua
única saída. Explique o funcionamento de um multiplexador e cite um exemplo.

14) O que fazem os demultiplexadores? Cite um exemplo de sua aplicação.

15) Muitas vezes um codificador pode trabalhar em conjunto com um decodificador. Apresente uma soluçãoem que
sejanecessáriaa aplicação dos dois circuitos interligados. Aproveite para explicar o funcionamento dos circuitos
citados.

16) Explique os codificadores BCD-Display de sete segmentos e cite um exemplo de sua aplicação.

17) Como são utilizados os circuitos somadores? Qual é a diferença entre um circuito meio-somador e um somador
completo?

18) Como são utilizados os circuitos subtradores? Qual é a diferença entre um circuito meio-subtrador e um circuito
subtrador completo?

19) Como pode ser feita a soma de dois valores de quatro bits? Apresenteum exemplo desta aplicação.

20) Um flip-flopé constituído por portas lógicas, porém é considerado um circuito sequencial, ou seja, não é um
circuito combinacional. Explique o motivo dessa terminologia e apresente algumas aplicações que dependem
dos flip-flops.

21) Conceitue e cite quatro exemplos de configuração dos registradores estudados nesta unidade.

22) Conceitue e cite ao menos um exemplo de aplicação que utiliza contadores em seus circuitos.

23) Nos sistemas digitais, podemos dividir os circuitos em combinacionais ou sequenciais. Qual é a diferença entre
um circuito combinacional e um circuito sequencial?

24) Onde e como podemos comprar os componentes digitais estudados nesta unidade? Qual é a nomenclatura
utilizada para a compra destes componentes?

25) Considere a tabela verdade a seguirpara escrever a expressão booleana equivalente e simplificada, utilizando
para isso a ferramenta Mapa de Veitch-Karnaugh.

Claretiano - Centro Universitário


110 © Arquitetura e Organização de Computadores

TABELA VERDADE MAPA DE VEITCH-KARNAUGH


linha A B C D S
1 0 0 0 0 1 CD
2 0 0 0 1 1
3 0 0 1 0 1 00 01 11 10
4 0 0 1 1 1
5 0 1 0 0 1
6 0 1 0 1 1 00
7 0 1 1 0 1
8 0 1 1 1 1
9 1 0 0 0 0 01
10 1 0 0 1 0 AB
11 1 0 1 0 0
11
12 1 0 1 1 0
13 1 1 0 0 1
14 1 1 0 1 1
10
15 1 1 1 0 1
16 1 1 1 1 1

Expressão extraída da tabela verdade Expressão extraída do Mapa de Veitch-Karnaugh

S= S=

9. CONSIDERAÇÕES
Você teve a oportunidade de aprender, nesta unidade, um pouco sobre os sistemas digi-
tais, sobre os conceitos e componentes utilizados nestes circuitos e sobre as suas aplicações.
De forma simplificada, pode-se afirmar que as portas lógicas são elementos físicos (com-
ponentes) que implementam as expressões booleanas. As expressões booleanas são escritas
com o objetivo de formalizar a solução de um problema utilizando circuitos digitais.
São exemplos de componentes digitais e também de circuitos digitais os multiplexadores,
os demultiplexadores, os codificadores, os decodificadores, os somadores, os subtradores, os
flip-flops etc.
Os computadores digitais são implementados por meio dos circuitos digitais. Conhecer o
hardware é fundamental para todo profissional da área de tecnologia da informação, seja ele
um usuário de sistema, um desenvolvedor ou um gestor.
Agora você já está pronto para continuar os estudos na próxima unidade, em que tratare-
mos sobre os processadores. Bons estudos.

10. E-REFERÊNCIAS

Lista de figuras
Figura 1 Exemplos de Portas Lógicas. Disponível em: <http://www.dglnet.com.br/users/amejvkii/page5.htm>. Acesso em: 18
maio 2005.
Figura 2 Circuito Digital. Disponível em: <http://www.inf.ufsc.br/ine5365/portlog.html>. Acesso em: 22 nov. 2007.
Figura 3 Circuito meio-somador. Disponível em: <http://www.inf.ufsc.br/ine5365/portlog.html>. Acesso em: 22 nov. 2007.
Figura 42 Diagrama de tempo do flip-flop RS. Disponível em: <http://pt.wikipedia.org/wiki/Ficheiro:SR_FF_timing_diagram.
png>. Acesso em: 18 out. 2012.
Figura 44 Diagrama de tempo do flip-flop JK. Disponível em: <http://upload.wikimedia.org/wikipedia/commons/8/85/JK_FF_
impulse_diagram.png>. Acesso em: 18 out. 2012.
© U2 - Sistemas Digitais 111

11. REFERÊNCIAS BIBLIOGRÁFICAS


LOURENÇO, Antônio Carlos et al. Circuitos digitais.São Paulo: Érica, 1996.
STALLINGS, William. Arquitetura e organização de computadores: projeto para o desempenho. Tradução de Carlos Camarão de
Figueiredo. 5. ed. São Paulo: Prentice-Hall, 2003.

Claretiano - Centro Universitário


Claretiano - Centro Universitário
EAD
Processadores

1. OBJETIVOS
• Compreender o funcionamento dos processadores e microcontroladores.

2. CONTEÚDOS
• Conceitos de processadores e microcontroladores.
• Organização de processadores.
• Barramentos.
• Instruções.
• Endereçamentos de operandos.
• Paralelismo.
• Arquiteturas Cisc e Risc.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Nesta unidade serão apresentados os conceitos fundamentais dos processadores
atuais, procure compreendê-los, pois será essencial para sua aprendizagem.
2) Procure compreender a razão da existência das tecnologias RISC e CISC, além de re-
fletir sobre o motivo pelo qual utilizamos atualmente um processador com tecnologia
híbrida.
114 © Arquitetura e Organização de Computadores

4. INTRODUÇÃO À UNIDADE
Na unidade anterior, você conheceu um pouco sobre os sistemas digitais que compõem os
computadores e compreendeu conceitos importantes.
Nesta unidade, vamos, basicamente, estudar os processadores e como eles se apresentam
no mercado.
A função de um computador é executar tarefas com a finalidade de resolver problemas.
Uma tarefa pode ser executada por meio de uma sequência ordenada de instruções de
máquina. Uma instrução define como será a atividade do processador para executar uma tarefa
como, por exemplo, somar dois números inteiros.
O processador, como o próprio nome sugere, é o componente responsável pelo proces-
samento de instruções e de dados para que o computador execute as tarefas. Assim, não é raro
encontrar em algumas literaturas a associação do processador com o cérebro humano.
O processador pode ser dividido em três partes:
R
e
g
ULA i
s
t
r
a
d
o
UC r
e
s
Processador
Figura 1 Processador.

1. ULA – Unidade Lógica e Aritmética


Na ULA, as operações lógicas e aritméticas são efetuadas, como por exemplo: operação de
adição, subtração, operações booleanas do tipo: and, or, not etc. UAL ou ALU (unidade aritméti-
ca e lógica) são siglas que fazem referência à unidade lógica e aritmética.

2. UC – Unidade de Controle
Unidade de controle é responsável pelo controle da execução de qualquer instrução den-
tro de um processador. É a UC que define o que tem que ser feito em cada instante, para a cor-
reta execução de uma instrução.
Um exemplo simples é quando colocamos um dado no barramento, ou quando fazemos
com que um registrador ou ULA retire esse dado do barramento e carregue-o para dentro de si.

3. Registradores
Imagine os registradores como pequenas memórias dentro do processador. Eles têm a função
de armazenar os dados que estão sendo processados em um determinado momento e, também,
armazenar informações importantes para a execução de uma instrução.
© U3 - Processadores 115

Existem dois tipos de registradores:


• Registradores de propósitos gerais são utilizados para armazenar dados.
• Registradores específicos armazenam as informações necessárias para a execução de
uma instrução e normalmente são gerenciados pela unidade de controle.
Os dois registradores de propósito específicos mais importantes são:
PC - Contador de Programa: armazena a próxima posição da memória a ser acessada para
que o programa continue executando suas instruções de forma sequencial.
RI – Registrador de Instrução: armazena o código da instrução que está sendo executada
em um determinado momento.
As partes apresentadas, anteriormente, são interligadas por meio de um barramento.

5. BARRAMENTO
Barramento pode ser definido como um conjunto de condutores por meio dos quais as
informações trafegam de uma parte do computador para outra. Fazendo uma comparação com
o nosso dia-a-dia, um barramento está para os módulos de um sistema de computador, assim
como as estradas estão para as cidades e tem os carros como bits que trafegam entre os módu-
los.
Há vários barramentos dentro de um computador, no momento estamos citando o barra-
mento interno ao processador.

Unidade Central de Processamento (CPU)

Unidade de
Controle

ULA

Registradores
Memória
Principal Discos Impressora

Barramento

Fonte: (TANEMBAUM, 2001, p. 24) Adaptado pelo autor.


Figura 2 Organização de um computador simples.

Claretiano - Centro Universitário


116 © Arquitetura e Organização de Computadores

Figura 3 Diagrama funcional da UCP.

6. INSTRUÇÕES
Instrução é a representação elementar que gera uma ação em um computador. Determina
o que o computador deve fazer naquele instante. Um programa é composto por muitas instru-
ções, que são executadas de forma ordenada pelo computador.
Agora, veremos com mais detalhes como podemos trabalhar com as instruções.
Para escrever uma instrução que será executada por um computador, deve-se primeiro
informar qual é a instrução que será executada e depois os dados que estarão envolvidos no
processo da sua execução. A escrita pode ser dividida em várias partes: uma delas é o “código
de operação,” também conhecido como OPCODE, que é a instrução propriamente dita, e a(s)
outra(s) parte(s) são os operandos.

OPCODE OPERANDO1 OPERANDO2 OPERANDO3 OPERANDOn

Código de operação
OPCODE é um código binário que identifica a instrução. É o código responsável por trans-
mitir a informação do que deverá ser feito no processador.
Este código, durante a execução da instrução, fica armazenado no registrador de instru-
ções e é utilizado por uma unidade conhecida como controlador sequencializador, que envia
mensagens a todas as estruturas envolvidas no processamento dos dados naquele instante.

Operando
Campo do operando, ou campos dos operandos, para alguns casos, contém o(s) dado(s)
que será(ao) processado(s) pela instrução do código de operação.
© U3 - Processadores 117

Muitas vezes, em vez de conter um dado propriamente dito, este campo aponta ou para a
localização de tal dado na memória do computador ou para um registrador que contenha esse
dado propriamente dito.
Assim, como algumas instruções possuem um ou mais campos para o operando, elas po-
dem por sua vez não fazer referência a nenhum operando, e para esses casos dizemos que essas
instruções não fazem referência à memória.

Tipos de instruções
As instruções podem ser de diferentes tipos. Observe-as a seguir:
1) Matemáticas e Lógicas: soma, subtração, and, or, not etc.
2) Movimentações de dados: mover um dado de um registrador para outro, de um regis-
trador para a memória, da memória para um registrador.
3) Entrada e saída: referem-se às instruções relacionadas, ou seja, comunicação da CPU
com os dispositivos de entrada e saída.
4) Controle: instruções de salto (para desviar a execução sequencial de instruções), pa-
radas, condicionais.

Execução de instruções
A execução de uma instrução pelo processador ocorre da mesma forma que a de uma
linha de produção, ou seja, estágios.
Observe os estágios a seguir:
1) S1: busca da instrução na memória do computador.
2) S2: decodificação da instrução pelo processador.
3) S3: busca do operando na memória do computador.
4) S4: execução da instrução pelo processador.
5) S5: escrita do resultado, normalmente, na memória do computador.
Os estágios anteriores são independentes. Enquanto uma instrução está no segundo está-
gio, a unidade de controle pode colocar a próxima instrução no primeiro estágio e assim suces-
sivamente.
Essa forma de execução de instruções é conhecida como Pipeline, em que as instruções
são executadas simultaneamente. Porém, cada uma em um estágio diferente da outra, como em
uma linha de montagem.

Claretiano - Centro Universitário


118 © Arquitetura e Organização de Computadores

Busca do Unidade Unidade de


Decodificação de Escrita
Busca Operando
Execução

Tempo

Fonte: (TANEMBAUM, 2001, p. 26) Adaptado pelo autor.


Figura 4 Estágios da execução de uma instrução.

7. ENDEREÇAMENTOS
Você compreendeu o que são e como funcionam as instruções. Agora, você verá como é
feito para localizar um operando.
Endereçamento é a indicação do local onde o operando se encontra na memória do com-
putador.
Existem vários tipos de endereçamento. A seguir, veremos esses tipos e como funcionam.

Endereçamento imediato
O valor do campo operando é o próprio dado, que é utilizado quando o valor do operando
é uma constante.
Como o dado não precisa ser procurado na memória, a execução da instrução fica mais
rápida. Porém, o tamanho do dado fica limitado ao tamanho do campo do operando.

Endereçamento direto
Endereçamento direto é, também, conhecido como modo direto. Neste endereçamento,
o valor do campo operando é o endereço do dado armazenado na memória principal.
Utilizado para operandos que variam seu valor durante a execução do programa, é uma
técnica mais lenta do que o endereçamento direto e mais rápida do que o endereçamento indi-
reto (próximo modo de endereçamento que estudaremos).
Este endereçamento limita-se ao campo do operando, que muitas vezes não consegue
endereçar toda a memória do computador, pelo fato de ter um tamanho reduzido.

Endereçamento indireto
No endereçamento indireto, ou modo indireto, o campo operando faz referência a uma
posição de memória que contém o endereço do operando propriamente dito. Assim, o dado
apontado na memória principal é um ponteiro para o dado propriamente dito.
© U3 - Processadores 119

Para esse caso não existe uma limitação de células endereçáveis, pois o endereço da me-
mória principal não fica limitado ao tamanho do campo operando, como no modo direto.
O modo indireto é mais lento do que o modo direto por realizar mais acessos à memória
(um para buscar o endereço (ponteiro) e outro para buscar o dado).

Endereçamento por registrador


Da mesma forma que podemos fazer um acesso à memória do computador, para buscar
um dado para o operando, um dado pode estar em um registrador, pronto para ser utilizado
pelo processador.
No modo de endereçamento por registrador, o campo operando faz referência a um re-
gistrador que poderá conter: dados, caso o endereçamento por registrador seja direto, ou o
endereço no qual se encontra o dado, para o caso do registrador apontar para um endereço de
memória onde necessariamente se encontra o dado.
Os modos de endereçamento por registrador direto e por registrador indireto funcionam
da mesma forma que o modo de endereçamento direto e indireto, estudado anteriormente.
Como o acesso aos registradores é mais rápido do que o acesso à memória, as operações
que podem ser implementadas, utilizando os registradores, são executadas mais rápidas do que
as outras formas de endereçamento.
O modo de endereçamento por registrador não é adequado para transferência de dados
entre a memória e o processador e, também, sofre limitações relacionadas ao número de regis-
tradores de propósito geral disponíveis.

Endereçamento indexado ou modo indexado


O endereço do operando é obtido por meio da soma do campo operando com um valor
armazenado em um determinado registrador (o qual chamamos de índice).
Este endereçamento é utilizado para a manipulação de determinadas estruturas como
vetores e matrizes.

8. PARALELISMO
Para executar uma tarefa, o processador faz uma divisão de cada passo que será executa-
do. Esses passos são chamados de estados, os quais fazem com que as instruções possam ser
executadas e/ou controladas por partes menores.
O ritmo do processador é determinado pelo clock, definindo assim o tempo que irá gastar
para a execução de cada estado. O clock funciona como um relógio gerando pulsos (0(s) e 1(s))
em uma determinada frequência.
Quanto mais alta a frequência do clock, mais rápido o processamento dos dados.
Por exemplo: processador PIV 2.0 GHz (2 GigaHertz), Atlhon 1.8 GHz (1.8 GigaHertz)
etc.
Os processadores evoluíram rapidamente se comparado às tecnologias de memórias e,
assim, muitas vezes ele tem que ficar aguardando, sem operação nenhuma, a memória disponi-
bilizar os dados para que ele continue o processamento.

Claretiano - Centro Universitário


120 © Arquitetura e Organização de Computadores

Para minimizar o problema do computador (ficar aguardando a memória disponibilizar os


dados), pode-se implementar o paralelismo, para a execução de instruções.
O paralelismo pode ocorrer em nível de instruções ou em nível de hardware. Em nível de
instruções, o paralelismo já foi apresentado juntamente com os estágios de execução das ins-
truções, com o nome Pipeline, enquanto uma instrução é executada no estágio 2, a instrução
subsequente encontra-se no estágio 1 e assim sucessivamente.
Embora existam outras implementações de Pipeline, para nós basta saber sua definição e
entender que essa técnica acelera o processamento dos dados, adiantando a busca do operan-
do na memória, enquanto a instrução anterior é executada em um próximo estado.
O paralelismo por hardware ocorre com a presença de mais de um processador ou com-
putador, o que torna possível a execução de mais de uma instrução ao mesmo tempo.
Quando utilizamos vários processadores para distribuir a execução das tarefas em um sis-
tema, possibilitando que mais de uma instrução seja executada ao mesmo tempo, trabalhamos
com paralelismo por hardware. Esse paralelismo é muitas vezes desejado para diminuir o tempo
de processamento de determinadas informações. É como distribuir uma única tarefa para várias
pessoas trabalharem ao mesmo tempo, e, em seguida, juntar os trabalhos e apresentar a tarefa
pronta.

Multiprocessadores
Multiprocessadores (veja Figura 5-a) são processadores interligados que executam instru-
ções de um mesmo programa, simultaneamente, e compartilham uma mesma memória. Isso
é possível graças à divisão das instruções em estágios, como apresentado anteriormente e é
muito útil por aumentar, consideravelmente, o desempenho do sistema durante a execução de
um programa.

Multicomputadores
Multicomputadores (veja Figura 5-b) são processadores interligados que executam ins-
truções de um mesmo programa, simultaneamente. Contudo, apesar de compartilharem uma
memória em comum, para a troca de mensagens, cada processador possui sua própria memória
e trabalha como se fosse um computador independente, melhorando ainda mais o desempenho
do processamento.
Os multicomputadores surgiram para solucionar um problema que os projetistas de com-
putadores enfrentavam com a conexão de muitos processadores a uma mesma memória.
© U3 - Processadores 121

Fonte: TANEMBAUM, 1999, p. 33.


Figura 5 (a) Multiprocessadores e (b) Multicomputadores.

9. QUESTÕES DE PROJETOS
Além das instruções contidas dentro do processador, o computador também pode exe-
cutar instruções que serão implementadas por algum software. Observe um exemplo de como
funciona: imagine que uma calculadora só é capaz de efetuar somas. Com esta única função
presente no seu hardware, um usuário pode utilizar várias vezes a operação de soma para efe-
tuar uma operação de multiplicação. Dessa mesma forma, podemos encontrar instruções que
estão dentro do processador (como a operação de soma do nosso exemplo), ou instruções que
estão fora do processador, implementado na forma de programa (como é o caso do usuário que
utiliza várias vezes a soma para fazer uma multiplicação) só que dessa vez o usuário é a própria
máquina.
Assim, duas estratégias são possíveis na construção do decodificador de instruções da
unidade de controle:
Wired logic: as instruções são todas implementadas em hardware.
Microcódigo: apenas um grupo básico de instruções são implementadas em hardware, as
demais são montadas por meio de software, que usam as instruções básicas implementadas no
hardware.

CISC & RISC


Os processadores podem ser definidos basicamente em duas tecnologias:
• CISC (Complex Instruction Set Computer – Conjunto de instruções complexas).
• RISC (Reduced Instruction Set Computer – Conjunto de instruções resumidas, básicas).

CISC
A tecnologia CISC é mais antiga e tem como característica um grande número de instru-
ções complexas. A idéia inicial era de que quanto mais instruções fossem implementadas no
processador, melhor seria o seu desempenho e sua capacidade de processamento.
Frequentemente, a maior parte das instruções utilizadas pelo processador são instruções
simples e quase sempre as mesmas (compondo um grupo reduzido de instruções). Dessa forma,

Claretiano - Centro Universitário


122 © Arquitetura e Organização de Computadores

observou-se que um novo projeto, com um hardware mais simples e com menos instruções,
deixando as instruções menos utilizadas implementadas em software poderia ser uma boa pro-
posta. Surge assim a tecnologia RISC, como uma proposta de melhorar os projetos de hardware,
deixando-os mais simples e mais eficientes.

RISC
RISC é uma tecnologia que possui um número de instruções reduzido, ou seja, um número
de instruções bem menor do que a tecnologia CISC, na qual somente as instruções utilizadas
com mais frequência são implementadas dentro do processador.
Normalmente, essas instruções são simples. As instruções mais complexas e que não são
utilizadas frequentemente são implementadas em software.
Como a arquitetura fica menor e mais simples, o tempo de execução das instruções dimi-
nui bastante, havendo um aumento considerável na velocidade do processamento e deixando o
hardware mais barato, uma vez que simplifica bastante o seu projeto.

10. MICROCONTROLADORES
Microcontroladores, também conhecidos como computadores em um chip, possuem to-
das as características de um processador, além de contar com dispositivos de entrada e saída
para poder ler dados do ambiente externo e também indicar a saída do processamento, seja
ligando ou desligando algum componente ou indicando visualmente (com um conjunto de leds
ou display) o resultado do seu processamento, Eles podem ter conversores analógicos e outros
dispositivos integrados para proporcionar uma pronta aplicação para tarefas de controle.
Os microcontroladores não possuem as mesmas capacidades de um processador, tanto
para efetuar tarefas genéricas quanto no que diz respeito ao volume de processamento e arma-
zenamento temporário, mas pela sua simplicidade possui um ótimo custo-benefício e, também,
desempenho para tarefas simples de controle e de automação.

11. QUESTÕES AUTOAVALIATIVAS


Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade.
1) O processador, como o próprio nome sugere, é o componente responsável pelo processamento de instruções
e de dados para que o computador execute as tarefas. Assim, não é raro encontrar em algumas literaturas a
associação do processador com o cérebro humano. Podemos dividir o processador em três partes. Quais são
essas partes e o que elas fazem? Explique.

2) Relacione a unidade lógica e aritmética (ULA) com os registradores e a unidade de controle.

3) Conceitue o termo barramento e cite um exemplo de sua aplicação.

4) Como um único barramento pode fazer a conexão com vários módulos? Explique.

5) Explique o diagrama funcional da Unidade Central de Processamento da Figura 3.


© U3 - Processadores 123

Figura 1 Diagrama funcional da UCP.

6) Uma instrução é a representação elementar que gera uma ação em um computador. Ela determina o que o
computador deve fazer naquele instante. Um programa é composto por muitas instruções, que são executadas
de forma ordenada pelo computador. As instruções podem ser divididas em várias partes. Explique-as e cite
alguns exemplos do seu funcionamento.

7) Como o processador executa uma instrução? Cite um exemplo da execução de uma instrução.

8) Como é feita a busca de um operando na memória principal do computador? Cite um exemplo.

9) Explique os tipos de endereçamentos apresentados nesta unidade ecite um exemplo para cada um.

10) Conceitue paralelismo e cite exemplos de como eles podem acontecer.

11) Defina o termo clock e estabeleça uma relação entre clock e performance de um processador.

12) Qual é a diferença existente entre um sistema multicomputadores e um sistema multiprocessadores? Cite
exemplos.

13) Explique as diferenças arquitetônicas das tecnologias CISC e RISC.

14) Considerando-se as tecnologias CISC e RISC, podemos afirmar que uma tecnologia é melhor do que a outra?
Justifique.

15) Qual é a diferença existente entre um microprocessador e um microcontrolador? Qual é a aplicação de cada
um deles?12.

12. CONSIDERAÇÕES
Com o estudo dos processadores e dos conteúdos relacionados, muitos conceitos devem-
ter ficado mais claros para você, porém outras dúvidas podem surgir.
Nas próximas unidades, estudaremos outros conceitos importantes relacionados àarqui-
tetura e à organização de computadores. Espero que, ao término dos estudos da últimaunidade,
todas as peças desse grande “quebra-cabeça” se encaixem. Bons estudos!

Claretiano - Centro Universitário


124 © Arquitetura e Organização de Computadores

13. E-REFERÊNCIAS
Figura 3 Diagrama funcional da UCP: Disponível em: <http://venus.rdc.puc-rio.br/rmano/comp8ucp.html>. Acesso em: 22 nov.
2007.

14. REFERÊNCIAS BIBLIOGRÁFICAS


STALLINGS, William. Arquitetura e organização de computadores: projeto para o desempenho. Tradução de Carlos Camarão de
Figueiredo. 5. ed. São Paulo: Prentice-Hall, 2003. 786 p. ISBN 85-87918-53-2.
TANENBAUM, Andrew S. Organização estruturada de computadores. Tradução de Hélio Marques Sobrinho. 3. ed. São Paulo:
Prentice Hall, 1992. 460 p. ISBN 85-7054-040-X.
TORRES, Gabriel. Hardware: curso completo. 4. ed. Rio de Janeiro: Axcel Books, 2001. 1398 p. ISBN 85-7323-165-3.
EAD
Memórias

1. OBJETIVO
• Compreender as diversas memórias presentes no computador.

2. CONTEÚDOS
• Definição e caracterização de memórias.
• Organização de memórias.
• Endereçamento de memórias.
• Hierarquia de memórias.
• Memória principal e memória secundária.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) É importante que você entenda os tipos de memórias existentes e a sua relação hierárquica.
Não se preocupe com os detalhes.
2) Durante o estudo desta unidade, é fundamental que você entenda as diferenças existentes
entre as memórias dinâmicas e estáticas.
126 © Arquitetura e Organização de Computadores

4. INTRODUÇÃO À UNIDADE
Na unidade anterior, você conheceu os registradores, o que são e como funcionam as ins-
truções; compreendeu também os vários tipos de endereçamento.
Nesta unidade, você compreenderá como funciona a memória de um computador.

5. MEMÓRIAS DE UM COMPUTADOR
As memórias de um computador são elementos com a capacidade de armazenar dígitos
binários zero(s) e um(s), chamados de bits. Por meio da combinação dos bits, podemos repre-
sentar qualquer informação.
Os bits podem ser agrupados de diferentes formas (4 bits, 8 bits, 16 bits, 32 bits
etc.).
Nibble é o conjunto de 4 bits, e byte o conjunto de 8 bits.
O termo PALAVRA é atribuído ao conjunto de bits que armazena uma informação (PALA-
VRA = UNIDADE DE INFORMAÇÃO). O tamanho de uma PALAVRA pode variar de uma arquitetu-
ra para outra e, normalmente, contém o número de bits suficiente para armazenar um número
inteiro e uma instrução.
Um computador possui vários tipos de memórias e cada uma desempenha uma função es-
pecífica. Os diferentes tipos de memória estão organizados de forma hierárquica e interligados
por meio de um barramento.

6. CARACTERÍSTICAS DA MEMÓRIA
Dependendo do tipo de tecnologia empregada na memória, teremos diferentes caracte-
rísticas e aplicações. Observe, a seguir, a capacidade, a volatilidade e o tempo de acesso.

Capacidade
A capacidade de uma memória é calculada levando-se em conta o número de posições de
memória, multiplicado pelo número de células de memória existente em cada posição.

C=PXB

C = Capacidade.
P = Posições de memória.
B = Bits (ou quantidade de células de memória por posição).

Volatilidade
Memória volátil: esta memória perde suas informações quando a alimentação é cortada.
Por exemplo, quando estamos trabalhando com o computador e acaba a energia elétrica, todas
as informações que estavam armazenadas na memória volátil serão perdidas.
Memória não volátil: é a memória que armazena as informações que foram gravadas,
mesmo após o corte da energia elétrica.
© U4 - Memórias 127

Tempo de acesso
Tempo necessário para transportar os dados que estão na memória do computador para
o barramento. Quanto menor o tempo de acesso de uma memória, tanto maior será seu de-
sempenho.
A constituição das memórias pode variar de acordo com cada tipo. Os tipos mais comuns
são as memórias eletrônicas, magnéticas e ópticas.

7. TECNOLOGIAS DE MEMÓRIAS
Há várias maneiras de se fabricar memórias, e cada uma resulta em memórias com carac-
terísicas diferentes.

RAM (Random Access Memory) ou Memória Principal


Memória RAM ou Memória de acesso aleatório é uma memória volátil de escrita e leitu-
ra. O termo aleatório é aplicado pelo fato de a tecnologia permitir o acesso direto ao dado que
será lido ou escrito, sem a necessidade de passar por todas as outras posições de memória.
A memória RAM pode ser dividida em dois tipos:
• Estáticas: memória formada por FLIP-FLOP que mantém a informação gravada até a
próxima alteração, ou seja, a próxima escrita.
• Dinâmicas: também conhecida por memória capacitiva, o dado fica armazenado na
capacitância parasita de um transistor. Como a carga vai se perdendo com o tempo
(devido a uma corrente de fuga), é necessário renová-la para que os capacitores man-
tenham o seu nível lógico em nível alto (representado assim pelo bit 1, porque está
carregado). Essa renovação de carga chama-se ciclo de refresh e, por essa razão, a me-
mória é denominada dinâmica. Além das características peculiares da tecnologia, e
como durante os ciclos de refresh nenhum dado pode ser acessado, o desempenho da
memória acaba sendo inferior, se comparado à memória RAM estática.

ROM (Read Only Memory)


Memória ROM é uma memória apenas de leitura, e não-volátil. Os dados são previamente
gravados pelos fabricantes, como, por exemplo, as instruções de um processador ou um progra-
ma de controle de temperatura em um microcontrolador. Este tipo de memória é utilizado por
sistemas que necessitam armazenar dados fixos em um determinado ponto do hardware.

PROM (Programmable Read Only Memory)


A memória PROM é uma memória apenas de leitura programável e não-volátil, sua pro-
gramação pode ser feita pelo próprio usuário por meio de um dispositivo apropriado denomi-
nado gravador.
Como a programação da memória PROM implica o rompimento de ligações físicas que,
depois de gravada a informação, esta não poderá ser apagada.

Claretiano - Centro Universitário


128 © Arquitetura e Organização de Computadores

EPROM (Erasable Programmable Read Only Memory)


Memória EPROM é uma memória apenas de leitura programável e apagável e não-volátil.
Pode ser programada pelo usuário e, com determinado tempo de exposição à luz ultravioleta
em certo ponto do chip, todo seu conteúdo é apagado, podendo, portanto ser reprogramado
novamente.

EEPROM (Electrically Erasable Programmable Read Only Memory)


Memória não volátil EEPROM é uma memória apenas de leitura programável e apagável
eletricamente. Ela tem as mesmas características da memória EPROM com a vantagem de per-
mitir a exclusão dos dados por meio de sinais elétricos ao invés da luz ultravioleta.

Flash
Memória Flash é uma memória de computador do tipo EEPROM que permite que múlti-
plos endereços sejam apagados ou escritos numa só operação.
Atualmente, a memória flash está cada vez mais sendo utilizada nos computadores como,
por exemplo, câmeras digitais, palms etc.
Podemos entender a memória flash como uma evolução da memória EEPROM. Enquanto
a EEPROM precisa ser totalmente apagada para ser reprogramada, a memória FLASH pode ser
apagada parcialmente, proporcionando, assim, maior facilidade na hora de fazer alterações em
sua programação.

8. DIAGRAMA FUNCIONAL DE UMA MEMÓRIA


Normalmente, uma memória é composta por uma matriz onde os dados ficam armazena-
dos, por três barramentos, por onde os dados passam e podem ser controlados.
Os dados utilizam o barramento de dados para entrar ou sair da memória. A posição em
que o dado será acessado (para escrita ou leitura) é controlada pelo barramento de endereços,
e, por último, o barramento de controle indica se o dado que está no barramento de dados
deverá ser escrito na memória ou lido da memória, além de possibilitar controles de proteção.

• Barramento de controle: indica


se a operação que será execu-
tada pela memória é de leitura,
escrita, habilitação, programação
etc.
• Barramento de endereço: posi-
ciona a informação que se deseja
acessar (leitura ou escrita).
• Barramento de dados: local em
que as informações passam. Em
outras palavras, é o barramento
que contém o dado a ser grava-
do na memória ou que foi lido a
partir da memória.

Figura 1 Diagrama funcional de uma memória.


© U4 - Memórias 129

Endereçamento
Uma memória, geralmente, é formada por um conjunto de linhas e colunas (matriz). Cada
intersecção das linhas com as colunas é chamada de posição de memória e contém uma ou mais
células de memórias capazes de armazenar um bit cada.
Para endereçar uma posição de memória, o barramento de endereço fornece, de forma
codificada, a linha e a coluna que será acessada, para que a operação indicada pelo barramento
de controle aconteça.

Controle
O controle de uma memória é realizado por meio de um conjunto de bits que são combi-
nados de forma a configurar a memória para leitura, escrita ou outras funções específicas como,
por exemplo, modo de programação.

Hierarquia de memórias
Veja na figura, a seguir, a organização hierárquica das memórias. E observe que quanto
mais próximo do topo da pirâmide, as memórias se encontram mais próximas do processador.

Registradores

Cache
Cache

Memória Principal

Disco Magnético

Fita Disco Óptico

Figura 2 Hierarquia dos dispositivos de memórias.

Do topo da pirâmide para a base, temos as seguintes características:

Capacidade de armazenamento Aumenta

Desempenho (velocidade) Diminui

Custo Diminui

Localização do dispositivo Aumenta em relação à CPU

Agora, você poderá compreender os detalhes de cada um dos componentes hierárquicos


de memória apresentados.

Registradores
Os registradores são dispositivos de armazenamento voláteis de dados. A tecnologia de
sua fabricação proporciona alto desempenho. Eles estão localizados dentro do processador,
com a capacidade de armazenamento de uma palavra de dado.

Claretiano - Centro Universitário


130 © Arquitetura e Organização de Computadores

Outro fator que contribui para a alta velocidade dos registradores é sua localização dentro
do próprio chip do processador.
A função dos registradores é armazenar temporariamente dados intermediários durante
um processamento. Além disso, todos os dados e instruções são copiados para os registradores
antes de serem executados pela ULA.

Memória cache
As memórias cache localizam-se entre a memória principal e os registradores do proces-
sador.
Enquanto a memória principal constitui-se pela tecnologia RAM DINÂMICA (memória ca-
pacitiva), a memória cache é formada por módulos de memória RAM ESTÁTICA, proporcionando
assim melhor desempenho.

Fonte: STALLINGS, 2002, p. 122.


Figura 3 Memória cache.

Memória Principal
A memória principal é constituída pela tecnologia RAM DINÂMICA e tem uma capacidade
de armazenamento maior do que a memória cache. Antes de serem executados, todos os pro-
gramas e os dados precisam estar armazenados na memória principal. A partir daí é que os da-
dos serão copiados para os níveis superiores (Cache e Registradores) de acordo com a demanda.

Memória Secundária
As memórias secundárias armazenam os dados e os programas de um computador. É uma
memória não-volátil. Os discos rígidos magnéticos (hard disk), também conhecidos como win-
chester, é o meio mais utilizado para este tipo de armazenamento.
Quando um computador é ligado, o processo de inicialização, também conhecido como
boot, verifica todos os dispositivos presentes no sistema e depois procura o sistema operacional
em uma das unidades de disco instalada.
Depois de verificados, os dados e as instruções dos programas são copiados para a memó-
ria principal do computador para que sejam utilizados.
Os programas e os dados para serem executados deverão estar na memória principal do
computador.
A memória secundária também é constituída por outros tipos de discos e fitas magnéticas e
ópticas. No entanto, o seu funcionamento será estudado com mais detalhe na próxima unidade.
© U4 - Memórias 131

9. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) As memórias são amplamente utilizadas no universo dos dispositivos digitais. Elas são utilizadas pelos compu-
tadores de grande porte, computadores pessoais, celulares, máquinas fotográficas, videogames dentre outros.
Muitos usuários confundem os termos utilizados para as especificações ou mesmo referências desses impor-
tantes chips, além de ficarem perdidos quanto aos seus tipos e aplicações. Um exemplo é quando perguntamos
a um usuário comum quanto ele tem de memória em seu computador. Alguns responderão a quantidade de
memória primária, outros o tamanho do disco rígido. Sendo assim, conceitue o termo memória e apresente os
tipos de memórias que foram apresentados nesta unidade.

2) Uma memória pode ser identificada por sua capacidade de armazenamento. Explique o que significa capacida-
de de memória e cite um exemplo de como ela poderá ser calculada.

3) Diferencie a tecnologia de memória volátil da tecnologia de memória não volátil. Cite uma aplicação para cada
uma das tecnologias em questão.

4) Duas tecnologias podem ser utilizadas para a construção de memórias. Uma é a utilização deflip-flops e outra é
a utilização de elementos capacitivos. Explique as principais diferenças das duas tecnologias e cite um exemplo
de aplicação para cada uma delas.

5) Explique os seguintes termos: memória estática e memória dinâmica.

6) Justifique a utilização da memória CACHE pelas principais arquiteturas de computadores atuais.

7) Explique a hierarquia existente entre as memórias utilizadas por um computador PC padrão. Cite exemplos.

10. CONSIDERAÇÕES
Você acabou de estudar as tecnologias de memórias utilizadas nos computadores
atuais,sua organização e a relação existente entre elas eos processadores. Agora, você continua-
ráseus estudos e terá a oportunidade de conhecer os dispositivos e as interfaces que propor-
cionam a entrada e a saída de informações para que os processadores e as memórias possam
funcionar adequadamente.
Bons estudos!

11. E-REFERÊNCIAS
Figura 2 Hierarquia dos dispositivos de memória: Disponível em: <http://cwx.prenhall.com/bookbind/pubbooks/tanenbaum2/
chapter0/deluxe.html>. Acesso em: 22 nov. 2007.

12. REFERÊNCIAS BIBLIOGRÁFICAS


STALLINGS, William. Arquitetura e organização de computadores: projeto para o desempenho. Tradução de Carlos Camarão de
Figueiredo. 5. ed. São Paulo: Prentice-Hall, 2003. 786 p. ISBN 85-87918-53-2.
TANENBAUM, Andrew S. Organização estruturada de computadores. Tradução de Hélio Marques Sobrinho. 3. ed. São Paulo:
Prentice Hall, 1992. 460 p. ISBN 85-7054-040-X.
TORRES, Gabriel. Hardware: curso completo. 4. ed. Rio de Janeiro: Axcel Books, 2001. 1398 p. ISBN 85-7323-165-3.

Claretiano - Centro Universitário


Claretiano - Centro Universitário
EAD
Dispositivos de Entrada
e Saída

1. OBJETIVO
• Conhecer os dispositivos de entrada e saída de dados dos computadores.

2. CONTEÚDOS
• Dispositivos de entrada.
• Dispositivos de saída.
• Tipos de comunicação.
• Interrupção.
• Acesso direto à memória.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Faça a leitura do conteúdo e, caso tenha dúvidas, entre em contato com seu tutor.
2) A compreensão dos termos abordados nestaunidade é de fundamental importância
para a compreensão dos dispositivos de entrada e saída. Portanto, sugerimos que
consulteo dicionário de conceitos sempre que sentir necessidade e procure resolver
suas dúvidas assim que surgirem.
3) Durante o estudo desta unidade, é imprescindível que você entenda as diferenças
existentes entre cada dispositivo apresentado.
134 © Arquitetura e Organização de Computadores

4) Tenha sempre à mão alguns livros da bibliografia básica e também da bibliografia


complementar. Não se contente nunca em estudar apenas por meio de uma única
fonte de informação.
5) Tire dúvidas com o seu tutor sempre que for necessário e não deixe de levar para as
aulas presenciais as suas dúvidas e questionamentos.

4. INTRODUÇÃO À UNIDADE
Nas unidades anteriores, você pôde ver como o computador processa os dados, desde os
circuitos digitais até o processamento dos dados e os detalhes das implementações das memó-
rias.
Agora, vamos entender como funcionam os principais dispositivos de entrada e saída.

5. DISPOSITIVOS DE ENTRADA E SAÍDA


Podemos resumir o processamento de qualquer informação no computador em três fases:

ENTRADA PROCESSAMENTO SAÍDA

Os dispositivos de entrada e saída são fundamentais para o funcionamento de um compu-


tador e desempenham a mesma importância do processamento.
Nenhuma informação chega ao processador sem passar por pelo menos um dispositivo
de entrada, como, por exemplo, um teclado, scanner ou microfone. Da mesma forma, nenhum
dado é apresentado para o usuário sem passar por um dispositivo de saída, como, por exemplo,
um monitor, impressora ou caixa de som.
Desse modo, é importante ressaltar que as memórias podem servir tanto como dispositi-
vo de entrada quanto como dispositivo de saída. Imagine dois números buscados na memória
secundária do computador para que seja efetuada uma soma e depois o resultado gravado,
também, na memória secundária, para posterior utilização.
A figura, a seguir, mostra como os dispositivos de entrada e saída conectam-se ao proces-
sador e à memória principal.

Interface Interface Interface Interface


Serial Serial Paralela Paralela

Figura 1 Estrutura de um sistema de entrada e saída.


© U5 - Dispositivos de Entrada e Saída 135

Tudo está interligado por meio de um barramento, proporcionando a troca de dados entre
os módulos.
Entre um dispositivo de entrada (teclado, winchester) e saída (vídeo, impressora, winches-
ter) e o barramento existe um circuito de interface, que é o hardware que controla as operações
específicas de cada dispositivo de acordo com os exemplos que serão apresentados na sequên-
cia.
O circuito de interface é importante. Ele é o responsável pelo controle e interfaceamento
entre os dispositivos de entrada e saída e o computador.
Na prática, temos como exemplo de circuito de interface:
• placa de vídeo que liga o monitor ao computador;
• placa de um controlador de disco (muitas vezes integrada à placa mãe);
• controladora de comunicação serial e paralela para conectar, por exemplo, o mouse e
uma impressora respectivamente;

6. TIPOS DE COMUNICAÇÃO
O computador pode fazer a comunicação com os dispositivos de duas formas:
• Comunicação serial: os bits são transferidos de forma sequencial (bit a bit) até que a
comunicação acabe. Para controlar o início e o fim da transmissão de dados, existem
bits de controle trafegando pelo canal de comunicação serial juntamente com os dados.
• Comunicação paralela: os bits trafegam de forma paralela (normalmente byte a byte)
pelo canal de comunicação. Embora esse meio de comunicação seja mais rápido, ele
sofre maiores influências do meio externo e, portanto, não pode ser muito extenso.
O meio de comunicação serial é mais lento do que a comunicação paralela, porém, sofre
menos interferências do meio externo.
Vejamos, agora, o que é uma interrupção.
Para que o processador possa trabalhar sem ficar checando se algum dispositivo está que-
rendo lhe transmitir algo, existe um sistema denominado interrupção.
Assim, se algum dispositivo de entrada e saída necessitar da atenção do processador, o con-
trolador envia um pedido de interrupção para que o processador interrompa o que ele está fa-
zendo e passe a tratar os dados do dispositivo que solicitou a interrupção. Depois de solucionar o
problema, ele continua com o processamento anterior.
Por outro lado, se mais de um dispositivo solicitar a interrupção ao mesmo tempo, uma
determinada hierarquia, que define as prioridades dos dispositivos, deverá ser respeitada. Nor-
malmente, é um número que indica a prioridade de cada interrupção.

DMA
O DMA (Acesso direto à memória) é uma técnica utilizada para proporcionar ao sistema
a possibilidade de transferência de dados de um dispositivo de entrada e saída ou da memória
para outro dispositivo, sem a necessidade do controle do processador.
O DMA é implementado na controladora do dispositivo e, algumas vezes, pode assumir o
controle de um barramento.

Claretiano - Centro Universitário


136 © Arquitetura e Organização de Computadores

Essa técnica permite um aumento considerável no desempenho do sistema, pois deixa o


processador disponível durante o maior tempo possível, principalmente se considerarmos que
a transferência de dados é sempre mais lenta do que o processamento em si.

Teclado
O teclado é uma matriz de contados dispostos de forma organizada para que cada posição
represente um caractere ou função.
Quando o contato de um determinado ponto é fechado, o controlador do teclado gera
uma interrupção para o tratamento da função solicitada. Para que o sistema identifique qual te-
cla foi pressionada (qual contato foi fechado) sem que seja necessário um número muito grande
de fios, a informação que deverá ser passada do teclado ao seu controlador ocorre de forma
codificada.
Os códigos mais utilizados para a codificação da tecla pressionada são: ASCII (American
Standard Code for Information Interchange) e o EBCDIC (Extended Binary Coded Decimal Inter-
change Code).
A tecla pressionada é reconhecida pelo programa de controle do teclado e depois a mes-
ma tecla é convertida para um dos códigos anteriores.

Figura 2 Teclado.

7. MOUSE
O mouse é a forma mais comum de se mapear a tela, permitindo que o usuário do sistema
aponte para qualquer um dos seus pontos. A tela do computador é formada por muitos pontos
que, juntos, formam uma imagem. Por meio do mouse, é possível passar por esses pontos para
selecionar ou arrastar objetos na tela do computador, facilitando, assim, muitas tarefas.
Veja, a seguir, os três tipos mais comuns de mouses que podem ser encontrados no mer-
cado:
• Mecânico: possui duas rodas de borracha saliente, com seus eixos perpendiculares um
ao outro. O movimento de cada roda é monitorado por um resistor variável (potenciô-
metro) que indica a sua movimentação.
• Ópticos: não possui rodas e nem bola. Em lugar desses é usado um LED (Diodo Emissor
de Luz) e um foto sensor na parte debaixo. Esse mouse é usado sobre uma superfície de
plástico que contém uma grade retangular de linhas próximas. O movimento do mouse
sobre essa superfície causa um cruzamento entre as linhas da grade que é identificado
pelo fotodetector.
© U5 - Dispositivos de Entrada e Saída 137

• Óptico-mecânico: tem uma bola de borracha que aciona duas engrenagens alinhadas
a um ângulo de 90 graus uma em relação à outra. Com o movimento do mouse as en-
grenagens giram e os pulsos de luz atingem os sensores que registram o movimento.

Figura 3 Mouse.

Figura 4 Mouse Óptico.

Figura 5 Mouse mecânico.

Claretiano - Centro Universitário


138 © Arquitetura e Organização de Computadores

8. MONITOR
O monitor é o dispositivo responsável pela saída visual de informações oriundas do com-
putador.
Existem diversos tamanhos de monitores disponíveis no mercado. Os mais comuns são
os de 14, 15 e 17 polegadas. Essa medida é, na realidade, referente ao tamanho da diagonal do
monitor conforme a figura a seguir.

Figura 6 Medida do monitor.

O tipo de monitor mais comum é o monitor CRT (Cathode Ray Tube) que funciona de ma-
neira muito semelhante ao de uma televisão.
O monitor CRT é composto por um tubo e uma tela que contêm camadas de fósforos;
esses fósforos quando atingidos por elétrons disparados por um canhão localizado no fundo do
tubo fazem com que uma luz seja emitida com o foco muito bem definido.
O canhão, por sua vez, percorre toda a tela do tubo iluminando os fósforos responsáveis
pela formação das imagens. Esse percurso é repetido a todo instante para atualizar a imagem.
Esse processo é conhecido como varredura.
O canhão possui três feixes de cores (azul, verde e vermelho) e a combinação dessas cores
gera todas as outras cores necessárias para a formação da imagem.
Esses três feixes trabalham simultaneamente e em conjunto, atingindo assim o mesmo
fósforo, e definindo a cor resultante da luz a ser gerada.
O percurso do canhão é da esquerda para a direita e de cima para baixo. Ele faz uma var-
redura constante de acordo com uma frequência horizontal (número de linhas que ele consegue
varrer em um segundo) e uma frequência vertical (número de vezes que o canhão consegue
varrer toda a tela da primeira linha na posição mais à esquerda até a última linha na posição
mais à direita) por segundo.

Figura 7 Varredura de um monitor CRT.


© U5 - Dispositivos de Entrada e Saída 139

Resolução do monitor
A resolução do monitor é definida pelo número de linhas horizontais e verticais que ele
possui. Quanto maior o número de linhas, melhor será a definição, pois serão utilizados mais
pontos (também conhecidos como pixels) para formar a mesma imagem. Quando dizemos que
um monitor possui a resolução de 800X600 significa que ele possui 800 colunas e 600 linhas
para formar uma imagem.
Outro fator que interfere na qualidade da imagem é o DOT PITCH, que é a distância entre
os pontos que formam a imagem; quanto menor for a distância, melhor será a qualidade da
imagem do monitor.
Outra tecnologia de monitores que está cada vez mais popular é o LCD (Liquid Crystal
Display) ou monitores de cristal líquido. Esses monitores são baseados no reflexo da luz em um
conjunto de substâncias formadas por materiais líquidos.
As moléculas de cristal líquido ficam distribuídas na tela em forma de bolhas orientadas
eletricamente. Elas serão responsáveis pela passagem da luz que irá compor as imagens.

9. IMPRESSORAS
Como você já sabe, as impressoras são responsáveis pela saída de dados na forma impres-
sa.
Agora, para conhecermos um pouco mais sobre as impressoras, veremos alguns de seus
tipos, diferenciando custos e aplicações.
As impressoras podem ser classificadas em:
• Alfanuméricas: que imprimem caracteres.
• Gráficas: que imprimem pontos, formando figuras ou letras por meio desses pontos.
Para medir a velocidade de impressoras alfanuméricas, utilizamos a unidade cps (carac-
tere por segundo), enquanto que para medir a velocidade em impressoras gráficas podemos
utilizar a unidade ppm (páginas por minuto). Nas impressoras gráficas, medimos também a sua
definição gráfica em dpi (dots per inch ou ppp - pontos por polegada).
Como exemplo de impressora alfanumérica podemos citar as impressoras de linha (que
imprime uma linha por vez) e impressoras de caractere (tipo margarida que funciona de forma
semelhante a uma máquina de escrever).
Veremos, agora, alguns exemplos de impressoras gráficas.

Impressora matricial
As impressoras matriciais trabalham com agulhas que são ativadas, eletromagneticamen-
te, para “martelar” um determinado ponto no papel que se encontra atrás de uma fita com
tinta.
Seu custo de aquisição não é o menor, se comparado com as impressoras a jato de tinta.
Porém, a manutenção é mínima, pois as fitas têm um custo muito pequeno, o que faz com que
essa tecnologia seja a mais interessante em muitos casos.
Vale ressaltar que essa impressora é ruidosa e a qualidade da impressão não é tão boa
quanto às impressoras a jato de tinta ou a laser.

Claretiano - Centro Universitário


140 © Arquitetura e Organização de Computadores

Figura 8 Impressora Matricial.

Impressora a jato de tinta


As impressoras a jato de tinta são as preferidas para uso doméstico. Embora o custo de
manutenção seja alto em virtude do preço dos cartuchos, a qualidade de impressão é boa e a
impressora é silenciosa.
A impressão ocorre da seguinte forma:
A cabeça de impressão (em alguns casos o próprio cartucho) passa sobre o papel com seu
reservatório cheio de tinta. Quando necessário, uma pequena quantidade de tinta é aquecida e
se expande rapidamente; não tendo por onde sair, a não ser por um pequeno orifício apontado
para o papel. Uma pequena gotícula de tinta é “espirrada” sobre o papel com uma precisão
muito grande, formando assim as imagens.
Para a impressão em cores, o sistema combina as cores primárias existentes nos cartu-
chos. Formando, dessa forma, todas as outras cores necessárias.

Figura 9 Impressora a jato de tinta.

Impressora a laser
As impressoras a laser estão cada vez mais presentes em nosso dia- a-dia, pois o seu cus-
to vem sendo reduzido e a qualidade de impressão não se compara com as outras tecnologias
apresentadas até agora.
Elas utilizam uma combinação complexa de fenômenos físicos, químicos, mecânicos e óp-
ticos para efetuarem uma impressão.
Podemos descrever o seu funcionamento da seguinte forma: um tambor rotativo recebe
uma tensão extremamente alta e fica energizado, ao mesmo tempo em que recebe uma cama-
da de material fotossensível. Depois disso, o laser desenha no tambor o conteúdo a ser impres-
so, descarregando por meio da luz as áreas do tambor que não contém nada para ser impresso;
o tambor vai rodando e entra em contato com o toner (um pó preto que é eletrostaticamente
sensível); a área do tambor que não foi descarregada atrai o pó que na próxima etapa será es-
tampado no papel e fixado por meio do calor.
© U5 - Dispositivos de Entrada e Saída 141

Figura 10 Impressora Laser.

10. MODEM
O modem é um dispositivo que tem a função de converter os sinais digitais de um compu-
tador para sinais analógicos e, também, converter sinais analógicos para sinais digitais.
Ele é utilizado quando se faz necessário uma comunicação entre dois computadores uti-
lizando a linha telefônica. Como a linha telefônica transmite sinais analógicos e o computador
trabalha com sinais digitais, antes que a transmissão do dado ocorra é necessário transformar
esses sinais digitais em analógicos.
Quando o sinal é recebido pelo computador de destino, um outro modem converte no-
vamente os sinais analógicos recebidos pela linha telefônica em sinais digitais. Finalmente, o
computador de destino receberá a informação.

Figura 11 Transmissão de dados utilizando a linha telefônica e um modem.

Modem interno Modem externo


Figura 12 Modens.

11. PLACAS DE REDE


As placas de rede são responsáveis por interligar os computadores de um determinado
local através de um meio de comunicação.
Os meios mais utilizados hoje em dia são: cabos metalizados ou transmissão sem fio (wi-
reless) com diferentes padrões de comunicação.

Claretiano - Centro Universitário


142 © Arquitetura e Organização de Computadores

Na hora de adquirir uma placa de rede, é importante observar o padrão de comunicação


adotado pela placa de rede e também a sua velocidade, que é medido em Mbps (mega bits por
segundo).

Placa de rede padrão Placa de rede sem fio

Figura 13 Placas de rede.

12. DISCOS MAGNÉTICOS


Os discos magnéticos englobam os pequenos discos flexíveis, também chamados de dis-
quetes e os discos rígidos, também conhecidos por winchester ou HD (hard disk).
O princípio de funcionamento de um disquete e de um disco rígido é o mesmo; apenas
algumas características como capacidade, velocidade e questões mecânicas é que os diferem.
Por esse motivo, vamos focar os nossos estudos nos discos rígidos que são os mais utiliza-
dos para constituir a memória secundária do computador.
A capacidade de armazenamento aliada ao custo, ao desempenho e à segurança dos da-
dos armazenados fazem com que essa tecnologia seja o meio de armazenamento de dados mais
indicado para essa finalidade.
Os discos rígidos são constituídos por um motor para girar o disco, por cabeças de leitura
e gravação, e pelo mecanismo para o posicionamento das cabeças, que são móveis.
Os discos, propriamente ditos, são superfícies de formato circular, composto de finos dis-
cos de alumínio ou vidro revestido de material magnético em ambas as faces.
As informações são gravadas nos discos em “setores” distribuídos ao longo de “trilhas”
concêntricas marcadas, magneticamente como setores circulares no disco.
Os dados são armazenados conforme a orientação de microscópicos bastonetes magneti-
zados que são reposicionados pelo cabeçote de leitura e gravação.
Como o cabeçote é um eletroímã, os seus pólos podem ser invertidos de acordo com o sentido
da corrente elétrica, fazendo com que, por meio do princípio da atração e repulsão, os bastonetes
sejam reposicionados sempre que necessário e para onde for necessário.
Depois de posicionado, o cabeçote de leitura e gravação consegue identificar o posiciona-
mento dos bastonetes e fazer a leitura dos bits.
Os discos rígidos possuem muitas superfícies de gravação montadas em torno de um eixo
comum.
© U5 - Dispositivos de Entrada e Saída 143

Os braços atuadores responsáveis pelo posicionamento das cabeças de leitura e gra-


vação são montados em uma única estrutura, de forma que os braços se movem solida-
riamente.

Figura 14 Estrutura de um disco rígido.

Figura 15 Disco rígido (winchester ou HD).

13. FITAS
As fitas magnéticas possuem uma grande capacidade de armazenamento, são baratas,
mas como os dados têm que ser acessados de forma sequencial o seu desempenho é muito
baixo.
Por todas as características apresentadas anteriormente, as fitas acabam sendo um exce-
lente recurso para armazenamento de cópias de segurança (backup).
Veja quais são os principais tipos de fitas encontrados no mercado nos dias de hoje:
• Streamer - pequena, parecida com uma fita cassete.
• DAT (Digital Audio Tape) - grande capacidade, menor que uma fita cassete.
• Fitas Cartucho - grande densidade.
• Rolo ou carretel.

Claretiano - Centro Universitário


144 © Arquitetura e Organização de Computadores

Fitas DAT Fitas Streamer


Figura 16 Fitas.

14. DISCOS ÓPTICOS


Os discos ópticos vêm proporcionando um excelente resultado no armazenamento de da-
dos volumosos que necessitam de um bom desempenho na hora da leitura.
Eles são de forma achatada, circular, normalmente, fabricados em camadas de policard-
bonato, acrílico e alumínio. O seu funcionamento difere dos discos magnéticos por utilizarem as
propriedades da luz ao invés das propriedades eletromagnéticas.
Durante a gravação, um raio laser provoca alterações na superfície do disco, que provoca
uma mudança na reflexão da luz em determinadas áreas. Ao realizar a leitura dos dados gra-
vados, um laser com menor intensidade é projetado sobre a superfície do disco e um receptor
avalia a reflexão da luz. Dependendo da reflexão de um determinado ponto, o computador in-
terpretará o dado como 0 ou 1.
As principais vantagens dos discos ópticos são o armazenamento de grandes quantidades
de informação a um baixo custo e o fato deles serem imunes às radiações eletromagnéticas.
Atualmente, encontramos com frequência duas tecnologias de discos ópticos: os CDs e os
DVDs. A principal diferença entre eles está na densidade dos dados (quantidade de dados que
pode ser armazenado em um determinado espaço). O DVD tem uma capacidade de armazena-
mento bem maior do que o CD convencional.
Veja na Figura 17 uma unidade de disco óptico comumente utilizado nos computadores
atuais.

Figura 17 Unidade de disco óptico.

A Figura 18 demonstra a unidade de disco óptico por dentro.


© U5 - Dispositivos de Entrada e Saída 145

Figura 18 Interior da unidade de disco óptico.

15. QUESTÕES AUTOAVALIATIVAS


Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) De que forma é possível resumir o processamento de uma informação em um computador?

2) Relacione o conceito de barramento com os dispositivos de entrada e saída. Quais são as suas funcionalidades?
Como ele é útil na arquitetura das estruturas de entrada e saída dos computadores atuais?

3) Explique os tipos de comunicação seriale paralela.

4) Qual tipo de comunicação é mais rápida, a serial ou a paralela? Qual é delas possui maior eficiência? Explique.

5) Conceitue o termo interrupção e cite um exemplo.

6) Conceitue o termo DMA e explique a sua importância na arquitetura dos computadores atuais.

7) Escolha quatro dispositivos de entrada e quatro dispositivos de saída e explique detalhadamente o funciona-
mento de cada um.

8) Compare as tecnologias de armazenamento de dados magnéticos e ópticos e apresente as principais vantagens


e desvantagens de cada uma delas.

9) Quais tipos de dispositivos são mais adequados para a execução de backups regulares? Explique.

16. CONSIDERAÇÕES
Chegamos ao final de mais uma unidade. Espero que você tenha compreendido a impor-
tância dos dispositivos de entrada e saída, bem como o funcionamento básico de cada dispositi-
vo apresentado. Nas próximas unidades, você vai estudar o funcionamento de um computador
simples.

Claretiano - Centro Universitário


146 © Arquitetura e Organização de Computadores

17. E- REFERÊNCIAS

Figura 3 Mouse. Disponível em: <http://s89822048.onlinehome.us/Images/Theft/Microsoft%20Optical%20Wheel%20Mouse.


jpg>. Acesso em: 02 ago. 2012.
Figura 4 Mouse Óptico. Disponível em: <http://es.wikipedia.org/wiki/Mouse>. Acesso em: 17 dez. 2008.
Figura 5 Mouse Mecânico. Disponível em: <http://www.illustratorsonline.com/laird/MOUSE.gif>. Acesso em: 02 ago. 2012.
Figura 7 Varredura de um monitor CRT. Disponível em: <http://www.doom9.org/index.html?/video-basics.htm>. Acesso em:
02 ago. 2012.
Figura 8 Impressora Matricial. Disponível em: <http://www.kebelc.com.br/Produto_Impressoras_Matriciais.htm>. Acesso em:
maio 2005.
Figura 9 Impressora a jato de tinta. Disponível em: <http://www.compumatica.com.br/>. Acesso em: maio 2005.
Figura 10 Impressora Laser. Disponível em: <http://www.computoviseu.com/img/HP5000_Laser.jpg/>. Acesso em: 18 nov.
2007.
Figura 12 Estrutura de um disco rígido. Disponível em: <http://www.jornadapc.hpg.ig.com.br/Disco%20R%EDgido.htm>. Acesso
em: maio 2005.
Figura 13 Disco rígido (winchester ou HD). Disponível em: <http://www.carlosfelgueiras.hpg.ig.com.br/Cursos/ArqComp/Discos.
doc>. Acesso em: maio 2005.
Figura 14 Unidade de disco óptico. Disponível em: <http://www.gizmos.es/wp-content/uploads/2007/10/samsung-sh-s203n.
jpg>. Acesso em: 02 ago. 2012.
Figura 15 Interior da unidade de disco óptico. Disponível em: <http://www.informaticamedica.org.br/informed/cdrom1.gif>.
Acesso em: 02 ago. 2012.

18. REFERÊNCIAS BIBLIOGRÁFICAS


STALLINGS, William. Arquitetura e organização de computadores: projeto para o desempenho. Tradução de Carlos Camarão de
Figueiredo. 5. ed. São Paulo: Prentice-Hall, 2003. 786 p. ISBN 85-87918-53-2.
TANENBAUM, Andrew S. Organização estruturada de computadores. Tradução de Hélio Marques Sobrinho. 3. ed. São Paulo:
Prentice Hall, 1992. 460 p. ISBN 85-7054-040-X.
TORRES, Gabriel. Hardware: curso completo. 4. ed. Rio de Janeiro: Axcel Books, 2001. 1398 p. ISBN 85-7323-165-3.
EAD
SAP1: Arquitetura

1. OBJETIVO
• Identificar e analisar a estrutura física de um computador simples (SAP1).

2. CONTEÚDOS
• Contador de Programa.
• Entrada.
• RAM.
• Registrador de Instrução.
• Controlador Sequencializador.
• Acumulador.
• Somador-Subtrator.
• Registrador B.
• Registrador de Saída.
• Indicador Visual.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
148 © Arquitetura e Organização de Computadores

1) Tente resolver todas asquestões autoavaliativas propostas, pois é praticando que se


aprende.
2) Procure entendera função de cada módulo da arquitetura do SAP1, pois é fundamen-
tal para o seu aprendizado.
3) Sugerimos a pesquisa das obras indicadas na bibliografia básica e na bibliografia com-
plementar.

4. INTRODUÇÃO À UNIDADE
Nas unidades anteriores, você pôde aprender muitas coisas importantes sobre organi-
zação de computadores. Agora, vamos juntar os dispositivos estudados e entender como um
computador funciona.
Para entender o funcionamento dos computadores que utilizamos atualmente é neces-
sário estudar o funcionamento de computadores mais simples, e, partindo daí, entender a sua
evolução até chegar aos modernos computadores.
Os poderosos e complexos computadores modernos não foram construídos a partir de um
único projeto; na verdade, o que temos hoje é o resultado da evolução dos primeiros projetos de
computadores. Portanto, iniciaremos aqui o estudo de um computador simples e muito didá-
tico chamado SAP (Simple-As-Possible), como o próprio nome diz, ele é extremamente simples.

5. SAP (SIMPLE-AS-POSSIBLE) – COMPUTADOR MAIS SIMPLES POSSÍVEL


Os computadores que temos, atualmente, não surgiram de uma hora para outra. O que te-
mos hoje é o resultado da evolução de máquinas, muito simples, partindo-se desde a geração zero
com a utilização de rodas dentadas e uma máquina totalmente mecânica.
O computador que estudaremos nesta e nas próximas duas unidades é um que foi cons-
truído com finalidade didática, possui uma estrutura muito simples, mas contém conceitos im-
portantes que são aplicados até hoje nos computadores modernos.
Há três versões do SAP: SAP1, SAP2 e SAP3. Essas versões evoluem partindo de uma ar-
quitetura extremamente simples, se comparada aos computadores existentes nos dias de hoje.
Mesmo abstraindo uma série de recursos de um computador moderno, o SAP1 possui uma
estrutura capaz de introduzir conceitos importantes utilizados nos computadores modernos.
Muitas características, funções e termos relacionados à Arquitetura de Computadores serão
apresentadas juntamente com esta arquitetura, fazendo com que o nível de abstração desses con-
ceitos e estruturas sejam minimizados pelos exemplos práticos.
A figura, a seguir, representa a arquitetura do SAP1.
© U6 - SAP1: Arquitetura 149

__ __ __ __ __ __ __

Figura 1 Arquitetura do SAP1.

Observe, na Figura 1 os blocos, os nomes e a forma como eles são ligados uns aos outros,
para que as próximas explicações fiquem mais claras. Observe que um sinal ao ficar ativo quan-
do recebe um nivel lógico 0 pode ser representado colocando-se uma barra sobre o seu nome
ou uma apóstrofo após o sinal.

Registradores
Um registrador é uma memória interna à CPU. Tem a característica de ser muito rápida
e pode ou não ser acessada pelo usuário. Os registradores que não podem ser acessados pelo
usuário são utilizados normalmente pela própria unidade de controle do processador; eles po-
dem armazenar um ou mais bits, dependendo da sua função.
Muitos módulos do SAP1 são constituídos de um ou mais registradores.

Barramento
Pode-se definir um barramento como um conjunto de linhas de comunicação que são
compartilhadas entre diversos dispositivos.
Os dados e as instruções do SAP1 trafegam entre os módulos por meio de um barramento
(w) de 8 bits.
Além do barramento de dados, o SAP1 possui um barramento de controle de 12 bits, con-
forme veremos mais adiante.
Observe a seguir as funções dos módulos que compõem o SAP1.
Claretiano - Centro Universitário
150 © Arquitetura e Organização de Computadores

Contador de Programa (CP)


Qual a função de um contador de programa?
Lembre-se de que uma das características de um computador é o armazenamento de todo
o programa e dos dados na sua memória.
Este armazenamento ocorre nas posições de memória, de forma sequencial, iniciando-se na
posição (0000)2 e seguindo para os próximos endereços: (0001) 2, (0010)2, (0011)2 e assim sucessi-
vamente.
Essas posições são compostas por 4 bits porque é uma característica da memória do SAP1,
que possui 16 posições de memória.
A função do Contador de Programa (CP) é a de apontar para o computador a próxima ins-
trução a ser executada.
Toda vez que o computador é inicializado, o Contador de Programa aponta para o ende-
reço (0000); antes de o computador executar a primeira instrução, o CP passa para a memória
a posição da instrução que será executada (no caso (0000)2) e incrementa o seu valor, e se
prepara para apontar para a segunda instrução, ou seja, a instrução que virá após a busca e
execução da primeira instrução. O contador de programa repetirá esse procedimento até o final
do programa.
O Contador de Programas funciona como um dedo apontando para a próxima instrução a
ser executada, ele muitas vezes é chamado de apontador.
A tarefa desempenhada pelo CP é parte integrante da Unidade de Controle.

Entrada e REM
É neste módulo que ocorre a entrada de dados e instruções para que o SAP1 possa ser
programado (entrada), e também é o local onde fica armazenado o valor passado pelo CP, que
é o endereço que será acessado na memória RAM (Registrador de Endereço de Memória REM).

RAM
RAM é uma memória estática que possui 16 linhas e 8 bits por linha, ou seja 16 X 8, com a
finalidade de armazenar instruções e dados a serem utilizados pelo computador.
Durante o processamento, a RAM recebe endereços de 4 bits do REM e logo após é execu-
tado uma operação de leitura neste endereço e o seu conteúdo é disponibilizado no barramento
w para a devida utilização.

Registrador de instruções
Quando uma instrução é lida da memória RAM, o byte referente à instrução é enviado ao
Registrador de Instrução (RI), onde ele é separado em dois nibbles (meio byte), o nibble superior
é referente à própria instrução e é passado imediatamente ao Controlador-Sequencializador e o
nibble inferior é referente ao campo operando que, quando for o caso, será disponibilizado no
barramento w.
A tarefa desempenhada pelo Registrador de Instruções é parte integrante da Unidade de
Controle.
© U6 - SAP1: Arquitetura 151

Controlador-Sequencializador
Controlador-Sequencializador constitui parte da unidade de controle e é o módulo res-
ponsável pelo controle do computador.
Recebe o nibble referente a instrução que será executada naquele momento por inter-
médio do Registrador de Instrução, decodifica e envia uma palavra de controle de 12 bits para
todo computador.
A palavra de controle é responsável por habilitar ou desabilitar cada funcionalidade de
cada módulo presente no computador a fim de que ele execute uma determinada tarefa.
Podemos fazer uma analogia entre o Controlador-Sequencializador e um maestro de or-
questra, que determina quem, o que fazer e em que hora fazer uma determinada ação. O maes-
tro é parte significativa para os componentes de uma orquestra, assim como o Controlador-
-Sequencializador é para os módulos que compõe o computador.

Acumulador
O acumulador é um registrador de memória temporária que armazena operandos e tam-
bém resultados de processamentos. Recebe um dado do barramento e pode disponibilizá-lo
tanto para o Somador-Subtrator quanto para o barramento novamente.

Somador-Subtrator
O Somador-Subtrator é o módulo responsável por efetuar uma operação de soma ou sub-
tração entre o valor presente no acumulador com outro valor presente na memória RAM.
A subtração é feita pelo método do complemento de 2; ou seja, para subtrair, ele efetua
uma soma do acumulador com o complemento do segundo operando.

Registrador B
Registrador B é um registrador de memória temporária utilizado em uma operação
aritmética para pegar determinado valor presente no barramento e entregá-lo ao Somador-
-Subtrator.
Ele é necessário, pois o único caminho para se chegar ao Somador-Subtrator é por meio
do Acumulador ou do Registrador B; como o Acumulador já contém um operando, a única
forma de carregar o outro operando no Somador-Subtrator é passando por um caminho al-
ternativo, no caso o Registrador B.
O Acumulador, o Somador-Subtrator e o Registrador B são módulos que fazem parte da
Unidade Lógica e Aritmética do SAP1.

Registrador de Saída
Depois que o computador executou um determinado processamento, o resultado fica ar-
mazenado no Acumulador.
Para que o usuário do computador possa visualizar o resultado do processamento, é ne-
cessário transferir o conteúdo do Acumulador para um registrador que permita o envio do re-
sultado para o usuário.
O registrador responsável por pegar o resultado presente no Acumulador e disponibilizar
o seu conteúdo para um dispositivo visual é chamado de Registrador de Saída ou Porta de Saída.
Claretiano - Centro Universitário
152 © Arquitetura e Organização de Computadores

Indicador Visual em Binário


Para visualizar o conteúdo do Registrador de Saída, é utilizado um conjunto de oito LEDS
(diodos emissores de luz) que ficam dispostos de forma alinhada e representam os oito bits
presentes no RI.

6. COMO FUNCIONA O SAP1


Existe um conjunto de oito chaves (interruptores) que podem ser configurados como liga-
do ou desligado; se a chave estiver ligada, ele estará configurando o bit 1 para aquela posição do
byte e se estiver desligada ele estará configurando o bit 0.
Como as chaves estão alinhadas, o conjunto de chaves (ligadas ou desligadas) irá compor o
endereço da memória onde o dado ou instrução será armazenado (nas quatro primeiras chaves)
e um byte (0(s) e 1(s)) que, compõem a instrução mais o operando, ou dependendo do caso, o
dado a ser armazenado nos próximos oito bits.
Dessa forma os programas e os dados são inseridos na memória do computador para de-
pois iniciar sua execução.
Depois que todo o programa e os dados estiverem armazenados na memória, o SAP1
poderá iniciar sua tarefa, obedecendo aos sinais enviados pelo Controlador-Sequencializador.
O Contador de Programa (CP) será zerado (reset) e em seguida apontará (para o REM) o
endereço de memória da próxima instrução a ser executada. Em seguida a informação armaze-
nada na posição informada pelo REM é transferida para o Registrador de Instrução.
O Registrador de Instrução irá separar o byte recebido em dois nibbles (meio byte) e dispo-
nibilizará para o Controlador-Sequencializador o nibble correspondente à instrução, e se neces-
sário, disponibilizará o outro nibble (que normalmente contém um operando) no barramento w.
Agora que o Controlador-Sequencializador já sabe o que deve ser feito (o nibble que con-
tém o código da instrução que ele deve executar está armazenado nele), ele envia um sinal para
toda a arquitetura por meio do barramento de controle que é composto por 12 bits, ativando e
desativando funcionalidades do computador afim de que ele execute uma determinada tarefa.

Clock
Você sabe o que é clock?
Um computador é uma ferramenta capaz de resolver problemas por meio da execução de
tarefas que são um conjunto de instruções, executadas pelo hardware do computador por meio
de uma subdivisão denominada microinstruções.
As microinstruções são responsáveis, por exemplo:
• colocar um byte da memória RAM no barramento w;
• fazer com que o acumulador leia o conteúdo do barramento w;
• fazer com que o somador subtrator efetue uma soma ou subtração etc.
Para que tudo isso ocorra de forma logicamente ordenada, existe a necessidade de se ter
um dispositivo capaz de sincronizar a execução dessas microinstruções e o dispositivo responsá-
vel pelo sincronismo do computador é o gerador de CLOCK.
© U6 - SAP1: Arquitetura 153

Definimos clock como sendo um trem de pulsos alternado entre um nível lógico alto (bit
1) e um nível lógico baixo (bit 0), fisicamente, em um circuito TTL, o nível lógico baixo é quando
um meio tem o seu potencial próximo a 0 volts e o nível lógico alto próximo de 5 volts.
Veja no gráfico a seguir, a representação de um sinal de clock.

Quanto maior a frequência do clock, mais microinstruções são executadas em um mesmo


intervalo de tempo, aumentando assim o desempenho do computador.
Observe que o período e a frequência do sinal são constantes. A frequência é medida em
Hz.
A frequência de clock do SAP1 é de 1 khz, ou seja, os sinais alto e baixo ficam alternando
em uma frequência de 1000 vezes por segundo.
Como você pode perceber, um sinal de clock pode estar em um nível lógico alto (ponto 1), nível
lógico baixo (ponto 2), ponto chamado de transição positiva ou borda de subida (ponto 3) ou ainda
em um ponto denominado transição negativa (ou borda de descida).
Em um sistema digital, podemos ter dispositivos síncronos ou assíncronos.
Um dispositivo assíncrono tem a característica de alternar o seu conteúdo ou responder
a algum sinal, independentemente dos pulsos de clock, exemplo: assim que um determinado
valor chega a um registrador assíncrono, o registrador assume o seu novo conteúdo imediata-
mente.
Já um dispositivo síncrono, depende dos pulsos de clock para que o seu estado seja altera-
do, por exemplo: quando um determinado valor chega a um registrador síncrono ele irá aguardar
pelo instante correto para ser efetivamente armazenado neste registrador; este instante exato é
determinado pelos pulsos de clock e podem ser da seguinte forma.

Transição positiva (ou sensível à borda de subida)


O valor será armazenado na próxima transição positiva ou na próxima borda de subida.
Símbolo:

Claretiano - Centro Universitário


154 © Arquitetura e Organização de Computadores

Transição negativa (ou sensível à borda de descida)


O valor será armazenado na próxima transição negativa ou na próxima borda de descida.
Símbolo:

Cada bit que sai do Controlador-Sequencializador está ligado a um módulo do SAP1, e


recebe um nome. O conjunto dos nomes dos bits que saem do Controlador-Sequencializador
forma o que chamamos de PALAVRA DE CONTROLE.

CON = Cp Ep Lm’ CE’ Li’ Ei’ La’ Ea Su Eu Lb’ Lo’

Observe que para representar complemento, você pode utilizar a barra sobre o nome do
bit ou o apóstrofe após o nome. Isso significa que o bit estará ativo caso o seu valor seja igual a
zero (nível lógico baixo).
A Palavra de Controle controla a arquitetura, portanto, fique atento aos sinais que cada
módulo recebe e a sua função.
Nos módulos síncronos existe, além dos sinais de controle, uma entrada denominada CLK
ou CLK’. Estes sinais são referentes à entrada dos pulsos de clock e servem, conforme já citado
anteriormente, para sinalizar ao módulo o instante certo para receber ou enviar um dado por
meio do barramento.
Observe, a seguir, os módulos que compõem a arquitetura de um computador SAP1, os
sinais de controle e suas funções.
© U6 - SAP1: Arquitetura 155

Contador de Programa

Figura 2 Contador de programa.

Cp – Quando ativo (recebe o bit 1), incrementa o contador de programa.


Ep – Quando ativo (recebe o bit 1), disponibiliza o seu conteúdo no barramento w.
CLR’ – Quando ativo (recebe o bit 0), restabelece o contador (reset) para o valor
000001; na próxima unidade você entenderá o porquê deste valor.

Entrada e REM

Figura 3 Entrada e REM.

Lm’ – Quando ativo (recebe o bit 0), habilita a leitura do barramento w.

RAM 16X8

Figura 4 Memória RAM.

CE’ – Quando ativo (receber o bit 0), disponibiliza o conteúdo apontado pelo
registrador de endereço (REM) no barramento w.

Registrador de Instruções

Figura 5 Registrador de Instrução.

Claretiano - Centro Universitário


156 © Arquitetura e Organização de Computadores

Li’ – Quando ativo (recebe o bit 0), habilita a leitura do barramento w.


Ei’ – Quando ativo (recebe o bit 0), disponibiliza o nibble inferior (normalmente
um operando) no barramento w.
CLR – Quando ativo (recebe o bit 1), limpa o conteúdo do seu registrador.

Controlador-Sequencializador

Controlador/
Sequencializador

Figura 6 Controlador-Sequencializador

O controlador sequencializador tem como saída, além da palavra de controle, os sinais de


CLEAR e os pulsos de CLOCK.

Acumulador A

Figura 7 Acumulador.

La’ – Quando ativo (recebe o bit 0), habilita a leitura do barramento w, carregando
no acumulador o conteúdo do barramento.
Ea – Quando ativo (recebe o bit 1), disponibiliza o seu conteúdo no barramento w.

Somador/Subtrator

Figura 8 Somador/Subtrator.

Su – Quando ativo (recebe o bit 1), o Somador/Subtrator estará configurado para efetuar
uma subtração e quando inativo (recebe o bit 0) ele estará configurado para
efetuar uma soma.
Eu – Quando ativo (recebe o bit 1), disponibiliza o seu conteúdo no barramento w.
© U6 - SAP1: Arquitetura 157

Registrador B

Figura 9 Registrador B.

Registrador de Saída
Lb’ – Quando ativo (receber o bit 0), habilita a leitura do barramento w,
carregando no acumulador o conteúdo do barramento

Figura 10 Registrador de Saída.

Lo’ – Quando ativo (recebe o bit 0), habilita a leitura do barramento w, carregando
no acumulador o conteúdo do barramento.

7. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) O SAP1 é um computador didático e possui uma estrutura extremamente simples, mas com todos os conceitos
utilizados nos computadores atuais. Explique a arquitetura desse computador, e também o que ele é capaz de
fazer.

2) Explique e demonstre o funcionamento dos seguintes módulos do SAP1:


a) contador de programa;
b) módulo de entrada e registrador de endereços de memória (REM);
c) memória RAM;
d) registrador de instruções;
e) controlador-sequencializador;
f) acumulador A;
g) somador/subtrador;
h) registrador B;
i) registrador de saída;
j) indicador visual binário.
3) O SAP1 possui um barramento de controle e um barramento de endereços. Explique a diferença existente entre
esses dois barramentos.

Claretiano - Centro Universitário


158 © Arquitetura e Organização de Computadores

4) Diferencie os termos palavra de controle e barramento de controle.

5) Qual é o módulo que controla o clock do SAP1?Qual é a importância desse sinal na execução dos programas do
SAP1?

6) O que são os “sinais de controle” dos módulos do SAP1? Qual a sua função?

7) Quando um sinal de controle estará ativo? E complementado?

8) Explique como um dado armazenado na memória RAM pode ser “movido” para o registrador A. Quais sinais de
controle deverão estar ativos?

8. CONSIDERAÇÕES
Nesta unidade, você conheceu a estrutura do SAP1, seus módulos e suas respectivas fun-
ções. Nas próximas unidades, será apresentado o funcionamento do SAP1.

9. REFERÊNCIAS BIBLIOGRÁFICAS
MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw-Hill do Brasil, 1985.
EAD
SAP1: Conjunto de Instruções
e Programação

1. OBJETIVOS
• Conhecer e identificar o conjunto de instruções do SAP1.
• Programar o SAP1, em linguagem de máquina e em mnemônicos.

2. CONTEÚDOS
• Conjunto de instruções.
• Mnemônicos.
• Opcodes.
• Programação do SAP1.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Utilize o Esquema de conceitos-chave para o estudo de todas as unidades deste Ca-
derno de Referência de Conteúdo. Isso poderá facilitar sua aprendizagem e seu desem-
penho.
2) Recomendamos a leitura atenta dos textos deste Caderno de Referência de Conteúdo
para fixar seus conteúdos. Para isso, sugerimos que você realize pequenos aponta-
mentos com a finalidade de comparar e aprofundar pontos de destaque, utilizando-se
das fontes aqui elencadas e que já indicamos como indispensáveis para o estudo deste
tema.
160 © Arquitetura e Organização de Computadores

4. INTRODUÇÃO À UNIDADE
Na Unidade 5, você conheceu a arquitetura física do SAP1 como o contador de programa,
memória, somador-subtrator etc.
Nesta unidade, você conhecerá o conjunto de instruções do SAP1 com mnemônicos, op-
codes, funções de cada um e a programação do SAP1.
Iniciaremos esta unidade conhecendo o conjunto de instruções da programação
SAP1.
Bom estudo!

5. CONJUNTO DE INSTRUÇÕES
Para que uma máquina seja definida como um computador, é necessário que ela tenha a
capacidade de ser programada.
Os computadores atuais podem ser programados utilizando-se uma linguagem de progra-
mação extremamente poderosa, como, por exemplo, o Pascal, o Java, o C++ etc. e, ao mesmo
tempo, com relativa facilidade de compreensão para um ser humano. Contudo, quando este
programa é traduzido em linguagem de máquina, os recursos que ele pode utilizar para execu-
tar as suas tarefas são definidos em um conjunto de funcionalidades denominado Conjunto de
Instruções.
Podemos definir, então, um conjunto de instruções como um conjunto de funcionalidades
ao qual um computador, por meio do processador ou microcontrolador, é capaz de responder
executando alguma tarefa. Estas instruções fazem parte do processador ou do microcontrolador.
Existem várias categorias de instruções, como por exemplo:
a) Instruções de movimentação de dados: servem para copiar um dado de um registra-
dor para outro.
b) Instruções aritméticas e lógicas: utilizadas para somar, subtrair, multiplicar, dividir,
executar operações lógicas booleanas como, por exemplo, AND, OR, NOT etc. Essas
operações podem ser Diádicas (quando envolve dois operandos) ou Monádicas (quan-
do envolve apenas um operando).
c) Instruções de comparação e desvio condicional: utilizadas para comparar valores ou
desviar o fluxo de execução do programa.
d) Instruções de chamadas a procedimentos: são responsáveis por chamar um procedi-
mento ou função (subconjunto de instruções).
e) Instruções de LOOP: usadas para controlar laços de repetição, fazendo com que um
conjunto de instruções sejam executadas várias vezes.
f) Instruções de Entrada e Saída: são as instruções responsáveis pela entrada e saída de
dados para serem processados (Entrada) ou que já foram processados (Saída).
O conjunto de instruções varia sempre de um computador para outro, mas os tipos apre-
sentados anteriormente e os termos que aprenderemos nesta unidade podem ser aplicados
para quase todos os processadores e microcontroladores.
Pelo fato do SAP1 ser extremamente simples, ele também tem poucas instruções (somen-
te cinco instruções) e por esse motivo você aprenderá a trabalhar com as instruções do SAP1 e
depois irá aprender as instruções mais complexas, acompanhando a sua evolução (instruções
do SAP2 e SAP3).
© U7 - SAP1: Conjunto de Instruções e Programação 161

Instruções
As instruções possuem um NOME, também conhecido por MNEMÔNICO (apelido) e po-
dem conter um ou mais OPERANDOS.
Além disso, como o computador entende apenas a presença ou ausência de sinal, ou seja, 0 ou
1, cada instrução possui um código denominado OPCODE (código de operação).
O OPCODE é utilizado sempre que for necessário fazer uma programação em linguagem
de máquina, ou quando você precisar entender o que se passa dentro da máquina quando uma
instrução estiver sendo executada.
Veja a seguir os nomes, opcodes e a respectivas funções das cinco instruções do SAP1.
MNEMÔNICO OPCODE FUNÇÃO
Carrega o valor contido no endereço de memória pelo seu operando no
LDA 0000
acumulador.
Soma o valor contido no endereço de memória apontado pelo seu operando
ADD 0001
com o conteúdo armazenado no acumulador.
Subtrai do valor contido no acumulador, o valor contido no endereço de
SUB 0010
memória apontado pelo seu operando.
Faz com que o conteúdo armazenado no acumulador seja indicado no
OUT 1110
módulo indicador visual binário.
HLT 1111 Pára o processamento. É utilizado no final do programa.

6. PROGRAMANDO O SAP1
Para entender melhor as instruções anteriores, vamos visualizar o mapa da memória do
SAP1.
Lembre-se de que a memória do SAP1 é uma memória 16 X 8, ou seja, temos 16 posições
de memória com 8 bits cada posição para o armazenamento de um dado.
Assim, podemos representar toda a memória do SAP1 da seguinte forma. Observe que no
conteúdo do endereço pode ser inserido tanto uma instrução quanto um dado.
ENDEREÇO CONTEÚDO ENDEREÇO CONTEÚDO
0H 8H
1H 9H
2H AH
3H BH
4H CH
5H DH
6H EH
7H FH

O SAP1 mistura as instruções e os dados em uma única memória e, sendo assim, a divisão
entre instruções e memória será feita da forma a seguir.
As instruções deverão ocupar, sequencialmente, as primeiras posições de memória e so-
mente após o término das instruções é que deverão ser inseridos os dados.
Não existe um ponto fixo separando a área de programação da área disponível para o
armazenamento dos dados, o programador é que deverá analisar a quantidade de memória

Claretiano - Centro Universitário


162 © Arquitetura e Organização de Computadores

que será necessária para o armazenamento dos dados e instruções, e estudar a viabilidade de
escrever o programa com a memória disponível.
Chamamos de memória inferior à parte da memória que irá conter as instruções e memória
superior (de endereços mais altos) a parte da memória que irá conter os dados.
A menos que se tenha uma orientação prévia de quem está requisitando o programa, os
dados podem ser inseridos logo após a instrução HLT, mas o indicado é que eles sejam inseridos
de baixo para cima visando futuras alterações no programa (possibilidade de expansão).
No SAP 1, todos os operandos fazem referência a uma posição de memória e nunca ao
valor imediato, por exemplo: para somar 3 ao valor do acumulador, deve-se primeiro armazenar
valor 3 na memória e depois utilizar a instrução ADD XH, onde X é a posição de memória na qual
encontra-se o valor 37.
Vamos ver, mais detalhadamente, como as instruções do SAP 1 funcionam.

LDA
Carrega o valor contido no endereço de memória apontado pelo seu operando no acumulador.
A instrução LDA faz referência à memória por meio do seu campo de operando, ela busca
na memória RAM o valor armazenado na posição de memória apontado no campo operando e
armazena o valor que está armazenado no acumulador.
Exemplo:
Supondo que os dados armazenados na memória do SAP1 e os respectivos endereços
sejam.
CH 08H
DH 02H
EH 01H
FH 05H

Observação: Valores armazenados em hexadecimal.


A instrução LDA DH irá carregar o valor 02H (que é o valor que está armazenado na posição
DH da memória RAM), no acumulador.

ADD
Soma o valor contido no acumulador com o endereço de memória apontado pelo operan-
do da instrução ADD.
O resultado será escrito no acumulador, sobrescrevendo o seu conteúdo anterior.
Exemplo:
Supondo que os dados armazenados na memória do SAP 1 e os respectivos endereços
sejam:
CH 08H
DH 02H
EH 01H
FH 05H

Observação: Valores armazenados em hexadecimal.


© U7 - SAP1: Conjunto de Instruções e Programação 163

A instrução ADD CH somará o valor 08H (que é o valor que está armazenado na posição CH
da memória RAM), ao valor armazenado no acumulador.
Se considerarmos que, no exemplo anterior, o valor que foi carregado no acumulador foi
02H, o ADD irá fazer uma soma dos valores 02H + 08H, obtendo o resultado AH que ficará ar-
mazenado no acumulador, sobrescrevendo assim, o valor 02H carregado pela instrução LDA do
exemplo anterior.

SUB
Subtrai do valor contido no acumulador, o valor contido no endereço de memória aponta-
do pelo seu operando.
O resultado será escrito no acumulador, sobrescrevendo o seu conteúdo anterior.
Exemplo:
Supondo que os dados armazenados na memória do SAP 1 e os respectivos endereços
sejam:
CH 08H
DH 02H
EH 01H
FH 05H

Observação: Valores armazenados em hexadecimal.


A instrução SUB EH irá subtrair o valor armazenado no acumulador por 01H (que é o valor
armazenado na posição EH).
Mais uma vez, se considerarmos os dois exemplos anteriores, o valor atual do acumulador
é AH. Portanto, a instrução SUB EH resultará no valor 09H que será escrito no acumulador, so-
brescrevendo o valor anterior AH.

Resumindo––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
As instruções ADD e SUB executam operações de soma e subtração sempre envolvendo um operando que será
buscado na memória RAM com o conteúdo do acumulador. Sendo assim, para executar qualquer uma dessas
operações, é necessário carregar o primeiro operando no acumulador com a instrução LDA. Após a instrução a ser
executada, o resultado será escrito no acumulador, substituindo o valor anterior (primeiro operando) pelo resultado
obtido pelo Somador-Subtrator.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

OUT
Esta instrução faz com que o conteúdo armazenado no acumulador seja indicado no mó-
dulo indicador visual binário.
A instrução OUT não faz referência à memória como nos exemplos das instruções LDA,
ADD e SUB.
O OUT irá, simplesmente, pegar o valor contido no acumulador e transferi-lo ao regis-
trador de saída, que por sua vez está conectado ao conjunto de LEDs que compõem o módulo
Indicador Visual Binário.

Claretiano - Centro Universitário


164 © Arquitetura e Organização de Computadores

Exemplo:
OUT
Considerando todos os exemplos anteriores, o valor atual do acumulador é 09H e, assim,
o resultado obtido após o OUT desse exemplo será o seguinte:

Indicador Visual Binário

0000 1001 – ou seja, 09H.

HLT
A instrução HLT não faz referência à memória e serve para desativar o CLOCK fazendo com
que o módulo Controlador-Sequencializador pare de funcionar, encerrando o programa.
A falta da instrução HLT no final do programa, irá gerar um erro, pois o computador con-
tinuará procurando instruções nos próximos endereços de memória e encontrará apenas os
dados.
O erro causado é denominado refugo ou trash que quer dizer resposta sem significado
causado por processamento descontrolado.

Exemplos de programação do SAP1


Exemplo:
Faremos um programa para retornar o resultado de 3+5.
Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma-
zenados nas posições EH e FH da memória.
ENDEREÇO INSTRUÇÃO
0H LDA EH
1H ADD FH
2H OUT
3H HLT
4H
5H
6H
7H
8H
9H
AH
BH
CH
DH
EH 03H
FH 05H
© U7 - SAP1: Conjunto de Instruções e Programação 165

Exemplo:
Agora, faremos um programa para retornar o resultado da expressão: 7 – 3.
Observação: Os valores 7 e 3 estão no sistema de numeração decimal e deverão ser arma-
zenados nas posições EH e FH da memória.

ENDEREÇO INSTRUÇÃO
0H LDA EH
1H SUB FH
2H OUT
3H HLT
4H
5H
6H
7H
8H
9H
AH
BH
CH
DH
EH 07H
FH 03H

Exemplo:
Vamos complicar mais um pouquinho. Faremos, agora, um programa para calcular a se-
guinte expressão: 2 + 5 +20 - 17.
Neste momento, sugerimos que você consulte o Apêndice A para entender a conversão do
sistema numérico decimal para o sistema numérico hexadecimal.
Observação: Os valores 2, 5, 20 e 17 estão no sistema de numeração decimal e deverão ser
armazenados nas posições de memória compreendidos entre CH e FH.

ENDEREÇO INSTRUÇÃO
0H LDA CH
1H ADD DH
2H ADD EH
3H SUB FH
4H OUT
5H HLT
6H
7H
8H
9H
AH
BH
CH 02H
DH 05H
EH 14H
FH 11H


Claretiano - Centro Universitário
166 © Arquitetura e Organização de Computadores

7. PROGRAMA ESCRITO EM LINGUAGEM DE MONTAGEM X PROGRAMA ES-


CRITO EM LINGUAGEM DE MÁQUINA
Os programas escritos, anteriormente, utilizam os MNEMÔNICOS das instruções do SAP1,
juntamente com os valores de posição de memória e operandos em hexadecimal.
Essa forma de se escrever um programa chama-se MONTAGEM (assembly), ou seja, os
programas escritos até agora utilizaram uma linguagem denominada de Linguagem de Monta-
gem, que gerou o que chamamos de programa fonte.
Como bem sabemos, os computadores precisam receber um programa em linguagem de
máquina para poder trabalhar, e o que veremos na sequência é como se faz para transformar
um programa fonte escrito em linguagem de montagem, em um programa escrito em lingua-
gem de máquina.
Qualquer programa escrito em linguagem de máquina chama-se programa objeto.
A maioria dos programadores trabalham escrevendo programa em uma linguagem de alto
nível e quem transforma o programa fonte em programa objeto é o tradutor (pode ser um com-
pilador ou interpretador).
Veremos como é que se traduz um programa escrito em linguagem de montagem para
linguagem de máquina, sem a ajuda de um tradutor.
Veja como é simples, basta substituir todos os valores apontados em hexadecimal para
binário e indicar as instruções por meio dos seus códigos de operação (opcode), e não mais pelo
mnemônico (apelido).
Para ficar claro, estude os programas a seguir, que são as traduções dos exemplos feitos
em linguagem de montagem apresentados até agora.

Exemplos de programas escritos em linguagem de máquina


Exemplo:
Faremos um programa para retornar o resultado de 3+5.
Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma-
zenados nas posições EH e FH da memória.

ENDEREÇO INSTRUÇÃO
0000 0000 1110
0001 0001 1111
0010 1110
0011 1111
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110 0000 0011
1111 0000 0101
© U7 - SAP1: Conjunto de Instruções e Programação 167

Exemplo:
Agora, faremos um programa para retornar o resultado da expressão: 7 – 3.
Observação: Os valores 7 e 3 estão no sistema de numeração decimal e deverão ser arma-
zenados nas posições EH e FH da memória.

ENDEREÇO INSTRUÇÃO
0000 0000 1110
0001 0010 1111
0010 1110
0011 1111
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110 0000 0111
1111 0000 0011

Exemplo:
Vamos complicar mais um pouquinho. Faremos, agora, um programa para calcular a se-
guinte expressão: 2 + 5 +20 - 17.
Observação: Os valores 2, 5, 20 e 17 estão no sistema de numeração decimal e deverão
ser armazenados nas posições de memória compreendidos entre CH e FH.

ENDEREÇO INSTRUÇÃO
0000 0000 1100
0001 0001 1101
0010 0001 1110
0011 0010 1111
0100 1110
0101 1111
0110
0111
1000
1001
1010
1011
1100 0000 0010
1101 0000 0101
1110 0001 0100
1111 0001 0001

Claretiano - Centro Universitário


168 © Arquitetura e Organização de Computadores

8. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) Conceitue o termo instrução.

2) Apresente as instruções do SAP1 e explique a função de cada uma delas.

3) Relacione os termos mnemônico e OPCODE. Explique o significado de cada termo e apresente um exemplo de
cada.

4) Defina linguagem de máquina e explique como é possível programar um computador nessa linguagem.

5) Defina linguagem de montagem e explique como é possível programar um computador nessa linguagem.

6) Como pode ser feito a tradução de um programa escrito em linguagem de montagem para linguagem de má-
quina? Cite um exemplo.

7) Escreva um programa em linguagem de montagem para realizar a seguinte operação aritmética: 7 + 2 – 1.

8) Escreva um programa em linguagem de montagem para realizar a seguinte operação aritmética: 75 + 20 – 18.

9) Traduza os programas desenvolvidos nas questões7 e 8para linguagem de máquina.

9. CONSIDERAÇÕES
Nesta unidade, além de estudar as instruções aceitas pelo computador SAP1, você teve
a possibilidade de aprender como se escreve um programa em linguagem de montagem e em
linguagem de máquina.
Na próxima unidade, você aprenderáde que forma uma instrução é executada no SAP1.

10. REFERÊNCIAS BIBLIOGRÁFICAS


MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw-Hill do Brasil, 1985.
EAD
SAP1: Como as instruções
são executadas

1. OBJETIVO
• Compreender e reconhecer os caminhos percorridos pelas instruções durante a execu-
ção de um programa.

2. CONTEÚDOS
• Ciclo de busca Feth.
• Ciclo de execução.
• Ciclo de máquina.
• Microprograma.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Fique atento a todo o conteúdo desta unidade, na qual você encontrará conceitos
importantes para sua aprendizagem.
2) Volte às unidades anteriores para entender e recordar os conceitos propostos. Consul-
te sempre o Glossário quando surgirem ideias que ainda não foram completamente
assimiladas.
3) Nesta unidade, é fundamental que você entenda a função de cada módulo da arquite-
tura do SAP1. Tire o máximo de proveito dos seus estudos.
170 © Arquitetura e Organização de Computadores

4) Tire dúvidas com o seu tutor sempre que for necessário e não deixe de levar para as
aulas presenciais as suas dúvidas e questionamentos.

4. INTRODUÇÃO À UNIDADE
Após estudar as instruções, os mnemônicos, os OPCODES e como fazer a programação
SAP1 na unidade anterior, nesta unidade, você conhecerá o modo como são executadas as ins-
truções do SAP1, o ciclo de busca Feth, o ciclo de execução, o ciclo de máquina e o microprogra-
ma.
Aconselho você a analisar os exemplos, linha a linha, para entender o seu funcionamento,
pois esse tipo de análise é um método eficiente para aprendizagem, além de prepará-lo para o
futuro aprendizado de novas estruturas.
Não deixe de refletir sobre cada parágrafo estudado, faça todas as atividades propostas,
leia as bibliografias propostas, visite sites e, não deixe dúvidas sobre o assunto. Lembre-se de
que estaremos sempre prontos a atendê-lo na sala de aula virtual.
Bom estudo!

5. CONTROLE DO SAP1
Você já viu que o módulo responsável pelo controle de todas as operações no SAP1 é o
Controlador-Sequencializador que envia, para toda a arquitetura, sinais de controle por meio de
um barramento que recebe o nome de Barramento de Controle.
Os sinais (bits) enviados ao computador pelo barramento de controle são chamados de
PALAVRA DE CONTROLE e os bits que trafegam por ali recebem um nome relacionado ao seu
significado e, também, uma representação que indica se ele será ativo no nível lógico 0 ou nível
lógico 1.
Por exemplo:
• se o nome do sinal aparecer escrito de forma complementada, ele estará ativo se o seu
valor for igual a 0 e inativo se o seu valor for igual a 1;
• se, ao contrário, o seu nome estiver escrito sem complemento, o sinal estará ativo caso
o seu valor seja 1 e inativo caso o seu valor seja 0.
Veja no quadro, a seguir, um exemplo prático:

SINAL 0 1
Cp Inativo Ativo

Ep Inativo Ativo

Ativo Inativo
LM
Ativo Inativo
CE

Ativo Inativo
Li

Inativo Ativo
Ea
© U8 - SAP1: Como as instruções são executadas 171

As palavras de controle são enviadas ao barramento e recebidas pelas unidades (ou mó-
dulos) do computador continuamente. Neste caso, é necessário um mecanismo para controlar
o momento exato de mudar a palavra de controle, este tempo é determinado pelo CLOCK do
computador.
Seria somente isso, caso o computador pudesse executar uma instrução em apenas um
pulso de CLOCK, mas na prática o computador necessita vários pulsos de CLOCK para conseguir
executar uma instrução.
Uma instrução é dividida em vários estágios de execução, e em cada estágio, uma palavra
de controle é gerada. Estas palavras que compõem as etapas de execução de uma instrução são
chamadas de MICROINSTRUÇÃO e a instrução propriamente dita pode ser chamada de MA-
CROINSTRUÇÃO (LDA, ADD, SUB etc.).
Os computadores executam os estágios da instrução, em uma organização dos pulsos de
CLOCK chamado de ESTADOS.
O SAP1 tem seis estados para controlar a execução de uma instrução. Estes estados, por
sua vez, são definidos por um CONTADOR EM ANEL localizado dentro do Controlador-Sequen-
cializador.
O contador em anel funciona da seguinte forma:
Com seis saídas (T6 T5 T4 T3 T2 T1), inicialmente, somente a saída T1 vale 1. Depois de um
pulso de CLOCK, a saída T2 passa a valer 1 e T1 volta a valer 0 e assim sucessivamente até chegar
em T6, retornando no próximo pulso de CLOCK a configuração inicial do contador e, assim, o
processo é reiniciado.
Estados de temporização:

T1 = 000001
T2 = 000010
T3 = 0000100
T4 = 0001000
T5 = 010000
T6 = 100000

Diagrama do contador em anel:

Claretiano - Centro Universitário


172 © Arquitetura e Organização de Computadores

Veja como é que o contador em anel divide os pulsos de CLOCK:

Fonte: MALVINO, 1985, p. 274.


Figura 1 Sinais de relógio e temporização.

Observe que as mudanças de cada estado ocorrem na transição negativa do pulso de


CLOCK. Como a palavra presente no barramento de controle entra nos módulos na transição
positiva, haverá um intervalo (meio pulso) entre a inserção de uma palavra no barramento e sua
leitura e, também, mais meio pulso entre a leitura e a inserção de uma nova palavra. Isso é ne-
cessário para respeitar o tempo de preparação e o tempo de retenção, ou seja, o intervalo entre
a inserção de uma palavra de controle e a substituição desta palavra pela próxima, não pode ser
muito curto, pois é necessário um tempo para que os sinais sejam estabilizados no barramento,
denominado tempo de preparação, mais um tempo necessário para que os módulos efetuem a
leitura do barramento, denominado tempo de retenção (hold).
O número de estados e a forma com que eles são utilizados variam para cada computador.
O SAP1, conforme descrito anteriormente, possui seis estados, ele utiliza os três primeiros
estados para buscar uma instrução e os três últimos para executar essas instruções.

Existem computadores que utilizam, por exemplo, três estados para buscar uma instrução
e nove para executar uma instrução.

6. CICLO DE MÁQUINA E CICLO DE INSTRUÇÃO


Como o SAP1 possui seis estados, chamamos esses seis estados de ciclo de máquina.
No caso do SAP1, esses estados sempre são suficientes para buscar e executar uma ins-
trução.
© U8 - SAP1: Como as instruções são executadas 173

Existem outros computadores que possuem ciclo de máquina de mais estados e, também,
casos em que o ciclo de máquina não é suficiente para buscar e executar todas as instruções.
Quando o ciclo de máquina possui menos estados do que o necessário para executar uma
instrução, consequentemente, o computador gastará mais de um ciclo. O conjunto de estados
gastos para buscar e executar uma instrução é chamado de CICLO DE INSTRUÇÃO.
Observe:

Fonte: MALVINO, 1985, p. 275.


Figura 2 Ciclo de instrução e ciclo de máquinas.

Ciclo de Busca (FETCH)


O ciclo de busca FETCH do SAP1 utiliza os estados T1, T2 e T3 para ser executado.
Vejamos o nome desses estados e o que acontece em cada um deles:
• Estado de endereço: é o estado T1 onde o conteúdo do Contador de Programa (CP) é
transferido para o Registrador de Endereços (REM).
Para que isso aconteça, os sinais Ep e Lm’ ficam ativos fazendo, assim, com que o conteúdo
do CP seja colocado no barramento w (Ep ativo) e com que o registrador REM carregue o conte-
údo presente no barramento (Lm’ ativo).
Veja a palavra de controle para este estado e também os módulos que estão ativos.

C o n Cp Ep Lm CE Li Ei La Ea Su Eu Lb Lo
= 0 1 0 1 1 1 1 0 0 0 1 1

Claretiano - Centro Universitário


174 © Arquitetura e Organização de Computadores

Fonte: MALVINO, 1985, p. 269.


Figura 3 Módulos ativos (mais claros) durante o estado T1.

• Estado de incremento: é o estado T2 onde o conteúdo do CP é incrementado.


O PC é incrementado porque o sinal Cp está ativo.
Veja a palavra de controle para este estado e também os módulos que estão ativos.

Cp Ep Lm CE Li Ei La Ea Su Eu Lb L0
Con=
1 0 1 1 1 1 1 0 0 0 1 1

Fonte: MALVINO, 1985, p. 269.


Figura 4 Módulos ativos (mais claros) durante o estado T2.

• Estado de memória: é o estado T3 do ciclo de máquina.


Neste estado, o conteúdo endereçado da RAM é transferido da memória para o registra-
dor de instrução.
Veja a palavra de controle para este estado e, também, os módulos que estão ativos.
Cp Ep Lm CE Li Ei La Ea Su Eu Lb Lo
Con=
0 0 1 0 0 1 1 0 0 0 1 1
© U8 - SAP1: Como as instruções são executadas 175

Fonte: MALVINO, 1985, p. 269.


Figura 5 Módulos ativos (mais claros) durante o estado T3.

Ciclo de Execução (EXECUTE)


Os próximos três estados são utilizados para a execução das instruções do SAP1. Como
cada instrução age sobre o computador de maneira diferente, é necessário estudá-las separa-
damente.
A Tabela 1 contém o microprograma do SAP1 e o ajudará a entender o que ocorre em cada
estado de temporização, em cada instrução.

Tabela 1 Microprograma do SAP1.


MACRO ESTADO PALAVRA DE CONTROLE SINAIS ATIVOS
LDA T4 1A3H Lm´, Ei´
T5 1C3H CE´, La´
T6 3E3H NOP
ADD T4 1A3H Lm´, Ei´
T5 2E1H CE´, Lb´
T6 3C7H La´, Eu
SUB T4 1A3H Lm´, Ei´
T5 2E1H CE´, Lb´
T6 3CFH La´, Su, Eu
OUT T4 3F2H Ea, Lo´
T5 3E3H NOP

T6 3E3H NOP

Palavra de Controle: Cp Ep La’ CE’ Li’ Ei’ La’ Ea Su Eu Lb’ Lo’


De acordo com a tabela do microprograma do SAP1, vejamos o que acontece em cada
estado de cada instrução para as instruções que seguem.

LDA
Estado T4: os bits ativos são Lm’, Ei’, o que significa que o nibble referente ao endereço de
operando presente no Registrador de Instruções será colocado no barramento w (Ei’) e o mó-
dulo do registrador de endereços (REM) efetuará uma leitura do barramento w (Lm’), ou seja, o
campo que contém o endereço do operando da instrução LDA será movido para o módulo REM.

Claretiano - Centro Universitário


176 © Arquitetura e Organização de Computadores

Estado T5: os bits ativos são CE’, La’, o que significa que a palavra de dado armazenada na RAM
que está sendo apontada pelo Registrador de Endereço (REM) será colocada no barramento w (CE’) e
que o Acumulador efetuará a leitura do barramento w (La’).
Estado T6: neste estado, todos os sinais da palavra de controle estão desabilitados, o que
significa ausência de operação Nop (inoperante).

Módulo ativos em cada estado da instrução LDA

ESTADO T4 ESTADO T5

ESTADO T6

ADD
Estado T4: os bits ativos são Lm’, Ei’, o que significa que o nibble referente ao endereço de
operando presente no Registrador de Instruções será colocado no barramento w (Ei’) e o mó-
© U8 - SAP1: Como as instruções são executadas 177

dulo do registrador de endereços (REM) efetuará uma leitura do barramento w (Lm’), ou seja, o
campo que contém o endereço do operando da instrução ADD será movido para o módulo REM.
Estado T5: os bits ativos são CE’, Lb’, o que significa que a palavra de dados presente na
memória RAM que está sendo apontada pelo módulo REM seja disponibilizada no barramento
w (CE’), e capturada pelo Registrador B (Lb’), ou seja, neste estado o operando da instrução ADD
será transferido para o registrador B para, depois, ser somado com o conteúdo do acumulador.
Estado T6: os bits ativos são: La’, Eu, o que faz com que o resultado obtido pela operação
do SOMADOR-SUBTRATOR, que é assíncrono, seja disponibilizado no barramento w (Eu) e cap-
turado pelo acumulador (La’), fazendo com que o resultado da operação seja armazenado no
acumulador.

SUB
Estado T4: os bits ativos são Lm’, Ei’, o que significa que o nibble referente ao endereço de
operando presente no Registrador de Instruções será colocado no barramento w (Ei’) e o mó-
dulo do registrador de endereços (REM) efetuará uma leitura do barramento w (Lm’), ou seja, o
campo que contém o endereço do operando da instrução SUB será movido para o módulo REM.
Estado T5: os bits ativos são CE’, Lb’, o que significa que a palavra de dados presente na
memória RAM que está sendo apontada pelo módulo REM seja disponibilizada no barramento
w (CE’), e capturada pelo Registrador B (Lb’), ou seja, neste estado o operando da instrução SUB
será transferido para o registrador B para depois ser subtraído do conteúdo do acumulador.
Estado T6: os bits ativos são: La’, Su, Eu, o que faz com que o resultado obtido pela ope-
ração do SOMADOR-SUBTRATOR, que é assíncrono, seja disponibilizado no barramento w (Eu)
e capturado pelo acumulador (La’), fazendo com que o resultado da operação seja armazenado
no acumulador. Observe que até aqui tudo ocorre de forma idêntica ao estado T6 da instrução
LDA, o que muda é o sinal Su que está alto, fazendo com que o SOMADOR-SUBTRATOR efetue
uma subtração e não uma soma.
Os módulos ativos das instruções ADD e SUB serão analisados juntos na mesma figura.
Observe a seguir:

Claretiano - Centro Universitário


178 © Arquitetura e Organização de Computadores

Módulo ativos em cada estado da instrução ADD/SUB

ESTADO T4 ESTADO T5

ESTADO T6

OUT
No estado T4 da instrução OUT, os sinais Ea, Lo’ estão ativos, fazendo com que o conteúdo
armazenado no acumulador seja disponibilizado no barramento w (Ea) e o Registrador de Saída,
por meio do sinal (Lo’) ativo, captura o conteúdo do barramento w, mostrando instantaneamen-
te o seu conteúdo ao usuário do computador pelo módulo indicador visual binário (assíncrono
e conectado diretamente no registrador de saída).
Estados T5 e T6: nestes estados, todos os sinais da palavra de controle estão desabilitados,
o que significa ausência de operação Nop (inoperante).
© U8 - SAP1: Como as instruções são executadas 179

Módulos ativos em cada estado da instrução OUT

ESTADO T4 ESTADO T5

ESTADO T6

HLT
A instrução HLT simplesmente desliga o CLOCK do computador fazendo com que o Con-
trolador-Sequencializador pare de trabalhar. Ele não requer nenhum sinal de controle, pois não
envolve nenhum registrador.

7. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:

Claretiano - Centro Universitário


180 © Arquitetura e Organização de Computadores

1) O que é uma microinstrução? Cite um exemplo.

2) Explique o funcionamento de um contador em anel.

3) O que significa sincronismo? Qual é a importância do sincronismo na arquitetura do SAP1?

4) Conceitue e cite um exemplo para:


a) Ciclo de máquina.
b) Ciclo de busca.
c) Ciclo de execução.
d) Ciclo de instrução.
5) Explique, no contexto da execução de uma instrução do SAP1, o significado do termo ESTADO.

6) Explique o que acontece durante o ciclo de busca de uma instrução. Apresente as palavras de controle para os
estados que constituem o ciclo de busca.

7) Apresente o microprograma da execução da instrução SUB eo microprograma da busca e execução da instrução


OUT.

8. CONSIDERAÇÕES
Você terminou de estudar a arquitetura e o funcionamento de um computador bem sim-
ples, denominado SAP1. Na próxima unidade, você irá conhecer o SAP2, que é uma evolução do
SAP1 na direção dos computadores atuais; além disso, serão apresentadas maisalgumas instru-
ções e uma arquitetura mais complexa e eficiente.

9. REFERÊNCIAS BIBLIOGRÁFICAS
MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw-Hill do Brasil, 1985.
EAD
SAP2: Arquitetura
e Programação

1. OBJETIVO
• Compreender a evolução da arquitetura e programação dos computadores, utilizando
como exemplo o SAP2.

2. CONTEÚDOS
• Arquitetura do SAP2.
• Instruções.
• Programação.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que você leia as orientações a se-
guir:
1) Procure entender a função de cada módulo do SAP2.
2) Faça uma comparação entre a arquitetura de hardware do SAP1 e a arquitetura de
hardware do SAP2.
3) Estude todas as instruções do SAP2 e sua sintaxe.Procure entender todos os exemplos
durante o estudo desta unidade.
4) Tenha sempre à mão alguns livros da bibliografia básica e também da bibliografia
complementar. Não se contente em estudar apenas uma única fonte de informação,
pesquise em mais de uma obra.
5) Tire dúvidas com o seu tutor sempre que for necessário e não deixe de levar para as
aulas presenciais as suas dúvidas e questionamentos.
182 © Arquitetura e Organização de Computadores

4. INTRODUÇÃO À UNIDADE
Nas unidades anteriores, você teve a oportunidade de aprender sobre a arquitetura e
programação do SAP1.
Nesta unidade, você conhecerá o SAP2, que é um computador que evoluiu do SAP1.
Assim, o SAP2 contempla toda a lógica do SAP1, só que com uma arquitetura mais comple-
ta, além de muitas instruções adicionais.
Bons Estudos!

5. SAP 2 – ARQUITETURA E PROGRAMAÇÃO


O SAP2 é uma evolução no sentido dos computadores atuais; sua arquitetura é mais com-
pleta e ele possui muito mais instruções que, inclusive, são compatíveis com o processador
8085, amplamente utilizado comercialmente.
Na arquitetura, a novidade fica por conta dos registradores bidirecionais, que, por sua
capacidade de enviar ou receber dados por meiode um único barramento, deixam a arquitetura
mais enxuta.
Observe, na Figura 1, imagens do registrador de três estados (bidirecionais):

Fonte: MALVINO (1985,p. 305).


Figura 1 Registradores de três estados.
© U9 - SAP2: Arquitetura e Programação 183

Já com relação às instruções, a novidade fica por conta das instruções de salto e salto
condicional.
Cada módulo possui um sinal LOAD e um sinal HABILITA que poderão estar ativados ou
não.
Um sinal LOAD ativado significa que os dados fluem do barramento w para o registrador;
e um sinal HABILITA ativado significa que os dados fluem no sentido inverso, ou seja, do regis-
trador para o barramento.
Os sinais LOAD e HABILITA podem ficar desabilitados ao mesmo tempo, o que faz com
que aquele módulo fique invisível ao sistema, mas nunca poderão ficar habilitados ao mesmo
tempo.
Veja na Figura 2, a arquitetura em blocos do SAP2.

Fonte: MALVINO (1985, p. 306).


Figura 2 Arquitetura do SAP2.

Ao analisarmos a Figura 2, percebemos a existência de vários blocos, os quais serão expli-


cados a seguir. Acompanhe atentamente.

Portas de Entrada
A porta de entrada 1 é um codificador hexadecimal de teclado e a porta de entrada 2 é
uma porta serial que permite a entrada de dados bit a bit.
Claretiano - Centro Universitário
184 © Arquitetura e Organização de Computadores

A porta 2, além de receber sinais seriais, ainda tem a função de receber um sinal de “pron-
to” (READY) enviado pelo codificador hexadecimal de teclado (entrada 1).

Contador de Programa
O contador de programa do SAP2 possui 16 bits contra os 4 bits do SAP1, tendo, portanto,
65.535 linhas numeradas de 0000H a FFFFH.

REM
O registrador de endereços (REM) funciona de forma idêntica à do SAP1, apenas com a
diferença de endereçar 16bitsem vez de 4bits, como no SAP1.

Memória
A memória é constituída por uma ROM de 2K com os endereços que vão da posição 0000H
a 07FFH, e uma RAM de 62K endereçadas de 0800H a FFFFH.
Na memória ROM fica armazenado um programa denominado monitor, que tem a função
de inicializar o computador, reconhecendo o teclado, entrada serial etc.

Registrador de Dados de Memória (MDR)


O Registrador de Dados de Memória (MDR) é um buffer de 8 bits conectados entre a RAM
e o barramento W. A sua função é prover um armazenamento temporário para uma manobra
de escrita e leitura da memória RAM.

Registrador de Instrução
O registrador de instrução do SAP2 pode trabalhar com 256 instruções contra o limite de
16 instruções do SAP1.
Nem o SAP1 utiliza 16 instruções, nem o SAP2 utiliza 256 instruções (ele tem apenas 42
instruções), mas o número de bits utilizados pelo RI para controlar as instruções é baseado no
conjunto de instruções 8080 e 8085, para que desde já possamos trabalhar com instruções com-
patíveis com essas arquiteturas.

Controlador-Sequencializador
O controlador-sequencializador funciona exatamente da mesma forma que o apresentado
no SAP1, com exceção do número de bits da palavra de controle, que é maior e, portanto, resul-
ta em um hardware mais complexo.

Acumulador
O acumulador tem uma saída bidirecional conectada ao barramento W e uma saída de
dois estados para a unidade lógica e aritmética.

Unidade Lógica e Aritmética (ULA) e Flags de controle


A ULA do SAP2 possui, além das operações de soma e subtração do SAP1, outras funções
aritméticas e também funções lógicas que são selecionadas por meio da palavra de controle.
© U9 - SAP2: Arquitetura e Programação 185

Uma novidade é a conexão da ULA com um registrador que serve de indicador “flag” ou
“bandeira” e informa, por meio dos seus sinais, o estado atual do resultado da operação execu-
tada pela ULA.
O SAP2 tem dois flags; um flag de sinal, que fica setado quando o conteúdo do acumu-
lador ficar negativo, e outro flag de zero, que é setado quando o conteúdo do acumulador for
zero.

Registradores TMP, B e C
O registrador TMP é um registrador temporário e tem a mesma função do registrador B do
SAP1, ou seja, é por meio desse registrador que o segundo operando chega à ULA.
Já os registradores B e C são de propósito gerais e podem ser utilizados para armazenar
dados durante o processamento de instruções.

Portas de Saída
O SAP2 possui duas saídas: a primeira é um registrador que está conectado a um display
hexadecimal para que os dados possam ser visualizados; e a outra saída é um registrador res-
ponsável pelo envio dos dados a um dispositivo externo por meio de sinais seriais, ou seja, é
uma porta de saída serial.
A porta de saída serial possui um sinal importante: o ACKNOWLEDGE, que significa reco-
nhecimento e faz parte do procedimento de HANDSHAKING ou “aperto de mão”.
O “aperto de mão” é essencial para que haja uma comunicação de dados seriais assíncro-
na, pois é o procedimento responsável por negociar a transferência dos dados entre o emissor
e o receptor dos dados.
O ciclo de busca do SAP2 é igual ao ciclo de busca do SAP1, ou seja:
• o estado T1 é o estado de endereço;
• o estado T2 é o estado de incremento;
• o estado T3 é o estado de memória.
Já o ciclo de execução do SAP2 varia de acordo com cada instrução, da mesma forma que
você aprendeu na unidade anterior, referente ao SAP1.
Como o SAP2 possui um ciclo de máquina variável, algumas instruções poderão ser execu-
tadas mais rápida ou mais lentamente do que outras.
No SAP1, todos os estados anteriores fazem referência à memória, pois, obrigatoriamen-
te, a instrução sai da memória RAM e vai para o registrador de instruções.
Já no SAP2, nem todas as instruções fazem referência à memória e, para que isso fique
bem claro,as instruções serão agrupadas e apresentadas na seguinte sequência: primeiro, as
instruções com referência à memória, e, depois, as que não fazem referência à memória.

Instruções com referência à memóriano SAP2


Vejamos agora algumas instruções com referência à memória no SAP2.

Claretiano - Centro Universitário


186 © Arquitetura e Organização de Computadores

LDA (Load Accumulator)


A instrução LDA carrega o acumulador com o conteúdo da memória apontado pelo ende-
reço do campo operando da instrução.

Exemplo:
A instrução LDA 1500H irá carregar o conteúdo armazenado na posição 1500H da memó-
ria RAM no acumulador.
INSTRUÇÃO OPERANDO
LDA 1500H

STA (Store Accumulator)


A instrução STA faz o inverso da instrução LDA.
Ela pega o conteúdo do acumulador e armazena na posição de memória apontada pelo
seu campo operando.

Exemplo:
A instrução STA 1540H irá mover o conteúdo do acumulador para a posição 1540H da
memória RAM.
INSTRUÇÃO OPERANDO
STA 1540H

O termo mover é muito utilizado na programação de baixo nível e significa que o dado
será copiado de um lugar para outro, ou seja, de um registrador para outro registrador, de um
registrador para a memória, ou da memória para um registrador.

MVI (Move Immediate)


Carrega um dos acumuladores A (acumulador), B ou C com o byte apontado para o ope-
rando (uma constante).

Sintaxe:
MVI R, byte – onde R = registrador e byte é a constante.

Exemplo:
INSTRUÇÃO REGISTRADOR OPERANDO
MVI A 57H

MVI A,57H (observe que háuma vírgula separando o registrador do operando), carrega o
acumulador com o valor 57H, ou seja, com o número decimal.
57H = 0101 0111
5 7 Hexadecimal
0101 0111 Binário
01010111 = (103)10
© U9 - SAP2: Arquitetura e Programação 187

MVI B,50H – carrega o registrador B com o valor 50H;


MVI C,20H – carrega o registrador C com o valor 20H.

Instruções de Registradores
O acesso à memória faz com que as instruções sejam mais lentas e por isso, sempre que
possível, o melhor é utilizar instruções que não fazem referência à memória.

MOV (move)
A instrução MOV move o conteúdo de um registrador para outro.

Exemplo:
MOV A,B – move o conteúdo do registrador B para o acumulador (registrador A).
MOV C,B – move o conteúdo do registrador B para o registrador C.
Pode-se envolver qualquer registrador na instrução MOV, sempre respeitando a ordem:

o registrador apontado 
no segundo operando será movido para o registrador apontado pelo
primeiro operando. 



Instrução Registrador Operando


ADD
 (add)
ADD é uma instrução que soma o conteúdo do registrador apontado na instrução com o
ADD (add)
conteúdo do acumulador.
ADD é uma instrução que soma o conteúdo do registrador apontado na instrução com o
conteúdo do acumulador.
Sintaxe:
ADD R
Sintaxe:
ADDRRé o nome do registrador cujo conteúdo será somado com o acumulador.
Onde
Onde R é o nome do registrador cujo conteúdo será somado com o acumulador.
Exemplo:
Exemplo:
Se A = 01H e C = 06H, então o conteúdo do acumulador após a instrução ADD C será 07H.
Se A = 01H e C = 06H, então o conteúdo do acumulador após a instrução ADD C será
07H.
Outros exemplos:
ADDexemplos:
Outros B – soma o conteúdo do registrador B com o conteúdo do acumulador.
ADD C B– –soma
ADD somaooconteúdo
conteúdodo
doregistrador C com
registrador B com ooconteúdo
conteúdodo
doacumulador.
acumulador.
ADD C – soma o conteúdo do registrador C com o conteúdo do acumulador.
SUB (sub)
SUB (sub)
A instrução SUB
A instrução significa
SUB significasubtrair
subtrairdodoacumulador
acumuladorooconteúdo
conteúdodo
doregistrador
registradorapontado
apontadopor
R. por R.

Sintaxe: Claretiano - Centro Universitário


SUB R
188 © Arquitetura e Organização de Computadores

Sintaxe:
SUB R
Onde R é o nome do registrador cujo conteúdo será subtraído do acumulador.

Exemplo:
SUB B
SUB C

INR (incremento)
INR é uma instrução que incrementa o conteúdo de um registrador (A, B ou C).

Sintaxe:
INR R
Onde R representa o registrador que sofrerá o incremento (de uma unidade).

Exemplo:
INR A
INR B
INRC C
Se A = 41H, logo após a instrução INC A o valor de A será 42H.

DCR (decremento)
DCR é a instrução que, ao contrário do INR, decrementa uma unidade do registrador apon-
tado por R.

Sintaxe:
DCR R
Onde R representa o registrador que sofrerá o decremento.

Instruções de Salto
As instruções de salto permitem que a sequência de execução de um programa seja alte-
rada.
O salto pode ser condicional (acontecer ou não em determinados casos), ou incondicional
(sempre acontecer).
O SAP2 possui uma instrução de salto incondicional e três instruções de saltos condicio-
nais.

JMP (jump)
A instrução JMP solicita ao computador que salte para o endereço designado pelo campo
do seu operando.
© U9 - SAP2: Arquitetura e Programação 189

Sintaxe:
JMP endereço.

Exemplo:
JMP 1250H – esta instrução desvia o fluxo de execução do programa para o endereço de
memória 1250H.
A instrução JMP é incondicional e altera, durante a sua execução, o valor do registrador
contador de programa.

JM (jump if minus)
A instrução JM executa um salto condicional, ou seja, executa o salto caso o flag de sinal
esteja setado.
Sendo assim, o desvio só ocorreráse o conteúdo do acumulador for negativo; caso contrá-
rio, o conteúdo do registrador contador de programa continuará inalterado.

Sintaxe:
JM endereço

Exemplo:
JM 2100H
Ao passar por essa instrução e o flag de sinal estiver setado, o valor do contador de pro-
grama passará a ser 2100H.

JZ (jump if zero)
JZ é outra instrução de salto condicional, ou seja, executa o salto caso o flag de zero esteja
setado.

Sintaxe:
JZ endereço.

Exemplo:
JZ 2100H.
Ao passar por essa instrução e o flag de zero estiver setado, o valor do contador de pro-
grama passará a ser 2100H.

JNZ (jump if not zero)


Essa é mais uma instrução de salto condicional que irá alterar o valor do contador de pro-
grama caso o flag de zero não esteja setado.

Sintaxe:
JNZ endereço.

Claretiano - Centro Universitário


190 © Arquitetura e Organização de Computadores

Exemplo:
JNZ 2100H.
Ao passar por essa instrução e o flag de zero nãoestiver setado, o valor do contador de
programa passará a ser 2100H.

Instruções de chamadas de sub-rotinas


Uma sub-rotina é muito útil na programação de um computador. Ela diminui o trabalho de
programação, diminui o uso da memória e as chances de se cometer erros.
Não é só nas linguagens de programação de alto nível que as sub-rotinas podem ser uti-
lizadas. Existem instruções apropriadas para as chamadas e retornos de sub-rotinas. Observe.

CALL (chamar) e RET (retornar)


A instrução CALL é utilizada para alterar o valor do contador de programa com a finalidade
de que seja executado um conjunto de instruções até que a instrução RET seja encontrada.
Pode-se, por exemplo, criar uma sub-rotina que tem início no endereço 4000H para calcu-
lar a raiz quadrada de um número e, sempre que for necessário calcular a raiz quadrada de um
número durante o programa, basta chamar essa rotina com a instrução CALL 4000H.
Mas como o computador sabe o valor que deve ser inserido no contador de programa
para poder retornar à execução normal do programa após a instrução RET?
Quando a instrução CALL é invocada, o valor presente no contador de programa é arma-
zenado nas duas últimas posições de memória (FFFEH e FFFFH) e, assim que a instrução RET for
executada, os valores armazenados nessas posições de memória são transferidos novamente ao
contador de programa. Observe, a seguir, a chamada de uma sub-rotina.
© U9 - SAP2: Arquitetura e Programação 191

Instruções Lógicas
O Quadro 1 representa as instruções lógicas do SAP2 com os respectivos detalhamentos
de utilização.

Quadro 1Instruções lógicas do SAP2.


INSTRUÇÃO FUNÇÃO EXEMPLO
CMA Complementa o acumulador, invertendo seu valor bit a bit. CMA
Executa uma operação AND entre o valor do acumulador e Sintaxe: ANA R
ANA o conteúdo do registrador apontado pelo seu campo ope-
rando. Ex: ANA B
Executa uma operação OR entre o valor do acumulador e Sintaxe: ORA R
ORA o conteúdo do registrador apontado pelo seu campo ope-
rando. Ex: ORA B
Executa uma operação XOR entre o valor do acumulador e Sintaxe: XRA R
XRA o conteúdo do registrador apontado pelo seu campo ope-
rando. Ex: XRA B
A instrução ANI é uma instrução lógica imediata. Ela executa Sintaxe: ANI byte
ANI um AND entre o conteúdo do acumulador e o byte do seu
operando. Ex: ANI 27H
A instrução ORI é uma instrução lógica imediata. Ela executa Sintaxe: ORI byte
ORI um OR entre o conteúdo do acumulador e o byte do seu
operando. Ex: ORI 27H
A instrução XRI é uma instrução lógica imediata. Ela executa Sintaxe: XRI byte
XRI um XOR entre o conteúdo do acumulador e o byte do seu
operando. Ex: XRI 27H

Além das instruções apresentadas até o momento, existem mais seis delas. Observe, a
seguir, quais são e como funcionam.

HLT (halt)
A instrução HLT desliga o clock,fazendo com que o controlador-sequencializador pare de
funcionar, encerrando o programa.

IN (input)
A instrução IN move os dados de uma porta de entrada para o acumulador. As duas portas
de entrada disponíveis no SAP2 são numeradas como porta 1 e porta 2, devendo o número da
porta ser citado na instrução.

Sintaxe:
IN byte

Exemplos:
IN 02H – move o conteúdo da porta de entrada 2 para o acumulador.
IN 01H – move o conteúdo da porta de entrada 1 para o acumulador.

Claretiano - Centro Universitário


IN 02H – move o conteúdo da porta de entrada 2 para o acumulador.
INArquitetura
192 © 01H – emove o conteúdo
Organização da porta de entrada 1 para o acumulador.
de Computadores

OUT
OUT(output)
(output)
AAinstrução
instruçãoOUT
OUTmove
moveo conteúdo do acumulador
o conteúdo parapara
do acumulador umauma
portaporta
de saída. ComoComo
de saída. o SAP2o
possui duas portas
SAP2 possui duas de saídadenumeradas
portas como porta
saída numeradas como3 porta
e porta
3 4, deve-se
e porta indicar aindicar
4, deve-se porta de des-
a porta
tino no seu campo
de destino no seu operando.
campo operando.

Sintaxe:
Sintaxe:
OUTporta
OUT porta

Exemplos:
Exemplos:
OUT03H
OUT 03H––move
moveooconteúdo
conteúdodo
doacumulador
acumuladorpara
paraa aporta
portadedesaída
saída03.
03.
OUT04H
OUT 04H––move
moveooconteúdo
conteúdodo
doacumulador
acumuladorpara
paraa aporta
portadedesaída
saída04.
04.

Instruçõesde
Instruções deRotacionamento
Rotacionamento
Rotacionar significa deslocar os bits, por exemplo, de um byte, para a esquerda ou para
Rotacionar significa deslocar os bits, por exemplo, de um byte, para a esquerda ou para a
a direita, movendo o bit mais significativo para a posição do menos significativo (no caso do
direita, movendo o bit mais significativo para a posição do menos significativo (no caso do rota-
rotacionamento à esquerda) e da posição menos significativa para a posição mais significativa
cionamento à esquerda) e da posição menos significativa para a posição mais significativa (no
(no caso do rotacionamento à direita).
caso do rotacionamento à direita).
Exemplo:
Exemplo:


MSB LSB MSB LSB

 Rotacionamento à Esquerda Rotacionamento à Direita

RAL
 (rotate the accumulator to left)
A instrução RAL (rotacionar à esquerda) rotaciona o conteúdo do acumulador à esquerda.

Sintaxe:
RAL

Exemplo:
Se o conteúdo do acumulador for:
Acumulador = 0101 1011
O resultado de RAL será:
Acumulador = 1011 0110

RAR (rotate the accumulator to right)


A instrução RAR (rotacionar à direita) rotaciona o conteúdo do acumulador à direita.
© U9 - SAP2: Arquitetura e Programação 193

Sintaxe:
RAR

Exemplo:
Se o conteúdo do acumulador for:
Acumulador = 0101 1011
O resultado de RAR será:
Acumulador = 1010 1101

NOP (non operation)


NOP é uma instrução em quetodas as palavras de controle enviadas ao sistema durante
os estados T são nulas, ou seja, nenhum registrador é alterado durante a execução de uma ins-
trução NOP.
Ela é muito útil para controlar o tempo gasto durante a execução de um programa.Às ve-
zes é necessário aguardar um determinado tempo antes do programa continuar e a única forma
de fazer isso é incluindo instruções NOP.
A frequência do clock do SAP2 é de 1 MHz e, portanto, cada estado T dura 1us.
Considerando-se que, para executar uma instrução NOP, o SAP 2 gasta quatro estados T,
temos um atraso de 4us para cada instrução NOP.
Veja, no Quadro 2 a seguir, o conjunto de instruções do SAP2.

Quadro 2 Conjunto de instruções do SAP-2.


INSTRUÇÃO OPCODE HEXADE- ESTADOS FLAGS AFETADOS BYTES AÇÃO
CIMAL
ADD B 80 4 S, Z 1 A←A+B
ADD C 81 4 S, Z 1 A←A+C
ANA B A0 4 S, Z 1 A ← A and B
ANA C A1 4 S, Z 1 A ← A and C
ANI byte E6 7 S, Z 2 A ← A and Byte
CALL end CD 18 NENHUM 3 Chama sub-rotina
CMA 2F 4 NENHUM 1 A ←A’
DCR A 3D 4 S, Z 1 A← A – 1
DCR B 05 4 S, Z 1 B←B–1
DCR C 0D 4 S, Z 1 C←C–1
HLT 76 5 NENHUM 1 Fim Programa
IN byte DB 10 NENHUM 2 A ← byte
INR A 3C 4 S, Z 1 A←A+1
INR B 04 4 S, Z 1 B←B+1
INR C 0C 4 S, Z 1 C←C+1
JM end FA 10/7 NENHUM 3 Salta se S=1
JMP end C3 10 NENHUM 3 Salta
JNZ end C2 10/7 NENHUM 3 Salta se Z = 0
JZ end CA 10/7 NENHUM 3 Salta se Z = 1
LDA end 3A 13 NENHUM 3 A ← Myyyy

Claretiano - Centro Universitário


194 © Arquitetura e Organização de Computadores

INSTRUÇÃO OPCODE HEXADE- ESTADOS FLAGS AFETADOS BYTES AÇÃO


CIMAL
MOV A,B 78 4 NENHUM 1 A←B
MOV A,C 79 4 NENHUM 1 A←C
MOV B,A 47 4 NENHUM 1 B←A
MOV B,C 41 4 NENHUM 1 B← C
MOV C,A 4F 4 NENHUM 1 C←A
MOV C,B 48 4 NENHUM 1 C←B
MVI A, byte 3E 7 NENHUM 2 A ← byte
MVI B, byte 06 7 NENHUM 2 B ← byte
MVI C,byte 0E 7 NENHUM 2 C ← byte
NOP 00 4 NENHUM 1 Retardo
ORA B B0 4 S, Z 1 A ← A or B
ORA C B1 4 S, Z 1 A ← A or C
ORI byte F6 7 S, Z 2 A ← A or Byte
OUT byte D3 10 NENHUM 2 Porta BYTE ← A
RAL 17 4 NENHUM 1 A ← rotação esq
RAR 1F 4 NENHUM 1 A ← rotação dir
RET C9 10 NENHUM 1 Retorno ao CALL
STA end 32 13 NENHUM 3 Myyyy ← A
SUB B 90 4 S, Z 1 A←A–B
SUB C 91 4 S, Z 1 A←A–C
XRA B A8 4 S, Z 1 A ← A xor B
XRA C A9 4 S, Z 1 A ← A xor C
XRI byte EE 7 S, Z 2 A ← A xor Byte

É importante ressaltar que os dois flags do SAP2 conectados à unidade lógica e aritmética
também sofrem alterações com as instruções INR e DCR, pois o conteúdo do registrador que
está sendo incrementado ou decrementado será movido para o acumulador para que a ULA
possa somar ou subtrair uma unidade do seu valor.

Rótulos e Comentários
Para facilitar a programação dos computadores, é possível usar um programa denominado
assembler.
O assembler é um “compilador” para programas feitos em linguagem de montagem as-
sembly e, como tal, tem a função de transformar programas escritos em linguagem de monta-
gem (assembly) em linguagem de máquina.
Um dos recursos que esses programas oferecem é a possibilidade de se trabalhar com
comentários e rótulos.
Um comentário pode ser inserido em qualquer parte de um programa com a finalidade de
esclarecer o que está sendo feito naquela linha ou trecho do programa. Para inserir um comen-
tário, basta inserir o caractere “;” (ponto e vírgula).
Os rótulos, por sua vez, são úteis nos casos de desvio. Ao invés de entrar com um endere-
ço de desvio no campo operando de uma instrução de desvio, digita-se o rótulo (apelido para o
endereço de destino).
Veja um exemplo:
© U9 - SAP2: Arquitetura e Programação 195

RÓTULO INSTRUÇÃO COMENTÁRIO


MVI C,03H ;carregar o contador com o decimal 3.
REPITA: DCR C ; decrementa o registrador C
JZ END ;testa se o acumulador é igual a zero.
JMP REPITA ;Fazer novamente
END: HLT ;fim do programa

Observe que após o rótulo existe um caractere “:” (dois pontos).

Programação do SAP2
Veremos agora, alguns exemplos de programação do SAP2.

Exemplo 1
O programa a seguir, feito em linguagem de montagem, carrega o conteúdo 49H no acu-
mulador, 4AH no registrador B e 4BH no registrador C; depois, a instrução STA 6000H armazena
o conteúdo do acumulador na memória RAM, na posição 6020H.
MVI A,49H
MVI B,4AH
MVI C,4BH
STA 6020H
HLT
Em linguagem de máquina (com a representação em hexadecimal) o programa fica assim:
ENDEREÇO CONTEÚDO SIMBÓLICO
2000H 3EH MVI A,49H
2001H 49H
2002H 06H MVI B,4AH
2003H 4AH
2004H 0EH MVI C,4BH
2005H 4BH
2006H 32H STA 6020H
2007H 20
2008H 60
2009H 76H HLT

Cada linha de memória do SAP2 pode armazenar somente um byte;dessa forma, quando a
instrução tiver dois bytes, o que é armazenado primeiro na memória é o OPCODE e na próxima
posição de memória será armazenado o operando.
Na instrução STA 6020, o endereço possui dois bytes (6020H);assim, o byte inferior (20H)
vai para a próxima posição de memória e o byte superior (60H) fica na posição a seguir.
Desse modo, é fundamental que você saibaque os armazenamentos dos bytes ocorrem
nessa ordem para manter a compatibilidade com os processadores 8080 e 8085 da Intel.

Claretiano - Centro Universitário


196 © Arquitetura e Organização de Computadores

Exemplo 2
Este exemplo somará os números decimais 23 e 45 e a resposta será armazenada na posi-
ção 5600H da memória RAM. Além disso, a resposta incrementada de uma unidade será arma-
zenada no registrador C.
Lembre-se de que os números decimais 23 e 45 equivalem a 17H e 2DH (caso tenha dúvi-
das, consulte o Apêndice A).
MVI A,17H
MVI B,2DH
ADD B
STA 5600H
INR A
MOV C,A
HLT
Em linguagem de máquina (com a representação em hexadecimal) o programa fica assim:
ENDEREÇO CONTEÚDO SIMBÓLICO
2000H 3EH MVI A,17H
2001H 17H
2002H 06H MVI B,2DH
2003H 2DH
2004H 80H ADD B
2005H 32H STA 5600H
2006H 00H
2007H 56H
2008H 3C INR A
2009H 4F MOV C,A
200AH 76H HLT

Exemplo 3
Este exemplo vai apresentar uma sub-rotina e vai incluir os conceitos de rótulo e comen-
tário.
RÓTULO MNEMÔNICO COMENTÁRIO
MVI C,46H ;inicializa o contador com o decimal 70.
VOLTA DCR C ; decrementa o registrador C
JNZ VOLTA ; teste contagem
NOP ; retardo
RET

Considerando a sub-rotina anterior, convidamos você a responder os questionamentos a


seguir:
1) O que ele faz?
2) Quanto tempo o computador gasta executando a sub-rotina?
Observe, a seguir, as respostas aos questionamentos:
© U9 - SAP2: Arquitetura e Programação 197

1) A sub-rotina gera um laço de repetição controlado pelo registrador C, que é inicializa-


do com o decimal 70 e cujo valor vai sendo decrementado em uma unidade até que o
resultado do último decremento seja igual à zero. O seu objetivo aparente é provocar
um retardo no processamento de um programa. Um ajuste “fino” do tempo que a
sub-rotina deverá gastar fica por conta da instrução NOP.
2) Para responder esse questionamento, é preciso que você analise o tempo gasto em
cada instrução para calcular o tempo total gasto pela sub-rotina. Além disso, você
deverá recorrer à tabela do conjunto de instruções do SAP2(Quadro 2) e resolver a
atividade de acordo com oquadro a seguir:

MVI: 1 X 7 X 1 us 7us
DCR: 70 X 4 X 1 us 280us
JNZ: 69 X 10 X 1 us 690us Salta.
JNZ: 1 X 7 X 1 us 7us Não salta.
NOP: 1 X 4 X 1us 4us
RET: 1 X 10 X 1us 10us
TOTAL 998us 1ms aprox.

6. QUESTÕES AUTOAVALIATIVAS
Confira, a seguir, as questões propostas para verificar o seu desempenho no estudo desta
unidade:
1) O SAP1 possui uma arquitetura muito simples, com poucas instruções, alguns registradores unidirecionais, um
conjunto de chaves conectadas ao módulo de entrada, por onde a programação do SAP1 é executada, e um con-
junto de oito LEDs, que constitui o meio pelo qual o usuário recebe o resultado do processamento. Consideran-
do que o SAP 2 é uma evolução do SAP1, apresente as principais diferenças entre as duas arquiteturas. Lembre-
-se de separar as diferenças sob a visão da arquitetura física e também da arquitetura lógica (de programação).

2) Quais são as novas funcionalidades do SAP2em relação ao SAP1?

3) Explique as novas instruções do SAP2.

4) Cite exemplos de utilização das novas instruções apresentadas durante o estudo desta unidade.

5) Durante uma operação aritmética, a unidade lógica e aritmética (ULA) pode chegar a um resultado positivo,
negativo ou igual a zero. Em muitos casos, é necessário que o sistema trate adequadamente tais resultados.
Explique de que forma é possível identificar tais resultados e pense em um exemplo de aplicação em que essa
identificação é necessária.

6) O que são flags? Qual é a sua importância no SAP2?

7) Um módulo bidirecional permite que o fluxo de dados alterne entre a entrada e a saída do barramento principal
ao módulo, além de, em alguns momentos, ficar em um estado “desligado”. Explique como isso é possível e cite
exemplos relacionados ao uso de tais estruturas.

8) O barramento e os registradores do SAP1 são de oito bits.Alguns registradores do SAP2 são de oito bits,outros
são de 16 bits, e o barramento do SAP2 é de 16 bits. Explique o motivo pelo qual alguns registradores e o barra-
mento principal do SAP2 são de 16 bits.

9) No SAP1, em virtude dos registradores e dos barramentos serem de oito bits, não é possível trabalhar com valo-
res ou mesmo resultados de números maiores que 255, uma vez que, para representar números maiores do que
255, é preciso utilizar mais de oito bits. Lembre-se de que (11111111)2 = (255)10.O SAP2 possui o barramento
principal de 16 bits. Isso significa que ele pode trabalhar com valores maiores do que o decimal 255? Justifique.

Claretiano - Centro Universitário


198 © Arquitetura e Organização de Computadores

7. CONSIDERAÇÕES
O SAP2 apresentou a você a evolução da arquitetura de um computador muito simples
(SAP1) para a de um computador que, embora também seja simples, já possui muitas funciona-
lidades dos computadores que utilizamos até hoje.
Dessa forma, é possível percebermos que as máquinas atuais são uma evolução do SAP2
e reúnem todos os conceitos apresentados nestas últimas unidades.
Agora é só aplicar o conhecimento adquirido até aqui para usufruir melhor a ferramenta
que temos nas mãos – os nossos computadores.
Bons estudos!

8. REFERÊNCIAS BIBLIOGRÁFICAS
MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw-Hill do Brasil, 1985.
© U9 - SAP2: Arquitetura e Programação 199

APÊNDICE
EQUIVALÊNCIA DECIMAL - HEXADECIMAL - ASCII - BINÁRIO

Decimal Hex ASCII Binário Decimal Hex ASCII Binário


0 00 NUL 0000 0000 128 80   1000 0000
1 01 SOH 0000 0001 129 81   1000 0001
2 02 STX 0000 0010 130 82   1000 0010
3 03 ETX 0000 0011 131 83   1000 0011
4 04 EOT 0000 0100 132 84   1000 0100
5 05 ENQ 0000 0101 133 85   1000 0101
6 06 ACK 0000 0110 134 86   1000 0110
7 07 BEL 0000 0111 135 87   1000 0111
8 08 BS 0000 1000 136 88   1000 1000
9 09 TAB 0000 1001 137 89   1000 1001
10 0A LF 0000 1010 138 8A   1000 1010
11 0B VT 0000 1011 139 8B   1000 1011
12 0C FF 0000 1100 140 8C   1000 1100
13 0D CR 0000 1101 141 8D   1000 1101
14 0E SO 0000 1110 142 8E   1000 1110
15 0F SI 0000 1111 143 8F   1000 1111
16 10 DLE 0001 0000 144 90   1001 0000
17 11 DC1 0001 0001 145 91   1001 0001
18 12 DC2 0001 0010 146 92   1001 0010
19 13 DC3 0001 0011 147 93   1001 0011
20 14 DC4 0001 0100 148 94   1001 0100
21 15 NAK 0001 0101 149 95   1001 0101
22 16 SYN 0001 0110 150 96   1001 0110
23 17 ETB 0001 0111 151 97   1001 0111
24 18 CAN 0001 1000 152 98   1001 1000
25 19 EM 0001 1001 153 99   1001 1001
26 1A SUB 0001 1010 154 9A   1001 1010
27 1B ESC 0001 1011 155 9B   1001 1011
28 1C FS 0001 1100 156 9C   1001 1100
29 1D GS 0001 1101 157 9D   1001 1101
30 1E RS 0001 1110 158 9E   1001 1110
31 1F US 0001 1111 159 9F   1001 1111
32 20 Space  0010 0000 160 A0   1010 0000
33 21 ! 0010 0001 161 A1   1010 0001
34 22 “ 0010 0010 162 A2   1010 0010
35 23 # 0010 0011 163 A3   1010 0011
36 24 $ 0010 0100 164 A4   1010 0100
37 25 % 0010 0101 165 A5   1010 0101
38 26 & 0010 0110 166 A6   1010 0110
39 27 ‘ 0010 0111 167 A7   1010 0111
40 28 ( 0010 1000 168 A8   1010 1000
41 29 ) 0010 1001 169 A9   1010 1001
42 2A * 0010 1010 170 AA   1010 1010

Claretiano - Centro Universitário


200 © Arquitetura e Organização de Computadores

Decimal Hex ASCII Binário Decimal Hex ASCII Binário


43 2B + 0010 1011 171 AB   1010 1011
44 2C , 0010 1100 172 AC   1010 1100
45 2D - 0010 1101 173 AD   1010 1101
46 2E . 0010 1110 174 AE   1010 1110
47 2F / 0010 1111 175 AF   1010 1111
48 30 0 0011 0000 176 B0   1011 0000
49 31 1 0011 0001 177 B1   1011 0001
50 32 2 0011 0010 178 B2   1011 0010
51 33 3 0011 0011 179 B3   1011 0011
52 34 4 0011 0100 180 B4   1011 0100
53 35 5 0011 0101 181 B5   1011 0101
54 36 6 0011 0110 182 B6   1011 0110
55 37 7 0011 0111 183 B7   1011 0111
56 38 8 0011 1000 184 B8   1011 1000
57 39 9 0011 1001 185 B9   1011 1001
58 3A : 0011 1010 186 BA   1011 1010
59 3B ; 0011 1011 187 BB   1011 1011
60 3C < 0011 1100 188 BC   1011 1100
61 3D = 0011 1101 189 BD   1011 1101
62 3E > 0011 1110 190 BE   1011 1110
63 3F ? 0011 1111 191 BF   1011 1111
64 40 @ 0100 0000 192 C0   1100 0000
65 41 A 0100 0001 193 C1   1100 0001
66 42 B 0100 0010 194 C2   1100 0010
67 43 C 0100 0011 195 C3   1100 0011
68 44 D 0100 0100 196 C4   1100 0100
69 45 E 0100 0101 197 C5   1100 0101
70 46 F 0100 0110 198 C6   1100 0110
71 47 G 0100 0111 199 C7   1100 0111
72 48 H 0100 1000 200 C8   1100 1000
73 49 I 0100 1001 201 C9   1100 1001
74 4A J 0100 1010 202 CA   1100 1010
75 4B K 0100 1011 203 CB   1100 1011
76 4C L 0100 1100 204 CC   1100 1100
77 4D M 0100 1101 205 CD   1100 1101
78 4E N 0100 1110 206 CE   1100 1110
79 4F O 0100 1111 207 CF   1100 1111
80 50 P 0101 0000 208 D0   1101 0000
81 51 Q 0101 0001 209 D1   1101 0001
82 52 R 0101 0010 210 D2   1101 0010
83 53 S 0101 0011 211 D3   1101 0011
76 4C L 0100 1100 204 CC   1100 1100
77 4D M 0100 1101 205 CD   1100 1101
78 4E N 0100 1110 206 CE   1100 1110
79 4F O 0100 1111 207 CF   1100 1111
80 50 P 0101 0000 208 D0   1101 0000
81 51 Q 0101 0001 209 D1   1101 0001
82 52 R 0101 0010 210 D2   1101 0010
83 53 S 0101 0011 211 D3   1101 0011
© U9 - SAP2: Arquitetura e Programação 201

Decimal Hex ASCII Binário Decimal Hex ASCII Binário


84 54 T 0101 0100 212 D4   1101 0100
85 55 U 0101 0101 213 D5   1101 0101
86 56 V 0101 0110 214 D6   1101 0110
87 57 W 0101 0111 215 D7   1101 0111
88 58 X 0101 1000 216 D8   1101 1000
89 59 Y 0101 1001 217 D9   1101 1001
90 5A Z 0101 1010 218 DA   1101 1010
91 5B [ 0101 1011 219 DB   1101 1011
92 5C \ 0101 1100 220 DC   1101 1100
93 5D ] 0101 1101 221 DD   1101 1101
94 5E ^ 0101 1110 222 DE   1101 1110
95 5F _ 0101 1111 223 DF   1101 1111
96 60 ` 0110 0000 224 E0   1110 0000
97 61 a 0110 0001 225 E1   1110 0001
98 62 b 0110 0010 226 E2   1110 0010
99 63 c 0110 0011 227 E3   1110 0011
100 64 d 0110 0100 228 E4   1110 0100
101 65 e 0110 0101 229 E5   1110 0101
102 66 f 0110 0110 230 E6   1110 0110
103 67 g 0110 0111 231 E7   1110 0111
104 68 h 0110 1000 232 E8   1110 1000
105 69 i 0110 1001 233 E9   1110 1001
106 6A j 0110 1010 234 EA   1110 1010
107 6B k 0110 1011 235 EB   1110 1011
108 6C l 0110 1100 236 EC   1110 1100
109 6D m 0110 1101 237 ED   1110 1101
110 6E n 0110 1110 238 EE   1110 1110
111 6F o 0110 1111 239 EF   1110 1111
112 70 p 0111 0000 240 F0   1111 0000
113 71 q 0111 0001 241 F1   1111 0001
114 72 r 0111 0010 242 F2   1111 0010
115 73 s 0111 0011 243 F3   1111 0011
116 74 t 0111 0100 244 F4   1111 0100
117 75 u 0111 0101 245 F5   1111 0101
118 76 v 0111 0110 246 F6   1111 0110
119 77 w 0111 0111 247 F7   1111 0111
120 78 x 0111 1000 248 F8   1111 1000
121 79 y 0111 1001 249 F9   1111 1001
122 7A z 0111 1010 250 FA   1111 1010
123 7B { 0111 1011 251 FB   1111 1011
124 7C | 0111 1100 252 FC   1111 1100
125 7D } 0111 1101 253 FD   1111 1101
126 7E ~ 0111 1110 254 FE   1111 1110
127 7F DEL 0111 1111 255 FF   1111 1111

Claretiano - Centro Universitário


202 © Arquitetura e Organização de Computadores

LEITURA COMPLEMENTAR I –
HISTÓRIA E EVOLUÇÃO DOS
COMPUTADORES
1. INTRODUÇÃO
O computador pode ser definido como uma máquina capaz de executar uma ou mais ta-
refas, conforme uma programação prévia, com o objetivo de solucionar um ou mais problemas.
O início da computação foi marcado pelo cientista francês Blase Pascal (1623-1662) que
inventou a primeira máquina de calcular em 1642. Ela era totalmente mecânica e estava muito
longe da concepção que temos hoje do que é um computador.
O computador tem suas origens anteriores à eletrônica, ou seja, não é necessário a utili-
zação de dispositivos eletrônicos para a constituição de um computador.
A história da computação é dividida em gerações que mudam de acordo com as descober-
tas de novas tecnologias revolucionárias.

2. GERAÇÕES DOS COMPUTADORES

Geração Zero – Computadores Mecânicos (1642-1945)


A geração zero teve o início marcado pela máquina de calcular de Blase Pascal em 1642.
Blase Pascal tinha apenas 19 anos quando inventou esta máquina de calcular, que efetu-
ava somente operações de soma e de subtração e que utilizava engrenagens mecânicas para
fazê-la funcionar.
Após 30 anos, o matemático alemão Gottfried Wilhelm von Leibniz (1646-1716) inventou
uma máquina de calcular capaz de efetuar as quatro operações, utilizando também engrena-
gens mecânicas básicas, que hoje encontramos em qualquer calculadora: soma, subtração, mul-
tiplicação e divisão.
Passaram-se mais 150 anos sem nenhuma nova descoberta até que Charles Babbage
(1792-1871) construiu uma máquina chamada máquina diferencial.
A máquina diferencial de Babbage somava e subtraia apenas, mas também era capaz de
construir tabelas de números, utilizadas na navegação naval. Essas tabelas eram gravadas em
pratos de cobre que sofriam perfurações para armazenar os dados. Este é o princípio do funcio-
namento dos atuais CDs de computadores.
Como a máquina diferencial conseguia executar apenas um único algoritmo, Babbage
continuou suas pesquisas, a fim de criar uma máquina capaz de executar outros algoritmos.
Conseguiu criar uma máquina analítica que, embora totalmente mecânica, possuía muita simi-
laridade com os computadores atuais, além de ser programável.
Babbage contratou, para programar sua máquina, uma jovem chamada Ada Augusta
Lovelace, que era filha de um famoso poeta inglês chamado George Gordon Noel Byron (1788-
1824), mais conhecido como Lord Byron.
© U9 - SAP2: Arquitetura e Programação 203

Ada foi a primeira programadora de computadores da história. Para homenagea-la foi


dado seu nome a uma linguagem de programação muito conhecida atualmente, a linguagem
Ada.
A Geração Zero evoluiu até 1945, passando por outras invenções semelhantes. Somente
no final dessa geração foram utilizados alguns componentes eletro-eletrônicos, como relês e
capacitores, fato que levou ao fim a Geração Zero e deu início à primeira geração de computa-
dores.

Primeira Geração – Válvulas (1945-1955)


Com o surgimento das válvulas (componente eletrônico capaz de controlar a passagem
de um sinal eletrônico), os computadores mecânicos passaram a ser implementados por meio
da eletrônica, o que proporcionou maior flexibilidade para os projetos de computadores e um
enorme avanço tecnológico.
Outro fator, que proporcionou o avanço das técnicas aplicadas para o desenvolvimento
dos computadores, foi a Segunda Guerra Mundial, que gerou grande investimento para o setor
tecnológico, por ser estratégico para as aplicações militares.
Essa geração contou com a colaboração de grandes cientistas, como por exemplo: Alan
Turing, John von Neumann, John Mauchley entre outros.
O ENIAC (Eletronic Numerical and Computer) foi o computador que marcou esta geração.
Ele funcionava com 18.000 válvulas, tinha 1.500 relés, pesava 30.000 quilos e no lugar onde fica-
va, devido à liberação de calor das válvulas, a temperatura chegava até a 67ºC.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

ENIAC - 1946, primeiro computador digital eletrônico de grande escala. O ENIAC tinha as seguintes
características:
• totalmente eletrônico;
• 17.468 válvulas;
• 500.000 conexões de solda;
• 30 toneladas de peso;
• 180 m2 de área construída;
• 5,5 m de altura;
• 25 m de comprimento;
• 2 vezes maior que MARK 1
• realizava uma soma em 0,0002s;
•  realizava uma multiplicação em 0,005 s com números de 10 dígitos. Disponível em: <http://silverse-
ason.wordpress.com/2012/10/25/from-eniac-to-apple/>. Acesso em: 20 dez. 2012.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Claretiano - Centro Universitário


204 © Arquitetura e Organização de Computadores

Ainda não existiam os conceitos de Linguagem de Programação e nem de Sistema Ope-


racional, mas foi nesta geração que surgiu o modelo de Von Neumann que definiu os cinco
componentes básicos do computador, além da organização desses componentes no sistema.
Atualmente, essa organização ainda é utilizada nos computadores.
O modelo de Von Neumann foi o primeiro a usar o conceito de programa armazenado em
memória e os seus componentes básicos são:

1) memória;
2) unidade aritmética lógica;
3) unidade de controle;
4) dispositivos de entrada e de saída.

Unidade Aritmética
Unidade de Unidade
Acumulador A
Controle Input/Output
Registro R

Memória para instruções e Dados

Figura 1 Máquina de Von Neumann.

Segunda Geração – Transistores (1955-1965)


Os transistores são componentes que têm a mesma função que a das válvulas; porém,
eles são bem menores e seu consumo de energia é mínimo, o que possibilitou a inserção de um
número maior desses componentes e resultados melhores, pois sua vida útil também é maior.
Os computadores dessa geração operavam com cartões perfurados; as impressoras eram
mais rápidas; surgiram os discos magnéticos (fixo ou removível) e as fitas magnéticas.
Os cálculos passaram a ser medidos de segundos para microssegundos. Nesta época, duas
empresas tornaram-se mundialmente conhecidas: DEC e IBM.
Conheça os computadores que surgiram nesse período:
1) PDP-1.
2) PDP-8.
3) IBM-7090.
4) IBM-7094.
5) CDC-6000.
6) IBM 7030.
7) Gamma-60.
© U9 - SAP2: Arquitetura e Programação 205

Porém, o custo dessas máquinas era elevado, o que restringiu sua utilização a aplicações
estratégicas do governo e a grandes empresas.

Figura 2 Transistor.

Terceira Geração – Circuitos Integrados (1965-1980)


Em 1958, Robert Noyce desenvolveu um processo de integrar circuitos eletrônicos em
substratos de silício, técnica esta que veio permitir inicialmente que dezenas de transistores fos-
sem colocados em um único chip. (TANEMBAUM, 2001). Essa nova técnica de Noyce possibilitou
o surgimento da terceira geração de computadores.
Essa técnica proporcionou uma redução maior do espaço utilizado pelos componentes
eletrônicos dentro do computador e, consequentemente, aumentou a capacidade de processa-
mento e outras funcionalidades.
Surgiu nesta geração a multiprogramação e o teleprocessamento (processamento à dis-
tância).
Os custos diminuíram bastante e uma nova faixa de mercado surgiu, a das empresas de
médio porte, universidades e centros de pesquisas.
Alguns exemplos dessa nova geração de máquinas são o IBM-360 e os minicomputado-
res da série PDP-11, da DEC, além das máquinas da Apple. O conceito de computador pessoal
originou-se nessa geração.

Figura 3 Apple II.

Quarta Geração – Integração de Circuitos em Larga Escala (1980-até os dias atuais)


Uma nova técnica é adotada para os circuitos integrados: LSI (LARGE SCALE INTEGRATION)
e VLSI (VERY LARGE SCALE INTEGRATION). Nesse período, surgiu também o processamento dis-
tribuído e o disco óptico.
Nessa geração, os computadores começaram a ficar mais populares e surgiram novas apli-
cações, como: editoração de textos, planilhas eletrônicas, Internet etc.
Após 1990, as aplicações passaram a exigir mais capacidade de processamento e de arma-
zenamento de dados.

Claretiano - Centro Universitário


206 © Arquitetura e Organização de Computadores

Sistemas especialistas, sistemas multimídia (combinação de textos, gráficos, imagens e


sons), banco de dados distribuídos e redes neurais, esses são apenas alguns exemplos dessas
necessidades.
A tecnologia VLSI, após 1990, é substituída pela ULSI (ULTRA LARGE SCALE INTEGRATION).
A tecnologia não está somente nos computadores, mas também em muitos outros produ-
tos como microondas, geladeiras, automóveis, embarcações, aeronaves etc.

Lei de Moore
Gordon Moore, um dos fundadores da Intel, fez uma observação em 1965 que, hoje, é
conhecida como Lei de Moore.
A Lei de Moore prevê um crescimento de 60% ao ano para o número de transistores em
um único chip, e, consequentemente, na capacidade de memória e de processamento.
Observe, na Figura 4, a Lei de Moore.

Figura 4 Lei de Moore.

3. ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES

Modelo Hipotético de um computador


De acordo com o professor Rui Mano em seu site: <http://venus.rdc.puc-rio.br/rmano/
comp3mh.html>, podemos entender o funcionamento de um computador utilizando o exemplo
a seguir.
© U9 - SAP2: Arquitetura e Programação 207

Operador – só faz o que for ordenado, não toma decisões.


Conjunto de escaninhos – com capacidade para um cartão cada.
Máquina de calcular – executa as operações.
Caixa de entrada – para receber cartões de fora.
Máquina de escrever – para dar saída às informações/resultados.

Para que este modelo funcione, deve existir em cada cartão uma instrução. O operador
segue de escaninho em escaninho, fazendo exatamente o que está escrito em cada cartão, até
encontrar um cartão contendo uma instrução que ordene que ele pare. (Disponível em: <http://
venus.rdc.puc-rio.br/rmano/comp3mh.html>. Acesso em: 24 abr. 2005).

Antes de continuarmos, é necessário que você conheça algumas definições.

Computador
Máquina capaz de executar uma ou mais tarefas, conforme uma programação prévia, com
o objetivo de solucionar um ou mais problemas.

Hardware
Parte física do computador. São: as placas, o monitor, a impressora etc.

Software
Parte lógica do computador, ou seja, os programas.

Instruções
Representação elementar da ação de um computador. Determina o que ele deve fazer
naquele instante.

Programa
Conjunto de instruções para que o computador desenvolva uma determinada tarefa.

Claretiano - Centro Universitário


208 © Arquitetura e Organização de Computadores

Linguagem de máquina
Trata-se do conjunto ordenado de 0(s) e 1(s) que determina, passo a passo e diretamente
para o hardware do computador, o que deve ser feito. Em outras palavras, é o programa tradu-
zido para uma linguagem capaz de ser executada pelo computador.

Figura 5 Dilbert, de Scott Adams.

Tradutor
Programa utilizado para realizar traduções de uma linguagem para outra. Normalmente,
traduz um programa que está escrito em uma linguagem qualquer, para um programa escrito
em linguagem de máquina, ou seja, uma linguagem que o computador possa executá-la.

Interpretador
Traduz linha a linha de um programa, escrito em uma determinada linguagem, para a lin-
guagem de máquina.
Exemplificando:
O tradutor pega uma linha do programa e a traduz; em seguida, o computador executa a instrução.
Depois, o interpretador volta para pegar a próxima linha do programa para ser interpretada. No final,
não sobrará nada que não seja o programa fonte (escrito na linguagem fonte).

Compilador
Traduz todo o programa para a linguagem de máquina, gera um arquivo com o resultado
da tradução, conhecido como arquivo executável (que armazena o programa em linguagem de
máquina) e, somente a partir desse ponto, é que o programa poderá ser executado quantas
vezes forem necessárias.

Máquinas Multiníveis
As máquinas atuais são compostas por vários níveis, cada uma desempenha uma determi-
nada função e relaciona-se com outros níveis de outras camadas.
A idéia é resolver um problema complexo por partes menores e mais simples, que, quan-
do trabalhado em conjunto, desempenham a mesma função que teria se toda a organização
fosse implementada em um único nível.
A construção do projeto fica mais fácil, além de detectar erros e a divisão de tarefas.
O nível mais baixo é o mais próximo da máquina real, ou da parte física do computador.
Conforme os níveis vão ficando mais altos, eles se aproximam com a lógica dos seres hu-
manos e distanciam-se da máquina.
© U9 - SAP2: Arquitetura e Programação 209

Pelo menos um nível tem que ser implementado em hardware (parte física do computa-
dor) e os outros podem ser ou não implementados em software (parte lógica do computador).
Quem define como cada nível deverá ser implementado são os engenheiros do projeto.
Eles avaliam questões, como: custo financeiro, tempo, desempenho, complexidade, dentre ou-
tras variáveis, para definir se um determinado nível deverá ser implementado em software ou
em hardware.
Imagine um caso isolado, em que você tem um problema para ser resolvido e poderá
dividir sua resolução em duas partes, uma parte em um nível físico e outra em um nível lógico.
Como você determinaria o que seria implementado em software e o que seria implementado
em hardware?
Se implementarmos quase tudo em hardware, teremos um sistema muito rápido, porém a
complexidade de hardware será maior. Se optarmos por implementar quase tudo por software
e o mínimo necessário por hardware, teremos um hardware simples e barato, porém um siste-
ma lento e um software complexo e difícil de ser mantido.
Então, o que deverá ser implementado no hardware e no software? Esta é uma questão
que os engenheiros envolvidos na construção de um sistema de computação deverão analisar e
definir de forma adequada para obter um bom resultado.
Cada nível de uma organização, independente de como foi desenvolvida (seja por softwa-
re ou por hardware), ou da sua localização, poderá ser visto como um único computador que
pode ser real (hardware) ou virtual (software) e que, além disso, deverá receber instruções do
nível superior e executá-las, utilizando recursos do nível inferior.
Observe o exemplo de um computador multinível.

Claretiano - Centro Universitário


210 © Arquitetura e Organização de Computadores

Agora, observe, no quadro, os níveis de um computador multinível.


NÍVEIS CONCEITOS CARACTERÍSTICAS
Nível do hardware real. Neste nível
encontram-se os componentes
eletrônicos como portas lógicas que
se juntam para formarem unidades
funcionais.
Exemplificando: unidade lógica
Nível 0 Lógica Digital
e aritmética, registradores,
acumuladores, unidade de controle
etc.
Executa diretamente as
microinstruções enviadas pela camada
de nível 1.
Por meio de uma memória chamada
ROM, memória somente de leitura,
não volátil, não se apaga, quando
o computador é desligado. fica
armazenado o conjunto das instruções
que compõem a linguagem de
Nível 1 Microarquitetura máquina.
Existem algumas máquinas que não
possuem este nível, sendo o nível 2
responsável por passar a instrução
diretamente para a máquina real, que
executará cada instrução.
© U9 - SAP2: Arquitetura e Programação 211

NÍVEIS CONCEITOS CARACTERÍSTICAS


Nível a que o usuário final tem
acesso para a programação; suas
Nível 2 Máquina convencional
características são: técnicas,
funcionais, conjunto de instruções etc.
Nível em que o usuário comum
interage com a máquina por meio
de um conjunto de programas que
Nível 3 Sistema operacional constituem o sistema operacional.
Exemplificando: sistema operacional
Windows, Linux, Unix, OS/2 etc.
Conhecida popularmente por
Assembly é uma linguagem composta
por instruções de baixo nível e
possui maior acesso aos recursos da
máquina.
Esta linguagem é composta por
símbolos (mais adequados para os
seres humanos utilizarem os recursos
oferecidos pelos níveis mais baixos).
Nível 4 Linguagem de montagem O programa escrito em Assembly é
traduzido para o nível inferior por
meio do montador assembler.
Cada tipo de máquina possui um
conjunto de instruções diferentes
e um montador diferente. Todas
as informações necessárias para a
programação desse nível devem ser
encontradas na documentação da
máquina e do sistema operacional.
Nível em que encontramos as
linguagens de programação de “alto
nível” como Pascal, C, Basic, Fortran
etc. Estas linguagens, embora estejam
mais próximas dos seres humanos, são
Linguagens orientadas para solucionar mais complexas para a máquina do
Nível 5
problemas que o Assembly.
Portanto, necessitam de tradutores
mais elaborados para traduzir o código
gerado por esta linguagem para os
níveis inferiores.

Máquina Virtual
Máquina virtual é um nível implementado por software, que trabalha exatamente como
um computador real.
Veja, como exemplo, as máquinas multiníveis apresentadas anteriormente. Cada nível
possui um conjunto de instruções próprias. Assim, para programar em um determinado nível,
basta conhecer seu conjunto de instruções.
Se o nível está executando as instruções diretamente no hardware, ou se ele depende de
outros níveis para chegar a executá-las, não é uma informação relevante para quem está geran-
do um programa. Assim, cada nível pode ser visto como um computador real.
O fato de considerar o que não é necessário saber sobre a forma de execução das instruções é
chamado de abstração e facilita o entendimento do computador como um todo.
Veja o exemplo a seguir.

Claretiano - Centro Universitário


212 © Arquitetura e Organização de Computadores

Programas em Ln são
Máquina Virtual Mn interpretados e traduzidos
por um interpretador
Ling Máq - Ln residente na máquina Mn-1

Máquina Virtual M1
Ling Máq - L1

Programas em LD são
Máquina Virtual MD interpretados e executados
diretamente pelo hardware
Ling Máq - LD do computador.

4. E-REFERÊNCIAS

Lista de figuras
Figura 1 Máquina de Von Neumann. Disponível em: <http://venus.rdc.puc-rio.br/rmano>. Acesso em: 24 abr. 2005.
Figura 2 Transistor. Disponível em: <http://venus.rdc.puc-rio.br/rmano/comp2hc.htm>. Acesso em: 24 abr. 2005.
Figura 3 Apple II. Disponível em: <http://venus.rdc.puc-rio.br/rmano/comp2hc.html>. Acesso em: 24 abr. 2005.
Figura 4 Lei de Moore. Disponível em: <http://www.ime.usp.br/~is/ddt/mac339-01/aulas/www.linux.ime.usp.br/michele/
mac339/tec_info.html>. Acesso em: 24 abr. 2005.
Figura 5 Dilbert, de Scott Adams. Revista Exame. Disponível em: <http://wwwusers.rdc.puc-rio.br/rmano/ri.html>. Acesso em:
20 dez. 2012.
© U9 - SAP2: Arquitetura e Programação 213

LEITURA COMPLEMENTAR II – 8051:


UMA VISÃO GERAL
1. VISÃO GERAL DO 8085
O 8085 é um processador amplamente utilizado no mercado e possui características im-
portantes para entender a evolução dos processadores, desde o SAP-1 até chegar aos processa-
dores modernos.
Todas as instruções vistas até agora são compatíveis com o processador 8085 e os proces-
sadores mais recentes também as mantiveram, por motivos de compatibilidade, além, é claro,
de adicionar muitos outros recursos.
Vamos, inicialmente, entender como o 8085 tornou-se tão famoso e utilizado.
Em 1973, a Intel lançou no mercado o processador 8080, sucessor dos projetos 4004, 4040
e 8008, que possuía 16 bits de barramento de endereço, 8 bits de barramento de dados, tinha
uma velocidade de 2MHz e 64K de memória RAM endereçável.
O problema é que esse processador não possuía CLOCK interno e os sinais de controle
tinham que ser gerados fora do chip. Além disso, eram necessárias duas fontes de alimentação
para fazê-lo funcionar.
Mesmo assim, o projeto era promissor e para solucionar esses problemas que colocavam o
8080 fora do conceito de processador completo, a Intel lançou o 8085, que possui o mesmo con-
junto de instruções do 8080 com todas as características de um computador completo (circuito
de relógio [clock] e sinais de controle interno, e utiliza apenas uma fonte de 5V para funcionar).
Como o 8085 é um processador e não um microcontrolador, para que ele funcione como
um computador é necessário inserir um chip de memória e um chip para controlar os dispositi-
vos de entrada e saída.

Barramentos

Barramento de Dados e Endereços


O barramento de dados do 8085 possui 8 bits e é responsável pela transmissão de instru-
ções e dados entre os registradores da CPU.
Existe também uma conexão entre o barramento interno e o barramento externo de da-
dos e endereços que servem para a troca de dados e instruções com dispositivos externos de
entrada e saída.

Barramento de Controle
O barramento de controle do 8085 não está representado no diagrama de blocos do 8085,
porém, funciona de forma semelhante ao barramento de controle do SAP2, incluindo os sinais
de Carga e Habilitação presentes nos registradores de três estados.
O barramento de Dados e Endereços é multiplexado, o que significa que hora pode estar
sendo utilizado para trafegarem dados e hora para trafegarem instruções.

Claretiano - Centro Universitário


214 © Arquitetura e Organização de Computadores

A multiplicação se faz necessária em virtude da tecnologia de desenvolvimento de chip


utilizada na época do projeto do 8085, que limitava em quarenta o número de pinos possíveis
dentro de um chip.

Acumulador
O acumulador possui uma saída de três estados para o barramento de dados de 8 bits e
também uma saída de dois estados para a ULA.

Registrador Temporário
O registrador temporário é utilizado para o armazenamento temporário de operandos,
para posterior movimentação para a ULA. Ele possui uma saída de três estados para o barramen-
to de dados de 8 bits e uma saída de dois estados para a ULA.

ULA e Flags
A ULA recebe os operandos de uma operação por meio do registrador temporário e do
acumulador. Após executar a operação designada, o resultado será armazenado no acumulador
por meio do barramento de dados.
O 8085 possui cinco flags, observe a seguir suas funções:
• flag de zero: é setado quando o conteúdo do registrador for igual a zero;
• flag de sinal: é setado quando o conteúdo do registrador tornar-se negativo;
• flag de transporte: utilizado quando ocorre estouro nas operações aritméticas;
• flag de paridade: é utilizado para verificar a paridade do conteúdo do acumulador;
• flag auxiliar: utilizado em operações BCD.

Registrador e Decodificador de Instrução


O decodificador de instrução é ativado da mesma forma que no SAP, por intermédio do
Registrador de Instrução onde, no ciclo de busca, o OPCODE da instrução é armazenado.

Temporização e Controle
O módulo de temporização e controle é o responsável por gerar os pulsos de CLOCK e os
sinais de controle (palavra de controle) que irão sincronizar e controlar todos os registradores da
máquina (sejam eles internos ou externos).

Registradores da CPU
Os registradores internos da CPU desempenham funções importantes. Eles funcionam
como se fosse uma pequena memória RAM, endereçável e com capacidade de leitura e escrita.
São exemplos de Registradores da CPU: Contador de Programas, Apontador de Pilha, e o
Incrementador/Decrementador.
Existem outros registradores da CPU de propósito geral.

Buffers
O 8085 possui um buffer de endereços e um buffer de dados/endereços para a manobra
de bits para fora ou para dentro do processador.
© U9 - SAP2: Arquitetura e Programação 215

Os buffers estão localizados entre o banco de registradores e os barramentos internos e


externos.

Controle de Interrupção
Se um processador tivesse que ficar checando a todo o instante se algum dispositivo de
entrada e saída estivesse necessitando de sua atenção, o desempenho do processamento de um
programa ficaria extremamente comprometido.
Para solucionar este problema existe o conceito de interrupção. Fazendo uma analogia
com o nosso dia-a-dia, imagine que agora, durante a leitura desta apostila, o seu telefone to-
casse; você seria interrompido, provavelmente atenderia ao telefone e depois (espero) voltaria
a ler a apostila.
A Interrupção do 8085 e de todos os projetos de computadores, funciona da mesma for-
ma.
O processador fica processando o tempo todo, sem se preocupar com o que está ao seu
redor, e quando for o caso um sinal de interrupção irá fazer com que ele pare o que está fazen-
do e atenda, por exemplo, à necessidade de um dispositivo de E/S, retornando em seguida ao
processamento.
Um processador pode ter mais de uma entrada de interrupção e definir prioridades para
atendê-las.

Controle Serial de E/S


Muitos dispositivos de E/S trabalham com sinais seriais e não- paralelos. Assim, é necessá-
rio um circuito capaz de converter dados seriais em paralelos e vice-versa.
O 8085 possui um módulo capaz de fazer essas conversões para permitir a comunicação
entre dispositivos seriais externos e a CPU.

2. INSTRUÇÕES
As instruções apresentadas na unidade 7 (SAP1) são totalmente compatíveis com o 8085.
Além dessas instruções, algumas outras foram acrescentadas.
Não é o objetivo entrar no mérito dessas novas instruções neste momento. É importante
que você conheça um pouco da arquitetura desse processador da INTEL.
O 8085 é o precursor de muitos outros processadores da Intel, todos com a compatibili-
dade preservada.
Observe, no quadro, os sucessores do 8085 por ordem, cronológica:

DATA PROCESSADOR
1978 8086
1979 8088
1982 80186
1982 80286
1985 80386 DX
1988 80386SX

Claretiano - Centro Universitário


216 © Arquitetura e Organização de Computadores

DATA PROCESSADOR
1989 80486 DX
1991 80486 SX
1993 Pentium
1995 Pentium PRO
1997 Pentium MMX
1997 Pentium II
1999 Pentium III
2001 Pentium IV

Fonte: MALVINO, 1985, p. 384.


Figura 1 Diagrama de blocos do 8085.
© U9 - SAP2: Arquitetura e Programação 217

LEITURA COMPLEMENTAR III –


MICROCONTROLADORES
1. VISÃO GERAL DOS MICROCONTROLADORES

Microcontroladores
Já sabemos que a diferença entre um processador e um microcontrolador é a presença,
dentro do chip do microcontrolador, de dispositivos como: memórias, recursos de entrada e
saída, conversores como, por exemplo, conversor analógico digital etc.
Tudo isso permite apelidar o microcontrolador como um computador de um só chip.
Então podemos concluir que o microcontrolador é superior ao processador, que depende
de dispositivos externos para funcionar. Certo?
Errado, cada um tem suas vantagens e desvantagens.
O processador é muito mais robusto e possui a capacidade de executar muitas tarefas
distintas, o que o faz ser apropriado para o uso em aplicações genéricas. Já, o microcontrolador
tem funções mais direcionadas às rotinas de controle, são mais simples, mas possuem menor
capacidade de processamento.
Então vamos à pergunta que você já deve estar formulando: Qual usar?
Se um microcontrolador atender a todas as exigências de um projeto, então é ele mesmo
que deve ser utilizado, pois é mais simples, mais barato e nem por isso deixa de ser confiável.
No entanto, se o microcontrolador não atender aos requisitos, aí será necessário projetar um
hardware mais complexo com o uso do processador ou de processadores.
Você sabe quem fabrica microcontroladores?
Existem muitos fabricantes e na maioria das vezes são os mesmos que fabricam processa-
dores. Ex: Intel, Motorola, Microchip, Atmel e muitos outros.
O microcontrolador mais conhecido, principalmente pelos hobistas, é o PIC da Microchip,
mas seus concorrentes o AT90S1200 e o ATMEGA, ambos da ATMEL, também são ótimas opções.

2. MICROCONTROLADOR AT90S1200
O microcontrolador que apresentaremos a seguir é o AT90S1200 da ATMEL. Ele é um dos
que oferece uma boa relação custo/benefício.
Veja as características do microcontrolador, a seguir:
• 1Kb Flash é uma tecnologia extremamente vantajosa, em que se pode escrever e apa-
gar os dados por aproximadamente 1.000 ciclos de escrita e apagamento a uma alta
velocidade e o mais interessante, no próprio circuito. (memória de programa).
• 64 Bytes EEPROM também pode ser programada no próprio circuito e possui um ciclo
de escrita/apagamento de aproximadamente 100.000 ciclos. (memória de dados).

Claretiano - Centro Universitário


218 © Arquitetura e Organização de Computadores

• 89 Instruções sendo a maioria executada em um único ciclo de CLOCK.


• 15 portas de entrada e saída.
• 4 interrupções.
• 1 timer de 8 bits:
O timer serve como um temporizador e pode ser utilizado também como contador. O seu
uso é de propósito geral.
• 1 Watchdog: significa cão de guarda e é um registrador que serve para salvar o micro-
controlador de travamentos.
• 1 Comparador analógico.
• Oscilador interno (CLOCK).
• Programação in-system.
• Tensão de operação entre 2.7 a 6.0V
• 16MHz de clock.
• 20 pinos.
• 32 registradores de 8 bits para uso de propósito geral.
• Aproximadamente 12MIPS (milhões de instruções por segundo).
Um programa mal escrito pode resultar em um looping infinito ou em resultados inespe-
rados e quando isso acontece o Watchdog reseta o microcontrolador. Ele faz isso controlando o
tempo em que o hardware fica parado; se estourar esse tempo, é sinal de que algo está errado
e é aí que ele age.

Figura 1 Encapsulamento do Microcontrolador AT90S1200.

O DATASHEET é uma folha de dados, é a documentação que contém as especificações


técnicas de um determinado componente eletrônico. Ele é disponibilizado pelo fabricante do
componente, e na maioria dos casos, disponibilizados por meio da internet.
© U9 - SAP2: Arquitetura e Programação 219

Figura 2 Arquitetura interna do microcontrolador AT90S1200 .

Uma das características desejáveis para um profissional da área de tecnologia da infor-


mação, é a capacidade de aprender a aprender. Por isso, treine sua capacidade de buscar uma
informação. Encontre na Internet ou em qualquer outra fonte de informação o DataSheet do
microcontrolador AT90S1200 e conheça os detalhes dos seus registradores e também das suas
instruções.

3. E-REFERÊNCIAS

Lista de figuras
Figura 1 Encapsulamento do Microcontrolador AT90S1200. Disponível em: < www.atmel.com>. Acesso em: set. 2005 .
Figura 2 Arquitetura interna do microcontrolador AT90S1200 . Disponível em: <www.atmel.com>. Acesso em: set. 2005.

Claretiano - Centro Universitário

Вам также может понравиться