Você está na página 1de 34

COLÉGIO P ADRE EUSTÁQUIO MICROPROCESSADOR – PROF.

ALEXANDRE KASCHER MOREIRA 1


O
SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II PÁG. 2

Educando Para Vida Plena


O programa da presente cadeira é:
DISCIPLINA: MICROPROCESSADOR PROFESSOR: Alexandre Kascher Moreira
ATIVIDADE: APOSTILA 1. Sistemas numéricos e códigos digitais
ENSINO: PÓS-MÉDIO TÉCNICO EM ELETRÔNICA – MÓDULO II – 1O SEMESTRE 2009 1.1 Conceitos de byte, quilo, mega e giga
ALUNO (A):________________________________________________________________ Nº:______ 1.2 Códigos BCD e ASCII, códigos ponderados, códigos regulares.
1.3 Representação binária de números negativos pelos sistemas
sinal-magnitude, complemento de um e complemento de dois.

OBJETIVO DA CADEIRA 2. Circuitos aritméticos e ULA


2.1 Circuito meio-somador; função; entradas e saídas; tabela
verdade
Esta cadeira de Microprocessador é ministrada aos alunos do segundo módulo do curso de Pós 2.2 Circuito somador completo; função; entradas e saídas; tabela
Médio Técnico em Eletrônica do Colégio Padre Eustáquio. verdade
2.3 Circuito somador/subtrator de palavra binária
O objetivo desta cadeira é proporcionar ao aluno o contato com conceitos teóricos que 2.4 O que é multiplexador, função e barramentos
capacitarão o aluno a cursar a cadeira de Microprocessador do terceiro módulo do curso, onde 2.5 O que é ULA, função e barramentos
serão abordadas de forma concentrada as estruturas, a forma de funcionamento, os circuitos, os
recursos de programação, etc. existentes em um processador digital. 3. Memória
3.1 Célula de memória
3.2 Matriz de células de memória
O presente módulo possui quatro grandes capítulos: 3.3 Palavra de memória
• O primeiro capítulo tem o objetivo de familiarizar o aluno com os meios existentes dentro 3.4 Posições de memória
de um processador digital para a representação dos diversos assuntos que o processador 3.5 Tempo de Acesso
digital tem de lidar. Neste capítulo estudaremos: os múltiplos de bits; códigos binários, 3.6 Capacidade de armazenamento
representação de números com sinal. 3.7 Memória volátil e não volátil.
• O segundo capítulo tem o objetivo de apresentar ao aluno a utilização de circuitos 3.8 Dados um circuito integrado, saber identificar o tamanho de
combinacionais em um processador para a implementação de circuitos capazes de realizar palavra, a quantidade de posições de memória e a capacidade de
as operações lógicas e aritméticas básicas em um processador. Neste capítulo memória
estudaremos a ULA desde seus circuitos básicos até o circuito final. 3.9 Barramentos de dados, endereço e controle
3.10 Ciclo de escrita ou armazenamento; e ciclo de leitura ou busca
• O terceiro capítulo tem o objetivo de apresentar um circuito de memória digital, desde seus
circuitos básicos até o circuito pleno. Aqui importantes conceitos fundamentais aos 4. Tipos de memórias semicondutora
processadores são trabalhados de forma implícita: funcionamento sequencial (ciclos de 4.1 Memórias do tipo escrita/leitura e do tipo somente leitura
memória), ordenação da arquitetura (matriz de células, barramentos), a utilização de bits 4.2 Memória RAM estática e dinâmica; semelhanças e diferenças
na função de controle. 4.3 Memórias MROM, PROM, EPROM, EEPROM; semelhanças e diferenças
• O quarto capítulo tem o objetivo de informar sobre tecnologias básicas de fabricação de 4.4 Memória Flash, características básicas
memórias. Nele os conceitos de aplicação de memória são trabalhados nas oportunidades
que o assunto apresenta, fazendo uma relação do assunto estudado com a vivência dos
alunos em trabalhar com microcomputador pessoal.
SISTEMA DE AVALIAÇÃO

Os pontos de avaliação serão distribuídos, a princípio, através de exercícios executados em sala


de aula com consulta ao material escrito, através da valorização da presença do aluno nas aulas,
através de exercícios do tipo Eureka individuais e sem consulta e através da aplicação de
avaliações escritas individuais sem consulta ao material escrito.
As avaliações escritas e exercícios aplicados abrangem sempre toda a matéria estudada até
então.
As datas dos eventos de distribuição de pontos serão oportunamente divulgadas, exceto a
Eureka que se dará sem aviso prévio.
PÁG. 3 PÁG. 4
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

COMPORTAMENTO EM SALA DE AULA QUILO

Estamos em um curso profissionalizante. O aluno está preste a entrar no mercado de trabalho No sistema decimal:
com qualificação técnica para executar tarefas que exijam conhecimento e prática técnica. O
trabalho técnico exige, além dos conhecimentos técnicos desenvolvidos durante o curso, postura No sistema decimal a palavra quilo se refere ao valor 103. Dez é a base de nosso sistema
condizente no trato com as responsabilidades inerentes e com as pessoas de seu convívio. Não numérico, 3 é a potência à qual a base é elevada. 103 = 1.000.
serão toleradas atitudes e posturas que fogem ao mínimo exigido em um ambiente profissional.

Repare que quilo é uma quantidade. Quilo é um número: 1000. É uma ordem de grandeza.
Observe que é bastante diferente de byte. Byte significa 8 bits. Byte é uma quantidade (8)
conhecida de alguma coisa bem conhecida (bits). Não existe byte pão ou byte hora quando
BYTE queremos dizer 8 pães ou 8 horas. No entanto existem:
Quilometros é 1000 metros; quilograma é 1000 gramas; quilovolts é 1000 Volts; quiloton é a
Os equipamentos microcontrolados manipulam grande quantidade de bits. No início do medição de uma explosão equivalente à explosão de 1000 toneladas de TNT.
desenvolvimento de equipamentos de microprocessados muitos deles foram projetados para
manipular conjuntos de oito bits simultaneamente. Esta escolha se dá pelo fato de ser oito uma
potência de dois (o que facilita e otimiza a implementação de circuitos digitais, conforme ficará
claro durante o transcorrer de nosso curso) e de ser um número atendível pela tecnologia No sistema binário:
disponível. Assim, o conjunto de oito bits recebeu o nome especial de byte. Um byte sempre
corresponde a um conjunto de oito bits. A palavra byte não está relacionada ao tipo de No sistema binário as grandezas são relativas às potências de dois (assim como no sistema
informação (número binário, código BCD, código ASCII, etc.) contida no conjunto de bits. Ela está decimal as grandezas são relativas às potências de dez). A seguir, relacionamos as primeiras
relacionada apenas ao tamanho desse conjunto de bits. potências de dois:

Byte = conjunto de 8 bits 20 = 1 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128


28 = 256 29 = 512 210 = 1024 211 = 2048 212 = 4096 213 = 8192 213 = 16384 ....
Exemplo: Quantos bytes existem em uma cadeia de 24 bits?
Resposta: Como 24 / 8 = 3, logo 24 bits contem 3 bytes. Repare a potência destacada em negrito. Ela á bastante particular: enquanto a base é dois, o
expoente é exatamente a base numérica utilizada em nosso dia-a-dia, 10, e o valor é bastante
Exemplo: Quantos bytes são necessários para armazenar uma palavra binária de 19 bits? próximo da ordem de grandeza quilo no sistema numérico decimal.
Resposta: Como 19 / 8 = 2,375; logo são necessários 3 bytes para armazenar uma
palavra de 19 bits. Este valor é o chamado quilo no sistema binário:
Quilo no sistema binário é 210 = 1.024
Exemplo: Quantos diferentes palavras binárias podemos escrever em um byte?
Resposta: Como a base é 2 (binário) e a quantidade de representação básica (algarismos) é 8, Exemplo: Quantos quilobits existem em 16.384 bits?
temos que a quantidade de palavras é: 28=256 diferentes palavras
Resposta: Utilizando potência de dois, temos: 16.384 bits = 213 bits = 23 x 210 bits =
Exemplo: Qual é o maior valor decimal que pode ser representado por um conjunto de = 23 quilobits
quatro bytes?
Resposta: Como quatro bytes são 4x8 = 32 bits, o maior número decimal que pode ser
representado por um conjunto de quatro bytes será: Exemplo: Quantos quilobits existem em 256 bytes?
232 − 1 = 4.294.967.296 − 1 = 4.294.967.295
---------------------------------------------------------------- Resposta: Utilizando potência de dois, temos: 256 bytes = 28 bytes
como temos que chegar na resposta em bits, precisamos transformar
Procure saber mais.......
bytes em bits, um maneira possível é multiplicarmos o número acima
O que é nibble?
por um. A multiplicação pela unidade não afeta o número (qualquer
Quantas diferentes palavras binárias é possível escrever em um nibble?
número multiplicado pela unidade é o próprio número). Uma forma de
Quanto nibbles existem em 8 bytes? Quantos nibble existem em 16 bits?
escrevermos a unidade é (8 bits / 1 byte), portanto:
-------------------------------------------------------------------------------
PÁG. 5 PÁG. 6
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

8 8 3 11 1 10
2 bytes x ( 8 bits / 1 byte) = 2 x 2 bits = 2 bits = 2 x 2 bits =
= 2 quilobits MEGA

No sistema decimal:
Exemplo: Quantos bytes existem em 8 quilobits?
No sistema decimal a palavra mega se refere ao valor 106.
Resposta: Utilizando potência de dois, temos: 8 quilobits = 23 x 210 bits =
Mega é 103 x 103 no sistema decimal
= 23 x 210 bits x (1 byte / 8 bits) = 23 x 210 x 2-3 bytes = = 210 bytes =
= 1 quilobyte Mega é quilo x quilo no sistema decimal

No sistema binário:
Exemplo: Quantos bits existem em 3 quilobytes?
No sistema binário, mega é também quilo x quilo. Quilo aqui, evidentemente, no sistema binário.
Resposta: Utilizando potência de dois, temos: 3 quilobytes = 3 x 2 10 3
x 2 bits = Assim:
= 3 x 213 bits Mega no sistema binário é 210 x 210= 220

Observe que em nossos exemplos utilizamos sempre o cálculo e a resposta utilizando potência Exemplo: Quantos megabits existem em 2.048 quilobits?
de dois. Esta prática simplifica bastante os cálculos e permite resolver problemas de forma
bastante elegante. Utilizaremos SEMPRE este método. Resposta: Utilizando potência de dois, temos: 2048 quilobits = 211 x 210 bits =
= 221 bits = 21 x 220 bits = 2 megabits

Exemplo: Quantos quilo bits existem em 16 megabytes?

Resposta: Utilizando potência de dois, temos: 16 megabytes = 24 x 220 bytes =


= 24 x 220 bytes x (8 bits / 1 byte) = 24 x 220 x 23 bits = 227 bits =
= 217 x 210 bits = 217 quilobits

Exemplo: Quantos bits existem em 512 megabytes?

Resposta: Utilizando potência de dois, temos: 512 megabytes = 29 x 220 bytes =


= 29 x 220 bytes x (8 bits / 1 byte) = 29 x 220 x 23 bits = 232 bits

Exemplo: Quantos megabytes existem em 33.554.432 bits?

Resposta: Reescrevendo a quantidade de bits em potência de dois,


temos:33.554.432 bits = 225 bits = 225 bits x (1 byte / 23 bits) = 222 bytes=
= 22 x 220 bytes = 22 megabytes
PÁG. 7 PÁG. 8
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Exercícios
GIGA
1 Quantos bits existem em:
No sistema decimal: a) 4 quilobits
b) 64 megabytes
c) 27 gigabits
No sistema decimal a palavra giga se refere ao valor 103. d) 32 quilomegabytes*
Giga é 103 x 103 x 103 no sistema decimal (* na prática não se utiliza dois ou mais ordens de grandeza em uma informação numérica, como foi aqui utilizada.
Giga é quilo x quilo x quilo no sistema decimal Por exemplo, utilizamos gigaHertz e nunca megaquiloHertz. A utilização aqui é apenas para trabalharmos as
conversões de ordem de grandeza).
Giga é quilo x mega no sistema decimal

2 Quantos quilobits existem em:


a) 512 megabits
No sistema binário, giga é também quilo x quilo x quilo. b) 24 gigabytes
No sistema binário giga é também quilo x mega. Assim: c) 232 bits
Giga no sistema binário é 220 x 210 = 230 d) 225 bytes

Exemplo: Quantos gigabits existem em 4.096 megabytes? 3 Quantos megabytes existem em:
a) 234 quilobits
b) 128 megabits
Resposta: Utilizando potência de dois, temos: 4096 megabytes = 212 x 220 bytes =
c) 238 bits
= 212 x 220 bytes x (8 bits / 1 byte) = 212 x 220 x 23 bits = 235 bits =
d) 16 gigabits
= 25 x 230 bits = 25 gigabits

4 Quantos gigabits existem em:


a) 238 bytes
Exemplo: Quantos bits existem em 8 gigabytes? b) 1024 megabytes
c) 256 megabits
Resposta: Utilizando potência de dois, temos: 8 gigabytes = 23 x 230 bytes = d) 232 quiloquilobytes
= 23 x 230 bytes x (8 bits / 1 byte) = 23 x 230 x 23 bits = 236 bits
5 Quantos bytes existem em:
a) 218 quilobits
Exemplo: Quantos megabytes existem em 32 gigabits? b) 64 quilobytes
c) 216 gigabits
d) 212 quilomegabytes
Resposta: Utilizando potência de dois, temos: 32 gigabits = 25 x 230 bits =
= 25 x 230 bits x (1 byte / 8 bits) = 25 x 230 x 2-3 bytes = 232 bytes = 6 Quantos bytes são necessários para representar 2.16710 em binário?
= 22 x 230 bytes = 22 megabytes 7 Quantos bytes são necessários para representar D3A216 em binário?
8. Um modem comunica à velocidade de 56 quilobits/s. Expresse esta velocidade em byte/s
Exemplo: Quantos bytes existem em 16 gigabits? =================================================================
Procure saber mais.......
Resposta: Utilizando potência de dois, temos: 16 gigabits = 24 x 230 bits = O que é tera? Quantos bits existem em 1 terabyte?
234 bits x (1 byte / 8 bits) = 234 x 2-3 bits = 231 bits O que é peta? Quantos terabytes existem em 1 petabyte?
O que é exa? Quantos bytes existem em um dispositivo de memória que armazena 1 exabyte?

=================================================================
PÁG. 9 PÁG. 10
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

entre o fato a ser representado e sua representação, a não ser nosso acordo. Não existem
CÓDIGOS BINÁRIOS regras, pois não existe relação entre o representado e a representação, a não ser o nosso
acordo.
Os microcontroladores e microprocessadores manipulam uma quantidade enorme de
informações que não são, necessariamente, informações numéricas. Caracteres alfabéticos, Estudaremos alguns poucos códigos binários e, em determinado momento, veremos detalhes
símbolos matemáticos, símbolos gráficos, imagens, sons são apenas alguns exemplos dos tipos que nos leva a imaginar que existe uma função entre o representado e a representação. Não se
de informação que fazem parte do nosso mundo. Evidentemente as máquinas digitais devem ser engane: não existe nada além de nossa convenção em todo e qualquer código! Evidentemente
capacitadas para lidar esses tipos de informações. os códigos (convenções) são estabelecidos para facilitar nossa vida, para facilitar as operações
com o código (se dá para facilitar, para quê complicar?), para simplificar, para ser prático. Dentro
desta característica altamente desejada (e mesmo necessária, haja vista que o código é
As máquinas digitais possuem apenas um tipo de registro de informação, seja lá o que esta convenção e uso; se o código não facilitar, quem vai querer usar este código?)
informação represente, a máquina estará representando esta informação através de bits.
Internamente em uma máquina digital possuímos circuitos eletrônicos que representam bits na
forma de tensão ou corrente elétrica. Convenciona-se que a tensão próxima da tensão positiva de Existe uma grande variedade de códigos binários, muitos deles são desenvolvidos para um tipo
alimentação do circuito eletrônico significa nível lógico UM; enquanto que a tensão próxima ao de aplicação específica como, por exemplo, o EBCDIC criado pela IBM e tem sua utilização
potencial negativo de alimentação do circuito representa nível lógico ZERO. Desde que todos os restrita a esta aplicação. Muitos não colaram, não pegaram, não foram utilizados, normalmente
circuitos componentes do equipamento estejam projetados dentro desta convenção, é possível por existir outro código mais utilizado para a mesma finalidade e, portanto, morreram. Veremos
que os bits sejam tratados através do tratamento do nível de tensão existente em cada conexão dois códigos muito utilizados em sistemas digitais. O código BCD e o código ASCII (padrão e
entre os diversos circuitos interligados, internos e externos ao equipamento em questão. A estendido).
representação de bits em níveis de corrente elétrica é normalmente utilizado na comunicação
entre equipamentos distintos por apresentar maior imunidade a ruídos e constituir um canal de
comunicação a longa distância mais confiável.
CÓDIGO BCD
Para que o processador possa manipular informação que não são numéricas através da única
forma de representação existente dentro do processador (bits), foram convencionados vários Para que o código BCD foi criado?
códigos binários.
Nossa vida (todas as nossas relações com números) é toda baseada no sistema decimal. Todos
Código binário é uma convenção que associa uma palavra binária exclusiva para cada uma os recursos do processador são através de bits (sistema binário).
das informações que se quer representar.
Surge, portanto, uma necessidade de intercâmbio entre os dois “mundos”. Números entrantes no
Convencionar é, segundo o dicionário Caldas Aulete Digital: processador vem, a princípio, do mundo decimal. Números dentro do processador são
(con.ven.ci:o.nar)
representados através de bits (sistema binário). Números saintes do processador (mundo binário)
devem ser representados, a princípio, em decimal (nosso mundo).
v.
1 Estabelecer (algo) de comum acordo, por convenção; ajustar mutuamente. [td.:
Convencionaram uma senha para entrar no clube.] O código BCD foi criado para suprir a necessidade de intercâmbio entre os algarismos decimais e
2 Combinarem, ajustarem (mais de uma pessoa) algo entre si [tr. + em: Convencionaram- o mundo binário do processador. O código BCD associa cada um dos dez algarismos utilizados
se em apresentar juntos uma proposta.] no sistema decimal a uma palavra binária de quatro bits única. Cada algarismo decimal é
representado por uma palavra binária no código BCD; cada palavra do código BCD representa
um, e apenas um, algarismo decimal.
Convenção é, portanto, um comum acordo. Acordamos que assim seria e por termos acordados,
assim será.
O nome BCD vem do inglês Binary-Coded-Decimal que significa decimal codificado em binário.
Repare que o código BCD é um código de representação de algarismos decimais na forma
Todo código é uma convenção. Temos vários exemplos de códigos em nossa vida: binária.
Código do processo penal, código de trânsito, código de cores em resistores, código de conduta,
código moral, código morse, nosso alfabeto é um código, as representações dos algarismo é um
código, a tabela de horários de seu curso é um código, etc. etc. etc. (Enumere alguns códigos
com os quais você lida no seu dia-a-dia..... é difícil? Tente!)

Por convenção, por comum acordo, entende-se que, não existe nada além do que o acordo, e o
seu uso pertinente, para que o código seja válido. Não existem regras, não existem relações
PÁG. 11 PÁG. 12
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Tabela do universo do código BCD Como converter uma palavra codificada em BCD no número decimal representado

Cada palavra do código BCD é a representação binária do algarismo decimal correspondente. A conversão de palavra codificada em BCD para decimal é também bastante fácil: basta
Como o maior algarismo decimal é nove, são necessários 4 bits para representar este algarismo. converter cada grupo de 4 bits consecutivos (uma palavra BCD) no algarismo decimal
Assim o tamanho da palavra do código BCD é 4 bits. Segue a tabela: representado, observando que a ordem das palavras BCD refletem a ordem dos algarismos
decimais.

Algarismo decimal Código BCD


0 0000 Exemplo: Qual o número decimal representado na palavra 10001001BCD?
1 0001
Resposta: Separando a palavra em grupos de 4 bits, encontramos 2 grupos:
2 0010 Grupo da direita é 1001 = 910; grupo da esquerda: 1000 = 810; logo, o
3 0011 número representado é: algarismo da direita = 9 (unidade); algarismo
4 0100 da esquerda = 8 (dezenas), portanto:
5 0101
10001001BCD = 8910
6 0110
7 0111
8 1000
Exemplo: Qual o número decimal representado na palavra 001101110001BCD?
9 1001
Resposta: Reescrevendo a palavra d representação separando os grupos de 4
bits, temos: 0011 / 0111 / 0001, logo, esta palavra representa:
Como converter um número decimal em BCD
37110
A conversão de números decimais para o código BCD é fácil execução: basta converter cada um
dos algarismos decimais na sua palavra BCD correspondente.
BCD é um código regular

Exemplo: Qual a representação do número 8310 no código BCD? Repare na tabela de representação que todas as palavras de representação em BCD possui o
tamanho de 4 bits. Quando um código possui todas as palavras de representação com o mesmo
Resposta: O algarismo da direita é representado pela sua palavra de tamanho, dizemos que este é um código regular.
representação em BCD; o algarismo da esquerda (dezenas) é
representado pela sua palavra de representação em BCD; coloca-se as O código BCD é um código regular, palavra de 4 bits.
palavras de representação ordenadas pela sua ordem de grandeza:
A representação do algarismo 210 é: 0010BCD. 0010 não é igual a 010, nem tampouco igual a 10.
8310 = 1000 0011BCD
É necessário prestar muita atenção a este fato, pois, se estivéssemos falando de sistema de
numeração, qualquer que seja a base, zeros à esquerda não agregam valor ao número
representado, de forma que, em qualquer sistema de numeração 0010 = 010 = 10, pois as 3
Exemplo: Qual a representação do número 93110 no código BCD? representações indicam o mesmo número. Como o código BCD utiliza uma representação com
números 0 e 1, nossa mente logo relaciona a representação com sistema de numeração, pois,
Resposta: 93110 = 1001 0011 0001BCD até você entrar no Curso de Eletrônica, 0 e 1 sempre foram utilizados por você em sistemas de
numeração.

O código BCD não é um sistema de numeração!! O código BCD é uma convenção de


representação. O universo (todas as possibilidades de representação) está explícito na tabela
acima. Na tabela estão todas as representações existentes: Todas as palavras lá estão, e não
existem palavras de representação em BCD que não esteja lá.
PÁG. 13 PÁG. 14
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Exemplo: Qual a representação do número 358 no código BCD?


Observe a tabela. Existe a palavra “10” de representação em BCD? NÃO! Portanto a palavra 10
não é válida, não existe no código BCD. Resposta: Convertendo o número 358 no sistema decimal, temos:
358 = [3 x (8)1] + [5 x (8)0] = [3 x 8] + [5 x 1] = [24] + [5] = 2910
Observe que a representação do algarismo 2 é 0010 em BCD; assim como a do algarismo 3 é
0011. O zero à esquerda faz parte da representação convencionada e deve SEMPRE estar Convertendo o número decimal para BCD, temos:
presente nas palavras assim convencionadas.
358 = 2910 = 0010 1001BCD

Exemplo: Quantos bytes são necessários para representar o valor decimal 723.521 em
Palavras válidas e palavras proibidas no código BCD BCD?
Resposta: Como cada algarismo decimal é representado por um conjunto de
As palavras válidas no código BCD são aquelas que constam na tabela acima. Todas as palavras quatro bits no código BCD, precisamos de três bytes para representar
válidas em BCD são palavras de 4 bits, ou múltiplos de 4 bits (4, 8, 12, 16, 20, 24, etc), de sorte qualquer valor decimal de seis algarismos
que, é impossível existir uma palavra de tamanho diferente de múltiplos de 4 bits pertencente ao
código BCD.

Uma palavra binária de quatro bits possibilita 16 diferentes representações (desde 0000 a 1111).
Como no sistema decimal existem apenas dez algarismos, 6 palavras binárias de 4 bits são
inexistentes no código BCD. São elas: 1010, 1011, 1100, 1101, 1110 e 1111. Estas palavras, =================================================================
embora de 4 bits, não representam algarismo decimal e, portanto, não fazem parte do código Exercícios
BCD. Estas seis palavras são também conhecidas como palavras proibidas no código BCD. É
importante termos atenção a estas palavras, pois, diferentemente das demais palavras binárias
1 O que significa a sigla BCD?
que não fazem parte do código BCD (palavras binárias de tamanho diferente de múltiplo de 4
bits), estas tem um aspecto (seu tamanho) comum às palavras válidas em BCD.
2 Desenhe a Tabela Universo do Código BCD
Utilização de índices
3 Represente no código BCD os seguintes números:
a) 7610
Repare que no texto acima utilizamos índices para tornar explícito o universo da palavra b) 49010
representada. É claro que uma seqüência de bits não possui por si um significado, a não ser que c) 783110
se conheça o universo no qual a palavra foi gerada. Uma mesma palavra binária significa d) 120123
diferentes assuntos em diferentes códigos. Por exemplo:
4 Qual o número decimal representado em cada palavra BCD abaixo?
1001 0101BCD significa algo bastante diferente de 1001 01012, é significa algo bastante diferente a) 0111 1001 0111 BCD
de 1001 0101ASCIIestendido b) 0001 0000 0100 BCD
c) 0101 0110 1000 0000 0011 BCD
d) 0100 0110 0111 1001BCD

Representação de outros sistemas de numeração em código BCD 5 Indique na frente de cada palavra abaixo se ela é válida ou não válida em código BCD
a) 1001 1101 0001
b) 1000 0001 0000
O código BCD foi criado para a conversão decimal/binário e binário/decimal de uma forma bem c) 11 0010 0111
simples e fácil. A representação de números em outras bases que não a decimal (por ex: d) 0111 0111 0111 0111
binários, base 8, base 16, etc.) em código BCD não é tão fácil. Recomenda-se utilizar a
conversão do sistema de numeração presente para o sistema de numeração decimal, e deste
para o código BCD. 6 Por que a representação do algarismo 710 em BCD é 0111?
7 Por que não podemos representar o algarismo 610 com a palavra 110BCD?
8. Indique as palavras binárias de 4 bits que são palavras proibidas no código BCD.
=================================================================
PÁG. 15 PÁG. 16
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

CÓDIGO ASCII PADRÃO (OU CÓDIGO ASCII OEM) Voltando à pergunta lançada no início deste capítulo, o que o computador recebe do teclado
acionado quando apertamos uma destas teclas?

Necessidade que fez surgir o código ASCII padrão A resposta é a mesma do início do capítulo: como não existe nada além de bits dentro do
computador, quando qualquer uma destas teclas é acionada, o computador recebe uma palavra
binária específica convencionada para esta representação. Ao receber esta palavra binária o
Os processadores tem de lidar com letras e sinal gráficos. Agora mesmo estou escrevendo esta computador (através de seu programa que está sendo executado) reconhece a palavra e age de
apostila em um microcomputador e me pergunto: quando aperto uma tecla, por exemplo, a letra forma a causar o efeito que nós convencionado e que, evidentemente, esperamos que cause.
“A”, o que o computador recebe do teclado acionado? O que é “A” “dentro do computador”?
A mesma pergunta cabe para cada um dos diversos sinais existente no teclado: b, J, /, Q, %, x, !, Estas teclas são teclas de comando ou de controle, e são tratadas da mesma forma como se
@, f, $, ^, y, ], C, ~, etc etc. tratasse de uma tecla de uma letra por exemplo.

A resposta a esta pergunta é simples: como o processador lida com bits, e apenas com bits, não Portanto, os códigos binários alfanuméricos possuem caracteres de comando ou de controle. É o
existe outro meio a não ser “transformar” cada um dos símbolos necessários de serem utilizados caso, evidentemente, do código ASCII padrão, atendendo as necessidades de comando e
em uma palavra binária. A palavra “transformar” está em aspas para nos lembrar que não existe controle dos equipamentos da época. Estes caracteres estão localizados entre as palavras 0016 e
nenhuma relação entre um símbolo e uma palavra binária, portanto não se pode “transformar” um 1F16. Muitos destes comandos não tem uso hoje, mas alguns destes comandos sobrevivem até
símbolo em palavra binária, a não ser que convencionemos esta transformação. hoje como os LF (Line Feed) , CR (Carrier Return), FF (Form Feed) e ESC (Escape).

Segue a tabela de relação entre o caractere e o conjunto de bits (palavra) que o representa no
Desta necessidade surgiu o Código ASCII padrão. O código ASCII padrão tem a capacidade de código ASCII padrão (código ASCII OEM).
representar um conjunto de símbolos não numéricos: letras, sinais gráficos, pontuações,
caracteres de comando e outros caracteres especiais, além dos algarismos de nosso sistema de
numeração. É um tipo de código alfanumérico. B7 B6 B5
B4 B3 B2 B1 000 001 010 011 100 101 110 111
0000 NUL DLE SPACE 0 @ P ‘ p
Histórico e formato 0001 SOH D1 ! 1 A Q a q
0010 STX D2 “ 2 B R b r
O código ASCII padrão foi criado na década de 60 nos Estados Unidos visando atender as 0011 ETX D3 # 3 C S c s
necessidades dos equipamentos da época: teletipos (teletypes). Como foi criado nos Estados 0100 EOT D4 $ 4 D T d t
Unidos, este código foi elaborado evidentemente para atender as necessidades da língua
0101 ENQ NAK % 5 E U e u
inglesa.
0110 ACK SYN & 6 F V f v
ASCII significa: American Standard Code for Information Interchange. Traduzindo: Código Padrão 0111 BEL ETB ‘ 7 G W g w
Americano para Intercâmbio de Informação. Ele é um código de sete bits (código regular) e cada 1000 BS CAN ( 8 H X h x
caractere representado é associado a uma palavra única de sete bits. O código ASCII padrão tem 1001 HT EM ) 9 I Y i y
capacidade de representar 27 = 128 caracteres diferentes. 1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS , < L \ l |
Caracteres de comando e controle
1101 CR GS - = M ] m }
1110 SO RS . > N ^ n ~
Durante a edição de um texto no microcomputador existem várias ações nas quais não existem
1111 SI US / ? O _ o DEL
caracteres gráficos, como nos exemplos:
• Quando aperta a tecla “delete” o caractere que está imediatamente à frente do cursor é
apagado.
• Quando aperto a tecla “insert” o texto passa a escrever o caractere inserido sobre o
caractere já existente (sobrescrita); ou o caractere inserido entre o texto já existente.
• Quando aperto a tecla “enter”, o cursor se posiciona no início (esquerda) da linha
imediatamente abaixo de onde estava o cursor.
PÁG. 17 PÁG. 18
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Como extrair da Tabela ASCII a palavra de representação de um caractere


Exemplo: Encontre o caractere representado por cada um das seguintes palavras de
As colunas da tabela indicam os 3 bits mais significativos (B7, B6, e B5) da palavra de representação:
representação. As linhas indicam os 4 bits menos significativos (B4, B3, B2 e B1) da palavra de 011 1101 ASCIIPADRÃO
representação. Assim a representação para cada caráter é obtida da seguinte forma: 011 0111 ASCIIPADRÃO
• Localize a caractere do qual se deseja a palavra de representação. 010 1111 ASCIIPADRÃO
• Uma vez localizada, obtenha os 4 bits menos significativos na coluna da extremidade 100 0101 ASCIIPADRÃO
esquerda da tabela na linha onde se encontra o caractere desejado. 110 0001 ASCIIPADRÃO
• Obtenha os 3 bits mais significativos na linha da extremidade superior da tabela na coluna 000 1100 ASCIIPADRÃO
onde se encontra o caractere desejado
Resposta: 011 1101 ASCIIPADRÃO = =
011 0111 ASCIIPADRÃO = 7
Exemplo: Siga os passos acima e encontre a palavra de representação de caractere “F” no 010 1111 ASCIIPADRÃO = /
código ASCII padrão 100 0101 ASCIIPADRÃO = E
000 1100 ASCIIPADRÃO = FF (comando de alimentação de formulário)
Resposta: F = 100 0110ASCIIPADRÃO

Exemplo: Encontre a palavra de representação para os seguintes caracteres: a, A, c, ~, +, % Exemplo: Escreva a sequência de caracteres ASCII para o texto a seguir:
Padre Eustaquio
Resposta: a = 110 0001ASCIIPADRÃO
A = 100 0001ASCIIPADRÃO Resposta: Consultando novamente a tabela de código e encontrando cada grupo de
c = 110 0011ASCIIPADRÃO sete bits que identifica cada caractere do texto, encontramos:
~ = 111 1110ASCIIPADRÃO 101 0000 110 0001 110 0100 111 0010 110 0101 101 0000
+ = 010 1011ASCIIPADRÃO 100 0101 111 0101 111 0011 111 0100 110 0001 111 0001
% = 010 0101ASCIIPADRÃO 111 0101 110 1001 110 1111

Como extrair da Tabela ASCII o caractere representado por uma palavra de representação
CÓDIGO ASCII ESTENDIDO

Siga os seguintes passos:


• Na coluna extrema esquerda da tabela, localize a linha que contém os 3 bits mais
significativos da palavra de representação. Necessidade que fez surgir o código ASCII estendido
• Na linha extrema superior da tabela, localize a coluna que contém os 4 bits menos
significativos da palavra de representação. O código ASCII padrão foi desenvolvido para atender as necessidades da língua onde o código
• O caractere representado é aquele que se encontra na interseção entre linha encontrada e foi desenvolvido, língua inglesa. Este fato está explícito no nome do código. Repare a ausência
a coluna encontrada. de representação de caracteres outros que não sejam da língua inglesa. Repare que, no
exercício último tivemos que escrever “Eustaquio” e não o que seria correto: “Eustáquio”, isto
porque no código ASCII OEM não existe a representação do caractere “á” pois este caractere
Exemplo: Siga os passos acima e encontre o caractere representado pela palavra 111 0011 no não existe na língua inglesa.
código ASCII OEM
Na década de 80 todos os computadores pessoais eram baseados no código ASCII padrão e,
Resposta: 111 0011 ASCIIPADRÃO = s portanto não existia a possibilidade de representação de sinais gráficos comuns na nossa língua
tais como til, acento agudo, crase, etc. Nesta época era comum encontrar em documentos,
mesmo documentos oficiais, palavras tais como: “procuracao, acao, frequencia, obtencao” no
lugar onde se queria escrever: procuração, ação, frequência, obtenção. Evidentemente esta
dificuldade não era exclusividade da língua portuguesa, mas sim de todas as demais línguas,
exceto o inglês para o qual o código foi criado.
PÁG. 19 PÁG. 20
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Para suprir esta necessidade foram criados códigos ASCII estendidos. Estes códigos (padrão
ANSI) são códigos alfanuméricos de oito bits. Existem cerca de 5 ou 6 códigos ASCII REPRESENTAÇÃO DE NÚMEROS COM SINAL
estendidos, cada um para suprir as necessidades peculiares de um certo grupo de línguas
escritas. Necessidade de representar números com sinal
Por possuir 8 bits cada código ASCII estendido é capaz de representar 256 caracteres. 128
caracteres são exatamente os mesmos caracteres representados no código ASCII OEM. Esta Já que existem números negativos em nossa vida, e o computador existe para facilitar nossas
semelhança é encontrada quando o oitavo bit (bit mais significativo) está com valor zero no tarefas, toda máquina digital deve estar preparada para lidar com números negativos. Já que a
código ASCII estendido. única maneira de representação em um circuito digital é através de ZERO ou UM, precisamos de
um sistema que, utilizando apenas bits, possa representar números tanto positivos, quanto
Por exemplo, a sequência 111 1000 representa o caractere xis minúsculo. Em todos os códigos negativos.
ASCII estendido o caractere xis minúsculo é representado pela palavra 0111 1000 (mesma
palavra do código ASCII OEM acrescido de bit mais significativo de valor igual a ZERO). De Esta tarefa é cumprida através de sistemas de representação de números com sinal.
forma similar, o caractere representado pela palavra 010 1100 no código ASCII OEM (caractere Estudaremos três sistemas diferentes de representação desses números:
<) é representado pela palavra 0010 1100 em todos os códigos ASCII estendido.
• Sistema sinal-magnitude - SSM
A interface entre o teclado de um computador pessoal e o computador propriamente dito é • Sistema complemento de um - SCU
implementada em código ASCII e, graças ao código ASCII estendido, hoje é possível escrever • Sistema complemento de dois - SCD
palavras tais como: quinquênio, aclamação, sério, àquele, sermão, com a mesma grafia que
utilizamos em nossa língua pátria.
Cada um dos sistemas possui suas regras próprias de representação de número com sinal,
estudaremos cada um deles a seguir. Os sistemas de representação de números com sinal
devem possuir características que facilitem as operações algébricas entre os números. Neste
particular, veremos que o sistema complemento de dois é bastante superior aos dois outros,
sendo um sistema bastante utilizado nos circuitos internos do processador.
================================================================= As siglas SSM, SCU e SCD não são utilizadas de forma universal e o aluno deverá ter isto em
Exercícios mente ao consultar outras literaturas. Como utilizaremos bastante estes nomes próprios em
nosso curso, adotaremos estas siglas com a liberdade necessária.
1 Escreva a sequência de caracteres ASCII OEM que representa as primeira quatro letras de seu
primeiro nome.
2 Escreva a sequência de caracteres ASCII OEM que representa a palavra ElEtRoNiCa.
3 Escreva a sequência de caracteres ASCII OEM que representa a palavra ASCII. A importância do tamanho de palavra de representação
4 Indique o que representa a seguinte sequência de caracteres ASCII OEM:
011 0001 110 1100 111 0101 110 1110 110 1111 010 000 011 0001 011 0000 Para representação de números negativos é importante definir o tamanho de palavra. Isso
é necessário, pois a representação de um mesmo número terá símbolos diferentes em função do
6 Qual a diferença entre o código ASCII de uma letra maiúscula e o código ASCII da mesma letra tamanho de palavra, conforme veremos a seguir. Essa necessidade não traz nenhum
minúscula? Dê exemplos. inconveniente para as máquinas digitais, pois cada uma delas possui um tamanho de palavra de
7 Escreva os quatro bits menos significativos dos códigos ASCII para os números de 0 a 9. dados definido por construção de suas estruturas internas e, portanto, imutável.
Qual código é encontrado nestes quatro bits? É um código regular? Justifique.
É um código ponderado, ou não? Justifique.
8. Qual o tamanho de palavra do código ASCII padrão?
Quantos diferentes caracteres este código representa?
9. Qual o tamanho de palavra do código ASCII estendido?
Quantos diferentes caracteres este código representa?
=================================================================

Procure saber mais.......


O que é EBCDIC?
O que é Código Grey?
PÁG. 21 PÁG. 22
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

SISTEMA SINAL-MAGNITUDE - SSM


Exemplo: Represente o número -7 no SSM, palavra de 6 bits
Regras de representação
Resposta: 1º passo: representar o número como se positivo fosse:
- representar em binário: 7 = 4 + 2 +1 = 22 + 21 + 20= 1112
Regras de representação de números positivos no SSM:
- completar a palavra de representação (6 bits) = 000111SSM
• Transforma o número a ser representado no sistema de numeração base 2 (binário) - verificar se o bit mais significativo é ZERO: ok, é ZERO
• Completa a palavra de representação (tamanho previamente sabido) com zeros à 2º passo: trocar o bit mais significativo de ZERO para UM = 100111SSM
esquerda da palavra em binário 3º passo: verificar se o bit mais significativo é UM: ok, é ZERO,
• O bit mais significativo da palavra de representação deverá ser, necessariamente ZERO logo:
-7 = 100111SSM
Regras de representação de números negativos no SSM:
• Representa o número seguindo as regras para número positivo descritas acima (considera
o número negativo como se positivo fosse) Dada uma palavra de representação no SSM, como saber o número representado
• Troca o bit mais significativo da palavra de representação de ZERO para UM
• O bit mais significativo da palavra de representação deverá ser, necessariamente ser UM Basta seguir as regras apresentadas, lembrando que o bit mais significativo representa apenas o
sinal, e os demais bits representam a magnitude.

Comentários sobre a palavra de representação Exemplo: Qual o numero representado na palavra 001100SSM?

No sistema sinal-magnitude reserva-se o bit mais significativo (MSB) para a representação do Resposta: O bit mais significativo é ZERO, representando sinal POSITIVO
sinal. ZERO significa sinal positivo, UM significa sinal negativo. Os demais bits representam a
magnitude do número utilizando os mesmos princípios da representação de números no sistema Retirando o bit mais significativo da palavra de representação, temos:
de numeração base 2 (binário). 01100 que é a grandeza do número no sistema de numeração base 2,
transformando a base 2 em base dez, temos:
011002 = 23 + 22 = 8 + 4 = 12
A palavra de representação possui, portanto dois campos bem distintos:
• Bit mais significativo: representa o sinal (positivo ou negativo). Este bit nada representa Logo:
quanto a grandeza do número. 001100SSM = +12
• Demais bits: representam a grandeza do número. O módulo do número. Estes bits nada
representam quanto ao sinal (positivo ou negativo) do número.
Esta particularidade da palavra de representação é que dá nome ao sistema de representação. Exemplo: Qual o numero representado na palavra 110101SSM?
Sinal- magnitude: sinal, bit mais significativo; magnitude (grandeza, tamanho), demais bits.
Resposta: O bit mais significativo é UM, representando sinal NEGATIVO

Retirando o bit mais significativo da palavra de representação, temos:


Como representar número de sinal no SSM
10101 que é a grandeza do número no sistema de numeração base 2,
transformando a base 2 em base dez, temos:
Basta seguir as regras apresentadas. 101012 = 24 + 22 + 20 = 16 + 4 +1 = 21

Exemplo: Represente o número +6 no SSM, palavra de 6 bits Logo:


110101SSM = -21
Resposta: 1º passo: representar em binário: 6 = 4 + 2 = 22 + 21 = 1102
2º passo: completar a palavra de representação (6 bits) = 000110SSM
3º passo: verificar se o bit mais significativo é ZERO: ok, é ZERO,
logo:
+6 = 000110SSM
PÁG. 23 PÁG. 24
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

SISTEMA COMPLEMENTO DE UM - SCU

================================================================= Função complemento de um


Exercícios
1 Represente no SSM palavra de 6 bits cada um dos números abaixo: O complemento de um é uma função matemática existente em vários sistemas de numeração.
a) +29 b) -30 c) -17 No nosso caso precisamos conhecê-la apenas no sistema de numeração base 2.
d) +7 e) -19 f) -1
Complemento de um de uma palavra binária é:
2 Refaça o exercício anterior, agora com palavra de representação de tamanho de 8 bits • Cada ZERO na palavra original transforma-se em UM na palavra final
• Cada UM na palavra original transforma-se em ZERO na palavra final
3 Qual o número representado em cada palavra de representação abaixo? (atenção à “c” e “e” !)
a) 001011SSM b) 100111SSM c) 1101102
Ou, de forma reduzida: Inverte-se cada bit da palavra original, para se obter a palavra final.
d) 011001SSM e) 1110113 f) 111110SSM
g) 111101SSM h) 101010SSM i) 010110SSM

Regras de representação no SCU


4 Qual o menor número e qual o maior número na base 10 que podemos escrever no SSM
palavra de 4 bits?
Regras de representação de números positivos no SCU:
5 Qual o menor número e qual o maior número na base 10 que podemos escrever no SSM
palavra de 8 bits? • Transforma o número a ser representado no sistema de numeração base 2 (binário)
================================================================= • Completa a palavra de representação (tamanho previamente sabido) com zeros à
Procure saber mais....... esquerda da palavra em binário
O que é faixa de representação? • O bit mais significativo tem de ser ZERO
Qual a fixa de representação no SSM palavra de 4 bits?
Qual a faixa de representação no SSM palavra de 8 bits? Regras de representação de números negativos no SCU:
• Representa o número seguindo as regras para número positivo descritas acima (considera
o número negativo como se positivo fosse)
• Complementa com complemento de um a palavra de representação do número positivado

Comentários sobre a palavra de representação

A regra de representação de números positivos no SCU é igual à regra de representação de


números positivos no SSM, de forma que a palavra de representação de números positivos será
a mesma nos dois sistemas de representação, desde que o tamanho de palavra seja o mesmo.

O primeiro passo na regra de representação de números negativos no SCU é igual ao primeiro


passo de representação de números negativos no SSM. A partir deste primeiro passo, no SCU os
passos para se obter a representação de números negativos são empregados na palavra como
um todo (diferentemente do SSM onde o bit mais significativo é tratado de forma diferente dos
demais bits da palavra de representação). Este fato é uma vantagem do SCU em relação ao
SSM. Esta vantagem pode parecer pouca coisa, e realmente é pouca coisa quando é você quem
está fazendo a tarefa. A diferença entre você tratar todos os bits da mesma forma, ou tratar o bit
mais significativo de forma diferenciada, nada mais exige de você do que sua atenção. Mas
quando o assunto é para ser executada pelo processador, o lidar com o todo da palavra é o
aspecto natural, a princípio, de toda instrução. O tratamento diferenciado pode ser efetuado, mas
exige, normalmente, alguns passos de programa ao invés da apenas uma instrução única.
PÁG. 25 PÁG. 26
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Dada uma palavra de representação no SCU, como saber o número representado


Repare que, na representação de números positivos no SCU o bit mais significativo da palavra de
representação será sempre ZERO (igual no SSM); enquanto que na representação de números O primeiro passo é identificar se estamos diante de um número positivo ou um número negativo.
negativos no SCU o bit mais significativo da palavra de representação será sempre UM (igual no Para isto basta olhar para o bit mais significativo da palavra de representação. Se for ZERO, é
SSM). Este fato é devido às regras de representação no sistema SCU (confira!), e não devido ao um número positivo; se for UM é um número negativo.
tratamento diferenciado de bit existente no SSM. No SCU o todo da palavra armazena as
dimensões sinal e grandeza.

O valor do bit mais significativo na palavra de representação é, portanto, indicativa do sinal do


número representado no SCU e deve ser considerado no processo de identificação do número Dada uma palavra de representação no SCU, sabendo que se trata de um número positivo, como
representado em uma dada palavra de representação no SCU. saber o número representado

Se o número é positivo (bit mais significativo da palavra de representação igual a ZERO) ele está
representado segundo o sistema de numeração binário. Basta, portanto, transformar o número
O complemento de um do complemento de um de qualquer palavra é a própria palavra binária
binário em número decimal.

O complemento de um do complemento de um é a própria palavra binária original. Isto é Exemplo: Qual o numero representado na palavra 011101SCU?
verdadeiro e muito fácil de constatar. Já que só existe a possibilidade de apenas dois estados no
sistema binário, o complemento do complemento é a própria identidade:
Resposta: O bit mais significativo é ZERO, representando sinal POSITIVO
• O complemento do complemento de ZERO é o complemento de UM que é ZERO
• O complemento do complemento de UM é o complemento de ZERO que é UM Transformando o número binário em decimal, temos:

0111012 = 24 + 23 + 22 + 20 = 16 + 8 + 4 + 1 = 29
Como representar número de sinal no SCU
Logo:
0111101SCU = +29
Exemplo: Represente o número +27 no SCU, palavra de 8 bits

Resposta: 1º passo: representar em binário: 27 = 16 + 8 + 2 +1 = 24 + 23 + 21 +20


Dada uma palavra de representação no SCU, sabendo que se trata de um número negativo,
= 110112 como saber o número representado
2º passo: completar a palavra de representação (8 bits) = 00011011SSM
3º passo: verificar se o bit mais significativo é ZERO: ok, é ZERO,
logo: Se o número é negativo (bit mais significativo da palavra de representação igual a UM), temos
+27 = 00011011SCU que aplicar o complemento de um na palavra de representação de forma a chegar na
representação binária do número positivado (já que o complemento de um do complemento de
um é a própria identidade); e a partir daí, transformar o número binário em número decimal para
se conhecer a grandeza do número. É importante observar que uma vez complementada a
Exemplo: Represente o número -32 no SCU, palavra de 8 bits
palavra de representação, estaremos lidando com uma palavra que representa um número
positivo (confira!). Observe que este número positivo representa apenas a dimensão da grandeza
Resposta: 1º passo: representar o número como se positivo fosse: do número representado. O valor do sinal já foi identificado no primeiro passo e deve,
- representar em binário: 32 = 25 = 1000002 naturalmente, fazer parte da resposta da questão.
- completar a palavra de representação (8 bits) = 00100000SCU
- verificar se o bit mais significativo é ZERO: ok, é ZERO
2º passo: complemento de um na palavra C1(00100000) = 11011111 Exemplo: Qual o numero representado na palavra 101111SCU?

-32 = 11011111SCU Resposta: O bit mais significativo é UM, representando sinal NEGATIVO

Fazendo o complemento de um da palavra de representação, temos:

Complemento de um de 101111 = 010000


PÁG. 27 PÁG. 28
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Transformando as bases, temos: SISTEMA COMPLEMENTO DE DOIS - SCD


00100002 = 24 = 16
Função complemento de dois
Logo:
101111SCU = -16
O complemento de dois (assim como o complemento de um) é uma função matemática existente
em vários sistemas de numeração. No nosso caso precisamos conhecê-la apenas no sistema de
numeração base 2.
=================================================================
Exercícios
Complemento de dois em palavras binárias é:
1 Represente no SCU palavra de 8 bits cada um dos números abaixo:
a) +29 b) -30 c) -17 • Executa o complemento de um conforme já estudamos
d) +7 e) -19 f) -1 • Soma-se uma unidade à palavra binária para se obter a palavra que representação em
complemento de dois
2 Compare a palavra de representação de cada um dos números do exercício anterior com o
exercício realizado com os mesmos números no SSM. Faça comentários sobre esta comparação:
Qual representação lhe parece mais “sensata”? Justifique Regras de representação no SCD

3 Qual o número representado em cada palavra de representação abaixo? (atenção à “c” e “e” !) Regras de representação de números positivos no SCU:
a) 010001SCU b) 110101SCU c) 1011002
• Transforma o número a ser representado no sistema de numeração base 2 (binário)
d) 010101SCU e) 1010113 f) 110110SCU
• Completa a palavra de representação (tamanho previamente sabido) com zeros à
g) 100101SCU h) 111010SCU i) 011110SCU esquerda da palavra em binário
• O bit mais significativo da palavra de representação deverá ser, necessariamente ZERO
4 Qual o menor número e qual o maior número na base 10 que podemos escrever no SCU
palavra de 4 bits?
Regras de representação de números negativos no SCD:
5 Qual o menor número e qual o maior número na base 10 que podemos escrever no SCU
palavra de 8 bits? • Representa o número seguindo as regras para número positivo descritas acima (considera
o número negativo como se positivo fosse)
=================================================================
Procure saber mais.......
• Complementa com complemento de dois a palavra de representação do número positivado
- Qual a faixa de representação no SCU palavra de 4 bits?
- Qual a faixa de representação no SCU palavra de 8 bits? Lembrando que a definição de complemento de dois, podemos reescrever a regra de
- Compare e comente as faixas de representação aqui calculadas em relação às faixas de representação que você representação de números negativos no SCD da seguinte forma:
calculou no SSM. • Representa o número seguindo as regras para número positivo descritas acima (considera
- Na letra da música Sampa de Caetano Veloso, o autor brinca em uma de suas estrofes com a palavra avesso: o número negativo como se positivo fosse)
......
• Complementa (inverte cada bit) a palavra obtida
Aprende depressa a chamar-te de realidade
Porque és (São Paulo) o avesso do avesso do avesso do avesso. • Soma-se uma unidade à palavra complementada
......
Afinal, São Paulo é ele mesmo, ou São Paulo é o seu avesso?

Comentários sobre a palavra de representação

A regra de representação de números positivos no SCD é igual à regra de representação de


números positivos no SSM e no SCU, de forma que a palavra de representação de números
positivos será a mesma nos três sistemas de representação, desde que o tamanho de palavra
seja o mesmo.
O primeiro passo na regra de representação de números negativos no SCD é igual ao primeiro
passo de representação de números negativos no SSM e também no SCU. A partir deste
primeiro passo, no SCD, semelhante ao que acontece no SCU, os passos de representação de
PÁG. 29 PÁG. 30
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

números negativos é empregada na palavra como um todo, o que é altamente desejado do ponto - verificar se o bit mais significativo é ZERO: ok, é ZERO
de vista do processador. 2º passo: complemento de um na palavra C1(00010101) = 11101010
A representação de números negativos no SCD (assim como o processo para se identificar o 3º passo: somar uma unidade 11101010 + 1 = 11101011
número negativo representado em uma palavra codificada no SCD, como veremos adiante) exige logo:
a operação de soma entre a palavra binária e o algarismo um. Esta soma produz o resultado -21 = 11101011SCD
estouro em todas as ordens de bits existentes na palavra de representação e todos eles devem
ser considerados para que a operação soma possa ser executada plenamente. Porém, deve-se
SEMPRE ignorar o resultado estouro do bit mais significativo. O estouro do bit mais significativo
não faz parte do resultado do complemento de dois e deve-se sempre eliminá-lo da palavra O complemento de dois do complemento de dois de qualquer palavra é a própria palavra binária
resultado.
Quando estudamos complemento de um vimos que o complemento de um do complemento de
No sistema complemento de dois o estouro do bit mais significativo deve sempre ser um é a própria palavra binária original. Isto é verdadeiro e muito fácil de constatar. Já que só
desprezado. existe a possibilidade de dois estados no sistema binário, o complemento do complemento é a
própria identidade:
Esta regra é bastante importante e, no nosso assunto de estudo atual, pode parecer • O complemento do complemento de ZERO é o complemento de UM que é ZERO
desnecessária uma vez que a soma de uma palavra binária com uma unidade somente resultará • O complemento do complemento de UM é o complemento de ZERO que é UM
em estouro final presente caso a palavra binária tenha todos os bits presentes, o que é uma
situação bastante particular. Porém o SCD será utilizado na implementação de circuitos capazes
O mesmo ocorre no complemento de dois:
de somar palavras binárias de qualquer sinal. Neste momento não é tão raro a ocorrência de
estouro de bit mais significativo no nível presente. O complemento de dois do complemento de dois de qualquer palavra binária é a própria palavra
binária.
Repare que, na representação de números positivos no SCD o bit mais significativo da palavra de
representação será sempre ZERO (igual no SSM, igual no SCU); enquanto que na representação Esta verdade no complemento de dois não é tão simples de enxergar quanto o é no
de números negativos no SCD o bit mais significativo da palavra de representação será sempre complemento de um. Vejamos um exemplo qualquer:
UM (igual no SSM, igual no SCU). Este fato é devido às regras de representação no sistema SCD
(confira!). Exemplo: Qual o complemento de dois do complemento de dois da palavra binária 100110?

O valor do bit mais significativo na palavra de representação é indicativo do sinal do número Resposta: Fazendo o complemento de dois da palavra 100110, temos:
representado no SCD (igual no SDC e no SSM) e deve ser considerado no processo de complemento de um de 100110 = 011001
identificação do número representado em uma dada palavra de representação no SCD. 011001 + 1 = 011010

Fazendo o complemento de dois da palavra 011010, temos:


complemento de um de 011010 = 100101
Como representar número de sinal no SCD 100101 + 1 = 100110, que é exatamente a palavra binária original.

Exemplo: Represente o número +13 no SCD, palavra de 8 bits Esta característica é válida em toda e qualquer palavra binária! (confira!)

Resposta: 1º passo: representar em binário: 13 = 8 + 4 +1 = 23 + 22 + 20 = 11012


2º passo: completar a palavra de representação (8 bits) = 00001101SSM
3º passo: verificar se o bit mais significativo é ZERO: ok, é ZERO,
Dada uma palavra de representação no SCD, como saber o número representado
logo:
+13 = 00001101SCD
O primeiro passo é identificar se estamos diante de um número positivo ou um número negativo.
Para isto basta olhar para o bit mais significativo da palavra de representação. Se for ZERO, é
Exemplo: Represente o número -21 no SCD, palavra de 8 bits um número positivo; se for UM é um número negativo.

Resposta: 1º passo: representar o número como se positivo fosse:


- representar em binário: 21 = 16 + 4 +1 = 24 + 22 + 20= 101012
- completar a palavra de representação (6 bits) = 00010101SCD
PÁG. 31 PÁG. 32
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Dada uma palavra de representação no SCD, sabendo que se trata de um número positivo, como =================================================================
saber o número representado Exercícios
1 Represente no SCD palavra de 6 bits cada um dos números abaixo:
Se o número é positivo (bit mais significativo da palavra de representação igual a UM) ele está a) +29 b) -30 c) -17
representado segundo o sistema de numeração binário. Basta, portanto, transformar o número d) +7 e) -19 f) -1
binário em número decimal.
2 Refaça o exercício anterior, agora com palavra de representação de tamanho de 8 bits
Exemplo: Qual o numero representado na palavra 001011SCD?
3 Qual o número representado em cada palavra de representação abaixo? (atenção à “c” e “e” !)
Resposta: O bit mais significativo é ZERO, representando sinal POSITIVO a) 101011SCD b) 101111SCD c) 1110102
d) 101101SCD e) 1010113 f) 110010SCD
Transformando o número binário em decimal, temos:
g) 101101SCD h) 101110SCD i) 011010SCD
0010112 = 23 + 21 + 20 = 8 + 2 + 1 = 11
4 Qual o menor número e qual o maior número na base 10 que podemos escrever no SCD
Logo: palavra de 4 bits?
001011SCD = +11 5 Qual o menor número e qual o maior número na base 10 que podemos escrever no SCD
palavra de 8 bits?

Dada uma palavra de representação no SCD, sabendo que se trata de um número negativo, 6 Indique o que significa a sequência 100 1101 em cada um dos sistemas abaixo:
como saber o número representado a) sistema numérico binário
b) código ASCII
Se o número é negativo (bit mais significativo da palavra de representação igual a ZERO), temos c) sistema sinal-magnitude
que aplicar o complemento de dois na palavra de representação de forma a chegar na d) sistema complemento de um
representação binária do número positivado (já que o complemento de dois do complemento de e) sistema complemento de dois
dois é a própria identidade); e a partir daí, transformar o número binário em número decimal para
se conhecer a grandeza do número. É importante observar que este procedimento levará a um 7 Qual o significado da sequência de bits: 1001 0011, sabendo que esta sequência é:
número positivo sempre que representa apenas a dimensão da grandeza do número a) um número no sistema binário
representado. O valor do sinal já foi identificado no primeiro passo e deve, naturalmente, fazer b) uma representação em código BCD
parte da resposta da questão. c) um número representado no sistema sinal-magnitude
d) um número representado no sistema complemento de um
Exemplo: Qual o numero representado na palavra 110011SCD? e) um número representado no sistema complemento de dois

Resposta: O bit mais significativo é UM, representando sinal NEGATIVO


=================================================================
Fazendo o complemento de dois da palavra de representação, temos: Procure saber mais.......
Qual a faixa de representação no SCD palavra de 4 bits?
Complemento de um de 110011 = 001100 Qual a faixa de representação no SCD palavra de 8 bits?
001100 + 1 = 001101 (número positivo representado em binário) Compare e comente as faixas de representação aqui calculadas em relação às faixas de representação que você
calculou no SSM e no SCU.
Transformando as bases, temos:
0011012 = 23 + 22 + 20 = 8 + 4 + 1 = 13

Logo:
110011SCD = -13
PÁG. 33 PÁG. 34
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

UNIDADE LÓGICA E ARITMÉTICA – ULA


CARACTERÍSTICAS DO SISTEMA COMPLEMENTO DE DOIS
Toda máquina digital possui circuitos dedicados que executam as funções lógicas (AND, OR,
O sistema complemento de dois possui características ótimas que fez com que fosse esse o XOR, etc.) e funções aritméticas (soma, subtração, multiplicação, complemento de um, etc.) entre
sistema adotado para representação de números negativos nos computadores atuais. São elas: 2 palavras binárias quaisquer. Estes circuitos são compostos por circuitos lógicos
combinacionais, ordenados e interligados de forma a ser possível executar essas funções e
recebem o nome de Unidade Lógica e Aritmética, ou mais simplesmente ULA.
O complemento de dois do complemento de dois de qualquer número é o próprio número,
conforme já estudamos.
Partindo da representação binária do número +1210 em complemento de dois, palavra de 8 bits É importante salientar que toda ULA opera uma função entre 2 palavras binárias. As operações
temos: 0000 1100; que exigem o manuseio de várias palavras (por ex.: a soma de 4 parcelas) é executada através
de 4 operações de soma de 2 palavras binárias (1a palavra + 2a palavra; o resultado anterior + 3a
Fazendo o complemento de dois, achamos a representação de –1210: 1111 0100; palavra; o resultado anterior + 4a palavra).
Fazendo o complemento de dois de -1210, voltamos à representação de +1210: 0000 1100.
O tamanho de cada operando será único e definido pelo circuito que foi desenvolvido para
Essa característica faz com que o complemento de dois passe a ser uma função de troca implementação da ULA. Portanto é uma decisão da equipe de desenvolvimento do circuito lógico.
de sinal. Se partirmos de um número positivo, chegamos a representação do mesmo Ao estudarmos a ULA passo a passo esta determinação do tamanho da palavra ficará clara que é
número, porém com sinal negativo; se partimos de um número negativo, chegamos à um parâmetro primeiro no desenvolvimento de circuitos digitais.
representação do mesmo número porém com o sinal positivo.
Estudaremos uma ULA, partindo de circuito básicos segundo o roteiro:
Essa característica é a mesma encontrada em qualquer sistema de numeração, onde a troca - Circuito Meio-Somador - CMS
dupla de sinal nos leva ao número inicial e é, portanto, altamente desejada no sistema de
- Circuito Somador Completo - CSC
representação numérica com sinal.
- Circuito Somador de Palavra Binária - CSPB
- Circuito Somador/Subtrator de Palavra Binária - CSSPB
- Circuito de Múltiplas Funções – ULA
Importante: Na manipulação de representações em complemento de dois, palavras de 8
bits (por exemplo) resultará sempre em uma palavra de 8 bits, pois o estouro final deve ser
sempre desprezado (não faz parte do resultado). As siglas apontadas acima, exceto ULA, não são de uso unânime na literatura técnica. Iremos
utilizá-las nesta apostila devido à grade facilidade que este uso traz, porém é importante ao aluno
lembrar que outros documentos, muito provavelmente, não as utilizarão.
A operação de subtração de dois números pode ser executada pela soma binária do subtrator
pelo complemento de dois do subtraendo. Partiremos para o estudo de cada um destes circuitos até atingirmos o projeto de uma ULA
Exemplo: 00111 (+7 em complemento de dois, palavra de 5 bits) simples.
+11101 (-3 em complemento de dois, palavra de 5 bits)
00100 (+4 em complemento de dois, palavra de 5 bits)
CIRCUITO MEIO-SOMADOR - CMS
Esse fato implica que, tanto a soma como a subtração pode ser executada por um mesmo
circuito lógico desde que a representação do subtraendo seja utiliza em complemento de dois. Para somarmos 2 palavras binárias, precisamos de um circuito que exerça a função que
Assim, o circuito lógico necessário à realização da adição e da subtração é mais simples de se executamos (muitas vezes de forma automática) quando queremos somar 2 números quaisquer.
implementar na pastilha do processador. Este assunto ficará mais claro quando estudarmos (em Observando atentamente as ações que tomamos para esta tarefa, percebemos que a primeira
breve) os circuitos somadores e subtratores. ação que executamos é a soma do algarismo menos significativo do primeiro operando,
com o algarismo menos significativo do segundo operando. Esta primeira ação gera dois
resultados parciais: O resultado da soma, e o resultado estouro.

Transpondo para o mundo digital, precisamos de um circuito que some o bit menos significativo
do primeiro operando, com o bit menos significativo do segundo operando e forneça 2 resultados:
resultado soma e resultado estouro. Ao circuito com a capacidade de exercer esta função, damos
o nome de Circuito Meio-Somador - CMS.
PÁG. 35 PÁG. 36
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

É evidente que o CMS não é suficiente para executar a soma de 2 palavras binárias, porém é Função que produz o resultado soma RS0
uma função necessária e primeira para que se possa implementar um circuito capaz de executar
a soma de 2 palavras binárias.
O RS0 somente estará ausente apenas quando ambas as entradas A0 e B0 estiverem o mesmo
nível lógico (ou presentes, ou ausentes). Consequentemente RS0 estará presente quando ambas
Circuito Meio-Somador é todo circuito capaz de executar a soma de 2 bits e fornecer o as entradas A0 e B0 estiverem em níveis lógicos diferentes.
resultado soma e o resultado estouro. Esta é a definição da função lógica básica OU Exclusivo. Em processadores esta função recebe
o nome de função XOR.
É importante atentarmos que quando somamos 2 bits existem sempre 2 resultados: resultado RS0 = A0 .XOR. B0
soma e resultado estouro. O resultado estouro sempre existirá. É evidente que no nosso dia-a-
dia estamos acostumados a indicar o vai-um apenas nos momentos em que o estouro é diferente
de ZERO. Isto se dá pelo fato que ZERO é neutro na operação adição, ou seja, vai-zero não
afeta o resultado da adição dos algarismos de ordem imediatamente superior. Como estamos Função que produz o resultado estouro RE0
desenvolvendo um circuito que seja capaz de somar 2 bits quaisquer, nosso circuito deverá
sempre tratar o estouro. No momento em que o estouro for ZERO, ele será somado adiante; no O RE0 somente estará presente apenas quando ambas as entradas A0 e B0 estiverem presentes.
momento em que o estouro for UM, ele também será somador adiante (mesmo procedimento Esta é a definição da função lógica básica E. Em processadores esta função recebe o nome de
quando o estouro era ZERO). Esta generalização de ação evita a necessidade de uma tomada função AND.
de decisão quando na execução da soma de 2 bits e não compromete o resultado final. Vamos
RE0 = A0 .AND. B0
detalhar um circuito capaz de executar a soma de 2 bits.

Tabela Verdade do CMS


Diagrama Eletrônico de um CMS
Como o CMS possui 2 saídas (resultado soma e resultado estouro) na realidade o CMS será
composto por 2 circuitos lógicos independentes: um para fornecer o resultado soma; outro para Para implementar nosso CMS, precisamos apenas de 1 porta lógica XOR de 2 entradas e uma
fornecer o resultado estouro. Os 2 circuitos terão apenas um ponto em comum: os 2 pinos de porta lógica AND de 2 entradas. O circuito está implementado a seguir.
entrada.

Abaixo temos a Tabela Verdade do CMS. As 2 saídas estão explicitadas em cada uma das
colunas de resultado: Resultado Soma – RS0; e Resultado Estouro – RE0.
As entradas estão explicitadas nas colunas A0 e B0.
O índice 0 está em todos as colunas para nos lembrar que estamos lidando com o bit menos
significativo da soma. Assim dizemos: O bit 0 do operando A, mais o bit 0 do operando B, resulta
no bit 0 do resultado soma e no bit 0 do resultado estouro.

===================================================================
A0 B0 RS0 RE0
Exercícios
0 0 0 0
0 1 1 0
1 Defina o que é Circuito Meio-Somador.
1 0 1 0
2 Quais são as entradas de um CMS?
1 1 0 1 3 Quais são as saídas do CMS?
4 Desenhe a tabela verdade do Resultado Soma de um CMS
5 Desenhe a tabela verdade do Resultado Estouro de um CMS
6 Desenhe um CMS utilizando apenas portas lógicas NOT e AND de 2 entradas.
===================================================================
Procure saber mais.......
É possível implementar um CMS utilizando apenas portas lógicas do tipo NAND de 2 entradas? Quantas destas
portas são necessárias neste circuito? Desenhe o circuito.
PÁG. 37 PÁG. 38
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

que normalmente encontramos no desenvolvimento de circuitos digitais. O caso do CMS, onde a


CIRCUITO SOMADOR COMPLETO - CSC função é básica e facilmente identificável na tabela verdade é que é a exceção.

Voltando a observar nossas ações para executar a somar de 2 operandos quaisquer, verificamos Neste caso vamos simplificar as expressões de verdade para cada uma das 2 funções.
que, após a primeira ação (soma dos 2 algarismos menos significativo), a segunda ação é Utilizaremos a ferramenta Mapa de Karnaugh.
executar a soma de 3 algarismos: 2o algarismo de menor ordem do 10 operando, mais o 2o
algarismo de menor ordem do 2o operando, mais o resultado estouro do algarismo de ordem Mapa de Karnaugh da função Resultado Soma 2 – RS2
imediatamente inferior (no caso o resultado estouro do algarismo de menor ordem).

Transpondo esta ação para o mundo binário, precisamos agora de um circuito capaz de somar
RE0 \ A1 B1 00 01 11 10
3 bits (2o bit menos significativo do 1o operando, 2o bit menos significativo do 2o operando,
resultado estouro do bit menos significativo), e fornecer 2 resultados (resultado Soma do 2o bit 0 1 1
menos significativo; resultado estouro do 2o bit menos significativo). 1 1 1

O circuito lógico capaz de executar a soma de 3 bits, fornecendo o resultado soma e o resultado
estouro recebe o nome de Circuito Somador Completo – CSC.
Os resultados ausentes foram omitidos da Tabela de forma a facilitar a visualização dos
Circuito Somador Completo é todo circuito capaz de executar a soma de 3 bits e fornecer o resultados.
resultado soma e o resultado estouro. Veja que é impossível reduzir a expressão. Trata-se de uma função lógica básica: OU Exclusivo
de 3 entradas: XOR.
Tabela Verdade do CSC
A função básica OU Exclusivo, com qualquer número de entradas, segue a seguinte ordem: Se
Assim como o CMS, o CSC possui 2 saídas (resultado soma e resultado estouro). Portanto o o número de entradas presentes for impar, o resultado é presente. Se o número de entradas
CSC será composto por 2 circuitos lógicos independentes: um para fornecer o resultado soma; presentes for par, o resultado é ausente.
outro para fornecer o resultado estouro. Os 2 circuitos terão apenas um ponto em comum: os 3 RS1 = A1 .XOR. B1 .XOR. RE0
pinos de entrada.
Mapa de Karnaugh da função Resultado Estouro 1 - RE1
Abaixo temos a Tabela Verdade do CSC. As 2 saídas estão explicitadas em cada uma das
colunas de resultado: Resultado Soma – RS1; e Resultado Estouro – RE1.
As entradas estão explicitadas nas colunas A1 , B1 e RE0
RE0 \ A1 B1 00 01 11 10
O índice 1 lembra que estamos lidando com o 2o bit menos significativo. O índice 0, presente
0 1
apenas na coluna RE0 indica que este dado provem do circuito somador de ordem imediatamente
inferior. 1 1 1 1

A1 B1 E0 RS1 RE1 A expressão simplificada da função RE1 terá então 3 termos:


0 0 0 0 0 - 2a e 3a colunas, 2a linha: B1.AND.RE0
0 0 1 1 0 - 3a e 4a colunas, 2a linha: A1.AND.RE0
0 1 0 1 0 - 3a coluna, 1a e 2a linha: A1.AND.B1
0 1 1 0 1
1 0 0 1 0 Assim, temos a expressão: RE1 = (B1.AND.RE0) .OR. (A1.AND.RE0) .OR. (A1.AND.B1)
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Devido ao grande número de entradas, fica difícil identificar uma função lógica básica (se é que
ela existe!) que atenda ao Resultado Soma, ou ao Resultado Estouro. Esta é uma situação geral
PÁG. 39 PÁG. 40
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

SOMA DOS DEMAIS BITS: CIRCUITO SOMADOR COMPLETO


Diagrama Eletrônico de um CSC
Após a soma dos 2os bits menos significativos, prosseguimos o nosso procedimento de soma de
Para implementar nosso CMS, precisamos apenas de 1 porta lógica XOR de 2 entradas e uma 2 números executando a soma dos 3os bits menos significativos.
porta lógica AND de 2 entradas. O circuito está implementado a seguir.
Para isso precisamos de um circuito que some 3 bits:
- 3o bit menos significativo do 1o operando: A2
- 3o bit menos significativo do 2o operando: B2
- resultado de estouro do 2o bit menos significativo: RE1
e que forneça 2 resultados:
- resultado de soma dos 2os bits menor significativos: RS2
- resultado de estouro dos 2os bits menor significativos: RE2

Este circuito é exatamente o Circuito Somador Completo que já estudamos.

Para executar a soma dos bits de cada uma das ordens superiores, precisamos de 1 CSC para
cada ordem de bit.
CIRCUITO SOMADOR DE PALAVRA BINÁRIA - CSPB
====================================================================
Exercício Agora temos condições de montarmos um Circuito Somador de Palavra Binária – CSPB,
utilizando Circuito Meio-Somador - CMS e Circuitos Somadores Completos - CSC,
1 Defina o que é Circuito Somador Completo.
convenientemente interligados entre si.
2 Quais são as entradas de um CSC?
3 Quais são as saídas do CSC?
Considerando um CSPB capaz de somar 2 palavras de 4 bits, precisaremos dos seguintes
4 Desenhe a tabela verdade do Resultado Soma de um CSC? circuitos somadores básicos:
5 Desenhe a tabela verdade do Resultado Estouro de um CSC? - 1 CMS para somar o bit menos significativo
6 Desenhe um CSC utilizando apenas portas lógicas NOT e AND de 2 entradas. - 1 CSC para somar o bit 1
==================================================================== - 1 CSC para somar o bit 2
- 1 CSC para somar o bit 3
Procure saber mais.......
Implemente o circuito de um CSC utilizando apenas portas NOR. É possível? Quantas portas são necessárias?
Procure saber o que é circuito meio-subtrator e circuito subtrator completo. Sabe sabe defini-los sem fazer pesquisa?
A interligação entre estes circuitos está mostrada a seguir.
Você consegue desenhar as respectivas tabelas verdades?
PÁG. 41 PÁG. 42
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

O CSPB possui 3 barramentos:


- barramento do 1o operando
- barramento do 2o operando
- barramento de saída.

Os barramentos dos operandos possuem tamanhos iguais entre si e são do tamanho da palavra
do somador.

O barramento de saída possui tamanho igual a palavra do somador, acrescido de 1 bit (estouro
final).

O número de circuitos básicos que precisamos para implementar um CSPB de palavra de x bits
é:
- 1 CMS para somar o bit menos significativo
- (x-1) CSC para somar os demais (x-1) existentes
================================================================
Exercício

1. Qual a função do CSPB?


2. Quantos barramentos existem em um CSPB, palavra de 8 bits?
3. Quantos barramentos existem em um CSPB, palavra de 6 bits?
Cada bloco representa um circuito somador básico e contém em seu interior um circuito
4. Quantos CMS e CSC são necessários para implementar um CSPB palavra de 7 bits?
combinacional equivalente aos que desenvolvemos nos itens anteriores.
5. Quantos CMS e CSC são necessários para implementar um CSPB palavra de 12 bits?
6. Qual o tamanho de cada um dos barramentos de um CSPB palavra de 16 bits?
O bloco mais superior é um CMS que recebe em sua entrada os bits menos significativos dos 2
operandos: A0 e B0. 7. Qual o tamanho de cada um dos barramentos de um CSPB palavra de 20 bits?
8. Utilizando blocos representantes de CMS e de CSC, desenhe um CSPB palavra de 6 bits.
O segundo bloco (de cima para baixo) é um CSC que recebe em sua entrada os bits: A1 , B1 e o 9. Utilizando blocos representantes de CMS e de CSC, desenhe um CSPB palavra de 8 bits.
RE0 (aqui representado como Co). ================================================================

O terceiro bloco é um CSC que recebe em sua entrada os bits: A2 , B2 e o RE1. CIRCUITO SOMADOR/SUBTRATOR DE PALAVRA BINÁRIA – CSSPB

O quarto bloco é um CSC que recebe em sua entrada os bits: A3 , B3 e o RE2. Vamos agora estudar e implementar um circuito que possui 2 funções: soma e subtração. Ele é o
próximo passo para que possamos implementar circuitos de múltiplas funções, a ULA.
O resultado da soma é fornecido no barramento de saída – S constituído pelos contatos S0, S1,
S2, S3,e pelo contato RE que é o resultado estouro do bit de maior ordem. Barramento de Controle

Para implementarmos um CSPB de palavra de 5 bits, basta acrescermos mais um CSC. Este A capacidade de operar mais do que 1 função deve ser entendida que: a cada momento o
receberia os bits A4, B4 e RE3, e forneceria o resultado de S4 e RE. circuito desempenha uma e apenas uma função. Isso significa que, o circuito que estamos
prestes a desenvolver será, em um determinado momento, um circuito somador de palavra
binária, em outro momento, um circuito subtrator de palavra binária.
Repare que o resultado estouro RE de cada circuito somador básico é apenas utilizado
internamente no CSPB, e, portanto não participa dos pinos externos do circuito somador. A
exceção é apenas o resultado estouro do bit de maior ordem que é exatamente o resultado É uma situação bastante diferente do CSPB que acabamos de estudar. No CSPB a palavra
estouro do CSPB e deve fazer parte do resultado final do circuito somador. aplicada no barramento do 1o operando é sempre somada à palavra aplicada ao barramento do
2o operando.
PÁG. 43 PÁG. 44
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Esta nova condição presente no CSSPB (assim como na ULA ou em qualquer circuito de Utilizaremos portas lógicas OU EXCLUSIVO – XOR para implementar este circuito. Abaixo temos
múltiplas funções) exige um tipo de pino para identificar a única função que será executada neste as tabela verdade de uma porta XOR de 2 entrada.
determinado momento. Este pino (ou pinos) compõe (ou compõem) o barramento de controle.
C B C .XOR. B
O barramento de controle de um CSSPB possui apenas um pino e tem a função de 0 0 0
informar ao circuito a função específica que será executada neste determinado momento.
0 1 1
1 0 1
O barramento de controle é um barramento de entrada. Quem irá utilizar o CSSPB sabe
exatamente a função que é necessária neste momento. Sabendo a função desejada, aplicará no 1 1 0
barramento de controle o nível lógico que seleciona a função desejada dentre as 2 funções
permitidas. O nível lógico que aponta cada uma das funções possíveis no CSSPB é determinado Se adotarmos a entrada C como a entrada de controle, ou seja, aplicaremos nesta entrada o
durante o desenvolvimento do circuito e deverá ser informada pelo fabricante através de nível lógico aplicada ao pino de controle do CSSPB, vemos que:
informações técnica do CI. - enquanto C=0; S=B; saída é a identidade de B (1a e 2a linha da tabela)
- enquanto C=1; S=Bbarra; saída é o complemento de B (3a e 4a linha da tabela)
Como estamos prestes a desenvolver um circuito de dupla função: soma ou subtração, o
barramento de controle possui apenas um pino. Aplicado nível lógico ZERO neste pino, o circuito
Assim utilizaremos a porta XOR como uma porta que ora é a função identidade (quando
executa a soma entre as 2 palavras binárias aplicadas no barramento dos operandos. Aplicando
aplicarmos nível lógico ZERO na entrada de controle); ora é a função inversora (quando
nível lógico UM neste pino, o circuito executa a subtração entre os 2 palavras aplicadas no
aplicarmos nível lógico UM na entrada de controle).
barramento dos operandos. Poderia ser o contrário (nível lógico ZERO indica subtração; nível
lógico UM indica soma). O importante do barramento de controle é especificar exatamente a
função a ser executada. O circuito identidade/complemento de um, palavra de 4 bits, segue abaixo.

Estratégia do CSSPB

Já sabemos como implementar um circuito capaz de somar palavras binárias e, portanto, uma
parte do circuito que iremos desenvolver já está bem esclarecida. A função subtração é que
deverá ser acrescida ao CSPB já conhecido.

É importante ter em mente que a subtração pode ser executada pela soma (portanto o mesmo
circuito do CSPB!) do subtrator (1o operando) com o complemento de dois do subtraendo (2o
operando). Portanto nosso CSSPB será um CSPB onde o 2o operando passa previamente por
um circuito lógico. Este circuito deverá ser capaz de:
- fornecer a identidade do 2o operando; ou
- fornecer o complemento de 2 do 2o operando.

Este circuito identidade/complemento de 2 será comandado pelo nível aplicado no pino de


controle. Fornecerá a identidade do 2o operando quando for aplicado nível ZERO no pino de
controle; e fornecerá o complemento de 2 do 2o operando quando for aplicado nível lógico UM no Implementando o circuito identidade/complemento de um no CSPB temos um circuito que
pino de controle. executa:
- A soma de A e B quando aplicarmos nível lógico ZERO no pino de controle
Circuito identidade/complemento de 1 - A soma de A com complemento de um de B quando aplicarmos nível lógico UM no pino de
controle
Lembrando que o complemento de 2 é igual ao complemento de 1 mais uma unidade, o circuito
identidade/complemento de 2 será implementado através de um circuito
identidade/complemento de 1. Desde que somemos uma unidade ao resultado quando o
circuito estiver no modo de complemento de um, obteremos na saída do circuito o complemento
de 2.
PÁG. 45 PÁG. 46
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Este novo circuito é exatamente o Circuito Somador Subtrator de Palavra Binária - CSSPB,
O diagrama deste circuito é: cujo diagrama está a seguir:

O circuito acima ainda não é o CSSPB, falta somarmos uma unidade quando o circuito estiver
fazendo a operação de subtração. Isso é facilmente implementado substituindo o primeiro bloco
somador básico (circuito meio somador) por um circuito somador completo. O sinal A0 e B0
são conectados à entrada deste CSC. A entrada de RE é conectada ao pino de controle do
circuito. Assim, estamos alterando o circuito anterior através da soma do resultado ao nível
aplicado no pino de controle.
Quando pino de controle for ZERO, o resultado do novo circuito é o resultado do circuito anterior
mais ZERO.
Quando pino de controle for UM, o resultado do novo circuito é o resultado do circuito anterior
mais UM.
O novo circuito executa as seguintes funções:
- A soma de A, B e ZERO, ou seja A+B, quando aplicarmos nível lógico ZERO no pino de
controle
- A soma de A, com complemento de um de B mais UM, ou seja A-B, quando aplicarmos
nível lógico UM no pino de controle
PÁG. 47 PÁG. 48
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

=============================================================== Um circuito decodificador que possui barramento de entrada com tamanho de 2 bits terá um
Exercício barramento de saída, necessariamente, com tamanho de 4 bits, pois são 4 as possibilidade de
1. Quantos barramentos possui um CSSPB? Dê o nome de cada um deles. diferentes palavras aplicadas ao barramento de entrada (00, 01, 10 e 11).
2. Utilizando blocos que representem CMS e CSC e portas lógicas básicas, desenhe o
circuito de um CSSPB palavra de 3 bits. Ao lado temos o circuito de um decodificador 2x4.
3. Quantos CMS, CSC e portas XOR de 2 entradas são necessárias para a implementação
de um CSSPB de 8 bits? Os dois pinos de entradas estão nomeados como C0 e
4. Qual a função das portas ou exclusivo no circuito de um CSSPB? Utilize a tabela verdade C1. As saídas estão nomeadas como S0, S1, S2 e S3.
para explicar esta função.
=============================================================== A saída da porta S0 estará presente apenas quando
C0 = 0 e C1 = 0.
A saída da porta S1 estará presente apenas quando
C0 = 1 e C1 = 0.
CIRCUITO MULTIPLEXADOR DIGITAL A saída da porta S2 estará presente apenas quando
C0 = 0 e C1 = 1.
Estamos pertos de implementar uma ULA. Para tal é muito útil a utilização de um circuito A saída da porta S3 estará presente apenas quando
multiplexador digital. C0 = 1 e C1 = 1.

Circuito multiplexador tem bastante aplicação em diversas áreas da eletrônica. Existem circuitos
multiplexadores digitais e circuitos multiplexadores analógicos. Iremos estudar de forma
superficial os multiplexadores digitais. Não temos intenção de esgotar o assunto multiplexadores
que será objeto de estudo mais pormenorizado na cadeira de eletrônica digital. A abordagem
aqui se resumirá no suficiente para que possamos utilizá-lo na implementação da ULA.
Assim, para qualquer palavra aplicada ao barramento de entrada, uma, e apenas uma, das
saídas estará presente.
Circuito Multiplexador é aquele que possui a capacidade de, através de uma palavra aplicada ao
barramento de controle, selecionar uma das diversas entradas existentes no circuito e apresentá-
la no pino de saída. Enquanto uma entrada está selecionada, as demais entradas não influem no Utilizando portas AND como identidade ou ZERO
sinal de saída.
Quando estudamos o CSSPB utilizamos portas XOR como uma função identidade ou função
Uma visão eletromecânica de um multiplexador é uma chave rotativa multipolar. Esta chave faz complemento, através da aplicação de um sinal de controle em uma das entradas da porta XOR.
contato elétrico entre o terminal central e um dos diversos contatos de entrada disponíveis. A
posição do eixo da chave rotativa seleciona apenas uma das diversas entradas. A posição do Este tipo de aplicação pode ser empregado utilizando outras portas lógicas básicas. Vamos agora
eixo, neste modelo eletromecânico, está fazendo o papel do barramento de controle do circuito utilizar portas AND para implementar uma função identidade ou função ZERO.
multiplexador (selecionar apenas uma das diversas entradas disponíveis).

Abaixo temos as tabela verdade de uma porta AND de 2 entrada.


Iremos desenvolver um circuito multiplexador 4x1. Ele contém os princípios básicos de todo
circuito multiplexador e será possível entendermos o funcionamento de qualquer circuito
multiplexador digital. C B C .AND. B
0 0 0
Circuito Decodificador 2x4 0 1 0
1 0 0
Como parte integrante do circuito multiplexador 4x1, utilizaremos um circuito decodificador 2x4. 1 1 1
Um circuito decodificador 2x4 possui um barramento de entrada de 2 bits, um barramento de
saída de 4 bits (daí seu nome), e a função de fornecer, no barramento de saída, apenas um pino Se adotarmosa entrada C como a entrada de controle, ou seja, aplicaremos nesta entrada um
em nível lógico presente (todos os demais pinos do barramento de saída estarão em nível lógico nível lógico conhecido e, portanto, controlado pelo usuário do circuito, vemos que:
ausente). A saída presente será aquela que a palavra aplicada no barramento de entrada - enquanto C=0; S= ZERO; saída é ZERO, independente do valor de B (1a e 2a linha da
apontar. tabela)
PÁG. 49 PÁG. 50
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

a a
- enquanto C=1; S=B; saída a identidade de B (3 e 4 linha da tabela) A tabela verdade da função OU nos mostra que ZERO e “qualquer coisa” é “qualquer coisa”
(lembrando que “qualquer coisa” em sistemas binários é, ou ZERO, ou UM).
Assim utilizaremos a porta AND como uma porta que ora é a função ZERO (quando aplicarmos
nível lógico ZERO na entrada de controle); ora é a função indentidade (quando aplicarmos nível C B C .OR. B
lógico UM na entrada de controle). 0 0 0
0 1 1
Circuito multiplexador 4x1 1 0 1
1 1 1
Implementaremos o circuito multiplexador 4x1 através de um circuito decodificador 2x4, sendo
que cada saída deste decodificador será o sinal de controle de uma porta AND de 2 entradas. Na
segunda entrada de cada uma das 4 portas AND será aplicado o sinal digital exterior ao circuito. Ou seja, a porta OU de 4 entradas está recebendo 3 entradas em nível lógico ZERO e uma
O circuito está detalhado a seguir. entrada com o mesmo nível lógico presente na entrada selecionada do circuito multiplexador .
Logo a saída desta porta OU será o mesmo nível lógico presente na entrada selecionada do
circuito multiplexador.

O circuito multiplexador terá sempre 3 barramentos:


- Barramento de saída unitário.
- Barramento de entrada normalmente em número igual a uma potência de 2.
- Barramento de controle de tamanho igual a TBE = 2TBC (onde: TBE = tamanho do barramento
de entrada; e TBC = tamanho do barramento de controle).

No circuito de nosso exemplo, multiplexador 4x1, temos:


- Tamanho do barramento de saída: 1
- Tamanho do barramento de entrada: 4 (22)
- Tamanho do barramento de controle: 2 (já que: TBE = 2TBC; e 4 = 22)

==================================================================
Exercício
1. Qual a função de um circuito decodificar 4x16? Qual o tamanho de seu barramento de entrada
e qual o tamanho de seu barramento de saída?
1. Qual a função de um circuito multiplexador digital?
2. Quais os nomes e o tamanho de cada barramento existente em um circuito multiplexador
16x1?
3. Um circuito multiplexador digital possui barramento de controle de tamanho de 5 bits. Qual o
tamanho do seu barramento de entrada? (justifique) E do seu barramento de saída?
Como apenas uma das saídas do decodificar 2x4 estará presente (S0 ou S1 ou S2 ou S3),
(justifique).
apenas uma das 4 portas AND excitadas pelo decodificador apresentará em sua saída o mesmo
nível lógico presente em sua segunda entrada (uma das 4 entradas do circuito multiplexador: E0 ==================================================================
ou E1 ou E2 ou E3). As 3 outras portas AND excitadas pela saída do decodificador estarão com
nível lógico ausente.
Cada saída das 4 portas AND está conectada a uma entrada de uma porta OU de 4 entradas.
PÁG. 51 PÁG. 52
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

UNIDADE LÓGICA E ARITMÉTICA - ULA 2TBC = NFU

Unidade Lógica e Aritmética, ou simplesmente ULA, é o nome que se dá ao circuito onde: TBC = Tamanho do barramento de controle da ULA
combinacional responsável por executar todas as funções lógicas e as funções aritméticas que o NFU = Número de funções implementadas nesta ULA
processador está capacitado a executar.

Toda máquina digital possui uma ULA em sua estrutura interna. Todas as funções tanto lógicas
quanto aritméticas são executadas pela ULA. Características definidas pela equipe projetista da ULA

Assim a ULA é um circuito multifuncional. Ela possui várias funções implementadas em seu A associação de cada palavra de controle possível com cada função disponível se dá durante o
circuito interno (soma, subtração, ou exclusivo, ou inclusivo, função e, etc.), sendo que, apenas desenvolvimento dos circuitos da ULA e é, portanto, consequência de definição pela equipe de
uma destas funções estará habilitada em cada momento. desenvolvimento do circuito. O fabricante da ULA publica esta associação, junto com todas as
demais características funcionais e elétricas, nos documentos relativos ao circuito.

A quantidade de funções disponíveis, quais serão estas funções implementadas, o tamanho da


Barramentos de dados de uma ULA palavra de dados, etc. são também definidos pela equipe de desenvolvimento da ULA, não
existindo nenhuma padronização sobre este assunto entre os diversos fabricantes.
Toda ULA, tanto aquelas dos processadores mais antigos, quanto aquelas pertencentes aos
processadores mais modernos, executam funções entre 2 palavras binárias. Funções que exigem
operações entre mais do que 2 palavras binárias são executadas através de execuções
sequenciais de funções de 2 palavras binárias. Circuito de uma ULA de 4 funções, palavra de 3 bits

Assim toda ULA possui 3 barramentos de dados igual tamanho: Na página seguinte temos um circuito eletrônico de uma ULA capaz de executar 4 diferentes
funções lógicas entre 2 operando de 3 bits.
- barramento do 1º operando (ou operando A): onde o usuário aplica o número que será operado.
- barramento do 2º operando (ou operando B): onde o usuário aplica o outro número que será
operado. Apesar de bastante simples ela contém todas as características presentes em ULAs de maior
capacidade de função e de maior tamanho de palavra de dados.
- barramento de saída: onde a ULA apresenta o resultado entre os 1º e 2º operando.

Barramento de controle de uma ULA

Para que uma das funções seja selecionada é necessário (assim como no CSSPB) um
barramento de controle. Neste barramento de controle será aplicada uma palavra binária pelo
usuário da ULA de forma a selecionar apenas uma das diversas funções disponíveis. O tamanho
do barramento de controle da ULA, portanto, está comprometido com o número de funções
implementadas na ULA.

Uma ULA com 8 funções disponíveis possui um barramento de controle com tamanho de 3 bits,
pois 3 bits são necessários e suficientes para definir 8 diferentes palavras binárias. Cada palavra
binária destas estará selecionando uma das 8 funções disponíveis.

Uma ULA com 16 funções, pelo mesmo motivo, precisará de um barramento de controle com
tamanho de 4 bits.

De uma forma geral, o tamanho do barramento de uma ULA se relaciona com o número de
funções implementadas nesta ULA segundo a relação:
PÁG. 53 PÁG. 54
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Entendendo o circuito da ULA

Existem 4 barramentos na ULA:


- A0, A1 e A2 compõem o barramento do 1º operando
- B0, B1 e B2 compõem o barramento do 2º operando
- C0 e C1 compõem o barramento de controle
- S0, S1 e S3 compõem o barramento de saída

Os barramento de dados (A, B e S) possuem o mesmo tamanho, no caso 3 bits, pois a ULA é
palavra de 3 bits.

O barramento de controle possui tamanho de 2 bits pois a ULA possui 4 funções.

Cada bit do barramento de saída é o pino de saída de um circuito multiplexador de 4x1. Existem
3 circuitos multiplexadores, um para cada bit do barramento de saída. As entradas de mesma
ordem de cada multiplexador é a saída de uma porta lógica do mesmo tipo, portas lógicas de 2
entradas excitadas pelos bits de mesma ordem dos 2 operandos. Ou seja, a entrada 0 dos 3
multiplexadores estão ligadas a saída de uma porta lógica NÃO OU INCLUSIVO de 2 entradas.
Esta porta lógica do 1º multiplexador recebe o bit de ordem zero do operando A e o bit de ordem
zero do operando B. A porta lógica do 2º multiplexador recebe o bit de ordem um do operando A
e o bit de ordem um do operando B. A porta lógica do 3º multiplexador recebe os bits de ordem 2
tanto do operando A quanto do operando B. As entradas 1 de todos os 3 multiplexadores estão
ligadas à saída de uma porta lógica NÃO E de 2 entradas, cujas entradas estão conectadas na
mesma conformidade como descrito para a função NÃO OU INCLUSIVO. As entradas 2 dos 3
multiplexadores estão conectadas na mesma forma como descrito nas 2 primeiras funções,
exceto que a porta que conecta os bits dos operandos no multiplexador é uma porta lógica de
função OU EXCLUSIVO. O mesmo para a 4ª e última entrada, através de uma função OU
INCLUSIVO.

Assim, através da palavra aplicada ao barramento de controle, temos presente no barramento de


saída uma das 4 funções lógicas implementadas.

Evidentemente as funções escolhidas podem ser qualquer uma, inclusive funções aritméticas
através de circuitos somadores e/ou circuito somador/subtrator já estudados.
PÁG. 55 PÁG. 56
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

MEMÓRIA AUXILIAR E MEMÓRIA PRINCIPAL

As memórias para computador são todos os dispositivos, componentes ou equipamentos que tem
o poder de:
- receber um dado digital (escrita de dados);
- manter este dado por um tempo indeterminado (manutenção do dado);
- disponibilizar este dado quando algum dispositivo solicitar sua consulta (leitura de
dados).
Existem vários tipos de dispositivos de memória. O disco rígido (HD), o disquete, unidades de fita
magnética são os dispositivos de memória mais explícitos. Um trabalho de edição de texto,
quando salvo no disquete, por exemplo, ficará armazenado e disponível para ser lido por
qualquer computador a qualquer momento. Este tipo de memória é chamado de memória
auxiliar ou memória de massa. São dispositivos que possuem alta capacidade de
armazenamento (grandes volumes de dados) e, portanto possuem um custo de armazenamento
menor (US$/bit). Em contrapartida as memórias de massa exigem muito tempo para escrita como
Recordando a tabela verdade do flip-flop RS, temos:
também para a leitura dos dados quando comparados com a memória principal do computador.
R S Q
Quando informações da memória auxiliar precisam ser manipuladas pelo processador, os dados
são lidos e colocados na memória principal. Esta possui velocidade de acesso (leitura ou 0 0 Mantém o estado anterior
escrita) muito maior do que a memória auxiliar, porém tem menor capacidade de armazenamento 0 1 1
de dados, e consequentemente são memórias mais caras (US$/bit). A memória principal é 1 0 0
constituída por componentes semicondutores.
1 1 Não permitido

Veja que, para se armazenar um bit no flip-flop devemos alterar os estados das entradas R e S
CÉLULA DE MEMÓRIA SEMICONDUTORA conforme nossa necessidade no momento (2ª e 3ª linhas da tabela verdade).
Uma vez armazenado o valor do bit desejado, mantendo as entradas R e S ambas no nível 0, a
Se quisermos uma estrutura capaz de armazenar milhares de bits, é necessário implementar uma informação se manterá no flip-flop (1ª linha da tabela verdade).
estrutura básica capaz de armazenar um bit. Através da multiplicação desta estrutura básica, Para acessar o valor do bit anteriormente armazenado no flip-flop, basta acessar o pino de saída
convenientemente organizada e interligada, seremos capazes de obtermos uma estrutura para do flip-flop Q.
armazenar grandes quantidades de bit. Esta estrutura básica de memória é chamada de célula
de memória.
A célula possui quatro conexões lógicas:
Célula de memória é qualquer dispositivo ou circuito capaz de receber, guardar e disponibilizar • Dado de Entrada: é onde deverá ser aplicado o nível lógico que se deseja armazenar;
um bit de informação. • Read / Write barra (leitura / escrita barra): é onde se deve aplicar 1 para quando se deseja
ler o bit armazenado (read); ou 0 quando se deseja escrever o dado na memória (write
barra);
Uma célula pode ser qualquer dispositivo ou componente capaz de assumir dois estados
distintos. Cada estado será associado a um estado lógico possível (zero ou um). Um capacitor • Dado de Saída: é onde a célula disponibilizará o dado armazenado durante uma leitura da
(carregado ou descarregado), um pedaço de fita magnética que contenha um bit, um flip-flop, são célula;
elementos possíveis de constituir uma célula de memória. • Seleção de Linha: é uma entrada que habilita ou não a célula para trabalhar.

Célula de memória semicondutora é qualquer circuito eletrônico capaz de receber, guardar e Analisando o funcionamento da célula com FF RS, repare que, se seleção de linha for zero, o
disponibilizar um bit de informação implementada em uma pastilha semicondutora. Dado de Saída será zero e as entradas R e S do FF serão zero (condição que não altera o valor
de Q). Portanto só será possível ler ou escrever na célula (ou seja, operar a célula) se o bit
Toda memória principal de computador é uma memória semicondutora constituída pelo arranjo Seleção de Linha for um.
de várias células semicondutoras. Um elemento básico de uma célula semicondutora é o flip-flop Se a Seleção de Linha for um e a entrada R/W barra for um, o dado de saída será zero e as duas
(FF). A seguir temos uma célula de memória semicondutora utilizando flip-flop RS. Não é a única portas ANDs das entradas R e S estarão habilitadas para transportar o Dado de Entrada até o
possibilidade de implementação de célula semicondutora, porém ela apresenta características FF.
que toda célula de memória possui.
PÁG. 57 PÁG. 58
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Assim o pino de controle seleção de linha possui prioridade: se ausente (ZERO), está
desabilitada a leitura e a escrita na célula. Se estiver presente (UM) é possível escrever ou ler a Este roteiro também é função do equipamento/componente que está utilizando a memória. Este
célula, dependendo do sinal lógico aplicado ao pino de controle leitura/escrita barra. roteiro também demanda uma ordem e um tempo para ser executado.

A seleção de linha serve para habilitar, ou desabilitar o manuseio da célula. Por manuseio
entende-se leitura ou escrita. Observe que a função de manutenção do dado armazenado (um
das funções básicas da memória) está sempre presente, independentemente do sinal aplicado
em seleção de linha. MATRIZ DE CÉLULAS DE MEMÓRIA – POSIÇÃO DE MEMÓRIA – PALAVRA DE MEMÓRIA

Armazenar um bit é muito pouco para qualquer sistema de processamento de dados. Na


realidade uma memória precisa armazenar muitos bits para ser útil. Um circuito integrado de
CICLO DE ESCRITA - OPERAÇÃO DE ARMAZENAMENTO memória é constituído por uma matriz de células formando uma arquitetura capaz de armazenar
vários bits simultaneamente, como na figura que segue.
Para se escrever um dado em uma célula de memória é necessário a execução de um roteiro:
- Aplicar o dado a ser armazenado no pino dado de entrada; Matriz de células: Conjunto de células de memória, devidamente organizado e interligado,
- Aplicar nível lógico ZERO no pino leitura/escrita barra; formando uma estrutura capaz de armazenar várias diferentes palavras binárias de tamanho
- Aplicar nível lógico UM no pino seleção de linha durante um determinado tempo; determinado.
- Aplicar nível lógico ZERO no pino seleção de linha
Várias diferentes palavras implicam que a matriz possui várias estruturas internas semelhantes,
Este roteiro garante que o dado presente no pino dado de entrada será transferido para o pino de cada uma dela capaz de armazenar uma palavra binária. A esta estrutura com capacidade de
saída do FF Q. armazenar uma palavra binária recebe o nome de posição de memória.

Em cada posição de memória é possível armazenar uma palavra de determinado tamanho. O


A execução deste roteiro recebe o nome de operação de escrita ou operação de
armazenamento. É também chamado de ciclo: ciclo de escrita ou ciclo de armazenamento. tamanho dessa palavra é único para cada matriz de memória. Ou seja, uma matriz de palavra de
4 bits, implica uma matriz que é capaz de armazenar uma palavra binária de tamanho de 4 bits
em cada uma de sua posição de memória. O tamanho de palavra que cada posição de memória
Este roteiro deve ser garantido pelo equipamento/componente que está utilizando a memória. é capaz de armazenar recebe o nome de palavra de memória.
Este roteiro demanda uma ordem e um tempo para ser executado.
A seguir temos uma matriz de memória com 4 posições de memória, palavra de memória de 5
Observe que durante o ciclo de escrita a informação anteriormente armazenada na célula se bits.
perde. Ela é sobrescrita pelo novo dado armazenado.

CICLO DE LEITURA - OPERAÇÃO DE BUSCA

Para se ler o dado armazenado em uma célula de memória é necessário a execução de um


roteiro:
- Aplicar nível lógico UM no pino leitura/escrita barra;
- Aplicar nível lógico UM no pino seleção de linha durante um determinado tempo;
- Acessar o dado através do pino dado de saída;
- Aplicar nível lógico ZERO no pino seleção de linha

Este roteiro garante que o dado presente na saída do FF Q será transportado para o pino Dado
de Saída.

A execução deste roteiro recebe o nome de operação de leitura ou operação de busca (o dado
está sendo buscado na célula). É também chamado de ciclo: ciclo de leitura ou ciclo de busca.
PÁG. 59 PÁG. 60
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

posição de memória selecionada pela palavra aplicada no barramento de endereços) e, portanto


somente esta célula armazenará o bit presente em Dado de Entrada.

Em uma operação de leitura a porta OR que recebe todos os Dados de Saída pertencentes a
cada uma das colunas estará recebendo ZERO de todas as células não selecionadas (reveja o
funcionamento da célula), exceto da célula selecionada (pertencente à posição selecionada).
Como ZERO OU qualquer dado é qualquer dado, a saída de cada porta OR estará apresentando
o valor armazenado na célula selecionada.

A estrutura apresentada é muito pequena. Ela é capaz de armazenar apenas 20 bits (é o número
de células que constituem a matriz) distribuídos em 4 posições de memória (número de linhas da
matriz), cada posição armazenando uma palavra de 5 bits (número de colunas da matriz).
Memórias com maior capacidade de armazenamento são implementadas multiplicando as linhas
(posições de memória) e as colunas da matriz (tamanho da palavra de memória).

A matriz de memória, semelhante à célula de memória, possui 4 barramentos de interligação:


- Barramento dados de entrada
- Barramento de endereços
- Barramento de controle
- Barramento de dados de saída

A função de cada barramento é similar ao seu pino correspondente na célula de memória.

NOVOS CONCEITOS

Cada quadrado representa uma célula de memória semicondutora. Os quatros terminais de cada
O circuito integrado de memória, formado pela matriz de células como apresentado no exemplo,
célula (Din, Dout, SL, R/Wbarra) estão identificados apenas na primeira célula, nas demais
trabalha com novos conceitos que estão definidos abaixo.
células foram omitidas para facilitar a visualização.

Palavra de Memória: é o grupo de bits (células) que são manipulados simultaneamente. Para a
As entradas Seleção de Linha (SL) das células que compõem cada uma das linhas estão
memória do nosso exemplo, em uma operação de escrita todos os cincos bits que compõe a
interligadas de maneira que só poderão operar simultaneamente. Cada linha da matriz forma
linha selecionada são escritos simultaneamente; em uma operação de leitura todos os cincos bits
uma posição de memória. Pela interligação do pino SL de cada célula formadora de uma
que compõe a linha selecionada serão lidos simultaneamente. Assim o dizemos que a memória
posição de memória, fica claro que as operações de escrita ou busca são realizadas de forma
apresentada na figura é uma memória que armazenas palavras de cinco bits. Normalmente uma
simultânea em todas as células componentes de cada posição de memória. A SL de cada linha
palavra é uma unidade de informação. Representa um dado ou uma instrução que o processador
será determinada pela saída do circuito decodificador 2x4 formado pelas portas inversores e
reconhece como uma unidade. O termo byte é utilizado para representar um conjunto de oito
ANDs de duas entradas. As entradas A0 e A1 são as entradas dos bits de endereço que
bits. A palavra de memória pode ser identificada por bits ou por bytes. Uma palavra de 16 bits
selecionam, a cada momento, apenas uma das quatro posições de memória existentes na matriz.
pode ser identificada como uma palavra de dois bytes. Uma palavra de oito bits, ou uma palavra
de um byte, tem o mesmo significado. O tamanho de palavra de um circuito integrado de
As entradas Read / Write barra de todas as células estão interligadas e disponíveis em um dos memória pode ser identificado através do tamanho do barramento de dados de entrada (ou do de
pinos externos do circuito integrado. Isso implica que, em um determinado momento, só será saída), pois seus tamanhos são sempre iguais.
possível, ou uma operação de leitura, ou uma operação de escrita nas células que compõe a
memória, determinado pelo nível lógico aplicado em Read / Write barra.
Posições de Memória: É o número de posições de armazenamento existem na memória. Na
memória apresentada existem quatro posições de armazenamento (cada linha de células é uma
Os Dados de Entrada estão interligados nas células que compõem cada coluna da matriz de posição de memória). Maior número de posições de memória, significa que a memória tem maior
memória. Portanto, em uma operação de escrita o mesmo bit será aplicado em todas as células capacidade de armazenamento.
que formam cada uma das colunas de células. Porém, devido a ação do circuito decodificador,
apenas uma célula das quatro existentes na coluna estará habilitada (a célula pertencente à
PÁG. 61 PÁG. 62
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

Endereços de Memória: É o número que identifica a posição de uma palavra de memória. Cada Memória Volátil ou Não volátil: É aquela que necessita de energia elétrica para manter as
dado armazenado em uma memória possui um endereço associado a ele. A palavra armazenada informações armazenadas. A célula implementada com FF RS é um tipo de célula volátil. O
na segunda linha da matriz apresentada possui o endereço 01, pois este número presente nas disquete e o HD são tipos de memórias não voláteis, pois os dados armazenados não se perdem
linhas de endereçamento selecionará a palavra armazenada na segunda linha. O número de na ausência de energia elétrica. Existem memórias semicondutoras não voláteis. São as
pinos de endereçamento de qualquer memória está comprometido com o número de posição de chamadas ROMs como veremos a seguir.
memória. No exemplo dado, temos duas linhas de endereçamento, permitindo o acesso de um
total de quatro (22 = 4) posições de memória. O número dois elevado ao número de linhas do
====================================================
barramento de endereços será o número de endereços de memória existentes no circuito
integrado. EXERCÍCIOS

Capacidade de Armazenamento de Memória: É o valor de quantos bits podem ser 1 Defina os seguintes termos:
armazenados na memória. Normalmente é expresso pelo número de posições de memória vezes a) célula de memória
o tamanho da palavra de memória. A memória apresentada é uma memória de capacidade 4x5 b) célula de memória semicondutora
bits. É comum a utilização dos termos c) matriz de célula de memória
1K (um quilo) para representar 210 = 1.024 d) palavra de memória
1M (um mega) para representar 220 = 1.048.576 e) posições de memória
1G (um giga) para representar 230 = 1.073.741.824. f) endereço de posição de memória
Uma memória de capacidade de 1K x 8 bits possui 1.024 posições de memória, sendo que em g) capacidade de armazenamento de memória
cada posição é armazenada uma palavra de oito bits (ou um byte). Assim a capacidade de
armazenamento dessa memória é de 8.192 bits (1.024 x 8). 2 Desenhe uma célula de memória semicondutora utilizando FF RS.
Quantos pinos essa célula possui?
Exemplo: Enumere o nome e função de cada um dos pinos dessa célula
Um circuito integrado (CI) de memória tem a capacidade de 1K x 2 bytes.
a) Quantas palavras podem ser armazenadas (quantas posições de memória)? 3 O que é uma operação de escrita ou armazenamento?
b) Qual o tamanho da palavra de memória do CI?
c) Qual a capacidade de armazenamento da memória em bits? E em bytes? 4 O que é uma operação de leitura ou busca?
d) Quantas linhas de endereçamento existem no CI?
Solução: 5 Na célula de memória do exercício 2, quais os níveis lógicos devem ser aplicada aos
a) 1K é a quantidade de posição de memória. pinos dessa célula durante uma operação de armazenamento?
1K = 1 x 210 = 1.024 palavras podem ser armazenadas neste CI; E durante uma operação de busca?
b) O tamanho da palavra é dois bytes, ou 16 bits (2 x 8 bits);
c) A capacidade de armazenamento é 6 Quantos barramentos possui um circuito integrado de memória? Enumere-os.
1K x 2 bytes = 1.024 x 16 bits = 16.384 bits, ou 2.048 bytes (16.384/8);
d) Para endereçar 1.024 posições de memória, são necessárias dez linhas de 7 Um circuito integrado de memória possui um barramento de endereço com tamanho de 8 bits.
endereçamento (1.024 = 210).
Quantas posições de memória esse CI possui?
Operação de Leitura ou Operação de Busca: É a operação na qual uma palavra armazenada Quantas linhas a matriz de células dessa memória possui?
em uma determinada posição de memória será transferida para outro dispositivo. É chamada
também de operação de busca, pois a palavra é buscada da memória. 8. Um circuito integrado de memória possui barramento de dados de entrada com tamanho de 6
bits.
Operação de Escrita ou Operação de Armazenamento: É a operação na qual uma palavra é Qual o tamanho da palavra dessa memória?
armazenada em uma determinada posição de memória. É chamada também de operação de Quantas colunas a matriz de células dessa memória possui?
armazenamento.
9. Um circuito integrado de memória possui o tamanho do barramento de endereços de 10 bits, e
Tempo de Acesso (tACC): É o tempo transcorrido desde que a memória receba um comando de o tamanho do barramento de dados de entrada é de 8 bits.
leitura, até que a palavra solicitada esteja, seguramente estável nos terminais de saída de dados. Quantas posições de memória esse CI possui?
Este tempo é importante para a velocidade total de processamento. Qual o tamanho da palavra dessa memória?
Qual a capacidade de armazenamento em bits dessa memória?
PÁG. 63 PÁG. 64
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

10.Um circuito integrado de memória possui o tamanho do barramento de endereços de 8 bits, e


o tamanho do barramento de dados de entrada é de 6 bits. Memória RAM Estática
Quantas posições de memória esse CI possui?
Qual o tamanho da palavra dessa memória?
Qual a capacidade de armazenamento em bits dessa memória? A matriz apresentada nesta apostila é do tipo RAM estática. Isso quer dizer que os dados lá
armazenados, lá ficarão sem que nenhuma outra operação (a não ser manter a memória
energizada) seja necessária. Lá, os dados armazenados ficam estáticos. As memórias RAMs
11.Um circuito integrado possui 512 posições de memória e palavra de 4 bits. Estáticas é hoje a tecnologia que oferece menor tempo de acesso. São utilizadas em locais onde
Qual o tamanho do seu barramento de endereço? este tempo redunda em maior velocidade de processamento. São memórias caras. O alto preço é
Qual o tamanho de seu barramento de dados de entrada? devido à complexidade de circuito existente em cada célula. Circuito complexo (muitos
Qual a sua capacidade de armazenamento em bits? componentes) exige maior área para a implementação do circuito no semicondutor. Maior área
por cada célula, implica em circuitos integrados de baixa capacidade de armazenamento.
12.Um circuito integrado possui 256 posições de memória e palavra de 6 bits.
Qual o tamanho do seu barramento de endereço?
Qual o tamanho de seu barramento de dados de entrada? Memória RAM Dinâmica
Qual a sua capacidade de armazenamento em bits?

Visando melhorar o tamanho das memórias (na mesma quantidade de silício, conseguir
13. O que é tempo de acesso de uma memória? O que o tempo de acesso afeta?
armazenar mais células) a RAM dinâmica foi desenvolvida. Nela cada célula é constituída por um
transistor e um capacitor. O capacitor faz a função do FF existente na célula da RAM estática. Ele
14. O que é memória volátil? E memória não volátil? Dê exemplos de cada um tipo. armazena o dado (capacitor carregado = nível lógico UM, descarregado = nível lógico ZERO).
Com isso, muito espaço é economizado em cada célula, resultando na possibilidade de
==================================================== construção de memórias RAMs de maior capacidade de armazenamento e, consequentemente,
mais baratas.
Porém surge uma nova necessidade. O capacitor descarrega com o passar do tempo. A
TIPOS DE MEMÓRIA informação será perdida se algo não for feito. Assim, com a RAM dinâmica surge o conceito de
refresh, que consiste no procedimento rotineiro de leitura de todas as posições de memória e
Existem vários tipos de memória semicondutora. Os tipos são diferenciados pela tecnologia subsequente reescrita de todos os dados, ou seja, a informação é reescrita de tempo em tempo
embarcada, a qual define características que determinam a melhor aplicação de cad um dos tipos (os capacitores são recarregados). Para esta tarefa a RAM dinâmica possui um circuito dedicado,
de memória. Estudaremos os tipos básicos de memória. chamado de circuito de refresh. O refresh é automático nas memórias RAMs dinâmicas e não
exige a participação do processador nesta tarefa.
FAMÍLIA DE MEMÓRIA RAM Durante o refresh, a memória fica indisponível para o processador. Assim sinais de controle, que
são dispensáveis na RAM estática, são necessários entre o circuito de refresh e o processador
A sigla RAM significa Random-Access Memory, memória de acesso aleatório foi originalmente
para que o processamento possa transcorrer sem problemas.
utilizada para diferenciar dispositivos de memória cujo tempo de acesso (tacc) independiam da
posição física da palavra armazenada. Ou seja, lendo a primeira posição de memória, uma Uma das consequências da necessidade de refresh das memórias RAMs dinâmicas, é que elas
posição intermediária, ou mesmo a última posição de memória de uma RAM, o tempo de aceso é tem maiores tempo de acesso do que as memórias RAMs estáticas.
o mesmo. Existem memórias cujo tempo de acesso varia com a posição da palavra. São as
chamadas SAM – Sequential-Access Memory, memória de acesso sequencial onde os dados são
armazenados, fisicamente, um após o outro. Em uma fita de dados, por exemplo, para acessar
um dado intermediário é necessário acessar todos os dados fisicamente armazenados em
posições anteriores à posição que armazena o dado desejado. Claro que os dados finais da fita
tem um tempo de acesso muito maior do que o primeiro dado armazenado na fita.
Hoje a origem do termo não é rigidamente aplicável. A maioria das memórias ROMs, são,
conceitualmente, memórias de acesso aleatório, porém o termo RAM ficou restrito as memórias
de escrita-leitura voláteis.
A célula de matriz apresentada nesta apostila é uma típica memória RAM. Como a célula é
constituída por FFs, se a matriz for desenergizada, todos os dados então armazenados se
perderão (memória volátil).
PÁG. 65 PÁG. 66
O O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

FAMÍLIA DE MEMÓRIA ROM


Memória EEPROM – PROM apagável eletricamente
É uma família de memórias que possuem vários componentes que estudaremos a seguir. ROM
significa Read Only Memory, memória apenas de leitura. Originalmente significava dispositivos É uma EPROM cujo processo de apagamento é eletricamente executado. Com isso ganha-se
que eram gravados durante a fabricação do circuito integrado. O processador só podia ler os tempo em relação à EPROM, cujo apagamento exige minutos de aplicação de luz. A EEPROM
dados lá armazenados. Hoje o nome ROM hoje engloba uma família de dispositivos que permite o apagamento de regiões da memória, facilitando a sua utilização. São memórias caras e
possuem a taxa de escrita muito menor do que a taxa de leitura. A característica comum a todas pouco densas. Pouco densa significa que muitos componentes (muita área da pastilha) são
as ROMs é a não volatilidade. Isso significa que os dados armazenados em qualquer tipo de necessários para implementar uma célula.
ROM não se perderão se a alimentação elétrica da memória for interrompida.

Memória FLASH
Memória MROM – ROM de máscara
É a tecnologia de memória mais recente. São memórias que agregam a melhor característica das
As células dessa ROM são fusíveis. Os fusíveis de cada célula são, ou não, queimados durante o RAMs (escrita e leitura) com a melhor características das ROMs (memória não volátil) através de
armazenamento dos dados. Fusível intacto é um nível lógico, fusível rompido, o outro nível lógico. processo elétrico.
Claro que a presença ou ausência da energia elétrica não reconstitui fusíveis, logo os dados As memórias FLASH possuem tempo de escrita (que engloba o tempo de apagamento das
armazenados não dependem da energia elétrica para serem mantidos (memória não volátil). células) muito menor do que a EEPROM (daí o seu nome flash, em uma alusão à alta velocidade
A queima dos fusíveis (gravação dos dados na memória) é feita através de uma máscara durante de escrita), porém são mais lentas do que as memórias RAMs estáticas.
o processo de fabricação do circuito integrado. A máscara aponta para os fusíveis de devam ser Tem uma estrutura de célula mais enxuta (menos componentes) e é apontada como um passo
queimados e o processo de produção do CI se incube disso. A memória sai de fábrica para a confecção de estruturas em estado sólido que forneça densidade e custo suficiente para
programada e qualquer alteração necessária aos dados armazenados só será possível substituir memórias de massa.
produzindo nova memória com a nova máscara.
É muito usada em máquinas fotográficas digitais, telefones celulares, armazenamento de
As MROMs são as memória mais baratas que existem para alto volume de produção. Possui o configuração de computadores e outras aplicações onde a não volatilidade seja importante.
inconveniente de não permitirem alteração dos dados. Ela é realmente uma memória apenas de
leitura. Existe a Flash ROM que é não volátil e existe a Flash RAM que é volátil, porém necessita de uma
energia elétrica muito pequena (baixa tensão e baixa potência) para a manutenção dos dados
armazenados.

Memória PROM – ROM Programável =====================================================


EXERCÍCIOS
A ROM programável é bem parecida com a MROM com a diferença que os fusíveis 1. Defina os tipos de memória abaixo, enfatizando suas diferenças:
armazenadores de dados podem ser queimados eletricamente. As PROM saem da fábrica com a) RAM estática
todos os fusíveis intactos. Através de um equipamento próprio (gravadora de PROMs) é possível b) RAM dinâmica
queimar os fusíveis que nos interessam através da aplicação de uma tensão elevada em pinos c) MROM
especiais. Isso leva para a bancada a gravação da ROM e possibilita a gravação de pequenas d) PROM
quantidades de memória. Veja que a operação de gravação só é possível uma vez. Caso seja e) EPROM
necessário alterar dados, nova PROM deverá ser gravada e a PROM antiga é descartada. f) EEPROM
g) FLASH

Memória EPROM – PROM apagável 2. O que é refresh?


Qual tipo de memória exige o refresh?
Evolução do PROM, nessa memória é possível o seu apagamento total através da aplicação de Quais as consequências se o circuito de refresh de uma memória não funcionar
luz sobre as células. Toda EPROM possui no seu invólucro uma janela translúcida por onde é adequadamente?
possível enxergar a pastilha de silício. O processo de apagamento é a incidência de luz por cerca
de 20 minutos sobre as células. Não é possível apagar algumas células. Após o apagamento, 3. Qual o tipo de memória possui menor tempo de acesso?
testa-se a memória certificando que todas as células estão sem informação. Após isso, a
memória está pronta para receber nova programação. Assim é possível a correção de dados
gravados na EPROM, sem a perda do circuito integrado, o que não era possível na PROM. 4. Qual tipo de memória é a mais barata para alto volume de produção?
PÁG. 67
O
MICROPROCESSADOR – PROF. ALEXANDRE KASCHER MOREIRA 1 SEMESTRE 2009 - PÓS-MÉDIO – MÓDULO II

5. Qual o tipo de memória mais de tecnologia mais recente?

6. O programa de boot de um computador é o primeiro programa que ele executa logo após a
energização do computador. Esse programa está armazenado em um circuito integrado de
memória. Quais os tipos de memória que não servem para armazenar este programa?
Justifique.

7. O computador precisa de memória de trabalho. Ela é aquela que armazena o trabalho de


digitação quando estamos utilizando um editor de texto. Quais os tipos de memória que não
servem para ser memória de trabalho? Justifique.

8. Quais os tipos de memória que são voláteis? Quais são as não voláteis?

=====================================================

Você também pode gostar