Instituto Politécnico
Curso: Tec. Redes de Computadores
Disciplina: Organização de Computadores
Prof.: Fábio Lucena Veloso
Curso: Tec. Análise de Sistemas
Disciplina: Organização de Computadores
Prof.: Roberto Barros
1
Profs. Fábio Lucena Veloso e Roberto Barros
Organização básica de sistemas de computação.
Qualquer computador conta em cinco elementos ou unidades essenciais; a unidade
lógica aritmética (ULA), a unidade de memória, a unidade de controle, a unidade de
entrada e a unidade de saída. A interconexão básica destas unidades está mostrada na
figura abaixo (fig. 1). As setas nestes diagramas indicam a direção na qual os sinais de
dados, informações ou controle estão fluindo. São usadas setas de dois tamanhos
diferentes; as setas maiores representam dados ou informações que, na verdade,
consistem em um número relativamente grande de linhas paralelas, e as setas menores
representam sinais de controle que são, normalmente, apenas uma ou algumas linhas.
As setas também estão numeradas para permitir uma fácil referência das mesmas nas
descrições que virão a seguir.
Unidade Central de
Processamento (UCP)
5
Unidade Lógica
Aritmética (ULA)
3
4
2
1
Para o
mundo
exterior
Do mundo
exterior
Entrada
Controle
10
Saída
12
7
6
8
11
9
Memória
(Fig. 1) – Organização de um sistema de computação
Profs. Fábio Lucena Veloso e Roberto Barros
2
Unidade lógica aritmética
Esta é a área do computador onde são realizadas as operações aritméticas e lógicas com
os dados. O tipo de operação a ser executada é determinado pelos sinais da unidade de
controle (seta 1). Os dados a serem operados pela ULA poderão vir tanto da unidade de
memória (seta 2) como da unidade de entrada (seta 3). Os resultados das operações
realizadas pela ULA podem ser transferidos tanto para a unidade de memória, para
armazenamento (seta 4), como para a unidade de saída (seta 5).
Unidade de memória
A unidade de memória armazena grupos de dígitos binários (palavras) que podem
representar instruções (programa), que o computador deverá executar, e os dados a
serem operados pelo programa. A memória também serve para o armazenamento de
resultados intermediários e finais de operações aritméticas (seta 4): A operação da
memória é controlada pela unidade de controle (seta 6), que sinaliza as operações tanto
da leitura como de escrita. Uma dada locação na memória é acessada pela unidade de
controle; que providencia o código de endereço apropriado (seta 7). As informações
podem ser escritas na memória a partir da ULA ou da unidade de entrada (seta 8),
novamente sob o controle da unidade de controle. As informações podem ser lidas da
memória par a ULA (seta 2) ou para a unidade de saída (seta 9).
Unidade de entrada
A unidade de entrada é composta por todos os dispositivos utilizados para tomar
informações e dados que são externos ao computador, e introduzi-los na unidade de
memória (seta 8) ou na ULA (seta 3). A unidade de controle determina para onde esta
informação de entrada é enviada (seta 10). A unidade de entrada é utilizada para
"entrar" o programa e os dados na memória, antes de se dar a "partida" no computador.
Esta unidade também é utilizada par entrar dados para a ULA, vindos de algum
dispositivo externo, durante a execução de um programa. Alguns dispositivos de entrada
mais comuns são: teclados, scanners, unidades de disco, fax-modem, microfone, ou
qualquer dispositivo analógico-digital.
A unidade de saída
Esta unidade é composta pelos dispositivos utilizados para transferir dados e
informações do computador para o mundo exterior. Os dispositivos de saída são
dirigidos pela unidade de controle (seta 12) e podem receber dados da memória (seta 9)
ou da ULA (seta 5), que são, então, colocados na forma apropriada para uso externo,
exemplos de alguns dispositivos de saída mais comuns: monitores de vídeo,
impressoras, unidades de disco, unidade de fax modem e dispositivos digitaisanalógicos.
Unidade de controle
Esta unidade dirige a operação de todas as outras unidades, fornecendo sinais de
temporização e de controle. Esta unidade contém os circuitos lógicos e de temporização
que geram os sinais necessários à execução de cada instrução de um programa.
A unidade de controle busca uma instrução na memória, mandando em endereço (seta
7) e um comando de leitura (seta 6) para a unidade de memória. A palavra de instrução
armazenada na locação da memória é, então, transferida para a unidade de controle (seta
11). Esta palavra de instrução, que é alguma forma de código binário, é decodificada
Profs. Fábio Lucena Veloso e Roberto Barros
3
pelos circuitos lógicos na unidade de controle para determinar que instrução está sendo
reverenciada. A unidade de controle usa esta informação para gerar os sinais necessários
para a execução da instrução.
Unidade Central de Processamento
Funções básicas da UCP:
O processador é o componente vital do sistema de computação, responsável pela
realização das operações de processamento (os cálculos matemáticos, etc) e de controle,
durante a execução de um programa.
Um programa, para ser efetivamente executado pelo processador, deve ser constituído
de uma série de instruções. Para que a execução tenha início, as instruções devem ser
armazenadas em células sucessivas, na memória principal.
A função da UCP consiste, então, em:
a) buscar uma instrução na memória (operação de leitura), um de cada vez;
b) interpretar que operação a instrução está explicitando (pode ser uma soma de dois
números, uma multiplicação, uma operação de entrada ou de saída de dados, ou
ainda uma operação de movimentação de um dado de uma célula para outra);
c) buscar os dados onde estiverem armazenados, para trazê-los até a UCP;
d) executar efetivamente a operação com o(s) dado(s), guardar o resultado (se houver
algum) no local definido na instrução; e, finalmente,
e) reiniciar o processo apanhando nova instrução.
Estas etapas compõem o que se denomina um ciclo de instrução. Este ciclo se repete
indefinidamente (fig. 2) até que o sistema seja desligado, ou ocorra algum tipo de erro,
ou seja, encontrada uma instrução de parada. Em outras palavras, a UCP é projetada e
fabricada com o propósito único de executar sucessivamente pequenas operações
matemáticas (ou outras manipulações simples com dados), na ordem e na seqüência
definidas pela organização do programa.
INÍCIO
Buscar a
próxima
instrução
Interpretar
a instrução
(decodificar)
Executar
a instrução
TÉRMINO
(Fig. 2) – Fluxo básico (resumido) de um ciclo de instrução.
4
Profs. Fábio Lucena Veloso e Roberto Barros
A figura abaixo (fig. 3), mostra o diagrama de blocos de uma UCP, com os principais
elementos que compõem cada categoria funcional.
O diagrama baseia-se em uma UCP de um microprocessador simples, justamente para
facilitar as primeiras explicações sobre o assunto. Foram inseridos apenas os elementos
básicos de uma UCP. Um processador real e moderno possui muitos outros elementos
complementares, porém os que estão mostrados no diagrama da figura permanecem
válidos.
Barramento
de dados
UCP
RDM (MBR)
MP
ULA
ACC
Registradores
0 a R-1
REM (MAR)
CI (PC)
Barramento
de endereços
RI (IR)
Relógio
UC
Decodificador
de instruções
Barramento de controle
controle
dados / endereço
(Fig. 3) – Esquema simplificado de uma UCP
As atividades realizadas pela UCP podem ser divididas em duas grandes categorias
funcionais:
- Função processamento
- Função controle
A função processamento se encarrega de realizar as atividades relacionadas com a
efetiva execução de uma operação, ou seja, processar. Processamento de dados foi
definido como a ação de manipular um ou mais valores (dados) em uma certa seqüência
de ações, de modo a produzir um resultado útil. O resultado muda conforme o tipo de
operação realizada (ou seja, de acordo com a seqüência de ações – de acordo com
instrução específica). Processar o dado é executar com ele uma ação que produza algum
tipo de resultado. Esta é, pois, a atividade fim do sistema; ele existe para processar
dados.
Entre as tarefas comuns a esta função (processamento) podemos citar:
• operações aritméticas (somar, subtrair, multiplicar, dividir);
• operações lógicas (and, or, xor, etc.);
• movimentação de dados (memória – UCP, UCP – memória, registrador – registrador,
etc.);
• desvios (alteração de seqüência de execução de instruções);
• operações de entrada ou saída.
5
Profs. Fábio Lucena Veloso e Roberto Barros
O dispositivo principal desta área de atividades de uma UCP é chamado de ULA –
Unidade Lógica e Aritmética. Os demais componentes relacionados com a função
processamento são os registradores, que servem para armazenar dados (ou para guardar
resultados) a serem usados pela ULA. A interligação entre estes componentes é efetuada
pelo barramento interno da UCP.
Unidade Lógica Aritmética (ULA)
A ULA é o dispositivo da UCP que executa realmente as operações matemáticas com os
dados. Tais operações podem ser:
Soma;
Multiplicação;
Subtração;
Operação lógica AND;
Operação lógica OR;
Operação de complemento; Deslocamento à direita;
Incremento;
Decremento.
Divisão;
Operação lógica XOR;
Deslocamento à esquerda
A ULA é um aglomerado de circuitos lógicos e componentes eletrônicos simples que,
integrados, realizam as operações já mencionadas.
Registradores
Para que um dado possa ser transferido para a ULA, é necessário que ele permaneça,
mesmo que por um breve instante, armazenado em um registrador. Além disso, o
resultado de uma operação aritmética ou lógica realizada na ULA deve ser armazenado
temporariamente, de modo que possa ser reutilizado mais adiante (por outra instrução)
ou apenas para ser, em seguida, transferido para a memória.
Para atender a esses propósitos, a UCP é fabricada com uma certa quantidade de
registradores, destinados ao armazenamento de dados. Servem, pois, de memória
auxiliar da ULA. Existem sistemas nos quais um desses registradores, denominado
acumulador (ACC), além de armazenar dados, serve de elemento de ligação da ULA
com os restantes dos dispositivos da UCP.
A função controle é exercida pelos componentes da UCP que se encarregam das
atividades de busca, interpretação e controle da execução das instruções, bem como do
controle da ação dos demais componentes do sistema de computação (memória,
entrada/saída).
A área de controle de uma UCP é a parte funcional que realiza as atividades de:
a) Buscar da instrução que será executada, armazenando-a em um registrador
especialmente projetado para esta finalidade.
b) Interpretação das ações a serem desencadeadas com a execução da instrução.
c) Geração dos sinais de controle apropriados para a ativação das atividades
requeridas para a execução propriamente dita da instrução identificada. Esses
sinais de controle são enviados aos diversos componentes do sistema, sejam
internos da UCP ou externos.
Os dispositivos principais que fazem parte desta área funcional são:
Unidade de Controle:
É o dispositivo mais complexo da UCP. Além de possuir a lógica necessária para
realizar a movimentação de dados e instruções de e para a UCP, através dos sinais de
Profs. Fábio Lucena Veloso e Roberto Barros
6
controle que emite instantes de tempo programados, esse dispositivo controla a ação da
ULA. Os sinais de controle emitidos pela unidade de controle ocorrem em vários
instantes durante o período de realização de um ciclo de instrução e, de modo geral,
todos possuem uma duração fixa e igual, originada em um gerador de sinais usualmente
conhecido como relógio (CLOCK).
Relógio (CLOCK):
É o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A quantidade de
vezes em que este pulso básico se repete em um segundo define a unidade de medida do
relógio, denominada freqüência, a qual também usamos para definir a velocidade da
UCP. Um ciclo de relógio ou de máquina é o intervalo de tempo entre o início de um
pulso e o início do seguinte. Este ciclo está relacionado à realização de uma operação
elementar, durante o ciclo de uma instrução. No entanto, mesmo esta operação
elementar não se realiza em um só passo e, por esta razão, costuma-se dividir o ciclo de
máquina em ciclos menores defasados no tempo, de modo que cada um aciona um
passo diferente da operação elementar.
Registrador de instrução (RI):
É o registrador que tem a função específica de armazenar a instrução a ser executada
pela UCP. Ao se iniciar um ciclo de instrução, a unidade controle emite o sinal de
controle que acarretará a realização de um ciclo de leitura para buscar a instrução na
memória, e que, via barramento de dados e registrador de dados memória (EDM), será
armazenada no registrador de instruções.
Contador de programas (PC):
É o registrador cuja função específica é armazenar o endereço da próxima instrução a
ser executada. Tão logo a instrução que vai ser executada seja buscada (lida) da
memória para a UCP, o sistema providencia a modificação do conteúdo do contador de
programas de modo que ele passe a armazenar o endereço da próxima instrução na
seqüência. Por isso, é comum definir a função do contador de programas como sendo a
de “armazenas o endereço da próxima instrução”, que é o que realmente ele faz durante
a maior parte da realização de um ciclo de instrução.
Decodificador de instruções (DI):
É o dispositivo utilizado para identificar as operações a serem realizadas, que estão
correlacionadas à instrução em execução. Em outras palavras, cada instrução é uma
ordem para que a UCP realize uma determinada operação. Este registrador pega a
instrução sob a forma de um código e a interpreta para o conjunto de instruções do
processador. A unidade de controle está, por sua vez, preparada para sinalizar
adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado a
instrução a ser executada.
Registrador de dados de memória (RDM):
Este armazena temporariamente a informação (conteúdo de uma ou mais células) que
está sendo transferida da memória principal para a UCP (em uma operação de leitura)
ou da UCP para a memória principal (em uma operação de escrita). Em seguida, a
referida informação é reencaminhada para um outro elemento da CUP para
processamento ou para uma célula da memória principal, conforme o tipo da operação
Profs. Fábio Lucena Veloso e Roberto Barros
7
de transferência. Permite armazenar a mesma quantidade de bits do barramento de
dados.
Registrador de endereços de memória (REM):
Armazena temporariamente o endereço de acesso a uma posição de memória, ao se
iniciar uma operação de leitura ou de escrita. Em seguida, o referido endereço é
encaminhado à área de controle da memória principal para decodificação e localização
da célula desejada. Permite armazenar a mesma quantidade de bis do barramento de
endereços.
Barramento de dados:
Esta é uma via bidirecional, que interliga o RDM a memória principal e aos dispositivos
de entrada e saída. Sua função é a transferência de dados (informações) entre a UCP e a
memória principal e os dispositivos de entrada e saída.
Barramento de endereços:
Esta é uma via unidirecional, cuja função é a transferência de bits que representam um
determinado endereço. Esta via liga a UCP a memória principal e aos dispositivos de
entrada e saída.
Barramento de controle:
Esta é uma via bidirecional que serve para o transporte de sinais de controle utilizados
para controlar as atividades dos diversos elementos do computador.
OPERAÇÃO SIMPLIFICADA DE UM MICROCOMPUTADOR
Como exemplo de uma operação em microcomputador, refira-se à Fig. abaixo (Fig. 4).
Neste exemplo, ilustra-se o seguinte procedimento:
1. Pressione a tecla A do teclado.
2. Armazene a letra A na memória.
3. Imprima a letra A na tela do monitor de vídeo.
O procedimento de entrada-armazenamento-saída delineado na figura é uma típica
operação de microcomputador. A eletrônica (hardware) usada num sistema como o da
Figura é bem complicada. Entretanto, a transferência de dados dentro do sistema
auxiliará a explicação do uso das diversas unidades dentro do microcomputador.
8
Profs. Fábio Lucena Veloso e Roberto Barros
1
Pressione A
Microcomputador
Teclado
Entrada
UCP
Armazene A
2
Memória
Saída
Monitor de vídeo
A
Imprima A
3
(Fig. 4) – Operação típica de um microcomputador
Um diagrama mais detalhado será apresentado abaixo (Fig. 5) e auxiliará na
compreensão do procedimento típico de entrada-armazenamento-saída de um
microcomputador. Em primeiro lugar, observe cuidadosamente os conteúdos da
memória de programa da Fig. 5, note que as instruções já forma carregadas nas seis
primeiras posições de memória. Da Fig. 5, determina-se que as instruções correntemente
presentes na memória de programa são:
1. ENTRE com dados da porta 1 de entrada.
2. ARMAZENE os dados da porta 1 na posição ou endereço 200 de memória.
3. SAIA com os dados para a porta 10 de saída.
9
Profs. Fábio Lucena Veloso e Roberto Barros
A no teclado
5
Porta 1
de entrada
5
Acumulador
UMP
Registrador de instrução
16
Micropocessador
1
Barramento de
endereço e linhas
de controle
3
6
8
12
14
Endereço
Conteúdos
100
Entre com dados
101
da porta 1
102
ARMAZENE os dados
103
no endereço 200
de memória
104
SAIA com os dados
105
para a porta 10
2
4
7
Barramento de
dados
9
13
15
106
Memória de programa
10
Endereço
Conteúdos
200
A
11
201
202
203
Memória de dados
16
Porta 10
de saída
16
A para o monitor de vídeo
(Fig. 5) – Operação passo a passo da execução de instruções da memória do programa
Observe que há apenas três instruções no programa acima. Na Fig. 5, parece haver seis
instruções na memória de programa. A razão para tal é que as instruções são usualmente
divididas em partes. A primeira parte da instrução 1 acima é ENTRE com dados. A
segunda parte diz de onde os dados vêm (da porta 1). A primeira parte da instrução que
define a ação é chamada de operação e a segunda parte, de operando. A operação e o
operando estão localizados em posições diferentes na memória de programa da Fig. 5.
No caso da primeira instrução da Fig. 5, a posição ou endereço 100 da memória de
programa contém a operação ENTRE, enquanto a posição 101 contém o operando
(porta 1), que diz por onde a informação será introduzida.
Na Fig. 5, duas novas partes foram identificadas dentro do microprocessador. São os
registradores. Estes registradores especiais são o acumulador e o registrador de
instrução.
Profs. Fábio Lucena Veloso e Roberto Barros
10
A seqüência de eventos dentro do microcomputador para o caso do exemplo de entradaarmazenamento-saída da Fig. 4 está delineada na Fig. 5, o fluxo de instruções e dados
será seguido com base nos círculos numerados do diagrama. Lembre-se de que o
microprocessador é o centro de todas as operações e transferências de dados. Para todos
os passos abaixo, refira-se à Fig. 5.
Passo 1: O microprocessador envia o endereço 100 para o barramento de endereço.
Uma linha de controle habilita (ativa) a entrada a ler do circuito integrado com a
memória de programa (ler significa copiar uma informação de uma posição de
memória). Na Fig. 5, este passo está indicado pelo círculo 1.
Passo 2: A memória de programa coloca a primeira instrução “ENTRE com dados” no
barramento de dados e o microprocessador aceita esta mensagem codificada. A
instrução é colocada numa posição especial de memorização dentro do
microprocessador chamada de registrador de instrução. O microprocessador decodifica
(interpreta) a instrução e determina que falta saber qual é o operando da instrução
“ENTRE com dados”.
Passo 3: O microprocessador envia o endereço 101 para o barramento de endereço. A
linha de controle habilita a entrada de leitura da memória de programa.
Passo 4: A memória de programa coloca o operando “da porta 1” no barramento de
dados. O operando estava no endereço 101 da memória de programa. Esta mensagem
codificada (o endereço para a porta 1) é recebida através do barramento de dados e
colocada no registrador de instrução do microprocessador. Este passa a decodificar a
instrução “ENTRE com dados da porta 1” como um todo.
Passo 5: Através do barramento de endereço e das linhas de controle, o
microprocessador obriga a porta 1 a se abrir recebendo os dados da unidade de entrada,
no caso, o teclado. A forma codificada da letra A é introduzida e armazenada no
acumulador do microprocessador.
É importante notar que o microprocessador sempre segue uma seqüência buscardecodificar-executar. Primeiramente, ele busca a instrução na memória de programa. A
seguir, o microprocessador decodifica a instrução. Em terceiro lugar, ele executa a
instrução. Tente acompanhar esta seqüência buscar-decodificar-executar nas duas
próximas instruções. Continue acompanhando o programa listado na memória de
programa da Fig. 5.
Passo 6: O microprocessador lança o valor 102 no barramento de endereço. Usando as
linhas de controle, o microprocessador ativa a linha de leitura na memória de programa.
Passo 7: O código da instrução “ARMAZENE os dados” é posto no barramento de
dados e aceito e transferido para o registrador de instrução pelo microprocessador.
Passo 8: O microprocessador decodifica a instrução “ARMAZENE os dados” e
determina que falta o operando. O microprocessador endereça a próxima posição (103)
de memória e habilita a linha de leitura da memória de programa.
Profs. Fábio Lucena Veloso e Roberto Barros
11
Passo 9: O código “no endereço 200 de memória” é colocado no barramento de dados
pela memória de programa. O microprocessador aceita este operando e o coloca no
registrador de instrução. A instrução inteira “ARMAZENE os dados no endereço 200 de
memória” foi buscada na memória e decodificada.
Passo 10: Agora começa o processo de execução. O microprocessador lança o valor
200 no barramento de endereço e habilita a linha de escrever da memória de dados
(escrever significa copiar dados numa posição de memória).
Passo 11: O microprocessador coloca a informação armazenada no acumulador no
barramento de dados (a forma codificada da letra A). A letra A é escrita na posição 200
da memória de dados. A segunda instrução acaba de ser executada. Este processo de
ARMAZENE não destruiu os conteúdos do acumulador. O acumulador ainda contém
também a forma codificada da letra A.
Passo 12: O microprocessador deve buscar a próxima instrução. Ele endereça a posição
104 e habilita a linha de leitura da memória de programa.
Passo 13: O código de instrução “SAIA com os dados” é colocado no barramento de
dados. O microprocessador aceita a instrução, colocando-a em seu registrador de
instrução. O microprocessador decodifica a instrução e determina que falta o operando.
Passo 14: O microprocessador coloca o valor 105 no barramento de endereço e habilita
a linha de leitura da memória de programa.
Passo 15: A memória de programa coloca o código “para a porta 10” (operando) no
barramento de dados. O microprocessador aceita este código, colocando-o no seu
registrador de instrução.
Passo 16: O microprocessador decodifica a instrução inteira “SAIA com os dados para
a porta 10”. Usando o barramento de endereço e as linhas de controle, o
microprocessador ativa a porta 10 ligando-se com a unidade de saída. O
microprocessador coloca o código da letra A (ainda armazenado no acumulador) no
barramento de dados. A letra A é transmitida para o monitor de vídeo através da porta
10.
A maioria dos microprocessadores transfere a informação de modo semelhante ao
detalhado na Fig. 5, as maiores diferenças serão encontradas provavelmente nas seções
de entrada e saída. Para que elas operem adequadamente, pode-se necessitar de um
número bem maior de passos.
É importante notar que o microprocessador centraliza e controla todas as operações. Ele
segue a seqüência buscar-decodificar-executar. Entretanto, as operações que serão
realizadas efetivamente são ditadas pelas instruções listadas na memória do programa.
12
Profs. Fábio Lucena Veloso e Roberto Barros
Memórias.
Os circuitos integrados de memória armazenam informações binárias em grupos
chamados palavras. Uma palavra é a unidade básica de informação utilizada por um
computador. O número de bits que constitui uma palavra varia de computador para
computador.
A memória é o componente de um sistema de computação cuja função é armazenar as
informações que são, foram ou serão manipuladas pelo sistema. Conceitualmente, a
memória é um componente muito simples; na verdade pode ser visto como um depósito
onde estão guardados certos elementos (informações) para serem usados quando
desejado (recuperação da informação armazenada).
No entanto, na prática, a memória de computador possui tantas várias características,
tais como: velocidade, capacidade de armazenamento, tecnologia de construção e alguns
outros. A figura abaixo (fig. 6) mostra um esquema conceitual de um tipo qualquer de
memória, imaginado como se fosse um depósito para uso de algum tipo.
armazenar
(escrita)
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
leitura
(recuperar)
Cada caixa de correio tem um endereço
(Fig. 6)
Conforme pode ser observado na figura acima (fig. 6), existem duas únicas ações que
podem ser realizadas em um depósito (memória). A primeira é a ação de guardar um
elemento (ou um grupo de elementos). Em computação, esta ação é genericamente
denominada de armazenar e a operação em si realizada é chamada de escrita. A segunda
é a ação de recuperação do elemento guardado (ou grupo de elementos) para um uso
qualquer. Em computação esta ação se denomina recuperar e a operação para realizá-la
chama-se leitura.
Características das memórias.
A seguir serão definidos os principais parâmetros para análise das características das
memórias:
Profs. Fábio Lucena Veloso e Roberto Barros
13
•
Tempo de acesso: indica quanto tempo a memória gasta para colocar uma
informação na barra de dados após uma determinada posição ter sido
endereçada. Isto é, o período de tempo decorrido desde o instante em que foi
iniciada a operação de acesso até que a informação requerida tenha sido
efetivamente transferida.
•
Volatilidade: as memórias podem ser do tipo volátil ou não volátil. Voláteis são
aquelas que perdem suas informações armazenadas quando ha falta de energia
elétrica. Já as memórias não voláteis são aquelas que não perdem suas
informações mesmo quando não existe energia elétrica.
•
Acesso: as memórias podem acessar uma informação através de dois modos.
Acesso seqüencial ou aleatório. No acesso seqüencial para se chegar a uma
determinada posição tem de passar por todas as posições intermediárias. Já no
acesso aleatório vai-se direto à informação desejada sem ter de passar por
nenhuma outra informação anteriormente.
•
Temporariedade: trata-se de uma característica que indica o conceito de tempo
de permanência da informação em um dado tipo de memória. Memórias
estáticas são aquelas que uma vez inserido um dado em uma determinada
localidade, este lá permanece. Já as memórias dinâmicas a informação tem de
ser inserida de tempos em tempos, pois devido às características do material,
este se perde.
Organização da memória principal.
Essencialmente o espaço de armazenamento da memória principal é um grupo de N
células cada uma podendo armazenar um grupo de M bits. Esta é a memória de trabalho
da UCP e, portanto, deve permitir o armazenamento de instruções e dados (operação de
leitura) e também a leitura destas mesmas instruções e dados. Chama-se a isso memória
do tipo leitura e escrita.
14
Profs. Fábio Lucena Veloso e Roberto Barros
MP
endereço 0
M bits
M bits
M bits
endereço 1
endereço 2
endereço 3
N células
endereço N-2
Todas as células têm a
mesma quantidade M de bits
endereço N-1
bit 0
bit 1
bit m-1
Organização básica da memória principal
Considerações sobre a organização da memória principal.
Quantidade de bits de uma célula:
Como já foi mencionado, cada célula é constituída de um conjunto de circuitos
eletrônicos que permitem o armazenamento de valor 0 ou 1, os quais representam um
dado ou uma instrução. A quantidade de bits que pode ser armazenada em cada celular é
definida pelo fabricante. Uma célula contendo M bits permite o armazenamento de 2M
combinações de valores, um de cada vez. A figura abaixo (fig. 7) demonstra alguns
exemplos de memória com diferentes tamanhos de células.
15
Profs. Fábio Lucena Veloso e Roberto Barros
MP 1
MP 2
MP 3
end. 0
12 bits
end. 0
16 bits
end. 0
8 bits
end. 1
12 bits
end. 1
16 bits
end. 1
8 bits
end. 254
end. 255
12 bits
12 bits
end. 254
end. 255
16 bits
16 bits
end. 254
end. 255
8 bits
8 bits
(a)
(b)
(c)
(Fig. 7)
Relação endereço X conteúdo de uma célula:
A figura acima (fig. 7) mostra exemplos de memórias com diferentes tamanhos de
célula, porém com a mesma quantidade de células, endereçadas de 0(10) a 255(10) ou de
00(16) a FF(16) ou ainda 00000000(2) a 11111111(2). A próxima figura (fig. 8) mostra
outros exemplos de organização de memória, desta vez com memórias de mesmo
tamanho de células, porém, com quantidades diferentes de células.
MP 1
end. 0000
end. 0001
end. 0002
end. 1AC5
MP 2
end. 000000
end. 000001
B5
end. FFFE
end. FFFF
end. 32A57B
C3
end. FFFFFE
end. FFFFFF
(a)
MP 3
end. 00000000
end. 00000001
end. A315C000
24
end. FFFFFFFE
end. FFFFFFFF
(b)
(c)
(Fig. 8)
A comparação entre essas duas figuras (fig. 7 e 8) indica que os valores de endereço e
conteúdo de célula embora associados, ou seja, o endereço 1AC5 está associado ao
conteúdo B5 no exemplo da fig. 8 (a) tem origens diversas. Em outras palavras, a
quantidade de bits do número que representa um determinado endereço, por exemplo,
16 bits do número 1AC5 no exemplo da figura 8 (a) define a quantidade máxima de
endereços que uma memória principal pode ter, bem como de endereçamento. No
exemplo citado, de endereçamento ou capacidade máxima na memória é:
64 K células, porque 216 = 26 x 2 10 = 64 K
Como todas as células tem tamanho de 1 byte, a quantidade de células é sempre igual à
quantidade de bytes.
Profs. Fábio Lucena Veloso e Roberto Barros
16
Capacidade da memória principal.
Conforme já vimos, as memórias são organizadas em conjuntos de células, cada uma
podendo armazenar uma certa quantidade de bits. A informação em si seja a uma
instrução (ou parte dela) ou um dado (ou parte dele).
Considerando que instruções e dados precisam estar armazenados na memória principal
para que o programa possa ser executado pela UCP, e considerando ainda que é
possível, e bastante desejável, que vários programas possam ser executados
concorrentemente pela UCP, é importante conceituar o que seja capacidade de uma
memória e como podemos calcular e entender aumentos de capacidade e outras
informações concernentes.
Capacidade de memória refere-se genericamente a quantidade de informações que nela
podem ser amarzenadas em um instante de tempo. Tratando-se de um computador, cuja
unidade básica de representação de informação é o bit, pode-se imaginar este elemento
como unidade de medida de capacidade. Neste caso, poder-se-ia expressar a capacidade
de uma memória por valores do tipo:
512 bits
16384 bits
8.388.608 bits.
À medida que os valores crescem, torna-se mais complicado e pouco prático indicar-se
o valor pela sua completa quantidade de algarismos. Por isso utilizamos múltiplos e
submúltiplos para simplificar a informação. Como exemplo utilizamos o K (quilo) =>
(210 = 1024) o M (mega) => (220 = 1048576) e outros múltiplos.
Deste modo os mesmos valores indicados acima podem ser escritos de forma
simplificada:
512 bits
16 K bits
8 M bits.
Uma outra forma de se expressar valores muito utilizada é a utilização do termo byte ao
invés de bit, a unidade byte corresponde ao conjunto de 8 bits.
Não há uma padronização para indicar valores de capacidade de memória, embora seja
mais comum se usar “quantidade de bytes” em vez de por ex., “quantidade de palavras”
ou mesmo “quantidade de bits”.
Vamos exemplificar abaixo formas comuns de representar capacidade de memória.
2 K bytes = 2 x 210 = 2048 bytes
384 K células = 384 x 210 = 393216 células
Profs. Fábio Lucena Veloso e Roberto Barros
17
Cálculos com capacidade da memória principal.
Como já vimos uma memória RAM é um conjunto de N células cada um armazenando
um valor de M bits, então a quantidade de endereços contida no espaço endereçável de
memória é também igual a N visto que cada conteúdo de células está associado a um
número que é o seu endereço.
O valor de N representa a capacidade da memória através da quantidade de células ou
de endereços, o valor de M indica a quantidade de bits que podem ser armazenados em
uma determinada célula.
Como um bit representa apenas um entre dois valores (binário) podemos concluir que se
pode armazenar em cada célula um valor entre 0 e 2M-1, porém, um de cada vez, são 2M
combinações.
Já o número de endereços pode ser relacionado à fórmula N = 2E que é igual à
quantidade de bits que representa cada um dos N endereços. O total de bits que pode ser
armazenado em nossa memória e T = N x M ou T = 2E x M.
Exercícios:
1 – Uma memória RAM tem um espaço máximo de endereçamento de 2 K e cada célula
pode armazenar 16 bits. Calcule o valor total de bits desta memória e qual o tamanho de
cada endereço.
2 – Uma memória RAM é fabricada com a possibilidade de armazenar um máximo de
256 K bits, cada célula armazenando 8 bits. Qual o tamanho de cada endereço, escreva o
endereço inicial e final desta memória (em binário e em hexadecimal) e qual o total de
célula que pode ser utilizado.
3 – Um computador cuja memória principal tem uma capacidade máxima de 2 K
palavras de 16 bits cada. Calcule o tamanho dos registradores RDM e REM, o valor do
último endereço desta memória (em binário e em decimal) e qual a quantidade total de
bits que podem ser armazenados.
4 – Uma memória com um total de bits armazenados de 65.536 bits com 4K células,
deseja-se calcular o tamanho de cada célula, o endereço final e inicial em binário,
hexadecimal e décima.
5 – Uma memória com capacidade máxima de armazenamento de 65.536 bytes com
cada célula armazenando 16 bits, calcule seu RDM, REM, endereço inicial em binário e
hexadecimal e endereço final em decimal e hexadecimal.
6 – Uma memória de 1.048.576 bytes cujo tamanho de cada célula é de 8 bytes, desejase saber o tamanho do RDM, REM, endereço inicial em hexadecimal e final em
decimal.
18
Profs. Fábio Lucena Veloso e Roberto Barros
Operações com a memória principal.
Conforme já observamos é possível realizar duas operações em uma memória: escrita,
ou seja, armazenar informações na memória ou leitura, recuperar informações
armazenadas na memória.
Uma operação de leitura não destrói o conteúdo da memória, ela apenas providencia a
transferência de uma cópia do que está armazenado para um destino selecionado,
enquanto a informação desejada continua intacta. Somente uma operação de escrita
destrói as informações que estavam armazenadas, pois esta copia uma nova informação
por cima da antiga.
Veremos abaixo os elementos que compões a estrutura UCP / MEMÓRIA PRINCIPAL
e que são utilizados nas operações de leitura e escrita.
MP
UCP
RDM
REM
UC
Barramento de controle
Barramento de endereços
Barramento de dados
19
Profs. Fábio Lucena Veloso e Roberto Barros
Operação de leitura.
No primeiro passo, a unidade de controle inicia a operação de leitura através da
transferência do endereço que deseja acessar através do PC para o REM e coloca um
sinal de leitura (READ) na barramento de controle para indicar a memória o que fazer
em seguida.
A memória decodifica o endereço recebido e transfere seu conteúdo para o RDM
através do barramento de dados. Do RDM a informação desejada é transferida para o
elemento da UCP de destina final.
UCP
MP
end. 0000
outro reg.
PC
RDM
REM
UC
end. FFFF
barramento de controle
barramento de endereços
5C
barramento de dados
20
Profs. Fábio Lucena Veloso e Roberto Barros
Operação de escrita.
Nos primeiros passos o PC coloca o endereço desejado no REM, um registrador
específico coloca o dado (informação) a ser transferido no RDM. O endereço é colocado
no barramento de endereços, o dado (informação) no barramento de dados e um sinal de
escrita (WRITE) é acionado no barramento de controle.
Como resultada da decodificação do endereço recebido, a memória armazena na célula
especificado o dado (informação) vindo pelo barramento de dados.
UCP
MP
end. 0000
RDM
REM
UC
end. FFFF
barramento de controle
barramento de endereços
barramento de dados
21
Profs. Fábio Lucena Veloso e Roberto Barros
Entrada e saída (E/S)
Já verificamos os componentes básicos de um sistema de computação: a unidade central
de processamento (UCP) e a memória; falta verificarmos sobre dispositivos de entrada /
saída.
Para que possamos desfrutar da rapidez e flexibilidade de um computador, não basta
sabermos que ele pode armazenar na memória os programas e dados que desejamos
processar e nem que ele pode executar mais de um milhão de instruções por segundo. É
preciso que o programa que temos escrito em uma folha de papel ou os dados que serão
por ele manipulados sejam inseridos no sistema, caractere por caractere, inclusive os
espaços em branco entre os caracteres, os sinais de pontuação e os símbolos de
operações matemáticas. Para tanto, precisamos de um meio qualquer que faça essa
comunicação homem máquina. Um teclado do tipo semelhante ao de uma máquina de
escrever pode servir como elemento de entrada, em geral, os dispositivos de entrada ou
de saída são denominados de periféricos.
A figura 11 mostra um esquema representativo dessa comunicação entre o usuário e a
máquina.
UCP
MP
Entrada
Saída
Monitor de Vídeo
(Fig. 11)
Da mesma forma que temos a necessidade de comunicação com a máquina, também é
preciso que haja comunicação no sentido contrário, isto é, máquina-homem, de modo
que o usuário possa entender os resultados de um processamento. Uma impressora ou
uma tela de vídeo podem servir como dispositivos de saída ou periféricos de saída.
A figura 12 mostra o modo de interligação adotado para a comunicação UCP memória
principal: o barramento. Este mesmo método define a interligação do conjunto CUP /
memória principal. Á através do barramento do sistema que se pode, então, interligar
todos os componentes do sistema de computação e por onde fluem os mesmos tipos de
informação, dados, endereços e sinais de controle. A figura 13 mostra um diagrama
simplificado destas ligações.
Profs. Fábio Lucena Veloso e Roberto Barros
22
UCP
Controle
Endereço
Dados
Memória Principal / Cache
(Fig. 12)
UCP
Memória Principal
Controle
Endereço
Sistema de E/S
Dados
* Diversos componentes
(Fig. 13)
Na realidade. O barramento do sistema permite o compartilhamento de informações
entre os diversos componentes de um computador, da mesma forma que o barramento
interno da UCP permite trânsito de informações entre os registradores e demais
unidades da UCP. A figura 14 mostra dois exemplos do uso do barramento no sistema
em computadores.
23
Profs. Fábio Lucena Veloso e Roberto Barros
UCP
MP
E/S
E/S
E/S
DADOS
ENDEREÇOS
CONTROLE
(Fig. 14 (a))
UCP
MP
MP
E/S
E/S
E/S
DADOS - ENDEREÇO - CONTROLE
(Fig. 14 (b))
O funcionamento do conjunto de dispositivos de entrada e saída em um computador é,
em geral, caracterizado pela existência de diversos elementos que, embora realizem o
mesmo tipo de função (tenham o mesmo objetivo de comunicação um homem e
máquina), possuem características bem diversas. Por isso, costuma se integrar os
diversos elementos que cooperam no processo de entrada e saída em um subsistema.
Um subsistema de entrada e saída deve, em conjunto, ser capaz de realizar duas funções
•
•
Receber ou enviar informações ao meio exterior.
Converter as informações (de entrada ou de saída) em uma forma inteligível para
a máquina (se estiver recebendo transparentes para o operador – se estiver
enviando).
Sobre a relação UCP memória principal e o subsistema de entrada e saída a algum, mas
observações interessantes que devem ser mencionadas neste ponto:
a) a primeira observação refere-se as diferentes características de cada dispositivo de
entrada saída o que tornaria extremamente complicada a comunicação UCP periférico,
se esta fosse realizada direta e individualmente, isto é, se houvesse uma comunicação
direta entre a UCP e o teclado, entre a UCP e impressora, por exemplo. A figura 15
mostra um esquema deste tipo de comunicação apenas para o entendimento, pois este
não é prático nem economicamente viável. Obviamente nesta figura não estão
assinaladas todas as diferenças entre os diversos dispositivos, existindo diferenças até
mesmo relativas à parte elétrica de geração e interpretação dos sinais de transmissão.
24
Profs. Fábio Lucena Veloso e Roberto Barros
UCP
MP
1 bit
de ca
da ve
muito
z
baixa
veloc
idade
Disquete
bo
a
1b
it d
ec
gr
b
a
ada
ve up
ixa
vez
vel
lo
os
o
ci
cid
da de
ade
de
b
,c its
re
sc
en
do
a vez
e cad
bits d
ade
mais
elocid
1 ou
dia v
a mé
baixa
bits
ts
cos
u
bi
o
p
e
s de
d
m
o
a
o
t
c
id
ui
da
po
loc
m oci
gru oa ve
l
m
b
e
co a v
o
lt
up a a
r
g uit
m
Teclado
Disco Rígido
Vídeo
Mouse
Impressora
(Fig. 15)
Por causa disto, na prática a UCP não se conecta diretamente com cada periférico, mas
sim com dispositivos que realizam a “tradução” e a compatibilização das características
de um dispositivo (de entrada e saída) para o outro o (UCP a memória principal), além
de realizar outras tarefas de controle, esses dispositivos costumam ser chamados de
interface de entrada e saída.
A função deste dispositivo é a de compatibilizar as diferentes características de um
periférico e da UCP / memória principal, permitindo um fluxo correto de dados em uma
velocidade adequada a ambos os elementos que estão sendo interconectados.
b) os diversos tipos de dispositivos que podem ser conectados em um computador são
classificados em três categorias.
1 – os que transmitem / recebem informações inteligíveis para o ser humano, são
adequados para estabelecimentos de comunicação com o usuário. Por exemplo,
impressoras, monitores de vídeo, teclados.
2 – os que transmitem / recebem informações inteligíveis apenas para máquina, são
adequados para comunicação máquina a máquina ou internamente a uma máquina. São
exemplos desta categoria os discos magnéticos e sensores.
3 – os que transmitem / recebem “de a para” outros dispositivos remotamente
instalados. São exemplos destes os modens e regeneradores digitais.
c) há duas maneiras básicas de se realizar transmissão e recepção de dados entre os
periféricos / interfaces e UCP / memória principal, bem como entre dispositivos inter
conectados entre si, local ou remotamente:
1) A informação pode ser transmitida e recebida BIT a BIT um em seguida ao
outro, isso caracteriza uma TRANSMISSÃO SERIAL.
1001101
1
2
Transmissão Serial
25
Profs. Fábio Lucena Veloso e Roberto Barros
2) A informação pode ser transmitida e recebida em grupos de BITS de cada vez,
isto é, um grupo de bits é transmitido simultaneamente de cada vez, a isto
chamamos de TRANSMISSÃO PARELELA.
1
1
0
1
0
2
Transmissão Paralela
A escolha de um desses tipos para interliga a entrada / saída ao sistema UCP / memória
principal depende de vários fatores, tais como: tipo e natureza do periférico, custo de
implementação e velocidade de transmissão desejada.
d) basicamente, um dispositivo de entrada ou saída se comunica com o meio exterior
(usuário do sistema, outro dispositivo) e com sua interface de entrada e saída. Esta
comunicação compreende o envio e recebimento de dados (bits) e sinais de controle.
INTERFACE
Dados
Sinais de Controle
CONTROLE
Sinais de estado
Dados
DADOS
Dados
(depedne do
dispositivo)
De / para o ambiente externo
O desenho acima mostra os tipos de informação bem como o sentido da direção do
fluxo, transmitidas e recebidas entre elementos que se conectam a um dispositivo
periférico. Embora cada dispositivo tenha característica de funcionamento próprias e
distintas dos outros o fluxo de informações é basicamente o mesmo.
26
Profs. Fábio Lucena Veloso e Roberto Barros
Interfaces de entrada e saída.
Como já verificamos é necessário que haja um elemento entre o conjunto UCP /
memória principal e um periférico, visando a compatibilizar as diferentes características
entre ambos, este dispositivo é a interface; vamos verificar alguns aspectos:
a) Existe no mercado uma quantidade muito grade de dispositivos periféricos que
podem ser conectados a uma UCP, cada um possuindo modos próprios e específicos de
funcionar, certamente diferentes uns dos outros. Seria impraticável dotar a UCP de
lógica específica para tratar com cada periférico.
b) A velocidade de transferência de dados de um periférico é, em geral, muito menor
que a da UCP. Não seria eficaz conectar os periféricos diretamente ao barramento d
sistema, pois isto reduziria a velocidade da UCP / memória principal em sua
comunicação. Além disso, cada periférico tem velocidade diversa um de outro, o que
corrobora ainda mais a informação de que não é possível usar o mesmo caminha por
usuários diversos. Por exemplo, o teclado é muito mais lente que um disco, que por sua
vez, á muito mais lento que a memória principal.
c) Os periféricos costumam usar formatos e tamanhos diferentes de unidades de
transferência de dados, isto é, uns transmitem um bit de cada vez (a unidade de
transferência é, então, o bit), outros transferem um byte ou caractere por vez, enquanto
alguns periféricos podem enviar ou receber centenas ou até milhares de bits em um
único bloco de transferência. Por outro lado os fabricantes também adotam diversos
tamanhos de palavra de dados da UCP. Por exemplo, o processador INTEL 8088
trabalha com palavra de 16 bits, enquanto o processador Alpha da DEC trabalha com
uma palavra de dados de 64 bits.
Estes aspectos garantem, portanto, a necessidade do emprego de um dispositivo
intermediário, ligando a UCP / memória principal a um periférico ou a um grupo de
periféricos, o qual costuma ser chamado de interface de entrada e saída.
Uma interface de entrada e saída pode servir apenas para a conexão a UCP / memória
principal e para o controle de um único dispositivo de entrada e saída ou pode atender a
vários dispositivos, até mesmo dispositivos diferentes.
UCP
Memória Principal
Controle
Endereço
Dados
Sistema de E/S
P1
P2
P3
27
Profs. Fábio Lucena Veloso e Roberto Barros
Uma interface ou controlador da de entrada e saída é em geral responsável pelas
seguintes tarefas:
a) Controlar e sincronizar fluxo de dados entre a UCP / memória principal e o periférico
b) Realizar a comunicação com a UCP, inclusive interpretando suas instruções ou sinais
de controle para o acesso físico ao periférico.
c) Servir de memória auxiliar para o trânsito das informações entre os componentes
(“buffer” de dados)
d) Realizar algum tipo de detecção e correção de erros durante as transmissões.
UCP
Memória
Principal
P1
P2
CONTROLADOR
DE E/S - 1
CONTROLADOR
DE E/S - 2
P3
P4
P5
CONTROLADOR
DE E/S - N
Em geral, uma interface de entrada e saída se comunica com o periférico através das
seguintes ações básicas:
1) A interface envia um sinal de controle interrogando o periférico sobra a
disponibilidade de receber dados (se for uma operação de escrita) ou de enviar dados (se
for uma operação de leitura).
2) O periférico responde.
3) A interface transmite os dados (a quantidade de bits em cada transmissão depende da
unidade de transferência de dados adotada pelo periférico).
4) O periférico certifica o recebimento ou o término da leitura.
A utilização de um “buffer” interno pelas interfaces é um fator fundamental para a
compatibilização de velocidades diferentes entre o barramento do sistema e suas linhas
externas.
28
Profs. Fábio Lucena Veloso e Roberto Barros
Transmissão Serial
Na transmissão serial, o periférico é conectado ao dispositivo controlador ou interface
de E/S por uma única linha de transmissão de dados, de como que a transferência dos
dados é realizada um BIT de cada vez, embora o controlador ou interface possa ser
conectado a UCP através de barramento de várias linhas.
UCP/MEMÓRIA
INTERFACE
BUFFER
Serial
PERIFÉRICO
A transmissão serial é geralmente mais lenta que a transmissão paralela, visto
que só envia um bit de cada vez, sendo normalmente utilizada em periféricos de baixa
velocidade ou cuja característica é típica de transmissão bit a bit.
Como a transmissão é bit a bit, é necessário que o receptor e o transmissor estejam
sincronizados bit a bit, isto é, o transmissor transmite os bits sempre com a mesmo
velocidade e, conseqüentemente, todos os bits terão a mesma duração no tempo.
Por exemplo, se o transmissor estiver funcionando na velocidade de 1000 bits/segundo,
isto significa que cada bit dura 1/1000 segundos ou 1 milisegundo. Para que o receptor
seja capaz de receber todos os bits enviados, ele precisa saber quando um bit inicia e
qual a sua duração (também conhecida como largura do bit). Se a cada 1 milisegundo o
transmissor envia um bit, então, a cada 1 milisegundo o receptor deve verificar o nível
de tensão da linha para captar o bit que está chegando e identificá-lo como 0 ou 1. O
receptor deve trabalhar, para isso, com a mesma velocidade (1000 bps no nosso
exemplo) do transmissor.
Para que haja uma maior confiabilidade no processo é comum o receptor fazer a
verificação no instante que o bit está na metade de sua duração, de modo a evitar
possíveis erros como, por exemplo, se for verificado próximo a subida ou descida do
pulso.
Receber bit a bit não é suficiente, é preciso que o receptor saiba identificar grupos de
bits que tenham um significado, como por exemplo, a representação de um caractere.
Dependendo do código de representação utilizado, cada caractere será representado por
um grupo de n bits.
29
Profs. Fábio Lucena Veloso e Roberto Barros
1 ms
10101100
T
1 ms
1 ms
1 ms
1 ms
1 ms
1 ms
1 ms
1 ms
1 ms
1
0
1
0
1
1
0
0
R
Linha de transmissão
Transmissor
1000 bps
Receptor
1000 bps
transmissor: 1 bit = 1/1000 s = 1 ms
(Fig. 16)
Há dois métodos de se realizar uma transmissão serial:
•
•
SÍNCRONA
ASSÍNCRONA
Transmissão Assíncrona.
É um método mais antigo, simples e barato, utilizado por antigos terminais e atualmente
também usado em larga escala por microcomputadores. Ele consiste em um processo de
sincronização do receptor a cada novo caractere transmitido. Para isso, antes de iniciar a
transmissão, cada caractere é acrescido de 2 pulsos, um no início do caractere
denominado START com duração exata de um bit e valor de tensão correspondente ao
bit 0, e o outro, denominado STOP, tem valor de tensão igual ao do bit 1 e duração
variável entre 1 e 2 bits. No caso do START trata-se de um bit 0 inserido antes do
primeiro bit do caractere passando a ser o novo primeiro bit do caractere, conforme a
figura 17.
A figura 17 mostra um caractere ACII transmitido pelo método assíncrono, isto é, os 8
bits ASCII, mais o START no início e o STOP no final do caractere. Quando não há
transmissão, o transmissor envia continuamente bits 1 pela linha (nível alto de tensão).
Quando um caractere é enviado, o receptor detecta a queda de tensão e entra em
sincronismo, recebendo, daí por diante, os demais bits do caractere, até o STOP.
nível alto (bit 1)
nível alto (bit 1)
queda de tensão
STOP
0
1
0
1
0
0
1
T
Caractere ASCII - R”
(Fig. 17)
START
R
Linha de transmissão
01010010
0
30
Profs. Fábio Lucena Veloso e Roberto Barros
Para realizar a transmissão serial de forma assíncrona é necessário que, em ambos os
lados da linha de transmissão, haja um dispositivo capaz de decompor cada caractere bit
a bit e providenciar a inclusão dos bits START / STOP na transmissão e sua retirada
após a recepção do caractere. Um dispositivo muito comum usado em
microcomputadores e que faz parte da maioria das pastilhas de entrada e saída
denomina-se UART (Universal Asynchronous Receiver / Transmiter), transmissor /
receptor universal assíncrono. A UART é uma pastilha que emprega integração em
larga escala (LSI), cuja função básica é a decomposição e composição de um caractere
em bits e vice-versa conforme mostrado na figura 18.
Caractere
chega em
paralelo
0
1
0
0
1
0
1
0
bit a bit
01001010
Transmissor serial
UART
UART
Transmissão
Receptor
(Fig. 18)
A figura 19 mostra o diagrama em blocos de uma UART indicando seus principais
componentes.
“Buffer” de saída de dados a serem transmitidos – recebe os n bits do caractere (pode
ser 5, 6, 7 ou 8 dependendo do dispositivo que está sendo usado) e envia para o
registrador de transmissão.
Registrados de transmissão – desloca os bits do caractere um a um para a linha de saída.
Este deslocamento é realizado a cada pulso de relógio da UART.
31
Profs. Fábio Lucena Veloso e Roberto Barros
Dados de Entrada (1 caractere)
Unidade de
controle
Relógio
“Buffer” de saída
Dados para transmissão
Sinal de controle
Registrador de
Transmissão
Dados em série
Registrador de
recepção
Sinal de controle
Relógio
externo
Relógio
Sinal de controle
Registrador
de Estado
Dados em série
“Buffer” de saída
Dado recebido
Dado de saída
(Fig. 19)
Registrador de recepção e “buffer” de saída de dados recebidos – funcionam de modo
semelhante, porém em sentido inverso ao dos registradores já descritos. O caractere é
recebido bit a bit no registrador de recepção, que efetua o deslocamento de cada bit até
completar todo o caractere e, então, o encaminha para o “buffer” de saída.
Unidade de controle – permite que a UART funcione de modo diferente, conforme a
escolha do usuário: opção de paridade, e se houver, se será par ou ímpar, opção de 1 ou
2 bits Stop.
Registrador de estado (semelhante ao flag dos microprocessadores) – possui um bit para
indicar algumas ocorrências durante o funcionamento da UART, tais como: erro de
paridade, erro de sincronização (a UART perdeu o bit START), dados disponíveis (para
que o microprocessador leia o caractere).
Relógio – divide a freqüência de transmissão (taxa de bands) para permitir o
deslocamento da cada bit dos registradores de deslocamento.
Transmissão Síncrona.
É uma técnica mais eficiente que a transmissão assíncrona, pois são transmitidos de
cada vez blocos de caracteres, sem intervalo entre eles e sem pulso START / STOP (isto
reduz a quantidade de bits que não são usados para efetivar representação dos caracteres
e que ocupam a capacidade da linha). Por exemplo, uma transmissão de 100 caracteres
ASII de modo assíncrono tem uma eficiência de:
32
Profs. Fábio Lucena Veloso e Roberto Barros
Quantidade da informação
Quantidade total de bits
da transmissão
=
7 bits x 100
(7 + 1 + 1 +1) x 100
bits de paridade
bits stop
bits start
bits de informação
A eficiência de 70% neste caso em que todos os caracteres estão sendo considerados
sem intervalo, é a mesma para a transmissão de 1 ou de N caracteres, mas poderia ser
menor ainda se ocorresse intervalo entre os caracteres, pois o denominador de fração
iria aumentar (um intervalo de 20 milisegundos em uma transmissão com a taxa de 100
bps corresponde a cerca de 20 bits – 20 x 1/1000).
Na transmissão síncrona, a eficiência seria:
100 caracteres
=
E =
95%
105 caracteres
Os 105 caracteres do denominador compreendem os 100 caracteres da informação que
se deseja transmitir mais 5 caracteres especiais necessários ao controle da transmissão e
formato do bloco de caracteres.
A figura 20 mostra um esquema de transmissão síncrona, cujas características principais
são:
a) não há intervalo entre os caracteres de um bloco, isto é, o transmissor monta um
bloco, usualmente com cerca de 128 a 256 caracteres, e este é transmitido bit a bit sem
intervalo entre o primeiro e o último bit;
b) para que o receptor se mantenha sincronizado (“sensar” a linha no mesmo intervalo
de tempo que dura um bit – ver figura 16) é necessário que ele funcione com a mesmo
freqüência do relógio do transmissor. Uma possibilidade de sincronizar os relógios é
incluir uma linha de transmissão separada por onde circulam os pulsos de sincronização.
Outra alternativa consiste na inclusão dos pulsos de sincronização junto com os bits de
informação, utilizando-se alguma forma de codificação. Ambas as técnicas tem sido
utilizadas com eficiência.
bloco de transmissão
CC CC CN
C2 C1 CC CC CC
T
Transmissor
R
transmissão
C1, C2, C3.....
caracteres de dados
CC
caracteres especiais de controle
(Fig. 20)
Receptor
33
Profs. Fábio Lucena Veloso e Roberto Barros
No entanto, como os caracteres são agrupados em blocos, segue a necessidade de um
outro nível de sincronização entre transmissor e receptor para identificação do início e
fim do bloco. Para tanto, usa-se a inserção de um grupo de bits no início do bloco
(marca o início da contagem de bits a serem recebidos) e outro no seu final.
Há pastilhas que podem realizar as tarefas necessárias à formação do bloco de
transmissão, inclusão dos caracteres especiais de controle e detecção de erros,
denominadas USART (Universal Synchronous Asynclironoiis Receiver Transmiter),
transmissor / receptor universal síncrono e assíncrono, que também podem realizar as
atividades de uma UART.
Transmissão Paralela
Com o uso de transmissão em paralelo, um grupo de bits é transmitido de cada vez, cada
um sendo enviado por uma linha separada de transmissão, conforme mostrado na figura
21.
transmissão
T
0
1
0
1
0
0
1
0
caractere 2
Transmissor
(Fig. 21)
1
0
0
1
1
0
0
0
R
caractere 1
Receptor
34
Profs. Fábio Lucena Veloso e Roberto Barros
ESTRUTURA BÁSICA DE UMA
UART
D7
µP
D0
UART
Via de
dados
paralela
R x CLK
(8)
Receptor (Rx)
Transmissor (Tx)
Dispositivos
de E/S serial
Registrador
de dados do
receptor (R x DR)
(8)
Registrador
de dados do
transmissor (T x DR)
“Buffer” da via de dados
Dados seriais
recebidos (R x DATA)
Dados seriais
transmitidos (T x DATA)
T x CLK
Fábio Lucena Veloso
Página 39
Relógio de
transmissão 4
1
T x CLK
3
HABILITA 14
Ger. de
paridade
Ger. de
Relógio
LEITURA / ESCRITA 13
Seleção de Pastilha 0 (CS0) 8
Seleção de Pastilha 1 (Cs1) 10
Seleção de Pastilha 2 (Cs2) 9
Seleção de Registrador 11
Seleção de
Pastilha e
controle de
LEITURA /
ESCRITA
Registrador
de Dados de
TRANSMISSÃO
(T x DR)
2
Dados TRANSMITIDOS
(T x D) 6
Controle de
TRANSMISSÃO
5
D0 22
D1 21
D2 20
D3 19
D4 18
D5 17
D6 16
D7 15
Registrador
de Deslocamento de
TRANSMISSÃO
(TSR)
Livre para enviar 24
Registrador
de Estado
Lógica de
INTERPRETAÇÃO
“Buffers”
da via
de dados
REQUISIÇÃO DE INTERRUPÇÃO 7
Detector de Portadora
de Dados 23
Registrador
de Controle
6
VDD = pino 12
Registrador
de Dados de
RECEPÇÃO
(R x DR)
VSS = pino 1
R x CLK
REQUISIÇÃO PARA ENVIO
(RTS) 5
Controle de
RECEPÇÃO
Registrador
de Deslocamento de
RECEPÇÃO
(RSR)
Ger. de
relógio
Relógio de recepção 3
Verificação
de paridade
4
Seis blocos funcionais da UART MC 6850
Dados RECEBIDOS
(R x D) 2
Lógica
de sincronismo
Download

Parte2