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

Universidade Federal Rural do Semi-rido UFERSA Engenharia de Energia Aula 02 Prof.

Idalmir de Souza

Microprocessadores e Microcontroladores

Classificao dos Microcontroladores

Microcontroladores

bits

Memria/Dispositivo

Conjunto de Instrues

Arquitetura de Memria

16

32

Embarcada

Externa

RISC

CISC

Harvard

Princeton

O Microprocessador

Conceitos Bsicos: CPU


Responsvel pelo controle e execuo das tarefas em um computador ou microcontrolador. O processador exerce a funo principal de acesso e a utilizao da memria e dos dispositivos de entrada e sada para a execuo das atividades. Para que um computador execute um programa, este programa deve estar em sua linguagem, a linguagem de mquina. Sendo o programa uma srie de instrues que o processador deve executar para que a tarefa solicitada seja realizada. Para executar estas tarefas, a CPU transfere todos os dados necessrios execuo de um dispositivo de entrada e/ou sada para a memria, as executa e conclui sua tarefa. O ser feito est escrito no programa armazenado na memria.

Conceitos Bsicos: Unidade Lgica e Aritmtica


A unidade lgica e aritmtica (ULA) um circuito digital que realiza operaes lgicas e aritmticas, uma pea fundamental da unidade central de processamento (CPU), e at dos mais simples microprocessadores.

Um smbolo esquemtico tpico para uma ULA, onde "A" e "B" so operandos, "R" a sada, "F" a entrada da unidade de controle e "D" a sada de status

Conceitos Bsicos: Unidade Lgica e Aritmtica


Uma simples ULA de 2-bit que faz AND, OR, XOR, e adio

Conceitos Bsicos: Unidade de Controle


responsvel por gerar todos os sinais que controlam as operaes no exterior da CPU, e ainda por dar todas as instrues para o correto funcionamento interno da CPU. Ela executa trs aes bsicas intrnsecas e pr-programadas pelo prprio fabricante do processador, so elas: busca (fetch), decodificao e execuo. A arquitetura de um processador pode ser orientada para o registrador ou para a memria. Se for orientada para registradores como no caso da arquitetura Intel, a ULA, aps executar qualquer operao lgica ou aritmtica, sempre vai armazenar o resultado no registrador acumulador. No caso de ser orientado para memria, como o caso dos microprocessadores da Motorola, nem sempre o resultado armazenado no acumulador, podendo esse ser armazenado em qualquer posio de memria. Ao executar um programa (software) e terminada a primeira instruo, a unidade de controle auto incrementa um contador, chamado de contador de programa e vai para a prxima instruo, tipicamente localizada na prxima posio da memria (endereo de memria), a menos que a instruo seja uma instruo de desvio informando o computador que a prxima instruo est em outra posio.

Conceitos Bsicos: Memria


So todos os dispositivos que permitem guardar dados e programas, temporariamente ou permanentemente. So basicamente de dois tipos: Internas ao processador ou externas ao microprocessador. Memria principal (interna): So aquelas que o processador pode enderear diretamente, sem as quais o computador no pode funcionar, podendo fornecer uma ponte para as secundrias. Nesta categoria insere-se a RAM, que uma memria semicondutora, voltil, com acesso aleatrio. Tambm compreende a memria ROM (no voltil), registradores e memrias cache. Memria secundria (externa): So memrias de armazenamento em massa para armazenamento permanente de dados. No podem ser endereadas diretamente, a informao precisa ser carregada em memria principal antes de poder ser tratada pelo processador. No so estritamente necessrias para a operao do computador. So geralmente no-volteis, permitindo guardar os dados permanentemente. como os discos rgidos, discos ticos e pendrives.

Conceitos Bsicos: Memria - Registradores


uma unidade de memria capaz de armazenar bits. Os registradores esto no topo da hierarquia de memria, sendo assim o meio mais rpido e caro de se armazenar um dado. So compostos de circuitos digitais capazes de armazenar e deslocar informaes binrias, e so tipicamente usados como um dispositivo de armazenamento temporrio. So utilizados na execuo de programas de computadores, disponibilizando um local para armazenar dados. Na maioria dos computadores modernos, quando da execuo das instrues de um programa, os dados so movidos da memria principal para os registradores. Ento, as instrues que utilizam estes dados so executadas pelo processador e, finalmente, os dados so movidos de volta para a memria principal. Apesar dos registradores apresentarem um bom desempenho no quesito rapidez, possuem uma capacidade de armazenamento baixssima comparada a outros circuitos de armazenamento, como o caso da memria secundria. Dentre os registradores temos quatro tipos, sendo eles, registrador contador assncrono, registrador de deslocamento com sinal de carga paralela, registradores de deslocamento (shift registers) e o registrador com carga paralela.

Conceitos Bsicos: Memria - Registradores


Registrador acumulador: Realiza operaes aritmticas, acessa portas de entrada e sada, faz chamadas de interrupes. Registradores de base: Recebem o endereo-base de um dado objeto, oferecendo a possibilidade de usar "ponteiros". Registrador contador: Conta todas as repeties e deslocamentos, podendo ser atribudo um valor de interrupo. Registradores de dados: Ou acumuladores so utilizados para armazenar valores, sendo utilizado implicitamente em muitas operaes. onde so armazenados e somados valores de clculos e comparaes. Registrador de carga paralela: o tipo mais simples de registrador, sendo um conjunto de flip-flops que so carregados a cada ciclo de relgio. til como registrador de estado em um bloco de controle. Registrador de deslocamento: Tem a funo de mover um bit armazenado direita ou esquerda. Registrador circular: Variao do registrador de deslocamento que consiste em uma adio de rotao no registrador.

Conceitos Bsicos: Memria Volteis


So as que requerem energia para manter a informao armazenada. So fabricadas com base em duas tecnologias: dinmica e esttica. Memria dinmica: a mais barata e a mais utilizada nos computadores e so aquelas que foram popularizadas como memrias RAM (Random Acess Memory - memria de acesso aleatrio), que significa que os dados nela armazenados podem ser acessados a partir de qualquer endereo. O nome dinmica referente tecnologia utilizada para armazenar programas e dados e no forma de acess-los. De modo simplista ela funciona como uma bateria que deve ser recarregada sempre que apresentar carga insuficiente para alimentar o equipamento. Todas as vezes que a CPU for acessar a memria, para escrita ou para leitura, cada clula dessa memria atualizada. Se ela tem 1 lgico armazenado, sua bateria ser recarregada; se ela tem 0 lgico, a bateria ser descarregada. Este procedimento chamado de refresh. Memria esttica: aquela que no necessita ser analisada ou recarregada a cada momento. Fabricada com circuitos eletrnicos conhecidos como latch, guardam a informao por todo o tempo em que estiver a receber alimentao.

Conceitos Bsicos: Memria No-Volteis


So aquelas que guardam todas as informaes mesmo quando no estiverem a receber alimentao. Como exemplos, citam-se as memrias conhecidas por ROM, FeRAM e FLASH, bem como os dispositivos de armazenamento em massa, como os discos rgidos e discos pticos. As ROM (Read Only Memory - memrias somente para leitura), permitem o acesso aleatrio e so conhecidas pelo fato de no poderem ter o seu contedo alterado. Dentre as memrias do tipo ROM destacam-se as seguintes: ROM: Read Only Memory (memria somente de leitura), gravada na fbrica uma nica vez. PROM: Programable Read Only Memory (memria programvel somente de leitura), gravada pelo usurio uma nica vez. EPROM: Erasable Programable Read Only Memory (memria programvel e apagvel somente de leitura). EEPROM: Electrically Erasable Programable Read Only Memory (memria programvel e apagvel eletronicamente somente de leitura). A Flash e a FeRAM so variaes do tipo EPROM, usadas em dispositivos de armazenamento removveis (pendrives).

Conceitos Bsicos: Barramentos


Para acessar a memria e os dados a CPU precisa dos chamados barramentos.

Conceitos Bsicos: Barramentos


um conjunto de linhas de comunicao que permitem a interligao entre dispositivos e o microprocessador, como a CPU, Memria e perifricos. O desempenho do barramento medido pela sua largura de banda (quantidade de bits que podem ser transmitidos ao mesmo tempo), geralmente potncias de 2, como 8 bits, 16 bits, 32 bits, 64 bits, etc. Tambm pela velocidade da transmisso medida em bps (bits por segundo) por exemplo: 10 bps, 160 Kbps, 100 Mbps, 1 Gbps etc. Existem trs funes distintas nos barramentos: Comunicao de Dados (data bus) com a funo de transporte dos dados, sendo do tipo bidirecional. Comunicao de Endereos (address bus) com a funo de indicar endereo de memria dos dados que o processador deve retirar ou enviar, sendo do tipo unidirecional. Comunicao de Controle (control bus) com a funo que controla as aes dos barramentos anteriores, controlando solicitaes e confirmaes, sendo do tipo bidirecional.

Conceitos Bsicos: Barramentos


Podem ser classificados como barramentos do processador, de memria, de entrada e sada e de dados. Barramento do Processador: Utilizado pelo processador internamente e para envio de sinais para outros componentes. Barramento de Memria: Responsvel pela conexo da memria principal ao processador, sendo um barramento de alta velocidade. Barramento de Entrada e Sada: Responsvel pela comunicao das diversas interfaces e perifricos. A taxa de transferncia de dados dos perifricos normalmente mais baixa que a da memria do processador sendo invivel usar o barramento de alta-velocidade. Barramento de Dados: Responsvel por transportar informao da instruo (atravs do cdigo de operao), varivel do processamento (clculo intermedirio de um clculo) ou informao de um perifrico de E/S (dado digitado em um teclado). Seu tamanho determina o mximo nmero de instrues e a preciso do processamento aritmtico. Se o processamento simples (como o controle booleano de um CLP) 8 bits so suficientes, mas dependendo do tipo de tarefa pode ser importante o processamento de at 128 bits. Taxa de transferncia (velocidade) : o principal fator que determina o desempenho de um barramento. Teoricamente para calcular a frequncia mxima de transmisso se usa o seguinte clculo: taxa de transferncia = n de bits x clock total x n de dados transmitidos por clock / 8

Conceitos Bsicos: Clock


Em um microprocessador, todas as atividades necessitam de sincronizao. O clock interno (ou apenas clock) serve este fim, ele atua como um sinal para sincronismo. Quando os dispositivos do microprocessador recebem o sinal de executar suas atividades, d-se a esse acontecimento o nome de "pulso de clock". Em cada pulso, os dispositivos executam suas tarefas, param e vo para o prximo ciclo de clock. Basicamente falando, se um processador trabalha n Hz, por exemplo, significa que ele capaz de lidar com n operaes de ciclos de clock por segundo. O cristal de quartzo o principal componente usado na gerao de um clock. Ele tem a capacidade de entrar em ressonncia em determinadas freqncias, quando ligado a amplificadores apropriados. A freqncia de ressonncia pode ser determinada a partir das dimenses do cristal. Quanto mais fino, mais elevada a freqncia. O sinal de clock gerado por este circuito ter freqncia igual freqncia de ressonncia do cristal.

Conceitos Bsicos: Clock


Processadores antigos (at o 486DX-50) utilizavam um nico sinal de clock para suas operaes internas e externas. Os processadores atuais operam com dois clocks, sendo um interno e um externo. O clock interno sempre mais alto, e usado para sincronizar as operaes de processamento., j o externo usado para sincronizar as operaes de comunicao entre o processador, a memria, o chipset e outros circuitos externos. No s o processador opera a partir de um clock. Vrios outros circuitos e barramentos do computador tm suas operaes sincronizadas por um clock, como as memrias, os barramentos e os perifricos. Existem outros fatores que influenciam no desempenho, como por exemplo a velocidade das memrias e do barramento. Quando as memrias no so suficientemente velozes, podem demorar muito na entrega de dados e instrues para o processador, que acaba ficando parte do tempo ocioso, tendo seu desempenho prejudicado pela lentido da memria.

Conceitos Bsicos: Clock


O clock de um processador est diretamente relacionado com o nmero de instrues que podem ser executadas a cada segundo. O 8086 e o 8088, nas suas primeiras verses, operavam a 5 MHz. Isto no significa exatamente 5 milhes de instrues por segundo, e sim, 5 milhes de CICLOS por segundo. Algumas instrues mais simples podiam ser executadas em apenas dois ciclos, outras gastavam mais ciclos de clock. Desta forma, em um segundo seria possvel executar 2.500.000 dessas instrues simples ou 500.000 dessas instrues mais complexas. Os processadores mais modernos so capazes de executar a maioria das instrues em apenas um ciclo. A partir do Pentium, passaram a executar instrues de forma simultnea, tornando possvel, por exemplo, executar duas instrues em um nico ciclo.

Conceitos Bsicos: Quantidade de bits


A quantidade de bits diz respeito quantidade de barramentos que um microprocessador ou microcontrolador pode trabalhar. Sendo os barramentos as conexes entre CPU, memrias e dados. Processadores mais antigos operavam a 4 bits (Intel 4004 e 4040), 8 bits (Intel 8008, 8080 e 8085, Zilog Z-80), 16 bits (Intel 8086, 8088, 80186, 80188 e 80286) e 32 bits (Intel 80386 e 80486). Mas nem todos operava com mesmo nmero de bits entre CPU e memria, e CPU e dados. Por exemplo, os processadores Pentium tm 64 bits de barramento de dados, mas os principais registros internos mantiveram-se em 32 bits. Processadores modernos de 64 bits so capazes de processar 64 bits por vez, melhorando significativamente seu desempenho.

Conceitos Bsicos: Quantidade de bits


Quando se classifica um processador como sendo de 4, 8, 16, 32 ou 64 bits, nos referimos dimenso dos seus registradores internos. Tradicionalmente, o nmero de bits dos registradores do processador o mesmo que o nmero de linhas do barramento de dados. Assim, o 8088 e o 80188 so ambos processadores de 16 bits, porque apesar de terem um barramento de dados de 8 bits, tm os registradores internos com 16 bits, tal como os seus equivalentes 8086 e 80186 respectivamente. O nmero de linhas do barramento de endereos de um processador que define a sua capacidade de endereamento e no tem relao com o nmero de bits que processa.

Conceitos Bsicos: Quantidade de bits


Nos antigos processadores dos anos 80, os circuitos do microprocessador operavam com 16 bits, enquanto os modelos dos anos 70 operavam com 4 ou 8 bits. Quanto maior o nmero de bits de um processador, mais veloz poder realizar clculos e processamento de instrues em geral. Veja por exemplo, os limites de nmeros inteiros positivos que podem ser manipula-dos com 8, 16 e 32 bits:
8 bits 16 bits 32 bits 0 a 255 0 a 65.535 0 a 4.294.967.295

Por exemplo, se um processador de 16 bits precise realizar a operao 245.818.768 + 978.798.423. Ambas as parcelas desta adio no podem ser representadas em um grupo de 16 bits. Portanto, deve ser realizada por etapas. Um processador de 32 bits capaz de representar e operar tais nmeros de forma direta, fazendo com que o clculo seja mais rpido.

Conceitos Bsicos: Quantidade de bits

Conceitos Bsicos: Quantidade de bits


A capacidade de endereamento muito importante pois diz respeito ao mximo tamanho que pode ter a memria, ou, seja, o nmero mximo de clulas de memria que um processador consegue acessar. Para acessar uma clula (ou posio) de memria, o processador precisa informar qual o endereo desta clula. Cada clula armazena um byte. Processadores com barramento de dados de 16 bits podem acessar duas clulas de uma s vez. Aqueles com barramentos de dados com 32 e 64 bits podem acessar at 4 e 8 clulas, respectivamente. O 8086 e o 8088 possuam barramentos de dados com 20 bits, e por isto podiam acessar 1 MB de memria. Para saber a quantidade mxima de memria que um processador pode acessar, basta saber o nmero de bits do seu barramento de endereos e calcular 2 elevado a esta nmero.Portanto: 220 bytes = 1.048.576 bytes = 1 MB 224 bytes = 16.777.216 bytes = 16 MB 232 bytes = 4.294.967.296 bytes = 4 GB

Conceitos Bsicos: Quantidade de bits


Para a poca do 8086 e do 8088 (em torno de 1980), a capacidade de enderear 1 MB era considerada bem elevada. Os primeiros PCs nem mesmo chegavam a usar toda esta capacidade. Eram comuns modelos com 64 kB, 128 kB e 256 kB de memria RAM. Apenas em meados dos anos 80 comearam a ser comuns os PCs com 512 kB e 640 kB de RAM. O processador 286, com sua capacidade de enderear at 16 MB de memria (usava um barramento de endereos com 24 bits) foi um grande avano em relao ao 8086 e ao 8088. Mesmo no incio dos anos 90, a maioria dos PCs usava entre 1 MB e 2 MB de memria, apenas uma frao da capacidade de endereamento do 286. O 386, com seu barramento de endereos com 32 bits, possibilitava enderear at 4 GB de memria, uma quantidade espantosamente alta at para a poca.

Conceitos Bsicos: Quantidade de bits


Para que um processador tenha bom desempenho, preciso que ele seja capaz de manipular instrues em alta velocidade. Essas instrues so armazenadas na memria, e portanto, preciso que a memria seja acessada em alta velocidade. Ao mesmo tempo em que executa instrues, o processador tambm l e armazena dados na memria, o que mais uma razo para que a memria seja rpida. A velocidade de transferncia de dados entre o processador e a memria depende de diversos fatores, e um dos principais o nmero de bits do seu barramento de dados (data bus). Os processadores de 8 bits utilizavam um barramento de dados tambm com 8 bits. O processador 8086, operava com 16 bits, tanto internamente como externamente, ou seja, utilizava um barramento de dados tambm com 16 bits. At ento, o nmero de bits internos era igual ao nmero de bits externos do processador, mas isto nem sempre ocorreu. Por exemplo, o processador 8088, usado nos primeiros PCs, operava internamente com 16 bits, e externamente com apenas 8. J com os processadores a partir do Pentium, ocorre o inverso: operam internamente com 32 bits e externamente com 64.

Conceitos Bsicos: Quantidade de bits


A tabela abaixo apresenta o nmero de bits do barramento de endereos, bem como a capacidade mxima de endereamento de memria para os processadores usados nos PCs:

Conceitos Bsicos: Quantidade de bits


Processadores de 64 bits no so duas vezes mais rpidos nem processam (necessariamente) o dobro de dados por ciclo de clock que um de 32 bits. A grande vantagem dos processadores de 64 bits que eles so capazes de trabalhar com endereos de memria de 64 bits, o que permite enderear muito mais do que 4 GB de memria RAM. Temos tambm um aumento no tamanho dos registradores, que passam a armazenar 64 bits de informaes, em vez de 32, o que representa um ganho de desempenho. Outro benefcio (embora menos significativo) que eles so capazes de processar nmeros inteiros de at 64 bits, ao invs de 32. Isto oferece ganhos de desempenho em algumas reas especficas mas no ajuda muito nos aplicativos do dia-a-dia. Processadores de 32 bits podem processar nmeros inteiros de 64 bits, mas eles precisam ser divididos em duas instrues separadas, o que naturalmente toma mais tempo.

Conceitos Bsicos: processadores - Desempenho


Todos os esforos no sentido de melhorar a tecnologia dos processadores giram em torno de um ponto chave: o desempenho, ou seja, a velocidade de processamento. Entre as tcnicas implantadas visando obter maiores velocidades, podemos citar:
Aumento do clock Aumento do nmero interno de bits Aumento de nmero externo de bits Reduo do nmero de ciclos para executar cada instruo Uso de memrias cache mais eficientes Execuo de instrues em paralelo

Conceitos Bsicos: Interrupes


um sinal de um dispositivo que tipicamente resulta em uma troca de contexto, isto , o processador para de fazer algo para atender o dispositivo que pediu a interrupo. Processadores e Microcontroladores geralmente oferecem uma maneira de iniciar rotinas de software em resposta a eventos eletrnicos assncronos, sinalizados para o processador atravs de pedidos de interrupo, chamados de IRQs (Interrupt Request). Os endereos dessas rotinas so chamados vetores de interrupo e so armazenados geralmente em uma tabela na memria RAM, permitindo sua modificao caso seja necessrio. Elas foram concebidas para evitar o desperdcio de tempo computacional em loops de software (chamados polling loops) esperando eventos que sero disparados por dispositivos. Ao invs de ficarem parados esperando o evento acontecer, os processadores tornaram-se capazes de realizar outras tarefas enquanto os eventos esto pendentes. A interrupo avisa ao processador quando o evento ocorreu, permitindo dessa forma uma acomodao eficiente para dispositivos mais lentos. As interrupes so um mtodo bastante eficiente para realizar operaes de entrada e sada.

Conceitos Bsicos: Interrupes

Conceitos Bsicos: Interrupes

Conceitos Bsicos: Interrupes


Entre os diversos pinos do processador, um deles chamado de INT, e serve para que os diversos circuitos existentes no computador possam requisitar interrupes. Assim que o processador recebe um sinal INT, guarda na memria informaes que permitem mais tarde saber exatamente onde parou. A seguir, determina qual foi o dispositivo que gerou a interrupo e faz o seu atendimento. Ao terminar de atender a interrupo, volta a processar o programa original exatamente do ponto de onde parou. Usos tpicos de interrupes incluem os temporizadores do sistema, E/S, sinal Power-off, traps (armadilhas), interrupes para transferir dados usando UARTs ou Ethernet, sentido de teclas pressionadas, controle de motores, ou qualquer outra coisa que o equipamento deve fazer.

Conceitos Bsicos: Interrupes


Como o processador possui apenas uma entrada de interrupo e existem vrios dispositivos que necessitam interromp-lo, a placa de CPU utiliza um circuito chamado de controlador de interrupes. Uma das funes deste circuito receber requisies de interrupes de vrios dispositivos e interromper o processador atravs do sinal INT. Outra funo informar ao processador qual foi o dispositivo que gerou a interrupo.

Conceitos Bsicos: Interrupes


Interrupes geradas por algum dispositivo externo CPU, como teclado ou controlador de disco, so chamadas de interrupes de hardware ou assncronas (ocorrem independentemente das instrues que a CPU est executando. Um tipo importante de interrupo de hardware a interrupo do relgio (clock). Em particular, esse mecanismo permite ao sistema operacional atribuir quotas de tempos de execuo (fatias de tempo) para cada um dos processos em um sistema multiprograma. A cada interrupo do relgio, o tratador pode verificar se a fatia de tempo do processo em execuo j se esgotou e, se for esse o caso, suspend-lo e acionar o escalonador para que esse escolha outro processo para colocar em execuo. Um outro tipo de interrupo so as interrupes sncronas, muitas vezes tambm chamadas de traps. Traps ocorrem em consequncia da instruo sendo executada, como um overflow.

Arquitetura de Memria
A Arquitetura de von Neumann (Princeton) uma arquitetura de computador que se caracteriza pela possibilidade de uma mquina digital armazenar seus programas no mesmo espao de memria que os dados, podendo assim manipular tais programas. Esta arquitetura um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento (memria) para comportar, respectivamente, instrues e dados. A mquina proposta por Von Neumann rene os seguintes componentes: (i) uma memria, (ii) uma unidade aritmtica e lgica, (iii) uma unidade central de processamento, composta por diversos registradores, e (iv) uma Unidade de Controle, cuja funo a mesma da tabela de controle da Mquina de Turing universal: buscar um programa na memria, instruo por instruo, e execut-lo sobre os dados de entrada.

Arquitetura de Memria
A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, tendo vindo da necessidade de por o microcontrolador para trabalhar mais rpido. uma arquitetura de computador que se distingue das outras por possuir duas memrias diferentes e independentes em termos de barramento e ligao ao processador. utilizada nos microcontroladores PIC, tem como principal caracterstica acessar a memria de dados separadamente da memria de programa. Baseada tambm na separao de barramentos de dados das memrias onde esto as instrues de programa e das memrias de dados, permitindo que um processador possa acessar as duas simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von Neumann, pois pode buscar uma nova instruo enquanto executa outra.

Arquitetura de Memria
A Arquitetura de Harvard baseia-se em um conceito mais recente que a de Von-Neumann, tendo vindo da necessidade de por o microcontrolador para trabalhar mais rpido. uma arquitetura de computador que se distingue das outras por possuir duas memrias diferentes e independentes em termos de barramento e ligao ao processador. utilizada nos microcontroladores PIC, tem como principal caracterstica acessar a memria de dados separadamente da memria de programa. Baseada tambm na separao de barramentos de dados das memrias onde esto as instrues de programa e das memrias de dados, permitindo que um processador possa acessar as duas simultaneamente, obtendo um desempenho melhor do que a da Arquitetura de von Neumann, pois pode buscar uma nova instruo enquanto executa outra.

Arquitetura de Memria
Von-Newmann x Harvard

Arquitetura de Memria
A principal vantagem dessa arquitetura que a leitura de instrues e de alguns tipos de operandos pode ser feita ao mesmo tempo em que a execuo das instrues (tempo Tcy). Isso significa que o sistema fica todo o tempo executando instrues, o que acarreta um significativo ganho de velocidade. Enquanto uma instruo est sendo executada, a seguinte est sendo lida. Esse processo conhecido como pipelining(canalizao). A arquitetura Harvard tambm possui um repertrio com menos instrues que a de Von-Neumann, e essas so executadas apenas num nico ciclo de relgio. Os microcontroladores com arquitetura Harvard so tambm conhecidos como "microcontroladores RISC" (Computador com Conjunto Reduzido de Instrues), e os microcontroladores com uma arquitetura Von-Neumann, de "microcontroladores CISC" (Computador com um Conjunto Complexo de Instrues).

Arquitetura de Memria
A diferena entre a arquitetura Von Neunmann e a Harvard que a ltima separa o armazenamento e o comportamento das instrues do CPU e os dados, enquanto a anterior utiliza o mesmo espao de memria para ambos.

Conjunto de Instrues
Atualmente, existem 3 tipos de arquitetura de processadores:
CISC (Computadores com Conjunto de Instrues Complexas): Dispem de mais de 80 instrues em seu repertrio, algumas das quais so muito sofisticadas e potentes, requerendo muitos ciclos para sua execuo. Uma vantagem dos processadores CISC que oferecem instrues complexas que atuam como macros. RISC (Computadores com Conjunto de Instrues Reduzido): Nestes processadores o repertrio de instrues muito reduzido e as instrues so simples e geralmente se executam em um ciclo. A vantagem destes que a simplicidade e rapidez das instrues permitem otimizar o hardware e o software do processador.

Conjunto de Instrues
RISC (Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instrues) uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instrues que levam aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores modernos so RISCs. O tipo de microprocessador mais largamente usado em desktops, o x86, mais CISC do que RISC, embora chips mais novos traduzam instrues x86 baseadas em arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execuo. Os processadores baseados RISC no tem micro-programao, as instrues so executadas diretamente pelo hardware. Como caracterstica, esta arquitetura, alm de no ter microcdigo, tem o conjunto de instrues reduzido, bem como baixo nvel de complexidade. Mas o desempenho do processador em relao memria que ele acessava era crescente. Isto resultou num nmero de tcnicas para otimizao do processo dentro do processador, enquanto ao mesmo tempo tentando reduzir o nmero total de acessos memria.

Conjunto de Instrues
CISC (Complex Instruction Set Computer, Computador com um Conjunto Complexo de Instrues) uma linha de arquitetura de processadores capaz de executar centenas de instrues complexas diferentes sendo, assim, extremamente verstil. Os processadores baseados CISC contm uma microprogramao, que um conjunto de cdigos de instrues que so gravados no processador, permitindo receber as instrues dos programas e execut-las. Como caracterstica marcante esta arquitetura contm um conjunto grande de instrues, a maioria deles em um elevado grau de complexidade. A vantagem da arquitetura CISC que j temos muitas das instrues guardadas no prprio processador, o que facilita o trabalho dos programadores de linguagem de mquina, disponibilizando, assim, todas as instrues que sero usadas em seus programas. Os processadores CISC tm a vantagem de reduzir o tamanho do cdigo executvel por j possurem muito do cdigo comum em vrios programas, em forma de uma nica instruo. Porm os CISC's tm algumas desvantagens em relao aos RISC's, entre elas a impossibilidade de se alterar alguma instruo composta para se melhorar a performance. Sendo assim, existe uma disputa entre tamanho do cdigo X desempenho.

Microcontroladores

Microcontroladores