EE-203-Apostila-Capitulo1

download EE-203-Apostila-Capitulo1

of 46

Transcript of EE-203-Apostila-Capitulo1

  • 8/2/2019 EE-203-Apostila-Capitulo1

    1/46

    ENGENHARIA DE TELECOMUNICAESENGENHARIA BIOMDICA

    EE-203 / NB-202

    Eletrnica Digital II

    Captulo 1

    Introduo aos SistemasComputacionais

    Prof. Evandro Lus Brando Gomes

    Rev. 1/2011

  • 8/2/2019 EE-203-Apostila-Capitulo1

    2/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 2/46

    Sumrio

    1 Introduo aos Sistemas Computacionais ..................................................... ......................................... 31.1 Organizao Bsica dos Sistemas Computacionais ................................................... ...................... 41.2 Descrio das Partes Bsicas dos Sistemas Computacionais............................................... ............ 4

    1.2.1 - C P U Unidade Central de Processamento ........................................................................... .. 41.2.2 - Memria ................................................... ........................................................... ...................... 41.2.2.1 - Conceitos Bsicos e Terminologia .......................................................... ............................... 51.2.2.2 - Consideraes sobre memrias principal e externa .................................................... ............ 61.2.2.3 - Capacidade de uma memria ........................................................ ......................................... 61.2.2.4 - Conceitos sobre dispositivos de memria ........................................................ ...................... 71.2.2.5 - Operaes bsicas da memria ...................................................... ......................................... 81.2.2.6 - ROM (Read-Only Memory) .......................................................... ....................................... 111.2.2.6.1 - Arquitetura de uma ROM ........................................................... ....................................... 141.2.2.6.2 - Ampliao da capacidade de uma ROM ....................................................... .................... 151.2.2.6.3 - Tipos de ROM ........................................................ ........................................................... 161.2.2.6.3.1 MROM (Mask ROM) - ROM programada por mscara .............................................. 161.2.2.6.3.2 - PROM (Programmable ROM) - ROM programveis: ................................................... 171.2.2.6.3.3 EPROM (Erasable PROM) - ROM programvel / apagvel ......................................... 191.2.2.6.4 - Aplicaes da ROM ..................................... ........................................................... .......... 221.2.2.7 - RAM - (Random Access Memory) ..................................... ................................................. 231.2.2.7.1 - SRAM - (Static Random Access Memory) ................................................... .................... 231.2.2.7.2 - Ampliao de capacidade de uma RAM ....................................................... .................... 241.2.2.7.3 - Ampliao do tamanho da palavra de uma RAM .................................................... .......... 251.2.2.8 - Implementao de uma RAM.......................... ........................................................... .......... 261.2.2.9 - DRAM - (Dynamic Random Access Memory ..................................................................... 291.2.2.10 - Outros tipos de memrias ............................................................ ....................................... 331.2.2.10.1 - RAM no voltil ................................................... ........................................................... 331.2.2.10.2 - Memrias FIFO .................................................... ........................................................... 331.2.3 Dispositivos de Entrada e Sada (I/O).......................... ........................................................... 351.2.4 Barramento de Dados (Data Bus) ........................................................................................... 351.2.5 Barramento de Endereos (Address Bus) ............................................................................... 351.2.6 Barramento de Controle (Control Bus) ...................................................... ............................. 361.2.7 Microprocessador e Microcontrolador................................................................ .................... 36

    1.3 Estrutura Bsica da Unidade Central de Processamento (CPU) .................................................... 371.3.1 Unidade Lgica e Aritmtica (ALU) ......................................................... ............................. 371.3.2 Unidade de Registradores ...................................................... ................................................. 371.3.2.1 O Acumulador .......................................................... ........................................................... 381.3.2.2 O Contador de Programa (PC Program Counter) ............................................................. 381.3.2.3 O Ponteiro de Pilha (SP Stack Pointer) ............................................... ............................. 381.3.2.4 O Registrador de Status / Flags ...................... ........................................................... .......... 391.3.2.5 O Registrador de Instruo (IR Instruction Register) ....................................................... 391.3.2.6 Unidade de Controle (UC) ............................................................ ....................................... 39

    1.4 Ciclo de Processamento das Instrues ......................................................................................... 401.4.1 Set de Instrues do Processador ..................................................... ....................................... 401.4.2 Ciclo de Instruo ........................................................ ........................................................... 431.4.3 Ciclo de Mquina .......................... ............................................................ ............................. 43

    1.5 Arquiteturas dos Processadores .................................................... ................................................. 441.5.1 Arquitetura CISC ......................................................... ........................................................... 451.5.2 Arquitetura RISC ......................................................... ........................................................... 451.5.3 Arquitetura Hbrida ................................. ........................................................... .................... 46

  • 8/2/2019 EE-203-Apostila-Capitulo1

    3/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 3/46

    1 Introduo aos Sistemas Computacionais

    Todo Sistema Computacional, no qual o Computadores Digitais e osMicrocontroladores 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 peloUsurio, 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 Softwaredo 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 combinaoadequada 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 Notasmusicais disponvel(Set de Instrues).

    Analogia entre um Sistema Computacional e um Piano

  • 8/2/2019 EE-203-Apostila-Capitulo1

    4/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 4/46

    1.1 Organizao Bsica dos Sistemas Computacionais

    Todo Sistema Computacional tem seu Hardware, organizado segundo aestrutura 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 oSistema e pela manipulao dos dados. Acessa e interpreta as Instrues doPrograma (gravado na Memria), gerando todos os sinais necessrios ao controledo fluxo de informao. Executa, tambm, operaes lgicas e aritmticas, necessrias

    ao tratamento dos dados. Em resumo, a CPU a responsvel pelo processamento dasinstrues.

    1.2.2 - Memria

    Um sistema digital capaz de armazenar uma grande quantidade de dados emperodos de tempo curtos ou longos, sendo esta sua principal vantagem sobre ossistemas analgicos, tornando-os bastante versteis e adaptveis a uma grande variedadede situaes. Por exemplo, as instrues armazenadas na memria interna (principal) deum 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 intervenohumana.

    Os bancos de memrias armazenam os programas, que sero processadaspela CPU e, tambm, os dados a serem manipulados durante a execuo do programa.A memria de um sistema computacional pode ser funcionalmente dividida emmemria principal e memria secundria. Na memria principal ficam armazenados os

    programas que esto em execuo pela CPU e os dados que esto sendo manipuladospelo programa em execuo, deve portanto ser uma memria com tempo de acessomenor (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 programasficam armazenados na memria tipo ROM (MROM, PROM, EPROM, EEPROM, etc) e

  • 8/2/2019 EE-203-Apostila-Capitulo1

    5/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 5/46

    os dados so armazenados em memrias tipo RAM (SRAM, DRAM, NVRAM, etc). Ja memria secundria (ou auxiliar) tem a funo de armazenar os programas e/ou dadosque 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 novoltil, 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 umnico 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. Porexemplo, um registrador composto por 8 flip-flops pode ser considerado umamemria 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 podeser expresso em octal e hexadecimal.

    A figura a seguir mostra a tabela de uma pequena memria composta por 8palavras, cada uma delas com um endereo especfico.

    Endereo000 Palavra 0001 Palavra 1010 Palavra 2011 Palavra 3100 Palavra 4

    101 Palavra 5110 Palavra 6111 Palavra 7

    Operao de leitura: a operao em que uma palavra binria armazenada emposio especfica na memria (endereo) identificada e transferida para outrodispositivo qualquer do sistema.

    Operao de escrita: a operao na qual uma palavra colocada em determinadaposio da memria.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    6/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 6/46

    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 armazenarinformao estruturada, composta por dados ou instrues e tais informaes podemser recebidas ou transferidas para outros dispositivos de armazenamento.

    Avanos tecnolgicos tornaram possvel a colocao de um nmeroextremamente elevado de flip-flops dentro de um nico chip, aliando-se a isso umavelocidade de acesso cada vez maior a um custo mais acessvel.

    As memrias a semicondutor so usadas como memria principal de umcomputador, 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 oumemria interna, estando em constante comunicao com o processador enquanto asinstrues bsicas estiverem sendo executadas. A figura abaixo mostra o diagramasimplificado de um computador.

    No entanto, devido ao alto custo por bit, as memrias a semicondutor soempregadas apenas como memria principal. A memria externa (ou secundria) dispensvel para o funcionamento do computador, entretanto, amplia sobremaneira acapacidade e a flexibilidade do mesmo. Mais do que isso, torna-se imprescindvelsempre que tornar-se necessrio armazenar dados e programas para consultas futuras.Os discos magnticos e os discos pticos esto entre os dispositivos de memria demassa mais populares, apresentando um custo por bit bem menor do que os dispositivosutilizados na implementao da memria principal.

    1.2.2.3 - Capacidade de uma memria

    muito importante especificar quantos bits podem ser armazenados em umadeterminada memria. Tomemos como exemplo uma memria que possa armazenar4.096 palavras de 20 bits. Isto representa uma capacidade total de armazenamento de81.920 bits (4.096 x 20), onde 4.096 o nmero de palavras e 20 a quantidade de bits

    por palavra.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    7/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 7/46

    Utiliza-se comumente representar o nmero de palavras da memria comomltiplo 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 dearmazenamento de 8K x 20 na verdade uma memria de 8.192 x 20. Memrias degrande capacidade de armazenamento utiliza a designao 1M (1 mega), que representa220 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. Quantaspalavras podem ser armazenadas nesse chip? Qual o tamanho da palavra? Quantos bitsno total esse chip pode armazenar?

    4K = 4 x 1.024 = 4.096 palavrasCada palavra tem 8 bits ou l byteO 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.216b) 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. aquantidade de tempo necessria efetivao de uma operao de leitura ou, mais

    especificamente, o tempo decorrido entre o momento da recepo pela memria deum novo endereo, e o instante em que a informao daquele endereo ficadisponvel.

    Memria voltil: Qualquer tipo de memria que necessite de energia eltrica parareter informaes armazenadas denominada memria voltil. Quando a energiaeltrica for interrompida toda a informao armazenada ser perdida.Muitas memrias a semicondutor so volteis, enquanto que todas as memriasmagnticas so no volteis.

    Memria de acesso randmico (RAM): Memria onde a localizao fsica real deuma palavra de memria no tem efeito sobre o tempo que se leva para ler ouescrever nesta posio, isto , o tempo de acesso constante para qualquer endereo

  • 8/2/2019 EE-203-Apostila-Capitulo1

    8/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 8/46

    da memria. A grande maioria das memrias e semicondutor e todas as de ncleomagntico so randmicas.

    Memria de acesso seqencial (SAM): Memria onde o tempo de acesso no constante, mas depende do endereo. Para encontrar determinada palavra, passa-sepor todos os endereos situados entre aquele onde se realizou o ltimo acesso e oobjeto do acesso atual. Isto produz tempos de acesso bem maiores do que osdispositivos de acesso randmico. Exemplos de SAM: fitas magnticas, discosmagnticos e as memrias de bolhas magnticas. Para melhor ilustrar a diferenaentre uma SAM e uma RAM, considere a situao de uma fita cassete com 60minutos de msica gravada. Para ouvir determinada msica deve-se avanar ourecuar a fita at encontrar a msica desejada, e com isto, perde-se um tempoconsidervel dependendo de onde se encontra a msica desejada. Isto representaento 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 ouescrita com facilidade.

    Memria Somente de leitura (ROM): So memrias a semicondutor onde a taxa deoperaes de leitura infinitamente maior do que a escrita. Tecnicamente umaROM 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 armazenadaspermanecero 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 armazenadasno permanecero armazenadas, mesmo com a presena da energia eltricanecessria 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 dosdiversos 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;

  • 8/2/2019 EE-203-Apostila-Capitulo1

    9/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 9/46

    Habilitao ou desabilitao da memria, para faz-la responder ou no ao endereona 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 entradade dados e 4 linhas de sada de dados.

    Durante a operao de escrita, os dados a serem armazenados na memriadevem 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 terminandoem 11111 (0 a 31 decimal).

    Desta forma essa memria deve ter 5 entradas de endereamento (25 = 32).Emgeral so necessrias N linhas de entrada de endereo para uma memria comcapacidade de 2Npalavras.

    Voltando ao exemplo acima, observa-se que cada posio possui 4 clulas de

    memria que armazenam 0s e 1s, formando assim uma palavra em determinadasposies. Dessa forma, no endereo 00001 est armazenada a palavra 1001; no endereo11110 est armazenada a palavra 0111 e assim por diante.

    O comando de leitura/escrita determina qual das operaes a memria deverexecutar. Alguns sistemas utilizam linhas separadas para leitura e escrita. Quando se usauma nica linha temos as seguintes condies:

    A figura a seguir ilustra o processo de leitura e escrita na memria 32 x 4, ondeem A temos a escrita de uma palavra de dados 0001 na posio da memria cujo

  • 8/2/2019 EE-203-Apostila-Capitulo1

    10/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 10/46

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

    Muitos sistemas de memria tem meios de desabilitar toda a memria ou partedela, de tal forma a fazer que um determinado conjunto de posies desabilitadas noresponda a nenhum tipo de operao.

    No nosso exemplo a memria possui uma entrada que permite a habilitao edesabilitao, podendo ser ativa em nvel alto ou em nvel baixo. No nosso exemplo ahabilitao ocorre em nvel alto. Um nvel baixo aplicado uma memria desabilita-a

    por completo. Esse procedimento usado quando diversos mdulos de memria socombinados para formar uma memria maior.

    Exemplo 1: Descreva as condies de cada uma das linhas de entrada e sada, quandoprecisamos ler o contedo do endereo 11110.

    Entradas de endereo: 11110Entradas de dados: no utilizadasR / W : nvel altoHabilitao da memria : nvel altoSadas 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: 10001Entradas de dados: 1001R /W : nvel baixoHabilitao da memria: nvel altoSadas 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?

  • 8/2/2019 EE-203-Apostila-Capitulo1

    11/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 11/46

    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 = 2

    13

    , a mesma precisa de 13 bits para especificar qualquer umdos 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 memriade apenas leitura, uma memria a semicondutor destinada a armazenar informaesem carter permanente e que em rarssimos casos so mudadas.

    Durante sua operao normal nenhum dado poder ser escrito na ROM, sendoutilizada ento apenas para leitura de dados que estiverem armazenados. Para algunstipos 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 emuma ROM denominado programao ou queima. Algumas ROMs no podem mais terseus dados alterados, enquanto que outras podem ter seus dados apagados e regravados.

    As ROMs tem caractersticas no volteis e por isso so empregadas paraguardar dados que no mudaro durante a operao de um sistema, uma vez que, apscessada a alimentao eltrica os dados no se perdem. Uma ROM pode serimplementada, conforme ilustra a figura a seguir:

    ENDEREOS PALAVRASE0 E1 E2 S0 S1 S2 S3 S40 0 1 1 1 0 1 10 1 0 0 1 1 1 01 0 0 1 0 1 1 1

    Na realidade, trata-se de um codificador onde E0 a E2 so as entradas. Essasentradas combinadas equivaleriam ao endereo e, nas sadas teramos as palavras S

    0a

    S4.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    12/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 12/46

    Ento para o circuito apresentado, o endereo 100 por exemplo, eqivale apalavra 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 econseqentemente 2npalavras.

    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 PALAVRASA0 A1 A2 S0 S1 S2 S30 0 0 1 0 1 00 0 1 1 1 0 00 1 0 0 1 0 00 1 1 0 0 0 11 0 0 0 1 1 01 0 1 0 0 1 11 1 0 1 1 1 11 1 1 0 1 1 1

    Teremos ento o diagrama mostrado a seguir:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    13/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 13/46

    No decodificador teremos 8 sadas (E0 a E7), pois o mesmo possui 3 possibilidades deentrada. A tabela correspondente ao decodificador mostrada abaixo:

    A0 A1 A2 E0 E1 E2 E3 E4 E5 E6 E70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 0

    0 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

    A tabela correspondente ao codificador mostrada a seguir:

    E0 E1 E2 E3 E4 E5 E6 E7 S0 S1 S2 S31 0 0 0 0 0 0 0 1 0 1 0

    0 1 0 0 0 0 0 0 1 1 0 00 0 1 0 0 0 0 0 0 1 0 00 0 0 1 0 0 0 0 0 0 0 10 0 0 0 1 0 0 0 0 1 1 00 0 0 0 0 1 0 0 0 0 1 10 0 0 0 0 0 1 0 1 1 1 10 0 0 0 0 0 0 1 0 1 1 1

    A ROM implementada mostrada abaixo:

    ENDEREOS: A0 a A2 SADAS: S0 a S3 (palavra)

  • 8/2/2019 EE-203-Apostila-Capitulo1

    14/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 14/46

    Analisando o circuito implementado, podemos observar que as condiesimpostas 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, ondeverifica-se a existncia de 2 decodificadores: 1 para seleo de linha e 1 para seleo decoluna:

    Observa-se no diagrama acima a existncia de 16 registradores (R0 a R15) quearmazena todas as informaes que foram programadas na ROM.

    Cada registrador tem um nmero de clulas de memria igual ao tamanho dapalavra, que no caso, armazena uma palavra de 8 bits, alm de 2 entradas parahabilitao (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 elesocupadas na matriz. Por exemplo, o registrador 7 est na linha 3, coluna 1; o registrador11 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 = 1110A3A2 = 11 ====> coluna 3A1A0 = 10 ====> linha 2Teremos ento o registrador 14 devidamente habilitado

  • 8/2/2019 EE-203-Apostila-Capitulo1

    15/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 15/46

    Exemplo 2: Qual o endereo que habilitar o registrador 6?

    As entradas de habilitao deste registrador so conectadas aos sinais da linha 2e coluna 1 respectivamente. Logo, A3A2A1A0 = 0110

    O registrador habilitado pelas entradas de endereo dever colocar seus dados nobarramento de dados, que sero entregues ao buffer de sada desde que CS esteja emnvel baixo, caso contrrio as sadas do buffer estaro em alta impedncia e as linhas D 0a D7 estaro em flutuao.

    1.2.2.6.2 - Ampliao da capacidade de uma ROM

    Consideremos uma ROM organizada na forma 8 x 1, conforme ilustra a figuraabaixo:

    Se dispusermos de 2 ROMs com capacidade 8 x 1, poderemos ampliar suacapacidade para 16 x 1, conforme ilustra a figura abaixo:

    As entradas de endereo ABCD dividem-se em duas partes: a mais significativa,no caso A, aplicada ao multiplex, enquanto BCD (menos significativa) aplicada sROMs. De acordo com o valor assumido por A, o multiplex selecionar qual sada, S0ou S1 ser conectada s entradas E0 ou E1 do multiplex. O exemplo acima mostra que

    no existe grandes dificuldades na ampliao de uma ROM.

    Vejamos um outro exemplo mais complicado da ampliao da capacidade deuma ROM, a partir de 2 ROMs organizadas na forma 512 x 8, com 4096 bits cada. Comisto ser possvel ampliar sua capacidade de tal forma a organiz-la na forma 1024 x 8,totalizando 8.192 bits. Devemos ento dispor de 8 multiplex, uma vez que, o tamanhoda palavra para essa ROM de 8 bits. Desta forma, teremos:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    16/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 16/46

    Os endereos de A at J admitem 1024 possibilidades (210). A o endereo maissignificativo, conectado aos MPX (0 a 7), que permitir obter na sada as localidadescorrespondentes s ROMs 1 ou 2. As entradas E0 de cada multiplex esto ligadas naROM 1, enquanto que as entradas E1 esto ligadas na ROM 2. A ROM 1 abrange aslocalidades 0 a 511, que correspondem aos endereos 0000000000 a 0111111111,enquanto que a ROM 2 abrange as localidades 512 a 1023, que correspondem aosendereos 1000000000 a 1111111111. Quando A = 0, teremos nas sadas dos multiplexos valores da ROM 1, enquanto que quando A = 1, nas mesmas sadas teremos osvalores da ROM 2. Para o endereo 0100011001 por exemplo, teremos a localidade

    281, correspondente a ROM 1; para o endereo 1000101011 teremos a localidade 555,correspondente a ROM 2.

    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 pelofabricante de acordo com as especificaes do cliente. Uma mscara utilizada pararealizar as conexes eltricas do chip; para cada conjunto de informaes utiliza-se umtipo de mscara. Tem como vantagens: alternativa mais econmica, desde que sejam

    produzidas em larga escala; e como desvantagens: no podem ser apagadas ereprogramadas caso ocorra a mudana de um determinado projeto que exijamodificaes 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 pequenacapacidade, constituda de 16 clulas arranjadas em 4 linhas e 4 colunas de clulas,construdas com transistores bipolares. Dessa forma, cada clula constituda por umtransistor 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 dodecodificador armazena um bit 1. A condio de cada uma das conexes da base

    controlada atravs de uma mscara fotogrfica durante o processo de fabricao, deacordo com os dados fornecidos pelo cliente.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    17/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 17/46

    Um decodificador utilizado na decodificao das entradas de endereo A1A0para selecionar as linhas correspondentes aos registradores. A sada do decodificador ativa em nvel alto, fornecendo o sinal de seleo para a linha correspondente aoendereo selecionado, desde que a entrada EN esteja em nvel baixo. Caso ENestejaem nvel alto, todas as sadas do decodificador estaro inativas, no havendo qualquertenso em suas bases. A tabela a seguir ilustra melhor essa situao:

    ENDEREOS SADASA1 A0 EN D3 D2 D1 D0

    0 0 0 0 1 0 10 1 0 1 0 1 11 0 0 1 0 1 11 1 0 0 1 1 0

    Alm da tecnologia bipolar pode-se ainda utilizar a tecnologia CMOS ou NMOSpara 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 emaplicaes que envolvam grande produo de chips, foram desenvolvidas paraaplicaes mais modestas ROMs que podem ser gravadas pelo usurio.

    Esse tipo de ROM conhecido como PROM FUSE, isto , uma ROMprogramvel (do inglsPROGRAMMABLE READ ONLY MEMORY FUSE).

  • 8/2/2019 EE-203-Apostila-Capitulo1

    18/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 18/46

    Uma forma bastante simples de implementar uma ROM programvel atravsde diodos. Cada clula de memria constituda por um diodo, aps o qual conectadoum fusvel. Se quisermos que determinado ponto no seja um diodo, basta fazer circular

    por esse ponto uma corrente suficiente para romper o fusvel correspondente, conformeilustra 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 ospontos 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 atecnologia bipolar, CMOS ou NMOS. Neste caso, a ligao entre a base a linha dedados ser efetuada atravs de um fusvel, que poder ser queimado, com uma correnteadequada. A vantagem das PROMs com a tecnologia CMOS ou NMOS suacapacidade 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 pelousurio, segundo suas necessidades:

    ENDEREOS PALAVRASE0 E1 E2 E3 S0 S1 S2 S3 S41 0 0 0 0 1 0 1 10 1 0 0 1 0 1 1 10 0 1 0 0 1 1 0 10 0 0 1 1 1 1 1 0

  • 8/2/2019 EE-203-Apostila-Capitulo1

    19/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 19/46

    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 TBP28S166 - tecnologia bipolar, capacidade 2K x 8 TMS27PC256 - tecnologia CMOS, capacidade 32K x 81.2.2.6.3.3 EPROM (Erasable PROM) - ROM programvel / apagvel

    Uma EPROM pode ser programada pelo usurio, com a vantagem de poder serapagada e reprogramada quantas vezes forem necessrias, sendo fabricadas segundo atecnologia MOS, CMOS ou NMOS. Uma vez programada uma EPROM comporta-secomo uma memria novoltil, pois reter seus dados indefinidamente.

    O processo de programao de uma EPROM envolve a aplicao de nveisespeciais de tenso situados entre 10 e 25V s entradas do chip, em intervalos comtempo determinado, da ordem de alguns milisegundos por posio de memria.

    Em seu estado natural (sem qualquer programao) todas as clulas armazenamo bit 1. Dessa forma, durante a programao os pinos de dados e endereos da EPROMso usados para selecionar quais clulas so programadas como 0 e quais serodeixadas 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 daintensidade da luz. Entretanto, no possvel apagar clulas selecionadas, pois ao exporo chip radiao ultravioleta todas as clulas se apagaro, voltando a nvel 1. Asfiguras a seguir ilustram uma EPROM:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    20/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 20/46

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

    Esse chip de memria possui 12 bits de endereos, pois 2 12 = 4096 e 8 sadas dedados. Possui ainda 2 entradas de controle: E/ a entrada de habilitao usada para

    colocar o chip no estadostandby , onde seu consumo de potncia reduzido.

    G/ / Vpp uma entrada dupla, onde: G/ a habilitao de sada usada paracontrolar os buffers de sada, de forma que o mesmo possa ser ligado ao barramento deum microprocessador sem provocarbus contention (disputa pelo barramento); Vpp atenso 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, compatveisTTL; HI-Z corresponde ao estado de alta impedncia; X significa dont care; D significadado e Q significa sada.

    O chip TMS2764 uma EPROM, tambm apagvel por radiao ultravioleta(65536-BIT ERASABLE PROGRAMMABLE READ-ONLY MEMORY), organizadacomo 8K x 8, conforme ilustra a figura a seguir:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    21/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 21/46

    preciso ficar atento quanto denominao dos chips. A letra P inserida entreos nmeros 2732 e 2764, indica que trata-se de uma memria PROM. Desta forma, oschips 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 ereprogramada; a segunda que a memria inteira apagada com a aplicao deradiao ultravioleta. Para contornar esse inconveniente foi desenvolvido um outro tipode EPROM, que pode ser apagada por pulsos eltricos, so as denominadas EEPROMou E2PROM (Electrically-Erasable Programmable Read-Only Memory).

    A grande vantagem da memria por apagamento com pulsos eltricos comrelao a memria por apagamento com radiao ultravioleta que o apagamento e areprogramao dos dados pode ser feita seletivamente ao invs da memria toda, almdo 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 serapagada, uma EEPROM tem esse tempo reduzido para alguns milisegundos, o queconstitui uma outra grande vantagem.

    O primeiro chip EEPROM foi o Intel 2816 com capacidade de 2K x 8. A partirda esse tipo de memria foi bastante aperfeioado. Um chip mais moderno, o 2864 comcapacidade 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 emcomparao s RAMs estticas, a desvantagem que possui circuitos mais complexos etempo 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 E OE WE SADASLeitura baix

    obaix

    oalto DATA OUT

    Escrita baixo

    alto baixo

    DATA IN

    Standby alto X X HI-Z

  • 8/2/2019 EE-203-Apostila-Capitulo1

    22/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 22/46

    1.2.2.6.4 - Aplicaes da ROM

    As ROMs podem ser usadas em qualquer tipo de aplicao que exijaarmazenamento de dados de caractersticas no voltil.

    Firmware (microprograma): Uma das mais importantes aplicaes da memriaROM est no armazenamento de microprogramas de um computador. Algunscomputadores armazenam tambm em ROM seu sistema operacional e em algunscasos, interpretadores de linguagem. Muitos produtos de consumo como, jogoseletrnicos, sistemas eletrnicos de injeo de combustveis em automveis, etc.usam ROMs. Os programas de computador que esto armazenados em ROMsdenominam-sefirmware, pelo fato de seus dados no estarem sujeitos mudanas,ao contrrio daqueles armazenadas em RAMs (software), que so modificados comfacilidade.

    Bootstrap (memria de partida fria):Alguns computadores no possuem seu sistemaoperacional armazenado em ROM. Ao invs disso, usam memria de massa parasua inicializao (normalmente discos magnticos). Para que o computador saiba oque 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 memriade massa para a memria interna.

    Tabelas de dados: As ROMs so muito utilizadas para armazenar dados que nomudam nunca, como por exemplo: tabela de implementao de funes

    trigonomtricas e tabelas de cdigos. O chip MM4220BM fabricado pelaNATIONAL SEMICONDUCTOR por exemplo, armazena valores da funo senopara ngulos de 0 a 90.

    Converso de dados: A converso de dados necessria, quando omicroprocessador est entregando dados em binrio puro e tais dados devem serentregues por exemplo, a um display de 7 segmentos. Uma forma de implementaressa 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 depontos, 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 ou7 x 9, sendo esses pontos representados por um cdigo binrio (0 e 1). Uma ROMgeradora de caracteres armazena os cdigos do padro de pontos de cada caractereem um endereo que corresponde ao cdigo ASCII. Por exemplo, o padro de

    pontos para o caractere A deve estar armazenado no endereo 1000001, onde1000001 o cdigo ASCII para a letra A.

    Gerador de funes: O gerador de funes um circuito que deve fornecer em suasada formas de onda diversas (senoidal, quadrada, triangular, etc). Seu diagrama mostrado a seguir. Na ROM armazenada uma tabela com 256 valores diferentes de

  • 8/2/2019 EE-203-Apostila-Capitulo1

    23/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 23/46

    8 bits, cada um deles correspondente ao valor de um ponto da curva que deva serrepresentada. Os endereos da ROM so gerados ciclicamente por um contador de 8

    bits, que pulsa continuamente pela ao do clock. Quando o contador tiverpercorrido 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 suasdivises:

    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 nelaarmazenados se perdem quando o computador desligado, isto , armazenam dados por

    tempo indeterminado, enquanto a alimentao estiver sendo aplicada ao chip. Por essemotivo, essas RAMs so denominadasRAMs 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:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    24/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 24/46

    CS = Chip select R/W = Read/Write

    Para selecionar uma das 64 posies de memria para leitura e escrita o cdigode endereos aplicado entrada de um decodificador (6 para 64). Como 64 = 26 ,ento torna-se necessrio 6 linhas de endereo. Quando o cdigo de endereoA5A4A3A2A1A0 = 011110 for aplicado na entrada de endereos, a sada dodecodificador 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 paraser escrito. Para escrever uma nova palavra necessrio que R/W/ esteja em 0 e CSem 1. Esta combinao proporciona a habilitao dos buffers de entrada,desabilitando os buffers de sada, que normalmente operam em alta impednciadurante a operao de escrita.

    Leitura: Da mesma forma que anteriormente, o cdigo de endereo seleciona umregistrador 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 deseleo 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 suacapacidade, uma vez que, somente um dos chips dever estar selecionado para arealizao de uma operao.

    1.2.2.7.2 - Ampliao de capacidade de uma RAM

    Como exemplo podemos citar a necessidade de uma memria com capacidade32 x 4 ( 32 palavras de 4 bits), mas dispomos apenas de chips 16 x 4. Veja o diagrama

    abaixo:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    25/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 25/46

    O arranjo acima ilustrado, normalmente denominado mdulo de memria,abrange os endereos:

    RAM 0 - 00000 a 01111RAM 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 ficarpor 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 precisamosapenas dobrar o tamanho da palavra, mantendo a mesma quantidade de palavras. Istonos daria uma organizao 16 x 8. Neste caso cada chip seria utilizado para armazenar ametade de bits de cada palavra. A figura a seguir mostra esse arranjo:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    26/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 26/46

    Para o arranjo acima, a faixa de endereos compreende: 0000 a 1111, quecorresponde 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 mesmapalavra. 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 aqualquer outro dispositivo, como por exemplo, um processador.

    1.2.2.8 - Implementao de uma RAM

    O diagrama a seguir representa uma RAM implementada com FFs RS, comcapacidade 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 1b) A0A1 = 10 = 210c) 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 demaisFFs mantero o estado atual, de modo que a informao armazenada nos mesmos noser destruda.

    Para leitura, basta levar X a nvel 0.Para ler por exemplo, a informao no FF3 basta enderear A0A1 = 11.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    27/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 27/46

    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, organizadona forma 64 x 4 (256-BIT STATIC RANDOM ACCESS MEMORY), cujo diagramalgico mostrado a seguir:

    A tabela para as operaes principais mostrada a seguir:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    28/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 28/46

    FUNES CE1 CE2 CE3 T LE M ST WEEscrita 0 0 0 X X X 0 0Leitura 0 0 0 0 X X X 1Desabilitao das

    sadas (HI-Z)

    X

    X1XX

    X

    1XXX

    1

    XXXX

    X

    XX1X

    X

    XXXX

    0

    00X0

    X

    XXXX

    X

    XXX0

    O chip MCM14552 um circuito integrado fabricado segundo a tecnologiaCMOS, de larga escala de integrao (LSI). O diagrama de sua pinagem mostradoabaixo:

    As RAMs estticas tambm podem ser fabricadas a partir da tecnologia bipolar,

    porm, a maioria emprega as tecnologias CMOS e NMOS.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 dafamlia MOS. No entanto, os dispositivos da famlia MOS tem maior capacidade dearmazenamento e menor consumo de potncia. Conforme ilustra a figura acima, a clula

    bipolar utiliza dois transistores bipolares e dois resistores. A clula NMOS utiliza quatroMOSFETs de canal negativo. A clula bipolar requer mais espao no chip devido a suamaior complexidade e necessitam de resistores, enquanto que na clula NMOS essesresistores so substitudos pelos transistores Q3 e Q4.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    29/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 29/46

    Uma clula de memria CMOS similar NMOS, exceto pelo fato de utilizarMOSFETs de canal positivo nos lugares de Q3 e Q4, resultando em um chip com baixoconsumo de potncia, mas com arquitetura bem mais complexa.

    1.2.2.9 - DRAM - (Dynamic Random Access MemoryAs RAMs dinmicas, tambm denominadas DRAMs, possuem alta capacidade

    de armazenamento e so fabricadas segundo a tecnologia MOS. Enquanto que as RAMsestticas armazenam informaes em flip-flops, as RAMs dinmicas armazenam os bits0 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 restaurarum dado armazenado em uma RAM dinmica chama-se refresh. A necessidade daoperao de refresh torna a RAM dinmica desvantajosa em relao RAM esttica.

    Uma DRAM muito popular a TMS4116 (16384-BIT DYNAMIC RANDOMACCESS MEMORY), organizada na forma 16K x 1, fabricada com a tecnologia MOS,cujo diagrama de pinagem mostrado a seguir:

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

  • 8/2/2019 EE-203-Apostila-Capitulo1

    30/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 30/46

    Como essa DRAM necessita de 14 bits de endereo, utiliza-se uma tcnicadenominada multiplexao de endereos, tcnica essa, muita usada para reduzir otamanho 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/ paracolunas). Para melhor entender o conceito de multiplexao de endereos, analisaremosos 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 menossignificativos do endereo, correspondentes ao endereo de linha (A0 - A6), soaplicados 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 naentrada do decodificador de linha. O nvel lgico baixo proveniente de RAS/ habilitaento 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 t3CAS/ levada a nvel baixo, comandando o armazenamento do endereo da coluna noregistrador correspondente. Da mesma forma, o decodificador de coluna habilitado,decodificando ento o endereo de coluna, selecionando uma das colunas da matriz.

    Nestas condies as duas partes do endereo j foram devidamente processadas, paraselecionar 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/ eCAS/ 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 deendereo, 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 considerarum barramento de endereos de um processador alimentando uma SRAM ou ROM eum barramento de endereos alimentando uma DRAM. As figuras a seguir ilustram demaneira bem simplificada essas condies:

    Barramento de endereos de um processador para uma SRAM ou ROM de 16K. Obarramento de endereos compreende as linhas A0 a A13 que interligam oprocessador com o sistema de memria.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    31/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 31/46

    Barramento de endereos de um processador para uma DRAM com a mesmacapacidade. Observa-se que entre o processador e a DRAM existe ummultiplexador, que recebe as 14 linhas de endereo do processador e entrega 7linhas de endereo para a DRAM, devidamente multiplexadas. A multiplexaoocorre nas seguintes condies: quando MUX = 0, ocorre a transmisso das linhasde endereo A0/A6 para a DRAM; quando MUX = 1, ocorre a transmisso das linhasde 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), casocontrrio, todos os dados nela armazenados sero perdidos. Teoricamente, a operao

    refresh deve ser executada toda vez que ocorrer uma operao de leitura em umadeterminada clula.

    Levando-se em considerao uma DRAM de 16K (16384 bits), seria necessriaento uma operao de leitura da ordem de 122ns (nanosegundos) para cada clula, taxade leitura muito elevada para a maioria das DRAMs disponveis no mercado, alm deser 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 clulasdessa 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 emtoda a linha se nesta linha pelo menos uma clula for lida.

    Uma forma bastante simples de implementar a operao refresh, a utilizao deum contador refresh de 7 bits usado para gerar ciclicamente os 128 endereos das linhasda DRAM (neste caso, a DRAM de 16K, TMS4116). O contador gera ento 0000000que corresponde a 0, at 1111111 que corresponde a 127, processo esse que demoraaproximadamente 50s (microsegundos). O endereo gerado pelo contador no podeinterferir com os endereos vindos do processador durante as operaes normais deescrita e leitura. Em virtude disso os endereos do contador devem ser multiplexadoscom os endereos do processador, para que no ocorra qualquer tipo de conflito entre

    endereos. Para facilitar esse tipo de operao, muitos fabricantes de circuitosintegrados desenvolveram chips especiais para essa finalidade, como por exemplo o CI

  • 8/2/2019 EE-203-Apostila-Capitulo1

    32/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 32/46

    MC3242A (MEMORY ADDRESS MULTIPLEXER AND REFRESH COUNTER). Essechip 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 edeixado em aberto, assume valor alto, mantendo assim performance idntica ao chip daIntel 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 trsfontes possveis:

    A primeira fonte a sada do contador refresh que incrementado por um pulsoexterno de clock, aplicado na entrada Count/ (contador de refresh interno), que forneceos endereos de linha para a DRAM durante a operao refresh. As duas outras so assadas multiplexadas do controlador, obtidas da multiplexao dos 14 bits de endereooriundos do processador, que so transformados em endereos de linha e de coluna,utilizados quando o processador precisa ler ou escrever na DRAM. Os nveis lgicosaplicadas nas entradas Refresh Enable e Row Enable, determinam qual dos trsconjuntos de 7 bits vai aparecer na sada do controlador, conforme mostra a tabela aseguir:

    Refresh EN Row EN Sada do MC3442AH X Endereo de refresh (obtido

    do contador interno)L H Endereo de linha (A0 - A6)L L Endereo de coluna (A7 - A13)

    O diagrama abaixo ilustra o processo de operao descrito acima:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    33/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 33/46

    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 asua alta velocidade na realizao dessas operaes, no entanto, por serem volteis, osdados nela armazenados se perdem quando cessa a alimentao eltrica. Existem noentanto, duas solues para esse problema:

    A primeira usar memrias que possam ser alimentadas por baterias sempre queocorrer falta de energia. Isto requer memrias de baixo consumo, de modo a noconsumir rapidamente toda a carga da bateria. No resta dvidas de que a tecnologiaCMOS seria a mais indicada para o caso e para tal as memrias deveriam ser mantidasem standby para consumir o mnimo possvel de energia. Algumas SRAMs comtecnologia CMOS incluem no chip pequenas baterias de ltio (lithium).

    Outra soluo emprega a NVRAM (RAM no volteis). Uma NVRAM possuiuma matriz de RAM esttica e uma matriz de EAPROM (Electrically Alterable ReadOnly Memory; semelhante a EEPROM, sendo que no precisa ser apagada permitindo aalerao dos bits de uma clula independente de outras) no mesmo chip, combinandodessa forma a velocidade de operao de uma SRAM com a capacidade dearmazenamento de uma EAPROM. Cada clula de SRAM corresponde a uma celula deEAPROM e as informaes podem ser transferidas entre as clulas em ambas asdirees. Na ocorrncia de falta de energia ou mesmo quando o computador fordesligado, ocorre o seguinte:

    a) um circuito sensor de tenso detecta a queda de tenso e envia um sinal entradaStore da NVRAM;

    b) com isto o contedo armazenado na NVRAM transferido das clulas de RAMesttica 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 dafonte) , 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 dasinformaes da EAPROM para a SRAM.

    Uma NVRAM tem a vantagem de no necessitar de bateria, sendo no entantomais complexa do que um chip de memria convencional e por isso no estodisponveis para altas capacidades de armazenamento. Quando se requer o uso dememrias no volteis de alta capacidade, a alternativa a utilizao de RAMs CMOScom bateria.

    1.2.2.10.2 - Memrias FIFO

  • 8/2/2019 EE-203-Apostila-Capitulo1

    34/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 34/46

    As FIFOs (First Input - First Output), que traduzindo significaPrimeiro a entrar- Primeiro a Sair, um tipo de memria de acesso seqencial, na qual so usadosregistradores 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 atransferncia de dados de um computador para uma impressora.

    O computador envia dados para uma impressora a uma velocidade muitosuperior 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 emvelocidade alta, digamos, 40.000pps (pulsos por segundo) e armazenando-os. Aps issosero 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),para um dispositivo rpido como o computador. A figura a seguir ilustra o diagrama depinagem 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 quea 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 foraplicado o nvel lgico 0. O diagrama lgico mostrado a seguir torna isto mais claro:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    35/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 35/46

    1.2.3 Dispositivos de Entrada e Sada (I/O)

    Os dispositivos de Entrada e Sada (I/O) so responsveis pela conexo doComputador 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 padronizadasinternacionalmente (para facilitar a compatibilidade) como: portas USB, IDE, SATA,Serial RS-232, Paralela Centronics, etc. ou pode ser atravs de Portas Proprietrias noqual a compatibilidade de comunicao vai existir apenas para o fabricante dodispositivo e do Sistema Computacional especfico.

    1.2.4 Barramento de Dados (Data Bus)

    So linhas paralelas que permitem a comunicao bidirecional entre a CPUe as Memrias ou Dispositivos de I/O. Devido ao compartilhamento deste

    barramento pelos vrios subsistemas, somente um dispositivo utiliza o barramento decada 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 edispositivos externos, ou seja, um Sistema Computacional com 8 bits de barramento dedados 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, porexemplo, 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 acessoexterno, considerando que este acesso externo bastante lento em relao a velocidadeda CPU, isto faz com que o Sistema Computacional tenha um pior desempenho emrelao a outro que tenha esta barramento (dados) em 16 bits por exemplo, que faria estamesma 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

  • 8/2/2019 EE-203-Apostila-Capitulo1

    36/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 36/46

    Computacional a capacidade total de enderear dispositivos de I/O ou memria, porexemplo: um Sistema Computacional com 16 bits de endereamento capaz de gerar216 combinaes de endereos diferentes, portanto este sistema pode enderear 65.536endereos 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 doSistema necessrios para a perfeita sincronizao e controle dos dispositivos internosexternos a ela acoplados.

    1.2.7 Microprocessador e Microcontrolador

    A diferena bsica entre o que um microprocessador e o que ummicrocontrolador est basicamente no fato de que o microprocessador na arquiteturamostrada anteriormente a CPU, ou seja, os dispositivos de memria e I/O so circuitosexternos que devem compor o sistema computacional, enquanto que nomicrocontrolador tanto CPU, Memrias e dispositivos de I/O j esto incorporados emum nico dispositivo fsico (CHIP) e em alguns modelos de microcontroladores existetambm incorporado no mesmo CHIP conversores A/D, portas USB, Temporizadores,etc.

    Sistema Computacional com Microprocessador e com Microcontrolador

    Um microcontrolador portanto, um sistema computacional completo, no qualesto includos internamente uma CPU (Central Processing Unit), memrias RAM

    (dados), flash (programa) e E2PROM, pinos de I/O (Input/Output), alm de outrosperifricos internos, tais como, osciladores, canal USB, interface serial assncronaUSART, mdulos de temporizao e conversores A/D, entre outros, integrados em ummesmo componente (chip).

    Outra diferena, agora com relao a aplicao de cada um, que osmicroprocessadores normalmente so utilizados em aplicaes onde so requeridosclculos matemticos complexos e com muita velocidade de processamento. J osmicrocontroladores so utilizados de forma dedicada, por exemplo em eletrodomsticos,em equipamentos de medicina, onde a velocidade de processamento no to alta.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    37/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 37/46

    1.3 Estrutura Bsica da Unidade Central de Processamento (CPU)

    A Unidade Central de Processamento - CPU, composta por trs unidadesbsicas: 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 osdados. As principais operaes que a ALU geralmente pode executar so:

    Geralmente, a ALU aps a realizao de uma operao lgica ou aritmtica faz oajuste 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 ounegativo, se houve overflow (estou na capacidade de armazenamento do resultado noacumulador), etc.

    1.3.2 Unidade de Registradores

    A Unidade de Registradores composta por um grupo de Registradores, ondeficam 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 usogeral, que servem para armazenar os dados durante o processamento do programa, e osregistradores de uso especfico, que possuem funes especficas durante o

    processamento dos programas e no podem ser utilizados para armazenar qualquervalor. A seguir sero descritos alguns registradores de uso especfico para melhor

    entendimento do funcionamento da CPU.

    Aritmticas LgicasAdio e Subtrao E, Ou, No, Ou-Exclusivo

    Multiplicao e Diviso Set, Reset

    Incremento e Decremento Teste de bitComparao Deslocamento (Shift)

  • 8/2/2019 EE-203-Apostila-Capitulo1

    38/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 38/46

    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 desteregistrador, 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 prximainstruo 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 sendoincrementado a cada nova instruo para apontar sempre para a prxima a serexecutada. Mas, quando a CPU executa uma instruo de salto, o PC ao invs de serincrementado (para o endereo seguinte) ele alterado para o novo endereo dememria onde ser a execuo da prxima execuo no salto do programa.

    1.3.2.3 O Ponteiro de Pilha (SP Stack Pointer)

    A pilha uma rea da memria RAM utilizada para armazenar dados eendereos de retorno de sub-rotinas ou interrupes. Esta estrutura fica na memriaRAM 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 seuselementos feito atravs do seu topo. Assim, quando um elemento novo introduzidona 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 ordeminversa 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 fazeruma analogia com uma pilha de pratos. Se quisermos adicionar um prato na pilha, ocolocamos no topo. Para pegar um prato da pilha, retiramos o do topo. Assim, temosque retirar o prato do topo para ter acesso ao prximo prato. A estrutura de pilhafunciona de maneira anloga. Cada novo elemento inserido no topo e s temos acessoao elemento do topo da pilha. Existem duas operaes bsicas que devem serimplementadas 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 inglspush (empilhar)epop (desempilhar).

    A figura a seguir ilustra o funcionamento conceitual de uma pilha.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    39/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 39/46

    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 oestado 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 pelaALU da CPU. Os bits de flags podem variar para cada tipo de processador.

    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 SubtraoOv/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" (OperationCode- 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 debusca 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 deControle ir comear um novo ciclo de execuo, e portanto, no IR est a novainstruo 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 forada CPU, utilizando a Via de controle interna e a Viade controle externa para atuarsobre todos os controles da CPU, onde:

    Via interna atua sobre:

  • 8/2/2019 EE-203-Apostila-Capitulo1

    40/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 40/46

    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 estarmazenado no registrador IR e sincronizada com o relgio do sistema (CLOCK) ela vaigerando os sinais de controle (internos e externos) necessrios para a execuo dainstruo 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 deutilizao do hardware numa tarefa elementar", como por exemplo: somar 2 nmeros,ler um dado da memria, escrever um dado na porta, etc. Portanto, as operaeselementares que a CPU pode executar so fornecidas pelo fabricante do processadorcomo 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 doSet de Instrues deste processador.

    Cada Instruo do "Set de Instrues" possui, para sua identificao, um cdigode operao, conhecido como Op-code. Para facilitar a programao, o fabricantetambm 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 op-codes (cdigos em hexadecimal ou binrio) das instrues; portanto os programas sodesenvolvidos na linguagem simblica (mnemnicos), o que para o programador setorna mais confortvel. Esta linguagem simblica para escrevermos os programas conhecida comoLinguagem Assembly.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    41/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 41/46

    O programa escrito em linguagem Assembly no entendido pelo processador,sendo ento necessrio converter estes mnemnicos para op-codes (linguagem demquina). Esta tarefa e feita por um programa auxiliar conhecido como Assemblerou

    Montador.

    Mesmo sendo mais confortvel para o programador, a linguagem Assembly fazcom que a programao seja muito prxima da arquitetura do processador, ou seja, paraalgum conseguir programar em linguagem Assembly, preciso ter amplosconhecimentos da arquitetura do processador especfico e do seu Set de Instrues ese o processador for trocado por outro de arquitetura diferente, o programa deve sertodo reescrito para este novo processador. A seguir um exemplo mostrando a mesmainstruo para dois microcontroladores diferentes (PIC e 8051).

    Dado a este fato da linguagem Assembly estar muito prxima da arquitetura doprocessador, ela recebe a classificao deLinguagem de Baixo Nvel.

    Para melhorar este aspecto e tornar a programao de computadores maisindepende da arquitetura do processador utilizado, foram criadas asLinguagens de Alto

    Nvel, onde nestas linguagens o programador no necessita ter amplos conhecimentosda arquitetura do processador nem de seu Set de Instrues, tornando assim, umamaneira 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 conhecerseus 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 alinguagem de mquina, que a que o processador conhece, feita por um outro

    programa auxiliar conhecido como COMPILADOR (ou em alguns casos comoINTERPRETADOR).

    A compilao um processo mais complexo do que a montagem. Na linguagemde baixo nvel, uma linha de instruo traduzida para uma instruo em cdigo demquina (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 operadoresmais complexos, tornando o processo de compilao (converso para op-codes) umatarefa extremamente mais complicada e demorada do que a Montagem.

    Outro fato interessante a ser observado que nem sempre o processador possuiem 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 queno tenha uma instruo que realize multiplicao ou diviso de dois operandos,

    portanto para realizar uma multiplicao neste processador necessrio realizar somassucessivas, ou seja, em vez de multiplicar uma varivel por outra, realizar somas de umavarivel, 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 (*), deforma simples e prtica (y = x * 5). Ao compilar este comando, a linguagem gerada ir

  • 8/2/2019 EE-203-Apostila-Capitulo1

    42/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 42/46

    converter a multiplicao em somas sucessivas sem que o programador se preocupecom 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 eem 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:

    Agora, o mesmo programa em linguagem C:

    Fica ento uma dvida bastante comum: qual a melhor linguagem paraescrever os programas? De baixo nvel ou de alto nvel? A seguir vamos listar algumasconsideraes sobre isto:

    A linguagem de alto nvel x linguagem de baixo nvel:

    - permite uma programao mais amigvel e mais fcil para desenvolvimento deaplicaes mais complexas.

    - permite maior portabilidade, uma vez que um mesmo programa pode serrecompilado para um processador diferente, com o mnimo de alteraes, ao contrrio

    do ASSEMBLY, onde as instrues mudam muito entre processadores de arquiteturadiferentes

  • 8/2/2019 EE-203-Apostila-Capitulo1

    43/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 43/46

    - no necessrio se preocupar com a arquitetura interna do processador, comoregistradores 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 serexecutado o programa tem bastante memria.

    - outra desvantagem das linguagem de alto nvel que o programador no forado aconhecer as caractersticas internas da arquitetura do processador e do hardwareutilizado, j que o mesmo se acostuma a trabalhar em alto nvel, o que muitas vezescompromete 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.

    1.4.2 Ciclo de Instruo

    O Processamento de cada instruo feito pela atuao da UC (Unidade deControle) sobre todos os sinais de controles do Sistema (Via de controle interna eVia de controle externa), numa seqncia de tempo bem definida (baseada nafrequncia 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 osDispositivos de entrada e sada, envolve a Via de endereos, a Via de dados e a Via decontrole, gerando os chamados "Ciclos de Mquina". Os ciclos de Mquina so portantoo conjunto de sinais de controle gerados pela UC para realizar uma operao bsica deacesso 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 porvrios ciclos de mquina.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    44/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 44/46

    Por exemplo, a instruo MOV A,R0 (transfere o contedo do registrador R0para o registrador A) executada em apenas um ciclo de mquina, pois no seu ciclo deinstruo vai existir e execuo da instruo, que interna na CPU (registradores

    internos) e depois o ciclo de busca da prxima instruo, que envolve um acessoexterno a memria de programa.

    J a instruo MOVX A,@R0, que transfere o contedo do endereo dememria indicada pelo valor do registrador R0 para o registrador A, executada em 2ciclos de mquina porque a execuo da instruo envolve um acesso de leitura dedados 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 deinstruo.

    Normalmente, os ciclos de mquina sevem para indicar quanto tempo uma

    instruo vai gastar para ser executada pela CPU.

    1.5 Arquiteturas dos Processadores

    A arquitetura de um sistema digital define quem so e como as partes que compe osistema esto interligadas. As duas arquiteturas mais comuns para sistemascomputacionais digitais so as seguintes:

    -Arquitetura de Von Neuman:

    A Unidade Central de Processamento interligada memria por um nicobarramento (bus). O sistema composto por uma nica memria onde so armazenadosdados e instrues;

    -Arquitetura de Harvard:

    A Unidade Central de Processamento interligada a memria de dados e amemria de programa por barramentos diferentes, de dados e de instrues.

  • 8/2/2019 EE-203-Apostila-Capitulo1

    45/46

    Captulo 1 - Introduo aos Sistemas Computacionais

    Eng. de Telecomunicaes / Eng. Biomdica EE-203/NB-202 - 1. Semestre / 2012 - Prof. Evandro Lus Brando Gomes 45/46

    1.5.1 Arquitetura CISC

    A arquitetura CISC Complex Instruction Set Computer (Set de instruesComplexo) segue o Modelo de Von Neuman, onde existe um nico barramentos parainstrues e para dados. Alm dessa caracterstica, outras tambm so bastanterelevantes, como:

    - Os programas armazenados na memria so menores em relao ao RISC, porque osop-codes nesta arquitetura so pequenos e realizam varias tarefas, ou seja, com um op-code pequeno a UC consegue decodi