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

ENGENHARIA DE TELECOMUNICAES ENGENHARIA BIOMDICA ENGENHARIA DA COMPUTAO

NP-217 Eletrnica Digital II


Captulo 1 Introduo aos Sistemas Computacionais

Prof. Evandro Lus Brando Gomes


Rev. 1/2012

Captulo 1 - Introduo aos Sistemas Computacionais

Sumrio
1 Introduo aos Sistemas Computacionais .............................................................................................. 3 1.1 Organizao Bsica dos Sistemas Computacionais ......................................................................... 4 1.2 Descrio das Partes Bsicas dos Sistemas Computacionais........................................................... 4 1.2.1 - C P U Unidade Central de Processamento ............................................................................. 4 1.2.2 - Memria .................................................................................................................................... 4 1.2.2.1 - Conceitos Bsicos e Terminologia ......................................................................................... 5 1.2.2.2 - Consideraes sobre memrias principal e externa ................................................................ 6 1.2.2.3 - Capacidade de uma memria ................................................................................................. 6 1.2.2.4 - Conceitos sobre dispositivos de memria .............................................................................. 7 1.2.2.5 - Operaes bsicas da memria............................................................................................... 8 1.2.2.6 - ROM (Read-Only Memory) ................................................................................................. 11 1.2.2.6.1 - Arquitetura de uma ROM .................................................................................................. 14 1.2.2.6.3 - Tipos de ROM ................................................................................................................... 15 1.2.2.6.3.1 MROM (Mask ROM) - ROM programada por mscara .............................................. 15 1.2.2.6.3.2 - PROM (Programmable ROM) - ROM programveis: ................................................... 16 1.2.2.6.3.3 EPROM (Erasable PROM) - ROM programvel / apagvel ......................................... 18 1.2.2.6.4 - Aplicaes da ROM .......................................................................................................... 20 1.2.2.7 - RAM - (Random Access Memory) ...................................................................................... 22 1.2.2.7.1 - SRAM - (Static Random Access Memory) ....................................................................... 22 1.2.2.7.2 - Ampliao de capacidade de uma RAM ........................................................................... 23 1.2.2.7.3 - Ampliao do tamanho da palavra de uma RAM.............................................................. 24 1.2.2.8 - Implementao de uma RAM............................................................................................... 25 1.2.2.9 - DRAM - (Dynamic Random Access Memory ..................................................................... 27 1.2.2.10 - Outros tipos de memrias ................................................................................................... 31 1.2.2.10.1 - RAM no voltil .............................................................................................................. 31 1.2.2.10.2 - Memrias FIFO ............................................................................................................... 32 1.2.3 Dispositivos de Entrada e Sada (I/O)..................................................................................... 33 1.2.4 Barramento de Dados (Data Bus) ........................................................................................... 34 1.2.5 Barramento de Endereos (Address Bus) ............................................................................... 34 1.2.6 Barramento de Controle (Control Bus) ................................................................................... 34 1.2.7 Microprocessador e Microcontrolador.................................................................................... 34 1.3 Estrutura Bsica da Unidade Central de Processamento (CPU) .................................................... 35 1.3.1 Unidade Lgica e Aritmtica (ALU) ...................................................................................... 35 1.3.2 Unidade de Registradores ....................................................................................................... 36 1.3.2.1 O Acumulador ..................................................................................................................... 36 1.3.2.2 O Contador de Programa (PC Program Counter) ............................................................. 36 1.3.2.3 O Ponteiro de Pilha (SP Stack Pointer) ............................................................................ 37 1.3.2.4 O Registrador de Status / Flags ........................................................................................... 37 1.3.2.5 O Registrador de Instruo (IR Instruction Register) ....................................................... 38 1.3.2.6 Unidade de Controle (UC) ................................................................................................... 38 1.4 Ciclo de Processamento das Instrues ......................................................................................... 38 1.4.1 Set de Instrues do Processador ............................................................................................ 38 1.4.2 Ciclo de Instruo ................................................................................................................... 42 1.4.3 Ciclo de Mquina ................................................................................................................... 42 1.5 Arquiteturas dos Processadores ..................................................................................................... 43 1.5.1 Arquitetura CISC .................................................................................................................... 43 1.5.2 Arquitetura RISC .................................................................................................................... 44 1.5.3 Arquitetura Hbrida ................................................................................................................ 44

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

2/45

Captulo 1 - Introduo aos Sistemas Computacionais

1 Introduo aos Sistemas Computacionais


Todo Sistema Computacional, no qual o Computadores Digitais e os Microcontroladores esto includos, um Sistema Lgico formado por duas partes fundamentais, denominadas de: "Hardware" e "Software". O Hardware constitui a parte fsica do Sistema e, composto, basicamente, por "um grupo de Circuitos sem aplicao especfica". No entanto, a "Arquitetura" deste grupo de Circuitos oferece ao "Usurio" um conjunto de tarefas elementares, o chamado "Set de Instrues". Estas Instrues podem ser combinadas pelo Usurio, como melhor lhe convier, para obter uma aplicao especfica desejada. A Seqncia combinada das Instrues com uma determinada aplicao denominada de "Programa", e constitui o chamado Software do Sistema. O Software, ento, caracteriza-se por ser uma parte malevel, j que permite utilizar a mesma Mquina para obter inmeras e distintas aplicaes, a partir da combinao adequada do mesmo Set de Instrues disponvel.

Uma analogia interessante consiste em fazer o relacionamento do "Hardware" com um Piano, do "Set de Instrues" com as Notas musicais, e o "Software" com a Msica, derivada das combinaes destas notas numa seqncia harmnica. Desta maneira, o mesmo Piano (Hardware) permite gerar inmeras Msicas (Softwares) atravs das diferentes combinaes do mesmo Conjunto de Notas musicais disponvel (Set de Instrues).

Analogia entre um Sistema Computacional e um Piano

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

3/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.1 Organizao Bsica dos Sistemas Computacionais Todo Sistema Computacional tem seu Hardware, organizado segundo a estrutura bsica apresentada pela figura abaixo.

Estrutura bsica de um Sistema Computacional

1.2 Descrio das Partes Bsicas dos Sistemas Computacionais

1.2.1 - C P U Unidade Central de Processamento A "CPU" (Central Processing Unit) responsvel pelo controle de todo o Sistema e pela manipulao dos dados. Acessa e interpreta as Instrues do Programa (gravado na Memria), gerando todos os sinais necessrios ao controle do fluxo de informao. Executa, tambm, operaes lgicas e aritmticas, necessrias ao tratamento dos dados. Em resumo, a CPU a responsvel pelo processamento das instrues.

1.2.2 - Memria Um sistema digital capaz de armazenar uma grande quantidade de dados em perodos de tempo curtos ou longos, sendo esta sua principal vantagem sobre os sistemas analgicos, tornando-os bastante versteis e adaptveis a uma grande variedade de situaes. Por exemplo, as instrues armazenadas na memria interna (principal) de um computador digital informam ao computador o que fazer em todas as situaes possveis, de modo que ele possa executar todas as tarefas com o mnimo de interveno humana. Os bancos de memrias armazenam os programas, que sero processadas pela CPU e, tambm, os dados a serem manipulados durante a execuo do programa. A memria de um sistema computacional pode ser funcionalmente dividida em memria principal e memria secundria. Na memria principal ficam armazenados os programas que esto em execuo pela CPU e os dados que esto sendo manipulados pelo programa em execuo, deve portanto ser uma memria com tempo de acesso menor (mais rpida) pois a CPU faz acesso constantemente a essa memria para buscar as instrues do programa e para processar os dados deste. Normalmente os programas ficam armazenados na memria tipo ROM (MROM, PROM, EPROM, EEPROM, etc) e
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

4/45

Captulo 1 - Introduo aos Sistemas Computacionais

os dados so armazenados em memrias tipo RAM (SRAM, DRAM, NVRAM, etc). J a memria secundria (ou auxiliar) tem a funo de armazenar os programas e/ou dados que sero utilizados futuramente pela CPU (se a CPU durante a execuo de um programa desejar obter um dado que est armazenado na memria secundria, ela deve ento primeiro carregar este dado na memria principal para depois manipul-lo). Normalmente so memrias de grande capacidade de armazenamento e do tipo no voltil, como CDs, DVDs, Discos Magnticos (HDs), etc. 1.2.2.1 - Conceitos Bsicos e Terminologia Memria: todo dispositivo capaz de armazenar informaes. Em uma memria, toda a informao armazenada na forma binria. Clula de memria: um dispositivo ou circuito eltrico capaz de armazenar um nico bit (0 ou 1). Como clula de memria podemos citar o flip-flop, um capacitor, um ponto magntico em fita ou disco, etc. Palavra de memria: um conjunto de bits que representa instrues ou dados. Por exemplo, um registrador composto por 8 flip-flops pode ser considerado uma memria com capacidade de armazenar uma palavra de 8 bits. Byte: o conjunto de 8 bits. Endereo: um nmero que identifica a posio de uma palavra na memria, sendo expresso sempre em nmero binrio, mas, em alguns casos por convenincia pode ser expresso em octal e hexadecimal.

A figura a seguir mostra a tabela de uma pequena memria composta por 8 palavras, cada uma delas com um endereo especfico. Endereo 000 001 010 011 100 101 110 111

Palavra 0 Palavra 1 Palavra 2 Palavra 3 Palavra 4 Palavra 5 Palavra 6 Palavra 7

Operao de leitura: a operao em que uma palavra binria armazenada em posio especfica na memria (endereo) identificada e transferida para outro dispositivo qualquer do sistema. Operao de escrita: a operao na qual uma palavra colocada em determinada posio da memria.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

5/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.2.2.2 - Consideraes sobre memrias principal e externa O flip-flop um circuito eletrnico capaz de armazenar 1 bit de informao. Grupos de flip-flops denominados registradores so capazes de armazenar informao estruturada, composta por dados ou instrues e tais informaes podem ser recebidas ou transferidas para outros dispositivos de armazenamento. Avanos tecnolgicos tornaram possvel a colocao de um nmero extremamente elevado de flip-flops dentro de um nico chip, aliando-se a isso uma velocidade de acesso cada vez maior a um custo mais acessvel. As memrias a semicondutor so usadas como memria principal de um computador, onde exigida uma velocidade de operao bastante alta. A memria principal a parte integrante do prprio computador e sem ela o computador simplesmente no funciona. Pode ser tambm denominada memria residente ou memria interna, estando em constante comunicao com o processador enquanto as instrues bsicas estiverem sendo executadas. A figura abaixo mostra o diagrama simplificado de um computador.

No entanto, devido ao alto custo por bit, as memrias a semicondutor so empregadas apenas como memria principal. A memria externa (ou secundria) dispensvel para o funcionamento do computador, entretanto, amplia sobremaneira a capacidade e a flexibilidade do mesmo. Mais do que isso, torna-se imprescindvel sempre que tornar-se necessrio armazenar dados e programas para consultas futuras. Os discos magnticos e os discos pticos esto entre os dispositivos de memria de massa mais populares, apresentando um custo por bit bem menor do que os dispositivos utilizados na implementao da memria principal. 1.2.2.3 - Capacidade de uma memria muito importante especificar quantos bits podem ser armazenados em uma determinada memria. Tomemos como exemplo uma memria que possa armazenar 4.096 palavras de 20 bits. Isto representa uma capacidade total de armazenamento de 81.920 bits (4.096 x 20), onde 4.096 o nmero de palavras e 20 a quantidade de bits por palavra.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

6/45

Captulo 1 - Introduo aos Sistemas Computacionais

Utiliza-se comumente representar o nmero de palavras da memria como mltiplo de 1.024, sendo comum a designao 1K (1 kilo) para representar 1.024 bits, que igual a 210. Por exemplo, uma memria que tenha uma capacidade de armazenamento de 8K x 20 na verdade uma memria de 8.192 x 20. Memrias de grande capacidade de armazenamento utiliza a designao 1M (1 mega), que representa 220 que igual a 1.048.576 bits. Dessa forma uma memria com capacidade de 2M x 8, possui uma capacidade de 2.097.152 x 8. Exemplo 1: Um chip de memria especificado tendo a capacidade de 4K x 8. Quantas palavras podem ser armazenadas nesse chip? Qual o tamanho da palavra? Quantos bits no total esse chip pode armazenar? 4K = 4 x 1.024 = 4.096 palavras Cada palavra tem 8 bits ou l byte O nmero total de bits 32.768 (4.096 x 8) Exemplo 2: Qual das memrias armazena mais bits? a) 2M x 8 b) 1M x 16 a) 2 x 1.048.576 x 8 = 16.777.216 b) 1 x 1.048.576 x 16 = 16.777.216 Portanto, as duas memrias tem a mesma capacidade de armazenamento de bits. 1.2.2.4 - Conceitos sobre dispositivos de memria Tempo de acesso: O tempo de acesso mede a velocidade de acesso memria. a quantidade de tempo necessria efetivao de uma operao de leitura ou, mais especificamente, o tempo decorrido entre o momento da recepo pela memria de um novo endereo, e o instante em que a informao daquele endereo fica disponvel. Memria voltil: Qualquer tipo de memria que necessite de energia eltrica para reter informaes armazenadas denominada memria voltil. Quando a energia eltrica for interrompida toda a informao armazenada ser perdida. Muitas memrias a semicondutor so volteis, enquanto que todas as memrias magnticas so no volteis. Memria de acesso randmico (RAM): Memria onde a localizao fsica real de uma palavra de memria no tem efeito sobre o tempo que se leva para ler ou escrever nesta posio, isto , o tempo de acesso constante para qualquer endereo
Prof. Evandro Lus Brando Gomes

NP-217 Eletrnica Digital II - 2. Semestre / 2012

7/45

Captulo 1 - Introduo aos Sistemas Computacionais

da memria. A grande maioria das memrias e semicondutor e todas as de ncleo magntico so randmicas. Memria de acesso seqencial (SAM): Memria onde o tempo de acesso no constante, mas depende do endereo. Para encontrar determinada palavra, passa-se por todos os endereos situados entre aquele onde se realizou o ltimo acesso e o objeto do acesso atual. Isto produz tempos de acesso bem maiores do que os dispositivos de acesso randmico. Exemplos de SAM: fitas magnticas, discos magnticos e as memrias de bolhas magnticas. Para melhor ilustrar a diferena entre uma SAM e uma RAM, considere a situao de uma fita cassete com 60 minutos de msica gravada. Para ouvir determinada msica deve-se avanar ou recuar a fita at encontrar a msica desejada, e com isto, perde-se um tempo considervel dependendo de onde se encontra a msica desejada. Isto representa ento uma analogia com a memria SAM. No caso da memria RAM a analogia pode ser feita com uma mquina automtica de msica, onde apertando-se um boto consegue-se ouvir a msica desejada. Memria de Leitura/Escrita (RWM): Qualquer memria que possa ser lida ou escrita com facilidade. Memria Somente de leitura (ROM): So memrias a semicondutor onde a taxa de operaes de leitura infinitamente maior do que a escrita. Tecnicamente uma ROM pode ser gravada ou programada apenas uma vez, o que na maioria das vezes feita na fbrica. Depois disso, a informao somente poder ser lida. Dispositivos de memria esttica: Nessas memrias as informaes armazenadas permanecero armazenadas enquanto houver energia eltrica aplicada memria, sem que haja necessidade da informao ser rescrita periodicamente na memria. Dispositivos de memria dinmica: Nessas memrias as informaes armazenadas no permanecero armazenadas, mesmo com a presena da energia eltrica necessria para alimentar o circuito, a no ser que as informaes sejam rescritas periodicamente na memria com determinada freqncia. Esta operao denominada refresh (recarga).

1.2.2.5 - Operaes bsicas da memria As memrias de uma forma geral apresentam operaes bsicas, apesar dos diversos tipos de implementao, cujas operaes bsicas so: Selecionar o endereo que est sendo acessado para leitura ou escrita; Selecionar a operao a ser realizada, leitura ou escrita; Fornecer os dados de entrada para operao de escrita; Manter estveis as informaes de sada da memria. resultantes de uma operao de escrita, durante um tempo determinado;

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

8/45

Captulo 1 - Introduo aos Sistemas Computacionais

Habilitao ou desabilitao da memria, para faz-la responder ou no ao endereo na entrada e ao comando leitura/escrita.

A figura a seguir mostra como exemplo, o diagrama simplificado de uma memria 32 x 4 (32 palavras de 4 bits), isto , cada palavra tem o tamanho de 4 bits.

Como o tamanho da palavra de 4 bits, existe nesta memria 4 linhas de entrada de dados e 4 linhas de sada de dados. Durante a operao de escrita, os dados a serem armazenados na memria devem ser colocados nas linhas de entrada de dados (I0 a I3) e durante a operao de leitura, a palavra lida aparece nas linhas de sada de dados (O0 a O3). A memria mostrada no exemplo acima possui 32 posies diferentes de armazenamento e portanto, 32 endereos diferentes, comeando por 00000 e terminando em 11111 (0 a 31 decimal). Desta forma essa memria deve ter 5 entradas de endereamento (25 = 32). Em geral so necessrias N linhas de entrada de endereo para uma memria com capacidade de 2N palavras. Voltando ao exemplo acima, observa-se que cada posio possui 4 clulas de memria que armazenam 0s e 1s, formando assim uma palavra em determinadas posies. Dessa forma, no endereo 00001 est armazenada a palavra 1001; no endereo 11110 est armazenada a palavra 0111 e assim por diante. O comando de leitura/escrita determina qual das operaes a memria dever executar. Alguns sistemas utilizam linhas separadas para leitura e escrita. Quando se usa uma nica linha temos as seguintes condies:

A figura a seguir ilustra o processo de leitura e escrita na memria 32 x 4, onde em A temos a escrita de uma palavra de dados 0001 na posio da memria cujo
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

9/45

Captulo 1 - Introduo aos Sistemas Computacionais

endereo 00100, enquanto que em B temos a leitura de uma palavra de dados 1101 na posio de memria, cujo endereo 11110.

Muitos sistemas de memria tem meios de desabilitar toda a memria ou parte dela, de tal forma a fazer que um determinado conjunto de posies desabilitadas no responda a nenhum tipo de operao. No nosso exemplo a memria possui uma entrada que permite a habilitao e desabilitao, podendo ser ativa em nvel alto ou em nvel baixo. No nosso exemplo a habilitao ocorre em nvel alto. Um nvel baixo aplicado uma memria desabilita-a por completo. Esse procedimento usado quando diversos mdulos de memria so combinados para formar uma memria maior. Exemplo 1: Descreva as condies de cada uma das linhas de entrada e sada, quando precisamos ler o contedo do endereo 11110. Entradas de endereo: 11110 Entradas de dados: no utilizadas R / W : nvel alto Habilitao da memria : nvel alto Sadas de dados: 1101 Exemplo 2: Descreva as condies de cada uma das linhas de entrada e sada, quando precisarmos escrever a palavra 1001 no endereo 10001. Entradas de endereo: 10001 Entradas de dados: 1001 R /W : nvel baixo Habilitao da memria: nvel alto Sadas de dados: no utilizadas (normalmente em alta impedncia) Exemplo 3: Uma memria tem uma capacidade de 8K x 4. Pergunta-se: a) Quantas linhas para entrada e sada de dados esta memria deve ter? b) Quantas linhas de endereo deve ter? c) Qual a sua capacidade total em bytes?
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

10/45

Captulo 1 - Introduo aos Sistemas Computacionais

a) 4 linhas de entrada e 4 linhas de sada, pois o tamanho da palavra de 4 bits. b) A memria armazena 8.192 palavras, devendo ento existir 8.192 endereos de memria. Como 8.192 = 213 , a mesma precisa de 13 bits para especificar qualquer um dos seus endereos. c) Cada byte corresponde a 8 bits. Logo, tem 4.096 bytes de capacidade. 1.2.2.6 - ROM (Read-Only Memory) ROM (Read-Only Memory), que traduzindo para o portugus significa memria de apenas leitura, uma memria a semicondutor destinada a armazenar informaes em carter permanente e que em rarssimos casos so mudadas. Durante sua operao normal nenhum dado poder ser escrito na ROM, sendo utilizada ento apenas para leitura de dados que estiverem armazenados. Para alguns tipos de ROM os dados so gravados durante o processo de fabricao enquanto que, para outros, os dados so gravados eletricamente. O processo de gravao de dados em uma ROM denominado programao ou queima. Algumas ROMs no podem mais ter seus dados alterados, enquanto que outras podem ter seus dados apagados e regravados. As ROMs tem caractersticas no volteis e por isso so empregadas para guardar dados que no mudaro durante a operao de um sistema, uma vez que, aps cessada a alimentao eltrica os dados no se perdem. Uma ROM pode ser implementada, conforme ilustra a figura a seguir:

ENDEREOS E0 E1 E2 0 0 1 0 1 0 1 0 0

S0 1 0 1

PALAVRAS S1 S2 S3 1 0 1 1 1 1 0 1 1

S4 1 0 1

Na realidade, trata-se de um codificador onde E0 a E2 so as entradas. Essas entradas combinadas equivaleriam ao endereo e, nas sadas teramos as palavras S0 a S4.
Prof. Evandro Lus Brando Gomes

NP-217 Eletrnica Digital II - 2. Semestre / 2012

11/45

Captulo 1 - Introduo aos Sistemas Computacionais

Ento para o circuito apresentado, o endereo 100 por exemplo, eqivale a palavra 10111. Convm lembrar que no codificador somente uma das entradas pode ser levada a nvel lgico 1 de cada vez, o que torna muito limitada uma ROM com codificadores. Utilizando um decodificador e um codificador conforme mostra a figura abaixo, podemos atravs das combinaes das entradas estabelecer uma sada, onde neste caso, as entradas podero estar todas submetidas a nvel 1.

A vantagem desse circuito que a capacidade de armazenamento sensivelmente aumentada com um nmero de linhas de endereamento mais reduzido. Para n linhas de endereamento teremos 2n entradas no codificador e conseqentemente 2n palavras. O decodificador implementado e tabela correspondente so mostrados a seguir:

Com base no decodificador e codificador, poderemos projetar uma ROM. Supondo que queiramos projetar uma ROM que atenda as exigncias da tabela mostrada abaixo: ENDEREOS PALAVRAS A0 A1 A2 S0 S1 S2 S3 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 Teremos ento o diagrama mostrado a seguir:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

12/45

Captulo 1 - Introduo aos Sistemas Computacionais

No decodificador teremos 8 sadas (E0 a E7), pois o mesmo possui 3 possibilidades de entrada. A tabela correspondente ao decodificador mostrada abaixo: A0 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 A2 0 1 0 1 0 1 0 1 E0 1 0 0 0 0 0 0 0 E1 0 1 0 0 0 0 0 0 E2 0 0 1 0 0 0 0 0 E3 0 0 0 1 0 0 0 0 E4 0 0 0 0 1 0 0 0 E5 0 0 0 0 0 1 0 0 E6 0 0 0 0 0 0 1 0 E7 0 0 0 0 0 0 0 1

A tabela correspondente ao codificador mostrada a seguir: E0 1 0 0 0 0 0 0 0 E1 0 1 0 0 0 0 0 0 E2 0 0 1 0 0 0 0 0 E3 0 0 0 1 0 0 0 0 E4 0 0 0 0 1 0 0 0 E5 0 0 0 0 0 1 0 0 E6 0 0 0 0 0 0 1 0 E7 0 0 0 0 0 0 0 1 S0 1 1 0 0 0 0 1 0 S1 0 1 1 0 1 0 1 1 S2 1 0 0 0 1 1 1 1 S3 0 0 0 1 0 1 1 1

A ROM implementada mostrada abaixo:

ENDEREOS: A0 a A2

SADAS: S0 a S3 (palavra)

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

13/45

Captulo 1 - Introduo aos Sistemas Computacionais

Analisando o circuito implementado, podemos observar que as condies impostas para o projeto esto totalmente satisfeitas. 1.2.2.6.1 - Arquitetura de uma ROM A figura a seguir mostra a arquitetura interna de uma ROM 16 x 8, onde verifica-se a existncia de 2 decodificadores: 1 para seleo de linha e 1 para seleo de coluna:

Observa-se no diagrama acima a existncia de 16 registradores (R0 a R15) que armazena todas as informaes que foram programadas na ROM. Cada registrador tem um nmero de clulas de memria igual ao tamanho da palavra, que no caso, armazena uma palavra de 8 bits, alm de 2 entradas para habilitao (E), ativas em nvel alto, sendo uma interligada linha e outra interligada coluna. Os registradores so arranjados na forma de uma matriz quadrada (muito comum na maioria dos chips), identificveis atravs das linhas e colunas por eles ocupadas na matriz. Por exemplo, o registrador 7 est na linha 3, coluna 1; o registrador 11 est na linha 3, coluna 2 e assim por diante. O cdigo de endereo aplicado, A3A2A1A0, determina qual dos registradores da matriz deve ser habilitado. Exemplo 1: Qual dos registradores ser habilitado para uma entrada de endereo 1110? A3A2A1A0 = 1110 A3A2 = 11 ====> coluna 3 A1A0 = 10 ====> linha 2 Teremos ento o registrador 14 devidamente habilitado

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

14/45

Captulo 1 - Introduo aos Sistemas Computacionais

Exemplo 2: Qual o endereo que habilitar o registrador 6? As entradas de habilitao deste registrador so conectadas aos sinais da linha 2 e coluna 1 respectivamente. Logo, A3A2A1A0 = 0110 O registrador habilitado pelas entradas de endereo dever colocar seus dados no barramento de dados, que sero entregues ao buffer de sada desde que CS esteja em nvel baixo, caso contrrio as sadas do buffer estaro em alta impedncia e as linhas D0 a D7 estaro em flutuao.

1.2.2.6.3 - Tipos de ROM 1.2.2.6.3.1 MROM (Mask ROM) - ROM programada por mscara A ROM programada por mscara tem suas posies de memria gravadas pelo fabricante de acordo com as especificaes do cliente. Uma mscara utilizada para realizar as conexes eltricas do chip; para cada conjunto de informaes utiliza-se um tipo de mscara. Tem como vantagens: alternativa mais econmica, desde que sejam produzidas em larga escala; e como desvantagens: no podem ser apagadas e reprogramadas caso ocorra a mudana de um determinado projeto que exija modificaes nos dados armazenados, pois, neste caso, a ROM com dados antigos no pode ser reaproveitada. A figura a seguir mostra a estrutura interna de uma MROM de pequena capacidade, constituda de 16 clulas arranjadas em 4 linhas e 4 colunas de clulas, construdas com transistores bipolares. Dessa forma, cada clula constituda por um transistor bipolar. Cada linha constitui um registrador de 4 bits. Uma conexo aberta na base do transistor armazena um bit 0 enquanto que, uma conexo da base sada do decodificador armazena um bit 1. A condio de cada uma das conexes da base controlada atravs de uma mscara fotogrfica durante o processo de fabricao, de acordo com os dados fornecidos pelo cliente.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

15/45

Captulo 1 - Introduo aos Sistemas Computacionais

Um decodificador utilizado na decodificao das entradas de endereo A1A0 para selecionar as linhas correspondentes aos registradores. A sada do decodificador ativa em nvel alto, fornecendo o sinal de seleo para a linha correspondente ao endereo selecionado, desde que a entrada EN esteja em nvel baixo. Caso ENesteja em nvel alto, todas as sadas do decodificador estaro inativas, no havendo qualquer tenso em suas bases. A tabela a seguir ilustra melhor essa situao: ENDEREOS A1 A0 EN 0 0 0 0 1 0 1 0 0 1 1 0 SADAS D2 D1 1 0 0 1 0 1 1 1

D3 0 1 1 0

D0 1 1 1 0

Alm da tecnologia bipolar pode-se ainda utilizar a tecnologia CMOS ou NMOS para fabricar MROMs. Dentre as MROMs mais populares pode-se citar: 74187 - organizada como 256 x 4, tecnologia bipolar 7488A - organizada como 32 x 8, tecnologia bipolar

Uma memria MROM muito popular, fabricada segundo a tecnologia NMOS, a TMS47256 / TMS47C256, organizada na forma 32K x 8. 1.2.2.6.3.2 - PROM (Programmable ROM) - ROM programveis: Em virtude do alto custo das MROMs, a no ser que sejam utilizadas em aplicaes que envolvam grande produo de chips, foram desenvolvidas para aplicaes mais modestas ROMs que podem ser gravadas pelo usurio. Esse tipo de ROM conhecido como PROM FUSE, isto , uma ROM programvel (do ingls PROGRAMMABLE READ ONLY MEMORY FUSE). Uma forma bastante simples de implementar uma ROM programvel atravs de diodos. Cada clula de memria constituda por um diodo, aps o qual conectado um fusvel. Se quisermos que determinado ponto no seja um diodo, basta fazer circular por esse ponto uma corrente suficiente para romper o fusvel correspondente, conforme ilustra a figura abaixo:

Pode-se dessa forma gravar as palavras que se deseja armazenar. No entanto, depois de gravada uma palavra, no mais poder ser alterada ou desgravada. necessrio antes de gravar esse tipo de ROM fazer um mapeamento, localizando os
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

16/45

Captulo 1 - Introduo aos Sistemas Computacionais

pontos para gravao, pois um eventual erro ir inutilizar o chip. Se aps gravada, houver a necessidade de modificar os dados armazenados, isto no mais ser possvel, havendo ento necessidade de utilizar outro chip. Pode-se tambm implementar uma PROM atravs de transistores, segundo a tecnologia bipolar, CMOS ou NMOS. Neste caso, a ligao entre a base a linha de dados ser efetuada atravs de um fusvel, que poder ser queimado, com uma corrente adequada. A vantagem das PROMs com a tecnologia CMOS ou NMOS sua capacidade bem superior com relao s bipolares. A figura a seguir mostra uma PROM implementada com diodos:

A tabela a seguir mostra a situao de uma PROM com diodos aps a gravao pelo usurio, segundo suas necessidades: ENDEREOS E0 E1 E2 E3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 PALAVRAS S1 S2 S3 1 0 1 0 1 1 1 1 0 1 1 1

S0 0 1 0 1

S4 1 1 1 0

O diagrama da PROM devidamente programada e gravada mostrado a seguir:

Dentre as PROMs mais populares podemos citar: 74186 - tecnologia bipolar, capacidade de 64 bytes

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

17/45

Captulo 1 - Introduo aos Sistemas Computacionais

TBP28S166 - tecnologia bipolar, capacidade 2K x 8 TMS27PC256 - tecnologia CMOS, capacidade 32K x 8

1.2.2.6.3.3 EPROM (Erasable PROM) - ROM programvel / apagvel Uma EPROM pode ser programada pelo usurio, com a vantagem de poder ser apagada e reprogramada quantas vezes forem necessrias, sendo fabricadas segundo a tecnologia MOS, CMOS ou NMOS. Uma vez programada uma EPROM comporta-se como uma memria no voltil, pois reter seus dados indefinidamente. O processo de programao de uma EPROM envolve a aplicao de nveis especiais de tenso situados entre 10 e 25V s entradas do chip, em intervalos com tempo determinado, da ordem de alguns milisegundos por posio de memria. Em seu estado natural (sem qualquer programao) todas as clulas armazenam o bit 1. Dessa forma, durante a programao os pinos de dados e endereos da EPROM so usados para selecionar quais clulas so programadas como 0 e quais sero deixadas em 1. Uma vez que uma clula da EPROM tenha sido gravada, possvel apag-la expondo-a luz ultravioleta, aplicada atravs de uma janela no chip, requerendo para isso uma exposio que varia de 15 a 30 minutos, dependendo da intensidade da luz. Entretanto, no possvel apagar clulas selecionadas, pois ao expor o chip radiao ultravioleta todas as clulas se apagaro, voltando a nvel 1. As figuras a seguir ilustram uma EPROM:

A figura a seguir ilustra o chip 2732A, (32768-BIT ERASABLE PROGRAMMABLE READ-ONLY MEMORY), apagvel pela ao de radiao ultravioleta, que uma EPROM organizada na forma 4K x 8.

Esse chip de memria possui 12 bits de endereos, pois 212 = 4096 e 8 sadas de dados. Possui ainda 2 entradas de controle: E/ a entrada de habilitao usada para colocar o chip no estado standby , onde seu consumo de potncia reduzido.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

18/45

Captulo 1 - Introduo aos Sistemas Computacionais

G/ / Vpp uma entrada dupla, onde: G/ a habilitao de sada usada para controlar os buffers de sada, de forma que o mesmo possa ser ligado ao barramento de um microprocessador sem provocar bus contention (disputa pelo barramento); Vpp a tenso especial de programao, durante o processo de programao da EPROM. A tabela abaixo mostra os 6 modos de operao do TMS2732A:

VIL e VIH correspondem aos nveis baixo e alto respectivamente, compatveis TTL; HI-Z corresponde ao estado de alta impedncia; X significa dont care; D significa dado e Q significa sada. O chip TMS2764 uma EPROM, tambm apagvel por radiao ultravioleta (65536-BIT ERASABLE PROGRAMMABLE READ-ONLY MEMORY), organizada como 8K x 8, conforme ilustra a figura a seguir:

preciso ficar atento quanto denominao dos chips. A letra P inserida entre os nmeros 2732 e 2764, indica que trata-se de uma memria PROM. Desta forma, os chips TMS27P32A e TMS27P64 so memrias PROM. As EPROMs apagveis por ultravioleta, apresentam duas grandes desvantagens: a primeira o fato da mesma precisar ser retirada do soquete para ser apagada e reprogramada; a segunda que a memria inteira apagada com a aplicao de radiao ultravioleta. Para contornar esse inconveniente foi desenvolvido um outro tipo de EPROM, que pode ser apagada por pulsos eltricos, so as denominadas EEPROM ou E2PROM (Electrically-Erasable Programmable Read-Only Memory). A grande vantagem da memria por apagamento com pulsos eltricos com relao a memria por apagamento com radiao ultravioleta que o apagamento e a reprogramao dos dados pode ser feita seletivamente ao invs da memria toda, alm do que, para ser programada ou reprogramada, o chip no precisa ser removido do circuito. Enquanto que uma EPROM por ultravioleta leva entre 15 a 20 minutos para ser

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

19/45

Captulo 1 - Introduo aos Sistemas Computacionais

apagada, uma EEPROM tem esse tempo reduzido para alguns milisegundos, o que constitui uma outra grande vantagem. O primeiro chip EEPROM foi o Intel 2816 com capacidade de 2K x 8. A partir da esse tipo de memria foi bastante aperfeioado. Um chip mais moderno, o 2864 com capacidade 8K x 8, contm internamente um circuito que gera as tenses necessrias para apagamento e reprogramao, de modo a necessitar apenas a alimentao de Vcc. A figura a seguir mostra a configurao de um chip 2864:

O chip 2864 bastante verstil, podendo ser comparado s RAMs estticas em termos de operao, constituindo uma vantagem por ser no voltil. No entanto em comparao s RAMs estticas, a desvantagem que possui circuitos mais complexos e tempo de acesso maior. Analisando o digrama do chip 2864, pode-se observar que os pinos I/O (dados), podem ser utilizados tanto para a entrada como para a sada, dependendo dos nveis nas entradas de controle, conforme ilustra a tabela a seguir: MODO Leitura Escrita Standby 1.2.2.6.4 - Aplicaes da ROM As ROMs podem ser usadas em qualquer tipo de aplicao que exija armazenamento de dados de caractersticas no voltil. Firmware (microprograma): Uma das mais importantes aplicaes da memria ROM est no armazenamento de microprogramas de um computador. Alguns computadores armazenam tambm em ROM seu sistema operacional e em alguns casos, interpretadores de linguagem. Muitos produtos de consumo como, jogos eletrnicos, sistemas eletrnicos de injeo de combustveis em automveis, etc. usam ROMs. Os programas de computador que esto armazenados em ROMs denominam-se firmware, pelo fato de seus dados no estarem sujeitos mudanas, ao contrrio daqueles armazenadas em RAMs (software), que so modificados com facilidade. E baix o baix o alto OE baix o alto X WE alto baix o X SADAS DATA OUT DATA IN HI-Z

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

20/45

Captulo 1 - Introduo aos Sistemas Computacionais

Bootstrap (memria de partida fria): Alguns computadores no possuem seu sistema operacional armazenado em ROM. Ao invs disso, usam memria de massa para sua inicializao (normalmente discos magnticos). Para que o computador saiba o que fazer aps sua ligao, um programa muito pequeno denominado programa de partida fria ou bootstrap armazenado em uma ROM executado logo que o mesmo ligado. As instrues do programa levam o processador a inicializar o sistema, fazendo com que parte residente do sistema operacional seja transferida da memria de massa para a memria interna. Tabelas de dados: As ROMs so muito utilizadas para armazenar dados que no mudam nunca, como por exemplo: tabela de implementao de funes trigonomtricas e tabelas de cdigos. O chip MM4220BM fabricado pela NATIONAL SEMICONDUCTOR por exemplo, armazena valores da funo seno para ngulos de 0 a 90. Converso de dados: A converso de dados necessria, quando o microprocessador est entregando dados em binrio puro e tais dados devem ser entregues por exemplo, a um display de 7 segmentos. Uma forma de implementar essa converso a utilizao de uma ROM programada para tal fim. O chip 74185 uma ROM TTL que armazena os dados necessrios para efetuar a converso binrio-BCD para uma entrada de 6 bits. Gerador de caracteres: Os caracteres alfanumricos so formados por um grupo de pontos, que podem estar brilhando ou no, dependendo do caractere a ser mostrado. Esse grupo de pontos normalmente arranjado como uma matriz de pontos 5 x 7 ou 7 x 9, sendo esses pontos representados por um cdigo binrio (0 e 1). Uma ROM geradora de caracteres armazena os cdigos do padro de pontos de cada caractere em um endereo que corresponde ao cdigo ASCII. Por exemplo, o padro de pontos para o caractere A deve estar armazenado no endereo 1000001, onde 1000001 o cdigo ASCII para a letra A. Gerador de funes: O gerador de funes um circuito que deve fornecer em sua sada formas de onda diversas (senoidal, quadrada, triangular, etc). Seu diagrama mostrado a seguir. Na ROM armazenada uma tabela com 256 valores diferentes de 8 bits, cada um deles correspondente ao valor de um ponto da curva que deva ser representada. Os endereos da ROM so gerados ciclicamente por um contador de 8 bits, que pulsa continuamente pela ao do clock. Quando o contador tiver percorrido todos os 256 endereos da ROM, esta ter gerado em sua sada todos os 256 pontos necessrios para que o conversor D/A produza a forma de onda desejada.

A figura abaixo sintetiza tudo o que foi dito at agora sobre as ROMs e suas divises:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

21/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.2.2.7 - RAM - (Random Access Memory) As memrias RAM, tambm conhecidas como memrias de escrita e leitura (RWM) so usadas em computadores para armazenamento temporrio de dados. 1.2.2.7.1 - SRAM - (Static Random Access Memory) A desvantagem das RAMs que por serem no volteis os dados nela armazenados se perdem quando o computador desligado, isto , armazenam dados por tempo indeterminado, enquanto a alimentao estiver sendo aplicada ao chip. Por esse motivo, essas RAMs so denominadas RAMs ESTTICAS (SRAM). A grande vantagem das RAMs que podem ser lidas e escritas rapidamente. Tomemos como exemplo uma RAM que armazena 64 palavras de 4 bits cada, organizada na forma 64 x 4, conforme ilustra a figura a seguir:

CS = Chip select

R/W = Read/Write

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

22/45

Captulo 1 - Introduo aos Sistemas Computacionais

Para selecionar uma das 64 posies de memria para leitura e escrita o cdigo de endereos aplicado entrada de um decodificador (6 para 64). Como 64 = 26 , ento torna-se necessrio 6 linhas de endereo. Quando o cdigo de endereo A5A4A3A2A1A0 = 011110 for aplicado na entrada de endereos, a sada do decodificador estar em nvel alto, selecionando o registrador 30 para leitura ou escrita, pois 0111102 = 3010. Escrita: Um dos registradores da memria escolhido pelo cdigo de endereo para ser escrito. Para escrever uma nova palavra necessrio que R/W/ esteja em 0 e CS em 1. Esta combinao proporciona a habilitao dos buffers de entrada, desabilitando os buffers de sada, que normalmente operam em alta impedncia durante a operao de escrita. Leitura: Da mesma forma que anteriormente, o cdigo de endereo seleciona um registrador para ser lido. Para isto, necessrio que R/W/ esteja em 1 e CS em 1.Isto proporciona a habilitao dos buffers de sada, desabilitando os buffers de entrada, que normalmente operam em alta impedncia durante a operao de leitura. Seleo do chip (chip select): Muitas memrias possuem mais de uma entrada de seleo de chip, que quando desabilitado, no permite operaes de escrita e leitura. Quando o chip est desabilitado, consome muito pouca energia, o que muito til para sistemas de memria que empregam vrios chips para aumentar sua capacidade, uma vez que, somente um dos chips dever estar selecionado para a realizao de uma operao.

1.2.2.7.2 - Ampliao de capacidade de uma RAM Como exemplo podemos citar a necessidade de uma memria com capacidade 32 x 4 ( 32 palavras de 4 bits), mas dispomos apenas de chips 16 x 4. Veja o diagrama abaixo:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

23/45

Captulo 1 - Introduo aos Sistemas Computacionais

O arranjo acima ilustrado, normalmente denominado mdulo de memria, abrange os endereos: RAM 0 - 00000 a 01111 RAM 1 - 10000 a 11111 TOTAL - 00000 a 11111 (32 palavras = 25 = 5 linhas de endereos) Observa-se que o endereo A4 tem por funo selecionar uma das duas RAMs atravs da entrada CS a partir dos nveis 1 ou 0. Quando CS/ = 1, habilita a RAM 0, desabilitando a RAM 1. Desta forma, a faixa de endereos para as RAMs 0 e 1 ficar por conta das entradas A3A2A1A0. 1.2.2.7.3 - Ampliao do tamanho da palavra de uma RAM Supondo que dispomos de chips de memria RAM 16 x 4, mas precisamos apenas dobrar o tamanho da palavra, mantendo a mesma quantidade de palavras. Isto nos daria uma organizao 16 x 8. Neste caso cada chip seria utilizado para armazenar a metade de bits de cada palavra. A figura a seguir mostra esse arranjo:

Para o arranjo acima, a faixa de endereos compreende: 0000 a 1111, que corresponde a 16 palavras. A RAM 0 armazena os 4 bits da mais significativos da palavra, enquanto que a RAM 1 armazena os 4 bits menos significativos da mesma palavra. As entradas R/W/ e CS/ controlam a operao escrita/leitura. Para leitura R/W/= 1 e CS/= 0; para escrita R/W/= 1 e CS/= 0. O barramento de dados funciona como entrada e sada, podendo ser interligado a qualquer outro dispositivo, como por exemplo, um processador.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

24/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.2.2.8 - Implementao de uma RAM O diagrama a seguir representa uma RAM implementada com FFs RS, com capacidade de 4 bits ( 4 x 1). Observe que a mesma possui 2 entradas de endereo. Para armazenar um dado no FF2 por exemplo, procede-se da seguinte maneira: a) a entrada X deve estar em nvel 1 b) A0A1 = 10 = 210 c) aplicar o dado que se deseja armazenar na entrada D (0 ou 1) Com o endereo 10, somente o FF2 ser ativado. As outras entradas dos demais FFs mantero o estado atual, de modo que a informao armazenada nos mesmos no ser destruda. Para leitura, basta levar X a nvel 0. Para ler por exemplo, a informao no FF3 basta enderear A0A1 = 11. Durante o processo de leitura, as informaes armazenadas no sero destrudas, uma vez que CK estando em nvel 0, bloquear todos os FFs.

Para ler por exemplo, a informao no FF3 basta enderear A0A1 = 11. Exemplo: Anlise do chip MCM14552 O chip MCM14552 uma RAM esttica, produzido pela Motorola, organizado na forma 64 x 4 (256-BIT STATIC RANDOM ACCESS MEMORY), cujo diagrama lgico mostrado a seguir:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

25/45

Captulo 1 - Introduo aos Sistemas Computacionais

A tabela para as operaes principais mostrada a seguir: FUNES Escrita Leitura Desabilitao das sadas (HI-Z) CE1 0 0 X X 1 X X CE2 0 0 X 1 X X X CE3 0 0 1 X X X X T X 0 X X X 1 X LE X X X X X X X M X X 0 0 0 X 0 ST 0 X X X X X X WE 0 1 X X X X 0

O chip MCM14552 um circuito integrado fabricado segundo a tecnologia CMOS, de larga escala de integrao (LSI). O diagrama de sua pinagem mostrado abaixo:

As RAMs estticas tambm podem ser fabricadas a partir da tecnologia bipolar, porm, a maioria emprega as tecnologias CMOS e NMOS.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

26/45

Captulo 1 - Introduo aos Sistemas Computacionais

A figura abaixo mostra uma comparao entre uma clula bipolar e uma clula NMOS.

A tecnologia bipolar tem a vantagem da velocidade com relao a tecnologia da famlia MOS. No entanto, os dispositivos da famlia MOS tem maior capacidade de armazenamento e menor consumo de potncia. Conforme ilustra a figura acima, a clula bipolar utiliza dois transistores bipolares e dois resistores. A clula NMOS utiliza quatro MOSFETs de canal negativo. A clula bipolar requer mais espao no chip devido a sua maior complexidade e necessitam de resistores, enquanto que na clula NMOS esses resistores so substitudos pelos transistores Q3 e Q4. Uma clula de memria CMOS similar NMOS, exceto pelo fato de utilizar MOSFETs de canal positivo nos lugares de Q3 e Q4, resultando em um chip com baixo consumo de potncia, mas com arquitetura bem mais complexa. 1.2.2.9 - DRAM - (Dynamic Random Access Memory As RAMs dinmicas, tambm denominadas DRAMs, possuem alta capacidade de armazenamento e so fabricadas segundo a tecnologia MOS. Enquanto que as RAMs estticas armazenam informaes em flip-flops, as RAMs dinmicas armazenam os bits 0 e 1 em microcapacitores parasitas nos transistores MOS que constituem sua clula. Devido a corrente de fuga essas informaes podem ser perdidas aps um determinado perodo, necessitando pois de um processo de restaurao peridica. O ato de restaurar um dado armazenado em uma RAM dinmica chama-se refresh. A necessidade da operao de refresh torna a RAM dinmica desvantajosa em relao RAM esttica. Uma DRAM muito popular a TMS4116 (16384-BIT DYNAMIC RANDOM ACCESS MEMORY), organizada na forma 16K x 1, fabricada com a tecnologia MOS, cujo diagrama de pinagem mostrado a seguir:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

27/45

Captulo 1 - Introduo aos Sistemas Computacionais

Para esse tipo de memria, a operao refresh deve ser realizada a cada 2ms (milisegundos), para reter os dados. Sua arquitetura simplificada mostrada na figura abaixo:

Como essa DRAM necessita de 14 bits de endereo, utiliza-se uma tcnica denominada multiplexao de endereos, tcnica essa, muita usada para reduzir o tamanho do invlucro do chip. No caso da DRAM TMS4116, um endereo de 14 bits aplicado em dois momentos atravs das entradas CAS/ e RAS/, responsveis pelo armazenamento dos endereos de linha e coluna (RAS/ para linhas e CAS/ para colunas). Para melhor entender o conceito de multiplexao de endereos, analisaremos os sinais de temporizao de RAS/ e CAS conforme ilustra a figura abaixo:

Inicialmente RAS/ e CAS/ esto em nvel alto. No instante t0 sete bits menos significativos do endereo, correspondentes ao endereo de linha (A0 - A6), so aplicados entrada de endereos. Aps decorrido o tempo de setup (tRS) a entrada RAS/ passa para nvel baixo, em t1. Na transio negativa deste sinal, essa parte do endereo carregada em um registrador interno de maneira que os sinais A0 - A6 aparecem na entrada do decodificador de linha. O nvel lgico baixo proveniente de RAS/ habilita ento o decodificador de linha, de forma que o mesmo decodificar o endereo de linha, selecionando uma das linhas da matriz. No instante t2 os bits restantes (A7 - A13), correspondentes ao endereo da coluna, so aplicados entrada de endereos. Em t3 CAS/ levada a nvel baixo, comandando o armazenamento do endereo da coluna no registrador correspondente. Da mesma forma, o decodificador de coluna habilitado,
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

28/45

Captulo 1 - Introduo aos Sistemas Computacionais

decodificando ento o endereo de coluna, selecionando uma das colunas da matriz. Nestas condies as duas partes do endereo j foram devidamente processadas, para selecionar uma das clulas da memria para uma operao de escrita ou leitura, exatamente como no caso de uma RAM esttica. Conclui-se ento que os sinais RAS/ e CAS/ realizam a funo de seleo do chip, dispensando assim a entrada CS. Desta forma, para uma DRAM 16 x 1, ao invs de se utilizar 14 entradas de endereo, utiliza-se apenas 7, segundo a tcnica da multiplexao de endereos. O processo de temporizao das operaes de leitura e escrita de uma DRAM muito mais complexo em relao a uma SRAM. Para se ter uma idia, vamos considerar um barramento de endereos de um processador alimentando uma SRAM ou ROM e um barramento de endereos alimentando uma DRAM. As figuras a seguir ilustram de maneira bem simplificada essas condies: Barramento de endereos de um processador para uma SRAM ou ROM de 16K. O barramento de endereos compreende as linhas A0 a A13 que interligam o processador com o sistema de memria.

Barramento de endereos de um processador para uma DRAM com a mesma capacidade. Observa-se que entre o processador e a DRAM existe um multiplexador, que recebe as 14 linhas de endereo do processador e entrega 7 linhas de endereo para a DRAM, devidamente multiplexadas. A multiplexao ocorre nas seguintes condies: quando MUX = 0, ocorre a transmisso das linhas de endereo A0/A6 para a DRAM; quando MUX = 1, ocorre a transmisso das linhas de endereo A7/A13 para a DRAM.

Como j foi dito anteriormente, uma das desvantagens das memrias dinmicas a necessidade de recarregar suas clulas periodicamente (em mdia 2ms), caso contrrio, todos os dados nela armazenados sero perdidos. Teoricamente, a operao refresh deve ser executada toda vez que ocorrer uma operao de leitura em uma determinada clula. Levando-se em considerao uma DRAM de 16K (16384 bits), seria necessria ento uma operao de leitura da ordem de 122ns (nanosegundos) para cada clula, taxa
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

29/45

Captulo 1 - Introduo aos Sistemas Computacionais

de leitura muito elevada para a maioria das DRAMs disponveis no mercado, alm de ser pouco provvel que todas as 16384 clulas fossem lidas em 2ms. Em vista disto as DRAMs em sua maioria, so projetadas de tal forma que, quando uma operao de leitura for feita em uma determinada clula, todas as clulas dessa mesma linha sofrero o refresh. Dessa forma a operao refresh fica bastante simplificada, pois limita-se a apenas 128 linhas, isto , a operao refresh ocorrer em toda a linha se nesta linha pelo menos uma clula for lida. Uma forma bastante simples de implementar a operao refresh, a utilizao de um contador refresh de 7 bits usado para gerar ciclicamente os 128 endereos das linhas da DRAM (neste caso, a DRAM de 16K, TMS4116). O contador gera ento 0000000 que corresponde a 0, at 1111111 que corresponde a 127, processo esse que demora aproximadamente 50s (microsegundos). O endereo gerado pelo contador no pode interferir com os endereos vindos do processador durante as operaes normais de escrita e leitura. Em virtude disso os endereos do contador devem ser multiplexados com os endereos do processador, para que no ocorra qualquer tipo de conflito entre endereos. Para facilitar esse tipo de operao, muitos fabricantes de circuitos integrados desenvolveram chips especiais para essa finalidade, como por exemplo o CI MC3242A (MEMORY ADDRESS MULTIPLEXER AND REFRESH COUNTER). Esse chip recebe o nome de controlador de RAM dinmica, cujo diagrama de pinagem mostrado abaixo:

O pino 15 (CE - chip enable) uma entrada opcional. Quando esse pino e deixado em aberto, assume valor alto, mantendo assim performance idntica ao chip da Intel 3242. O chip em questo possui na sada 7 bits de endereo multiplexados, os quais so ligados entrada de endereos da DRAM, que pode ser alimentada de trs fontes possveis: A primeira fonte a sada do contador refresh que incrementado por um pulso externo de clock, aplicado na entrada Count/ (contador de refresh interno), que fornece os endereos de linha para a DRAM durante a operao refresh. As duas outras so as sadas multiplexadas do controlador, obtidas da multiplexao dos 14 bits de endereo oriundos do processador, que so transformados em endereos de linha e de coluna, utilizados quando o processador precisa ler ou escrever na DRAM. Os nveis lgicos aplicadas nas entradas Refresh Enable e Row Enable, determinam qual dos trs conjuntos de 7 bits vai aparecer na sada do controlador, conforme mostra a tabela a seguir:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

30/45

Captulo 1 - Introduo aos Sistemas Computacionais

Refresh EN H L L

Row EN X H L

Sada do MC3442A Endereo de refresh (obtido do contador interno) Endereo de linha (A0 - A6) Endereo de coluna (A7 - A13)

O diagrama abaixo ilustra o processo de operao descrito acima:

1.2.2.10 - Outros tipos de memrias 1.2.2.10.1 - RAM no voltil Como sabemos as RAMs estticas so utilizadas para leitura e escrita, devido a sua alta velocidade na realizao dessas operaes, no entanto, por serem volteis, os dados nela armazenados se perdem quando cessa a alimentao eltrica. Existem no entanto, duas solues para esse problema: A primeira usar memrias que possam ser alimentadas por baterias sempre que ocorrer falta de energia. Isto requer memrias de baixo consumo, de modo a no consumir rapidamente toda a carga da bateria. No resta dvidas de que a tecnologia CMOS seria a mais indicada para o caso e para tal as memrias deveriam ser mantidas em standby para consumir o mnimo possvel de energia. Algumas SRAMs com tecnologia CMOS incluem no chip pequenas baterias de ltio (lithium). Outra soluo emprega a NVRAM (RAM no volteis). Uma NVRAM possui uma matriz de RAM esttica e uma matriz de EAPROM (Electrically Alterable Read Only Memory; semelhante a EEPROM, sendo que no precisa ser apagada permitindo a alerao dos bits de uma clula independente de outras) no mesmo chip, combinando dessa forma a velocidade de operao de uma SRAM com a capacidade de armazenamento de uma EAPROM. Cada clula de SRAM corresponde a uma celula de EAPROM e as informaes podem ser transferidas entre as clulas em ambas as direes. Na ocorrncia de falta de energia ou mesmo quando o computador for desligado, ocorre o seguinte: a) um circuito sensor de tenso detecta a queda de tenso e envia um sinal entrada Store da NVRAM;
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

31/45

Captulo 1 - Introduo aos Sistemas Computacionais

b) com isto o contedo armazenado na NVRAM transferido das clulas de RAM esttica para as correspondentes da EAPROM; essa transferncia realizada em paralelo (da ordem de alguns milisegundos); c) at que a energia da fonte se esgote totalmente (devido a descarga dos capacitores da fonte) , isto manter a NVRAM energizada, at que a transferncia se complete; d) a partir da a EAPROM guarda uma cpia do contedo da SRAM; e) restabelecendo-se a energia, a NVRAM comanda a transferncia automtica das informaes da EAPROM para a SRAM. Uma NVRAM tem a vantagem de no necessitar de bateria, sendo no entanto mais complexa do que um chip de memria convencional e por isso no esto disponveis para altas capacidades de armazenamento. Quando se requer o uso de memrias no volteis de alta capacidade, a alternativa a utilizao de RAMs CMOS com bateria. 1.2.2.10.2 - Memrias FIFO As FIFOs (First Input - First Output), que traduzindo significa Primeiro a entrar - Primeiro a Sair, um tipo de memria de acesso seqencial, na qual so usados registradores de deslocamento na sua implementao. Isto significa que medida que as palavras entram na entrada de dados, so descarregadas na mesma ordem na sada de dados, ou seja, a primeira palavra escrita ser a primeira palavra a ser lida. Desta forma, a FIFO muito utilizada na transferncia de dados entre sistemas que operam com velocidades diferentes. Como exemplo mais comum, podemos citar a transferncia de dados de um computador para uma impressora.

O computador envia dados para uma impressora a uma velocidade muito superior a que a impressora possa aceit-los. A memria FIFO neste caso age com um buffer equalizador de taxa de dados, aceitando os dados que vem do computador em velocidade alta, digamos, 40.000pps (pulsos por segundo) e armazenando-os. Aps isso sero deslocados para uma impressora a uma velocidade bem mais baixa, digamos, 400pps. A FIFO tambm pode ser utilizada para operar de forma contrria, ou seja, transmitir dados de um dispositivo extremamente lento (como por exemplo o teclado),

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

32/45

Captulo 1 - Introduo aos Sistemas Computacionais

para um dispositivo rpido como o computador. A figura a seguir ilustra o diagrama de pinagem do CI comercial CY3341 (64 x 4 FIFO SERIAL MEMORY).

Dentre as suas caractersticas pode-se mencionar: a) taxa de dados 1,2/2 MHz; b) sincronizao independente das entradas e sadas; c) tecnologia CMOS; d) expansvel verticalmente e horizontalmente. A entrada dos dados (D0 - D3) controlada pelas entradas SI e IR, enquanto que a sada dos dados controlada pelas entradas SO e OR. A entrada Master Reset atua diretamente nos controles lgicos da entrada e sada, inibindo-os, quando mesma for aplicado o nvel lgico 0. O diagrama lgico mostrado a seguir torna isto mais claro:

1.2.3 Dispositivos de Entrada e Sada (I/O) Os dispositivos de Entrada e Sada (I/O) so responsveis pela conexo do Computador com Dispositivos externos de comunicao com a CPU, tais como: Impressora, teclado, vdeo, sensores, atuadores, etc. A comunicao dos dados processados pela CPU com os dispositivos de I/O feita pelas Portas de I/O, que podem ser portas de comunicao padronizadas internacionalmente (para facilitar a compatibilidade) como: portas USB, IDE, SATA, Serial RS-232, Paralela Centronics, etc. ou pode ser atravs de Portas Proprietrias no qual a compatibilidade de comunicao vai existir apenas para o fabricante do dispositivo e do Sistema Computacional especfico.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

33/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.2.4 Barramento de Dados (Data Bus) So linhas paralelas que permitem a comunicao bidirecional entre a CPU e as Memrias ou Dispositivos de I/O. Devido ao compartilhamento deste barramento pelos vrios subsistemas, somente um dispositivo utiliza o barramento de cada vez, ficando os demais em estado de alta-impedncia (tri-state). O tamanho em bits deste barramento mostra qual sua capacidade de transferncia de dados entre CPU e dispositivos externos, ou seja, um Sistema Computacional com 8 bits de barramento de dados capaz de transferir dados com valores entre 0 e 255 em uma nica operao de acesso externo a dispositivos (memria ou I/O), sendo que para este mesmo sistema, por exemplo, uma dado a ser transferido para um dispositivo externo com valor igual a 300 (valor maior que 8 bits) tem que ser transferido em mais de uma operao de acesso externo, considerando que este acesso externo bastante lento em relao a velocidade da CPU, isto faz com que o Sistema Computacional tenha um pior desempenho em relao a outro que tenha esta barramento (dados) em 16 bits por exemplo, que faria esta mesma operao utilizando apenas uma transferncia externa.

1.2.5 Barramento de Endereos (Address Bus) So linhas paralelas unidirecionais por onde a CPU indica qual dispositivo (Memria ou I/O) ser acessado. O nmero de bits deste barramento dar ao Sistema Computacional a capacidade total de enderear dispositivos de I/O ou memria, por exemplo: um Sistema Computacional com 16 bits de endereamento capaz de gerar 216 combinaes de endereos diferentes, portanto este sistema pode enderear 65.536 endereos de memria ou endereos de dispositivos de I/O.

1.2.6 Barramento de Controle (Control Bus) So linhas, por onde a CPU envia todos os sinais de controle e sinalizao do Sistema necessrios para a perfeita sincronizao e controle dos dispositivos internos externos a ela acoplados.

1.2.7 Microprocessador e Microcontrolador A diferena bsica entre o que um microprocessador e o que um microcontrolador est basicamente no fato de que o microprocessador na arquitetura mostrada anteriormente a CPU, ou seja, os dispositivos de memria e I/O so circuitos externos que devem compor o sistema computacional, enquanto que no microcontrolador tanto CPU, Memrias e dispositivos de I/O j esto incorporados em um nico dispositivo fsico (CHIP) e em alguns modelos de microcontroladores existe tambm incorporado no mesmo CHIP conversores A/D, portas USB, Temporizadores, etc.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

34/45

Captulo 1 - Introduo aos Sistemas Computacionais

Sistema Computacional com Microprocessador

com

Microcontrolador

Um microcontrolador portanto, um sistema computacional completo, no qual esto includos internamente uma CPU (Central Processing Unit), memrias RAM (dados), flash (programa) e E2PROM, pinos de I/O (Input/Output), alm de outros perifricos internos, tais como, osciladores, canal USB, interface serial assncrona USART, mdulos de temporizao e conversores A/D, entre outros, integrados em um mesmo componente (chip). Outra diferena, agora com relao a aplicao de cada um, que os microprocessadores normalmente so utilizados em aplicaes onde so requeridos clculos matemticos complexos e com muita velocidade de processamento. J os microcontroladores so utilizados de forma dedicada, por exemplo em eletrodomsticos, em equipamentos de medicina, onde a velocidade de processamento no to alta.

1.3 Estrutura Bsica da Unidade Central de Processamento (CPU) A Unidade Central de Processamento - CPU, composta por trs unidades bsicas: A Unidade de Controle, A Unidade de Registradores e A Unidade Lgica e Aritmtica.

Estrutura bsica da CPU

1.3.1 Unidade Lgica e Aritmtica (ALU) A ALU a parte da CPU responsvel pelas operaes lgicas e aritmticas com os dados. As principais operaes que a ALU geralmente pode executar so:

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

35/45

Captulo 1 - Introduo aos Sistemas Computacionais

Aritmticas Adio e Subtrao Multiplicao e Diviso Incremento e Decremento Comparao

Lgicas E, Ou, No, Ou-Exclusivo Set, Reset Teste de bit Deslocamento (Shift)

Geralmente, a ALU aps a realizao de uma operao lgica ou aritmtica faz o ajuste dos bits de FLAG (vistos mais adiante) conforme o resultado da operao. Estes bits de flags podem indicar por exemplo se o resultado foi 0 (zero), se foi positivo ou negativo, se houve overflow (estou na capacidade de armazenamento do resultado no acumulador), etc.

1.3.2 Unidade de Registradores A Unidade de Registradores composta por um grupo de Registradores, onde ficam armazenados os dados, temporariamente, durante a execuo dos Programas ou, onde ficam armazenadas informaes necessrias ao controle do prprio Sistema. Esta unidade de registradores dividida em dois grupos: Registradores de uso geral, que servem para armazenar os dados durante o processamento do programa, e os registradores de uso especfico, que possuem funes especficas durante o processamento dos programas e no podem ser utilizados para armazenar qualquer valor. A seguir sero descritos alguns registradores de uso especfico para melhor entendimento do funcionamento da CPU.

1.3.2.1 O Acumulador Este registrador tem como finalidade receber o resultado das operaes lgicas e aritmticas executadas pela ALU. Nem todos os processadores tem a figura deste registrador, mas quando existe ele assume esta funo de armazenar os resultados. 1.3.2.2 O Contador de Programa (PC Program Counter) Este registrador responsvel pela armazenagem do endereo da prxima instruo a ser buscada na Memria de programa, para futura execuo. O "PC" incrementado a cada "Busca" da atual instruo, ficando sempre com o endereo da prxima instruo na memria. Este registrador tambm conhecido como ponteiro, por sua caracterstica de armazenar um endereo a ser utilizado pela CPU. Muitas vezes dito que o PC aponta para .... em referncia ao seu contedo ser um endereo que a CPU vai utilizar para acessar a memria. Quando a execuo do programa de forma seqencial, o PC vai sendo incrementado a cada nova instruo para apontar sempre para a prxima a ser executada. Mas, quando a CPU executa uma instruo de salto, o PC ao invs de ser incrementado (para o endereo seguinte) ele alterado para o novo endereo de memria onde ser a execuo da prxima execuo no salto do programa.
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

36/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.3.2.3 O Ponteiro de Pilha (SP Stack Pointer) A pilha uma rea da memria RAM utilizada para armazenar dados e endereos de retorno de sub-rotinas ou interrupes. Esta estrutura fica na memria RAM do tipo LIFO (Last-in, First-Out), ou seja, o ultimo valor a entrar na pilha o primeiro a ser retirado. A idia fundamental da pilha que todo o acesso a seus elementos feito atravs do seu topo. Assim, quando um elemento novo introduzido na pilha, passa a ser o elemento do topo, e o nico elemento que pode ser removido da pilha o do topo. Isto faz com que os elementos da pilha sejam retirados na ordem inversa ordem em que foram introduzidos (o primeiro que sai o ltimo que entrou). O registrador SP (ponteiro de Pilha) tem a finalidade de apontar (armazenar o endereo) do topo da pilha. Para entendermos o funcionamento de uma estrutura de pilha, podemos fazer uma analogia com uma pilha de pratos. Se quisermos adicionar um prato na pilha, o colocamos no topo. Para pegar um prato da pilha, retiramos o do topo. Assim, temos que retirar o prato do topo para ter acesso ao prximo prato. A estrutura de pilha funciona de maneira anloga. Cada novo elemento inserido no topo e s temos acesso ao elemento do topo da pilha. Existem duas operaes bsicas que devem ser implementadas numa estrutura de pilha: a operao para empilhar um novo elemento, inserindo-o no topo, e a operao para desempilhar um elemento, removendo-o do topo. comum nos referirmos a essas duas operaes pelos termos em ingls push (empilhar) e pop (desempilhar). A figura a seguir ilustra o funcionamento conceitual de uma pilha.

Funcionamento da Pilha e finalidade do registrador SP para indicar o topo da pilha

1.3.2.4 O Registrador de Status / Flags O registrador de Status (ou Flags) contm vrios bits de status que refletem o estado corrente da CPU. Esta indicao serve para tomada de decises no programa e para controle da CPU. A figura a seguir ilustra um exemplo de Flags e como eles so manipulados pela ALU da CPU. Os bits de flags podem variar para cada tipo de processador.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

37/45

Captulo 1 - Introduo aos Sistemas Computacionais

S Sinal (se o resultado + ou -) Z Zero (se o resultado 0) C Carry (se ocorreu um vai-um) H Half-Carry (se ocorreu um vai-umna metade do byte) N Se a operao foi de Subtrao Ov/P Overflow (se ocorreu um estouro do valor) Paridade (se paridade Par ou mpar em op. Lgicas)

1.3.2.5 O Registrador de Instruo (IR Instruction Register) Registrador responsvel pela armazenagem do "Cdigo de Instruo" (Operation Code- Op.Code) que est sendo executada pela Unidade de Controle da CPU. Toda vez que a CPU terminar de executar uma instruo ela faz um ciclo de busca de instruo, que tem a finalidade de buscar a prxima instruo armazenada na memria de programa, no endereo apontado pelo PC, e ento esta instruo armazenada no IR. Com isto finaliza-se o ciclo de busca de instruo e a Unidade de Controle ir comear um novo ciclo de execuo, e portanto, no IR est a nova instruo que dever ser executada pela Unidade de Controle.

1.3.2.6 Unidade de Controle (UC) A UC a responsvel pela gerao de todos os sinais de controle dentro e fora da CPU, utilizando a Via de controle interna e a Viade controle externa para atuar sobre todos os controles da CPU, onde: Via interna atua sobre: Unidade de Registradores, Unidade Lgica e Aritmtica e Registrador IR Via externa atua sobre: Banco de Memrias e Dispositivos de I/O A UC faz a interpretao (decodificao) da instruo (OP-CODE) que est armazenado no registrador IR e sincronizada com o relgio do sistema (CLOCK) ela vai gerando os sinais de controle (internos e externos) necessrios para a execuo da instruo e busca da prxima instruo na memria.

1.4 Ciclo de Processamento das Instrues 1.4.1 Set de Instrues do Processador Uma "Instruo" pode ser entendida como sendo "uma das possibilidades de utilizao do hardware numa tarefa elementar", como por exemplo: somar 2 nmeros, ler um dado da memria, escrever um dado na porta, etc. Portanto, as operaes
Prof. Evandro Lus Brando Gomes

NP-217 Eletrnica Digital II - 2. Semestre / 2012

38/45

Captulo 1 - Introduo aos Sistemas Computacionais

elementares que a CPU pode executar so fornecidas pelo fabricante do processador como sendo o seu Set de Instrues (ou Conjunto de Instrues), e com isso, todos os programas desenvolvidos para um processador especfico tem que utilizar instrues do Set de Instrues deste processador. Cada Instruo do "Set de Instrues" possui, para sua identificao, um cdigo de operao, conhecido como Op-code. Para facilitar a programao, o fabricante tambm associa a cada op-code um smbolo, conhecido como MNEMNICO. A tabela a seguir ilustra um exemplo de Set de Instrues de um determinado processador.

Os programas para execuo na CPU so armazenados na memria em binrio, ou seja, nos seus respectivos op-codes. imensamente desconfortvel desenvolvermos programas utilizando a Linguagem de Mquina, ou seja, usando diretamente os opcodes (cdigos em hexadecimal ou binrio) das instrues; portanto os programas so desenvolvidos na linguagem simblica (mnemnicos), o que para o programador se torna mais confortvel. Esta linguagem simblica para escrevermos os programas conhecida como Linguagem Assembly. O programa escrito em linguagem Assembly no entendido pelo processador, sendo ento necessrio converter estes mnemnicos para op-codes (linguagem de mquina). Esta tarefa e feita por um programa auxiliar conhecido como Assembler ou Montador. Mesmo sendo mais confortvel para o programador, a linguagem Assembly faz com que a programao seja muito prxima da arquitetura do processador, ou seja, para algum conseguir programar em linguagem Assembly, preciso ter amplos conhecimentos da arquitetura do processador especfico e do seu Set de Instrues e se o processador for trocado por outro de arquitetura diferente, o programa deve ser todo reescrito para este novo processador. A seguir um exemplo mostrando a mesma instruo para dois microcontroladores diferentes (PIC e 8051).

Dado a este fato da linguagem Assembly estar muito prxima da arquitetura do processador, ela recebe a classificao de Linguagem de Baixo Nvel.
NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

39/45

Captulo 1 - Introduo aos Sistemas Computacionais

Para melhorar este aspecto e tornar a programao de computadores mais independe da arquitetura do processador utilizado, foram criadas as Linguagens de Alto Nvel, onde nestas linguagens o programador no necessita ter amplos conhecimentos da arquitetura do processador nem de seu Set de Instrues, tornando assim, uma maneira mais natural de programar computadores do que em linguagem de baixo nvel. Como exemplo de linguagens de alto nvel podemos citar: C, C++, JAVA, COBOL, FORTRAN, PASCAL, etc. Nestas linguagens, o programador precisa apenas conhecer seus comandos, que so mais naturais para o ser humano do que os Mnemnicos. Quando um programa escrito em uma linguagem de alto nvel a converso dele para a linguagem de mquina, que a que o processador conhece, feita por um outro programa auxiliar conhecido como COMPILADOR (ou em alguns casos como INTERPRETADOR). A compilao um processo mais complexo do que a montagem. Na linguagem de baixo nvel, uma linha de instruo traduzida para uma instruo em cdigo de mquina (op-code). J em uma linguagem de alto nvel, no existem linhas de instruo, e sim estruturas de linguagem e expresses. Uma estrutura pode ser condicional, incondicional, de repetio, etc. As expresses podem envolver operandos e operadores mais complexos, tornando o processo de compilao (converso para op-codes) uma tarefa extremamente mais complicada e demorada do que a Montagem. Outro fato interessante a ser observado que nem sempre o processador possui em seu Set de Instrues todas as instrues elementares que esto sendo utilizadas pelo programa em linguagem de alto nvel, por exemplo: um Set de Instrues que no tenha uma instruo que realize multiplicao ou diviso de dois operandos, portanto para realizar uma multiplicao neste processador necessrio realizar somas sucessivas, ou seja, em vez de multiplicar uma varivel por outra, realizar somas de uma varivel, tantas vezes quando for o valor da segunda varivel (X * 5 = X+X+X+X+X). Mas em linguagem C existe e possvel utilizar o operador de multiplicao (*), de forma simples e prtica (y = x * 5). Ao compilar este comando, a linguagem gerada ir converter a multiplicao em somas sucessivas sem que o programador se preocupe com isso. A seguir dado um exemplo simples de um programa, onde sua lgica de atuao vista em um fluxograma e os respectivos programas escritos em Assembly e em linguagem C. Fluxograma com a lgica para acender e apagar um led, baseado no estado de um boto:

A seguir o programa escrito em Assembly para realizar esta tarefa:


NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

40/45

Captulo 1 - Introduo aos Sistemas Computacionais

Agora, o mesmo programa em linguagem C:

Fica ento uma dvida bastante comum: qual a melhor linguagem para escrever os programas? De baixo nvel ou de alto nvel? A seguir vamos listar algumas consideraes sobre isto: A linguagem de alto nvel x linguagem de baixo nvel: - permite uma programao mais amigvel e mais fcil para desenvolvimento de aplicaes mais complexas. - permite maior portabilidade, uma vez que um mesmo programa pode ser recompilado para um processador diferente, com o mnimo de alteraes, ao contrrio do ASSEMBLY, onde as instrues mudam muito entre processadores de arquitetura diferentes - no necessrio se preocupar com a arquitetura interna do processador, como registradores especficos, registradores de uso geral, pilha, flags, etc, pois isto tratado pelo prprio compilador atravs das bibliotecas que o acompanham. - o ponto fraco da programao com linguagem de alto nvel que o cdigo gerado, muitas vezes, maior do que um cdigo gerado por um montador (assembler), ocupando uma memria maior de programa e tambm uma memria maior de dados. Isto se torna um fator a ser analisado, visto que nem sempre um hardware onde vai ser executado o programa tem bastante memria. - outra desvantagem das linguagem de alto nvel que o programador no forado a conhecer as caractersticas internas da arquitetura do processador e do hardware utilizado, j que o mesmo se acostuma a trabalhar em alto nvel, o que muitas vezes compromete a eficincia do programa. Isso provoca, em alguns casos, o aumento do custo do sistema embarcado projetado com a aquisio de novos componentes externos, como memria, por exemplo.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

41/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.4.2 Ciclo de Instruo O Processamento de cada instruo feito pela atuao da UC (Unidade de Controle) sobre todos os sinais de controles do Sistema (Via de controle interna e Via de controle externa), numa seqncia de tempo bem definida (baseada na frequncia do clock). Esta seqncia de controles para o processamento da Instruo chamado de "Ciclo de Instruo", sendo subdividido em: Ciclo de Busca (Fetch) e Ciclo de Execuo.

1.4.3 Ciclo de Mquina O conjunto de aes que a CPU procede para conseguir acessar a Memria ou os Dispositivos de entrada e sada, envolve a Via de endereos, a Via de dados e a Via de controle, gerando os chamados "Ciclos de Mquina". Os ciclos de Mquina so portanto o conjunto de sinais de controle gerados pela UC para realizar uma operao bsica de acesso na memria ou nas portas de I/O. Alguns ciclos de mquina mais comuns so: Ciclo de Busca de Instruo, Ciclo de leitura de Memria, Ciclo de escrita de memria, Ciclo de leitura de Portal e Ciclo de escrita de Portal. importante notar ento que para a execuo de uma instruo, um processador pode executar vrios ciclos de mquina, ou seja, um ciclo de instruo formado por vrios ciclos de mquina. Por exemplo, a instruo MOV A,R0 (transfere o contedo do registrador R0 para o registrador A) executada em apenas um ciclo de mquina, pois no seu ciclo de instruo vai existir e execuo da instruo, que interna na CPU (registradores internos) e depois o ciclo de busca da prxima instruo, que envolve um acesso externo a memria de programa. J a instruo MOVX A,@R0, que transfere o contedo do endereo de memria indicada pelo valor do registrador R0 para o registrador A, executada em 2 ciclos de mquina porque a execuo da instruo envolve um acesso de leitura de dados na memria externa de dados (1 ciclo de mquina) e depois feito o ciclo de busca da prxima instruo, totalizando assim dois ciclos de mquina no ciclo de instruo. Normalmente, os ciclos de mquina sevem para indicar quanto tempo uma instruo vai gastar para ser executada pela CPU.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

42/45

Captulo 1 - Introduo aos Sistemas Computacionais

1.5 Arquiteturas dos Processadores A arquitetura de um sistema digital define quem so e como as partes que compe o sistema esto interligadas. As duas arquiteturas mais comuns para sistemas computacionais digitais so as seguintes: - Arquitetura de Von Neuman: A Unidade Central de Processamento interligada memria por um nico barramento (bus). O sistema composto por uma nica memria onde so armazenados dados e instrues;

- Arquitetura de Harvard: A Unidade Central de Processamento interligada a memria de dados e a memria de programa por barramentos diferentes, de dados e de instrues.

1.5.1 Arquitetura CISC A arquitetura CISC Complex Instruction Set Computer (Set de instrues Complexo) segue o Modelo de Von Neuman, onde existe um nico barramentos para instrues e para dados. Alm dessa caracterstica, outras tambm so bastante relevantes, como: - Os programas armazenados na memria so menores em relao ao RISC, porque os op-codes nesta arquitetura so pequenos e realizam varias tarefas, ou seja, com um opcode pequeno a UC consegue decodific-lo em varias sequencias de sinais de controle para executar a instruo - Execuo mais lenta (op-code decodificado em vrios passos na UC) - Instrues possuem diferentes Ciclos de Mquina

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

43/45

Captulo 1 - Introduo aos Sistemas Computacionais

- Faz uso de Decodificador Decodificador, Seqenciador), Instruo.

um Circuito Seqenciador para fazer a implementao do seu de Instrues. Desta forma, um pequeno Op.code, enviado ao dispara o Microcdigo (gravado na ROM do Decodificador gerando toda a sinalizao necessria para o processamento da

1.5.2 Arquitetura RISC A arquitetura RISC Reduce Instruction Set Computer (Set de Instrues Reduzido) segue o modelo de Harvard, onde existem dois barramentos independentes: um para instrues e outro para dados. Alm dessa caracterstica principal, outras podem ser citadas: - Instrues possuem um comprimento fixo e longo, que permite a utilizao de um Decodificador de Instrues bastante simplificado, onde, praticamente, o Op.code atua diretamente sobre os controles dos dispositivos do Sistema (eliminando o microcdigo e, consequentemente, o sequenciador que implementam o CISC). Isto faz com que o processamento destas Instrues seja muito rpido. - Programas maiores (usam mais memria de programa), pois os op-codes so grandes - Instrues possuem o mesmo nmero de Ciclos de Mquina

1.5.3 Arquitetura Hbrida Apesar de por questes de Marketing, muitos fabricantes ainda venderem seus chips, como sendo Processadores RISC, no existe praticamente nenhum processador atualmente que siga estritamente uma das duas filosofias. Por que ficar de um lado ou de outro, se possvel juntar o melhor dos dois mundos? Atualmente, vemos processadores hbridos, que so essencialmente processadores CISC, porm que possuem internamente ncleos RISC. Assim, a parte CISC do processador pode cuidar
44/45

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

Captulo 1 - Introduo aos Sistemas Computacionais

das instrues mais complexas, enquanto que o ncleo RISC pode cuidar das mais simples, nas quais mais rpido. Examinando de um ponto de vista um pouco mais prtico, a vantagem de uma arquitetura CISC que j temos muitas das instrues guardadas no prprio processador, o que facilita o trabalho dos programadores, que j dispe de praticamente todas as instrues que sero usadas em seus programas. No caso de um chip estritamente RISC, o programador j teria um pouco mais de trabalho, pois como disporia apenas de instrues simples, teria sempre que combinar vrias instrues sempre que precisasse executar alguma tarefa mais complexa. Seria mais ou menos como se voc tivesse duas pessoas, uma utilizando uma calculadora comum, e outra utilizando uma calculadora cientifica. Enquanto estivessem sendo resolvidos apenas clculos simples, de soma, subtrao, etc. quem estivesse com a calculadora simples poderia at se sair melhor, mas ao executar clculos mais complicados, a pessoa com a calculadora cientfica disporia de mais recursos.

NP-217 Eletrnica Digital II - 2. Semestre / 2012

Prof. Evandro Lus Brando Gomes

45/45

Вам также может понравиться