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