Apostila Org.computadores Part2

36
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

Transcript of Apostila Org.computadores Part2

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

Profs. Fábio Lucena Veloso e Roberto Barros 1

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.

3

2

10

1

4

5

67

8 9

11

12

Unidade LógicaAritmética (ULA)

Controle

Memória

Entrada Saída

Do mundoexterior

Para omundoexterior

Unidade Central deProcessamento (UCP)

(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 digitais-analó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

TÉRMINO

Buscar apróximainstrução

Interpretara instrução

(decodificar)

Executara instrução

(Fig. 2) – Fluxo básico (resumido) de um ciclo de instrução.

Profs. Fábio Lucena Veloso e Roberto Barros 4

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.

UC Decodificadorde instruções

RI (IR)

ULA

REM (MAR)

RDM (MBR)

ACCRegistradores

0 a R-1 CI (PC)

Relógio

MP

Barramentode dados

Barramentode endereços

UCP

Barramento de controle

controledados / 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.

Profs. Fábio Lucena Veloso e Roberto Barros 5

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; Divisão; Operação lógica AND; Operação lógica OR; Operação lógica XOR; Operação de complemento; Deslocamento à direita; Deslocamento à esquerda Incremento; Decremento. 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.

Profs. Fábio Lucena Veloso e Roberto Barros 8

1 Pressione A

TecladoMicrocomputador

Entrada

UCP

Memória

Saída

2Armazene A

Monitor de vídeo

Imprima A3

A

(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.

Profs. Fábio Lucena Veloso e Roberto Barros 9

Porta 1de entrada

Acumulador

Registrador de instrução

UMP

A no teclado5

5

Micropocessador

Barramento deendereço e linhas

de controle

Barramento dedados

1

63

12

8

14

Endereço

100

101

102

103

104

105

106

Entre com dados

da porta 1

ARMAZENE os dados

no endereço 200de memória

SAIA com os dados

para a porta 10

Memória de programa

16

2

74

13

9

15

A para o monitor de vídeo

Conteúdos

A

Endereço

200

201

202

203

Conteúdos

11

Memória de dados

Porta 10de saída

10

1616

(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 entrada-armazenamento-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 buscar-decodificar-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.

Profs. Fábio Lucena Veloso e Roberto Barros 12

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.

101 102 103 104

105 106 107 108

113 114 115 116

109 110 111 112

leitura(recuperar)

armazenar(escrita)

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.

Profs. Fábio Lucena Veloso e Roberto Barros 14

MP

M bitsM bitsM bits

N células

endereço 0

endereço 1

endereço 2endereço 3

Todas as células têm amesma quantidade M de bits

bit 0 bit 1 bit m-1

endereço N-2

endereço N-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.

Profs. Fábio Lucena Veloso e Roberto Barros 15

MP 1

12 bits

12 bits

end. 0

end. 1

end. 254end. 255

12 bits12 bits

(a)

MP 2

16 bits

16 bits

end. 0

end. 1

end. 254end. 255

16 bits16 bits

(b)

MP 3

8 bits

8 bits

end. 0

end. 1

end. 254end. 255

8 bits8 bits

(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 3

end. 00000000end. 00000001

end. FFFFFFFEend. FFFFFFFF

24

(c)

end. A315C000

MP 1

end. 0000end. 0001

end. FFFEend. FFFF

B5

(a)

end. 1AC5

MP 2

end. 000000end. 000001

end. FFFFFEend. FFFFFF

C3

(b)

end. 32A57B

end. 0002

(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, deseja-se saber o tamanho do RDM, REM, endereço inicial em hexadecimal e final em decimal.

Profs. Fábio Lucena Veloso e Roberto Barros 18

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.

UCP

UCREMRDM

MP

Barramento de controle

Barramento de endereços

Barramento de dados

Profs. Fábio Lucena Veloso e Roberto Barros 19

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

UCREMRDM

outro reg. PC

MPend. 0000

end. FFFF

5C barramento de dados

barramento de endereços

barramento de controle

Profs. Fábio Lucena Veloso e Roberto Barros 20

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

UCREMRDM

MPend. 0000

end. FFFF

barramento de endereços

barramento de controle

barramento de dados

Profs. Fábio Lucena Veloso e Roberto Barros 21

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.

UCPMP

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

Memória Principal / Cache

Controle Endereço Dados

(Fig. 12)

UCP

Memória Principal

Sistema de E/S * Diversos componentes

Controle Endereço Dados

(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.

Profs. Fábio Lucena Veloso e Roberto Barros 23

UCP E/SE/SE/SMP

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.

Profs. Fábio Lucena Veloso e Roberto Barros 24

UCP

MP

grupo com poucos bits

boa velocidade

Disquete

Disco RígidoMouse Impressora

Vídeo

Teclado

grupo

com m

uitos

bits

muita a

lta ve

locida

de

1 bi

t de

cada

vez

mui

to b

aixa

vel

ocid

ade

1 ou mais bits de cada vez

baixa a média velocidade

1 bit de cada vezbaixa velocidade

grupos de bits

boa velocidade,crescendo

(Fig. 15) (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.

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.

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

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.

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. 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:

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.

1) A informação pode ser transmitida e recebida BIT a BIT um em seguida ao outro, isso caracteriza uma TRANSMISSÃO SERIAL.

1 21001101

Transmissão Serial

Profs. Fábio Lucena Veloso e Roberto Barros 25

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 21010

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

CONTROLE DADOS

Sinais de Controle Sinais de estado DadosDados

Dados (depedne dodispositivo)

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.

Profs. Fábio Lucena Veloso e Roberto Barros 26

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

Sistema de E/S

Controle Endereço Dados

P2 P3P1

Profs. Fábio Lucena Veloso e Roberto Barros 27

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.

UCPCONTROLADOR

DE E/S - 1MemóriaPrincipal

P1

CONTROLADORDE E/S - 2

P2

CONTROLADORDE E/S - N

P4P3 P5 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.

Profs. Fábio Lucena Veloso e Roberto Barros 28

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 INTERFACEBUFFER PERIFÉRICOSerial

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.

Profs. Fábio Lucena Veloso e Roberto Barros 29

R

1 ms 1 ms

1 ms

1

1 ms

0

1 ms

1

1 ms

1

1 ms

1

1 ms

0

1 ms

0

1 ms

0

Transmissor1000 bps

Receptor1000 bps

Linha de transmissão

transmissor: 1 bit = 1/1000 s = 1 ms

T

10101100

(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.

01010010

Caractere ASCII - R”

T RLinha de transmissão

nível alto (bit 1)

queda de tensão

0 0 0 00 0STOP START1 1 1

nível alto (bit 1)

(Fig. 17)

Profs. Fábio Lucena Veloso e Roberto Barros 30

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.

Caracterechega emparalelo

01001010

UART

bit a bit

01001010Transmissor serial

Transmissão

UART

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.

Profs. Fábio Lucena Veloso e Roberto Barros 31

(Fig. 19)

Dados de Entrada (1 caractere)

Unidade decontrole

Registradorde Estado

Relógio

Relógio

Relógioexterno

Sinal de controle

“Buffer” de saídaDados para transmissão

Registrador deTransmissão

Registrador derecepção

“Buffer” de saídaDado recebido

Dado de saída

Sinal de controle

Dados em série

Sinal de controle

Dados em série

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:

Profs. Fábio Lucena Veloso e Roberto Barros 32

Quantidade da informaçãoQuantidade total de bitsda transmissão

7 bits x 100(7 + 1 + 1 +1) x 100

bits de paridadebits stop

bits startbits 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 caracteresE =

105 caracteres= 95%

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.

R

transmissão Receptor

C1, C2, C3..... caracteres de dados

CC caracteres especiais de controle

bloco de transmissão

CC

T

Transmissor

CC CN C2 C1 CC CC CC

(Fig. 20)

Profs. Fábio Lucena Veloso e Roberto Barros 33

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.

T

transmissão

caractere 2

01010010

Transmissor

R

Receptor

10011000

caractere 1

(Fig. 21)

Profs. Fábio Lucena Veloso e Roberto Barros 34

Via dedados

paralela

Dados seriaisrecebidos (R x DATA)

Dis

posi

tivos

de E

/S s

eria

l

R x CLK

Receptor (Rx)

“Buf

fer”

da v

ia d

e da

dos

Reg

istra

dor

de d

ados

do

rece

ptor

(R x

DR

)

UART

ESTRUTURA BÁSICA DE UMA UART

µP

D7

D0

Dados seriaistransmitidos (T x DATA)

Transmissor (Tx)

Reg

istra

dor

de d

ados

do

trans

mis

sor (

T x

DR

)

(8)

(8)

T x CLK

Fábio Lucena Veloso Página 39

Relógio de recepção 3R x CLK

Seis blocos funcionais da UART MC 6850

LEITURA / ESCRITA 13Seleção de Pastilha 0 (CS0) 8

Seleção de Pastilha 1 (Cs1) 10Seleção de Pastilha 2 (Cs2) 9

Seleção de Registrador 11

HABILITA 14

Seleção dePastilha e

controle deLEITURA /ESCRITA

Ger. deRelógio

Registradorde Desloca-

mento deTRANSMISSÃO

(TSR)

3

25

6

Ger. deparidade

Dados TRANSMITIDOS(T x D) 6

Registradorde Dados de

TRANSMISSÃO(T x DR)

Controle deTRANSMISSÃO

Lógica deINTERPRETAÇÃO

Livre para enviar 24

D0 22D1 21D2 20D3 19D4 18D5 17D6 16D7 15

“Buffers”da via

de dados

V = pino 12DD

REQUISIÇÃO DE INTERRUPÇÃO 7

Detector de Portadorade Dados 23

REQUISIÇÃO PARA ENVIO(RTS) 5

Controle deRECEPÇÃO

Verificaçãode paridade

V = pino 1SS

Dados RECEBIDOS(R x D) 2

Relógio detransmissão 4

T x CLK

Registradorde Estado

Registradorde Controle

4

Registradorde Dados deRECEPÇÃO

(R x DR)

Registradorde Deslo-

camento deRECEPÇÃO

(RSR)

Lógicade sin-

cronismo

Ger. derelógio

1