Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>1</p><p>MICROPROCESSADORES E</p><p>MICROCONTROLADORES</p><p>AULA 2</p><p>Prof. Sérgio Luiz Veiga</p><p>2</p><p>CONVERSA INICIAL</p><p>Neste tema iremos aprender sobre um dispositivo que pode ser</p><p>empregado em muitas situações, dotado de inteligência, ou seja, capaz de</p><p>executar uma sequência de comando lógicos geralmente representados em</p><p>forma de programas. Bons estudos!</p><p>TEMA 1: SISTEMA COMPUTACIONAL BÁSICO</p><p>Qualquer microcomputador, seja ele da família PC – IBM ou Macintosh,</p><p>está organizado de um modo idêntico. A conexão dos dispositivos com o</p><p>barramento se faz especificamente por meio da existência de três barramentos:</p><p> Endereço: “unidirecional (saída da CPU). Responsável pelo</p><p>transporte de informação que indica a localização da posição de</p><p>memória ou dispositivos de E/S”. (Disponível em:</p><p>. Acesso em: 16 de outubro de</p><p>2016).</p><p> Dado: bidirecional (saída e entrada na CPU). Transporta as instruções e</p><p>os dados manipulados pelas instruções;</p><p> Controle: unidirecional (saída da CPU). Responsável pela transferência</p><p>de sinais (de controle) como READ, WRITE, HOLD, de início de operação</p><p>aritmética, de interrupção, de sincronização, de reset</p><p>entre outros.</p><p>O barramento unidirecional só pode transferir dados em um sentido,</p><p>sendo tipicamente utilizados para interligar dois dispositivos um dos quais é</p><p>sempre a origem e o outro é sempre o destino.</p><p>O Barramento bidirecional pode transferir dados nos dois sentidos, mas</p><p>não em ambos simultaneamente. Eles são tipicamente utilizados quando</p><p>https://pt.wikipedia.org/wiki/Barramento/</p><p>3</p><p>qualquer um dos dispositivos pode ser a origem e qualquer outro pode</p><p>ser o destino.</p><p>Um sistema computacional típico, ou seja, um microcomputador típico</p><p>é constituído por:</p><p> Unidade de processamento central (CPU);</p><p> Memória;</p><p> Ports de Entrada/Saída (I/O).</p><p>Sendo a memória para armazenar:</p><p> Instruções: informação codificada que dirige a atividade da CPU.</p><p> Dados: informação codificada que é tratada pela CPU. (Disponível em:</p><p>. Acesso em: 16 de outubro</p><p>de 2016).</p><p>Chamamos de “Programa” um conjunto de instruções logicamente</p><p>relacionadas e armazenadas em uma memória. A CPU "lê" cada instrução</p><p>sequencialmente e a utiliza para determinadas ações. Se a sequência do</p><p>programa for coerente e lógica, a execução do programa produzirá resultados</p><p>inteligíveis e úteis.</p><p>A memória é também utilizada para guardar os dados que irão ser</p><p>tratados, bem como as instruções que irão dirigir esse tratamento. O programa</p><p>terá que estar organizado de modo a que a CPU não efetue a leitura de uma</p><p>palavra que não é instrução, quando espera uma instrução. A CPU pode acessar</p><p>rapidamente os dados guardados em memória, mas é frequente a memória não</p><p>ser suficientemente grande para guardar os dados necessários para uma</p><p>determinada aplicação. Esse problema é resolvido, incluindo no computador um</p><p>ou mais ports de entrada (Input Ports). A CPU pode acessar a esses ports e ler</p><p>os dados aí existentes. A inclusão de ports de entrada permite ao computador</p><p>receber informação de equipamentos externos, em grande velocidade e em</p><p>grande volume. Um computador também necessita de um ou mais ports de saída</p><p>(Output Ports) que lhe permitam comunicar os resultados do tratamento de</p><p>dados para o mundo exterior.</p><p>https://pt.wikipedia.org/%20wiki/Sistema_computacional/</p><p>4</p><p>Os resultados podem ir para um display, a ser usado por um operador</p><p>humano, para um equipamento periférico que armazene os dados em</p><p>disco, ou pode mesmo controlar diretamente outro sistema. Quer os</p><p>ports de entrada quer os de saída, são definidos por endereços e</p><p>permitem ao microcomputador comunicar com o mundo exterior. A</p><p>CPU unifica o sistema, controlando as funções realizadas pelos outros</p><p>componentes. A CPU tem como tarefa essencial retirar instruções da</p><p>memória (fetch), decodificar o seu significado e executá-las. Terá ainda</p><p>que referenciar memória e ports E/S sempre que necessário para</p><p>executar uma instrução. Além disso, a CPU deverá ser capaz de</p><p>reconhecer e responder a determinados sinais de controle, como é o</p><p>caso dos pedidos de Interrupção (Interrupt) e Espera (WAIT).</p><p>(Disponível em: . Acesso em:</p><p>16 de outubro de 2016).</p><p>TEMA 2: ARQUITETURA FUNCIONAL DA UMA CPU</p><p>A CPU é uma máquina de estados sequenciais e, como tal, requer um</p><p>relógio para sincronizar as transições internas de um estado para outro.</p><p>O número de ciclos necessários pela CPU para realizar uma operação</p><p>básica é denominado ciclo-máquina. Existe uma entrada de RESET</p><p>para colocar a CPU num estado inicial, em que se conhece o conteúdo</p><p>dos seus registradores de uma forma bem definida. Este pedido de</p><p>reset é feito de várias formas. No power-up na ligação da alimentação</p><p>é gerado um reset. Um equipamento que utiliza sistemas deste tipo,</p><p>pode funcionar ou não com intervenção humana, no caso de funcionar</p><p>sem intervenção humana, é necessário implementar mecanismos que</p><p>permitam a ele fazer o próprio o reset em caso de bloqueio (Crash do</p><p>sistema). Isso se chama Watchdog timer, que é um circuito que fica</p><p>vinculado há um tempo pré-determinado para receber um sinal da</p><p>CPU. Quando esse sinal da CPU chega dentro do período esperado, o</p><p>Watchdog faz um reset a esse tempo de espera. Se esse tempo de</p><p>espera expirar, então o Watchdog emite um sinal que faz o reset da</p><p>CPU.</p><p>(Disponível em: . Acesso em: 15 de outubro de</p><p>2016).</p><p>O diagrama funcional de uma UCP, apresentada na Figura 1, é constituído</p><p>pelos seguintes elementos:</p><p>https://pt.wikipedia.org/wiki/Hardware</p><p>http://docplayer.com.br/22778320-Introducao-aos-sistemas-de-microprocessadores.html</p><p>http://docplayer.com.br/22778320-Introducao-aos-sistemas-de-microprocessadores.html</p><p>5</p><p>Figura 1: Diagrama funcional de uma UCP</p><p>UAL - Unidade Aritmética e Lógica: tem por função a efetiva execução</p><p>das instruções lógicas e ou aritméticas.</p><p>A UAL é um aglomerado de circuitos lógicos e componentes eletrônicos</p><p>simples que, integrados, realizam as operações já mencionadas. Ela pode ser</p><p>uma parte pequena da pastilha do processador, usada em pequenos sistemas,</p><p>ou pode compreender um considerável conjunto de componentes lógicos de alta</p><p>velocidade. A despeito da grande variação de velocidade, tamanho e</p><p>complexidade, as operações aritméticas e lógicas realizadas por uma UAL</p><p>seguem sempre os mesmos princípios fundamentais.</p><p>6</p><p>Acumulador</p><p>O acumulador guarda normalmente um dos operandos a serem tratados</p><p>pela UAL. Uma instrução típica pode ordenar à UAL para adicionar o conteúdo</p><p>de qualquer registro ao do acumulador e guardar o resultado neste. Em geral, o</p><p>acumulador é um registro fonte (operando) e um destino (resultado).</p><p>Normalmente uma CPU contém outros registros de uso geral que</p><p>podem ser utilizados para guardar operandos ou dados intermédios. A</p><p>existência de registros de uso geral torna desnecessário transferir</p><p>resultados intermédios entre a memória e o acumulador, melhorando</p><p>assim a velocidade de tratamento dos dados.</p><p>(Disponível em:</p><p>. Acesso em:</p><p>16 de outubro de 2016).</p><p>Contador de Programa ou Contador de Instrução - CI</p><p>As instruções que constituem um programa são armazenadas na memória</p><p>do sistema. O processador central referencia o conteúdo da memória, de modo</p><p>a determinar qual a ação apropriada. Isso significa que o processador tem que</p><p>saber qual a localização de memória que contém a instrução seguinte. Cada uma</p><p>das localizações de memória é numerada, de modo a distingui-la de qualquer</p><p>outra. O número que identifica a localização de memória é designado, é o</p><p>Endereço (Address).</p><p>O processador</p><p>mantém um contador que contém o endereço da próxima</p><p>instrução de programa. Esse registro é designado por Contador de Programa</p><p>(Program Counter). O processador atualiza o contador de programa,</p><p>adicionando uma unidade ao contador, cada vez que executa uma instrução, de</p><p>modo que o contador de programa está sempre atualizado (apontando para a</p><p>próxima instrução a executar).</p><p>A ordenação e alocação das instruções do programa seguem em</p><p>posições de memória numericamente adjacentes, de modo que os endereços</p><p>mais baixos contenham as primeiras instruções a serem executadas. O</p><p>https://pt.wikipedia.org/wiki/Registrador_(informática)/</p><p>7</p><p>programador pode violar esta ordem sequencial utilizando uma instrução de salto</p><p>(Jump) para outra área de memória. Uma instrução de salto contém o endereço</p><p>da instrução a ser executada. A instrução seguinte pode ser guardada em</p><p>qualquer localização de memória, já que o seu endereço é indicado na instrução</p><p>de salto. Durante a execução de uma instrução de salto, o processador substitui</p><p>o conteúdo do contador de programa pelo endereço especificado na instrução</p><p>de salto, desse modo, mantém-se a continuidade lógica do programa. Um tipo</p><p>especial de salto de programa ocorre sempre que o programa Chama uma sub-</p><p>rotina (Call). Neste tipo de salto, o processador deverá lembrar-se do endereço</p><p>contido no contador de programa na altura do salto, isso permitirá ao</p><p>processador regressar à execução do programa principal quando terminar a</p><p>última instrução da sub-rotina.</p><p>Uma Sub-rotina é um programa dentro do programa, normalmente se trata</p><p>de um conjunto de instruções que irá ser executado repetidamente, durante a</p><p>execução do programa principal. As rotinas de cálculo do quadrado, do seno ou</p><p>do logaritmo de uma variável estão neste caso de funções habitualmente escritas</p><p>como sub-rotinas. Outros exemplos podem ser os de programas destinados a</p><p>enviar ou receber dados de um dispositivo periférico externo. O processador tem</p><p>um modo especial de lidar com sub-rotinas, de modo a assegurar um regresso</p><p>ordenado ao programa principal. Quando o processador recebe uma instrução</p><p>Call, incrementa o Contador de Programa e guarda o conteúdo do contador</p><p>numa área reservada de memória designada por Pilha (Stack). A Pilha guarda o</p><p>endereço da instrução a ser executada a seguir à execução da sub-rotina. Então</p><p>o processador carrega o endereço especificado na instrução Call no Contador</p><p>de Programa. A instrução seguinte a ser executada é a primeira da sub-rotina. A</p><p>última instrução de uma sub-rotina é a Return. Essa instrução não necessita</p><p>especificar o endereço. Quando o processador executa uma instrução Return,</p><p>carrega o contador de Programa com o endereço existente no topo da Pilha. Isso</p><p>8</p><p>leva o processador a terminar a execução da sub-rotina e regressar ao programa</p><p>principal para executar a instrução seguinte à instrução Call.</p><p>“As sub-rotinas dizem-se aninhadas, sempre que uma chama outra, que por sua</p><p>vez chama outra, etc. Isso é aceitável desde que o processador possua memória</p><p>suficiente para guardar os endereços de retorno necessários”. (Disponível em:</p><p>. Acesso em: 16 de</p><p>dezembro de 2016).</p><p>Os processadores possuem modos diferentes de gerir a pilha. Alguns</p><p>possuem capacidades de armazenamento dos endereços de retorno</p><p>imbuídas. Outros processadores utilizam áreas reservadas da</p><p>memória externa para pilha e limita-se a manter atualizado num</p><p>registro um ponteiro de pilha (Stack Pointer) que contém o endereço</p><p>da mais recente inserção na pilha.</p><p>(Disponível em:</p><p>.</p><p>Acesso em: 16 de dezembro de 2016).</p><p>A utilização de uma pilha externa torna ilimitada a possibilidade de</p><p>chamadas de sub-rotinas. Além disso, se o processador possuir instruções que</p><p>permitam guardar na pilha (Push) e dela retirar (Pop) os conteúdos do</p><p>acumulador e dos outros registros de uso geral, torna-se possível o</p><p>processamento multinível de interrupções (Interrupts). O estado (status) do</p><p>processador (ou seja, o conteúdo dos seus registros) pode ser guardado na pilha</p><p>quando uma interrupção é atendida e reposta depois do atendimento</p><p>da interrupção.</p><p>UC - Unidade de Controle: tem por funções a busca, interpretação e controle de</p><p>execução das instruções e o controle dos demais componentes do computador.</p><p>Registrador de Dados de Memória – RDM e Registrador de Endereços de Memória</p><p>– REM: São os registradores utilizados pela UCP e memória para comunicação e transferência</p><p>de informações. Em geral o RDM possui um tamanho igual ao da palavra do barramento de</p><p>dados, enquanto o REM possui um tamanho igual ao dos endereços da memória.</p><p>Registrador de Instrução – RI: É o registrador que tem a função específica de</p><p>armazenar a instrução a ser executada pela UCP. Ao se iniciar um ciclo de instrução, a UC emite</p><p>https://pt.wikipedia.org/wiki/Sub-rotina_aninhada</p><p>https://pt.wikipedia.org/wiki/Conjunto_de_instruções</p><p>9</p><p>o sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na</p><p>memória que, via barramento de dados e RDM, será armazenada no RI.</p><p>Decodificador de Instrução - DI: É um dispositivo utilizado para identificar as operações</p><p>a serem realizadas, e que estão correlacionadas à instrução em execução. Em outras palavras,</p><p>cada instrução é uma ordem para que a UCP realize uma determinada operação. Como são</p><p>muitas instruções, é necessário que cada uma possua uma identificação própria e única. A</p><p>unidade de controle está, por sua vez, preparada para sinalizar adequadamente aos diversos</p><p>dispositivos da UCP, conforme ela tenha identificado a instrução a ser executada. O</p><p>decodificador recebe na entrada um conjunto de bits previamente escolhido e específico para</p><p>identificar uma instrução de máquina e possui 2N saídas, sendo na quantidade de algarismos</p><p>binários do valor de entrada.</p><p>Unidade de Controle – UC: É o dispositivo mais complexo da UCP. Além de possuir a</p><p>lógica necessária para realizar a movimentação de dados e instruções para a UCP, por meio dos</p><p>sinais de controle que emite em instantes de tempo programados, esse dispositivo controla a</p><p>ação da UAL. Os sinais de controle emitidos pela UC ocorrem em vários instantes durante o</p><p>período de realização de um ciclo de instrução e, de modo geral, todos possuem uma duração</p><p>fixa e igual, originada em um gerador de sinais usualmente conhecido como relógio (clock). Ao</p><p>contrário de circuitos integrados mais comuns, cuja função é limitada pelo hardware, a unidade</p><p>de controle é mais flexível. Ela recebe instruções da unidade de E/S, as converte em um formato</p><p>que pode ser entendido pela unidade de aritmética e lógica e controla qual etapa do programa</p><p>está sendo executada.</p><p>Relógio – Clock: É o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A</p><p>quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de</p><p>medida do relógio, denominada frequência, a qual também usamos para definir velocidade na</p><p>UCP. A unidade de medida usual para a frequência dos relógios de UCP é o Hertz (Hz), que</p><p>significa um ciclo por segundo. Como se trata de frequências elevadas abrevia-se os valores</p><p>usando-se milhões de Hertz, ou de ciclos por segundo (Mega-hertz ou simplesmente, MHz).</p><p>Assim, por exemplo, se um determinado processador funciona com seu relógio oscilando 25</p><p>milhões de vezes por segundo, sua frequência de operação é de 25 MHz. E como a duração de</p><p>um ciclo, seu período, é o inverso da frequência, então cada ciclo, neste exemplo, será igual ao</p><p>inverso de 25.000.000 ou 1/25.000.000=0,00000004 ou 40 ns.</p><p>Registradores: Além dessas partes (UAL e UC), o microprocessador também conta com</p><p>uma área de memória denominada Registradores (Regs). Para que um dado possa ser</p><p>transferido para a UAL, é necessário que ele permaneça, mesmo que por um breve instante,</p><p>armazenado em um registrador. Além disso, o resultado de uma operação aritmética ou lógica</p><p>10</p><p>realizada na UAL deve ser armazenado temporariamente, de modo que possa ser utilizado mais</p><p>adiante ou apenas para ser, em seguida, transferido para a memória.</p><p>Para entender a estes propósitos, a UCP é fabricada com certa quantidade de</p><p>registradores destinada ao armazenamento de dados. Servem, pois, de memória auxiliar da UAL.</p><p>Há sistemas nos quais um desses registradores, denominados acumulador, além de armazenar</p><p>dados, serve de elemento de ligação da UAL com os restantes dispositivos da UCP.</p><p>Memória Principal: É a parte do computador onde programas e dados são armazenados</p><p>para processamento. A informação permanece na memória principal apenas enquanto for</p><p>necessário para seu emprego pela UCP, sendo, então, que a área de MP (memória principal),</p><p>ocupada pela informação, possa ser liberada para ser posteriormente regravada por outra</p><p>informação. Quem controla a utilização da memória principal é o Sistema Operacional.</p><p>Memória Cache: Com o desenvolvimento da tecnologia de construção da UCP, as</p><p>velocidades foram ficando muito mais altas que as das memórias, que não tiveram a mesma</p><p>evolução de velocidade</p><p>(o aperfeiçoamento das memórias se deu mais no fator capacidade). Dessa forma, os tempos</p><p>de acesso às memórias foram ficando insatisfatórios e a UCP ao buscar um dado na memória</p><p>precisa ficar esperando muitos ciclos até que a memória retorne o dado buscado (waitstates),</p><p>configurando um gargalo (bottleneck) ao desempenho</p><p>do sistema.</p><p>Por esse motivo, desenvolveram-se outras arquiteturas de memória privilegiando a</p><p>velocidade de acesso. A arquitetura da memória cache é muito diferente da arquitetura da</p><p>memória principal, e o acesso a ela é muitas vezes mais rápido (ex.: 5ns contra 70 ns).</p><p>No entanto, o custo de fabricação da memória cache é muito maior que o da MP. Dessa</p><p>forma, não é econômico construir um computador somente com tecnologia de memória cache.</p><p>Criou-se então um artifício, incorporando-se ao computador uma pequena porção de memória</p><p>cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da MP.</p><p>Desenvolveram-se ainda algoritmos que fazem com que, a cada momento, a memória</p><p>cache armazene a porção de código ou dados (por exemplo, uma sub-rotina) que estão sendo</p><p>usados pela UCP. Essa transferência (MPCache) é feita pelo hardware e, independe do</p><p>software, que ignora se existe ou não memória cache, portanto ignora essa transferência, nem o</p><p>programador nem o sistema operacional tem que se preocupar com ela.</p><p>A memória cache opera em função de um princípio estatístico comprovado. Em geral, os</p><p>programas tendem a referenciar várias vezes pequenos trechos de programas, como loops, sub-</p><p>rotinas, funções e só têm sentido porque programas executados linearmente, sequencial, são</p><p>11</p><p>raros. Dessa forma, algoritmos (chamados algoritmos de cache) podem controlar qual parte do</p><p>código ficará copiado na cache, a cada momento.</p><p>Quando a UCP busca um determinado trecho de código e o encontra na cache, dá-se</p><p>um "cache hit”, enquanto se o dado não estiver presente na cache será necessário requisitar o</p><p>mesmo à MP, acarretando atraso no processamento, e dá-se um "cache miss" ou "cache fault".</p><p>O índice de cache hit ou taxa de acerto da cache é geralmente acima de 90%.</p><p>Memórias cache também são VOLÁTEIS, ou seja, dependem de estar energizadas para</p><p>manter gravado seu conteúdo.</p><p>Memórias Auxiliares</p><p>Memórias auxiliares resolvem problemas de armazenamento de grandes quantidades de</p><p>informações. A capacidade da MP é limitada pelo seu relativamente alto custo, enquanto as</p><p>memórias auxiliares têm maior capacidade e menor custo; portanto, o custo por bit armazenado</p><p>é muito menor.</p><p>Outra vantagem importante é que as memórias auxiliares não são VOLÁTEIS, isto é, não</p><p>dependem de estar energizados para manter gravado seu conteúdo.</p><p>Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), CD-ROM,</p><p>DVD, unidades ótico-magnéticas, etc. (Disponível em:</p><p>Acesso em: 16 de outubro de</p><p>2016).</p><p>TEMA 3: OPERAÇÕES DE UM MICROPROCESSADOR</p><p>Um ser humano usa seu conhecimento e inteligência para traduzir uma</p><p>tarefa complexa (tal como a tarefa de buscar uma pasta num arquivo) numa série</p><p>de passos elementares (identificar o móvel e gaveta onde está a pasta, andar</p><p>até o móvel, abrir a gaveta, encontrar a pasta, retirar a pasta e fechar a gaveta).</p><p>Para o computador, uma instrução precisa ser detalhada, dividida em pequenas</p><p>etapas de operações, que são dependentes do conjunto de instruções do</p><p>computador e individualmente executáveis.</p><p>https://pt.wikipedia.org/wiki/Dispositivo_de_armazenamento</p><p>12</p><p>Fazendo um paralelo com linguagens de alto nível, o programa elaborado</p><p>pelo programador (o código-fonte, composto de instruções complexas) precisa</p><p>ser "traduzido" em pequenas operações elementares (primitivas) executáveis</p><p>pelo hardware. Cada uma das instruções tem um código binário associado, que</p><p>é o código da operação.</p><p>Formato geral de uma Instrução:</p><p>Código de operação</p><p>(OPCODE)</p><p>Operando (s)</p><p>(OP)</p><p> Código de Operação ou OPCODE: identifica a operação a ser realizada</p><p>pelo processador. É o campo da instrução cujo código binário da operação</p><p>a ser realizada. Este código é a entrada no decodificador de instruções na</p><p>unidade de controle. Cada instrução deverá ter um código único que a</p><p>identifique.</p><p> Operando(s): é ou são o(s) campo(s) da instrução cujo valor binário</p><p>sinaliza a localização do dado (ou é o próprio dado) que será manipulado</p><p>(processado) pela instrução durante a operação. Em geral, um operando</p><p>identifica o endereço de memória onde está contido o dado que será</p><p>manipulado, ou pode conter o endereço em que o resultado da operação</p><p>será armazenado. Finalmente, um operando pode também indicar um</p><p>Registrador (que conterá o dado propriamente dito ou um endereço de</p><p>memória onde está armazenado o dado). Os operandos fornecem os</p><p>dados da instrução. Obs.: Existem instruções que não têm operando. Ex.:</p><p>Instrução HALT (PARE).</p><p> Conjunto de Instruções: Quando se projeta um hardware, define-se o</p><p>seu conjunto set de instruções, que são conjuntos de instruções</p><p>elementares que o hardware é capaz de executar. O projeto de um</p><p>processador é centrado no seu conjunto set de instruções. Essa é uma</p><p>13</p><p>das mais básicas decisões a ser tomada pelo Engenheiro de projeto.</p><p>Quanto menor e mais simples for este conjunto de instruções, mais rápido</p><p>pode ser o ciclo de tempo do processador.</p><p>Funcionalmente, um processador precisa possuir instruções para:</p><p> Operações matemáticas:</p><p>1. Aritméticas: +, -, ×, ÷...</p><p>2. Lógicas: and, or, xor, ...</p><p>3. De complemento</p><p>4. De deslocamento</p><p> Operações de movimentação de dados (memória UCP,</p><p>registradores registradores).</p><p> Operações envolvendo leitura e escrita em dispositivos de E/S.</p><p> Operações de controle (desvio de sequência de execução, parada).</p><p>O projeto de um processador poderia ser resumido em:</p><p>a) Definir o conjunto de instruções (todas as possíveis instruções</p><p>que o processador poderá executar), definir formato e tamanho das</p><p>instruções, definir as operações elementares.</p><p>b) Projetar os componentes do processador (UAL, UC,</p><p>registradores, barramentos). Duas estratégias são possíveis na</p><p>construção do decodificador de instruções da UC:</p><p> Wiredlogic (as instruções são todas implementadas em circuito);</p><p> Microcódigo (apenas um grupo básico de instruções são</p><p>implementadas em circuitos, as demais são "montadas" por meio</p><p>de microprogramas que usam as instruções básicas.</p><p> Ciclo de Instrução</p><p>As instruções são executadas sequencialmente (a não ser pela ocorrência</p><p>de um desvio) uma a uma.</p><p>14</p><p>O CI (contador de instruções ou contador de programa) indica a sequência</p><p>de execução,</p><p>isso é, o CI controla o fluxo de execução das instruções. A Figura</p><p>2 ilustra o ciclo de processamento de uma instrução.</p><p>Figura 2: Ciclo processamento das instruções</p><p>Os passos que descrevem o processamento de uma instrução na</p><p>UCP são:</p><p>I. A UC lê o endereço da próxima instrução no CI;</p><p>II. A UC transfere o endereço da próxima instrução, através do barramento</p><p>interno, para o REM;</p><p>III. Através do barramento interno, o RDM transfere a instrução requerida ao</p><p>REM para o RI (Registrador de instrução);</p><p>IV. O RI transfere a Instrução ao DI (Decodificador de Instrução) que, se</p><p>necessário, faz o requerimento aos dados auxiliares;</p><p>V. O resultado do DI é transferido para UAL para ser executado;</p><p>VI. A UAL, após executar, armazena o resultado no ACC.</p><p>15</p><p> Instruções por ciclo</p><p>Quando se faz uma soma em uma calculadora, basta teclar cada um</p><p>dos algarismos do primeiro número, teclar o sinal de adição, depois</p><p>teclamos os algarismos do segundo número e teclamos o sinal de</p><p>igual. É comum pensar que nos computadores as coisas se passam</p><p>mais ou menos do mesmo jeito. No entanto, a soma propriamente dita</p><p>é a menor das tarefas que um computador executa quando soma dois</p><p>números. Nesse exemplo, o computador precisaria localizar a</p><p>instrução de soma na memória e movê-la para a UCP. Esta instrução</p><p>estaria codificada na forma de dígitos binários e teria que ser</p><p>decodificada para determinar a operação a ser realizada (no caso,</p><p>ADD), o tamanho dos dados (quantas células eles ocupam), determinar</p><p>a localização e buscar cada um dos números na memória, e só então,</p><p>finalmente, fazer a soma. Para o computador, a soma é realmente a</p><p>parte mais simples e mais rápida de toda a operação,</p><p>(já que decodificar a instrução e principalmente obter os dados tomam</p><p>a maior parte do tempo).</p><p>Cada nova geração de processadores tem sido capaz de executar as</p><p>operações relativas ao processamento de uma instrução em menor</p><p>número de ciclos do clock. Por exemplo, na família Intel x86:</p><p> 386 - mínimo de 6 ciclos por instrução de soma de 2 números;</p><p> 486 - em geral, 2 ciclos por instrução de soma de 2 números;</p><p> Pentium - 1 ciclo por instrução de soma de 2 números;</p><p> Pentium Pro - 1 ciclo por instrução de soma de 3 números; na</p><p>soma de mais números, quando um dos números está em memória de</p><p>baixa velocidade, o Pentium Pro é capaz de "pular" este número e,</p><p>enquanto busca o número que falta, seguir adiante, buscando e</p><p>somando os demais números para finalmente incluir o número que</p><p>faltava na soma.</p><p>(Disponível em:</p><p>. Acesso em: 15 de outubro de 2016).</p><p>TEMA 4: ARQUITETURA</p><p>O estudo das arquiteturas consiste na estruturação operacional de um</p><p>sistema computacional, e a identificação dos componentes mínimos para seu</p><p>completo e perfeito funcionamento. Tal estudo visa, entre outras coisas,</p><p>https://www.passeidireto.com/arquivo/6321311/introducao-aos-sistemas-de-computacao/15</p><p>https://www.passeidireto.com/arquivo/6321311/introducao-aos-sistemas-de-computacao/15</p><p>16</p><p>aumentar o desempenho computacional e aperfeiçoar a transferência de bits</p><p>entre os seus respectivos componentes.</p><p>Arquitetura Von Neumann</p><p>A Arquitetura de Von Neumann (de John Von Neumann) é uma</p><p>arquitetura caracterizada pela possibilidade de uma máquina digital</p><p>possuir uma única memória para programa e dados, representada pela</p><p>Figura 3, permitindo uma maior flexibilidade lógica à alocação de</p><p>memória. A arquitetura Von-Neumann, com uma só memória, requer</p><p>que todas as instruções e dados corram numa mesma interface física.</p><p>(Disponível em:</p><p>. Acesso</p><p>em: 16 de dezembro de 2016).</p><p>Figura 3: Arquitetura Von Neumann</p><p>Arquitetura HARVARD</p><p>A Arquitetura de Harvard baseia-se em um conceito mais recente que</p><p>a de Von Neumann, tendo em vista à necessidade de flexibilizar o</p><p>acesso a instrução e dados a serem processados. É uma arquitetura</p><p>que se distingue por possuir duas memórias diferentes e</p><p>independentes em termos de barramento e ligação ao processador,</p><p>onde na figura 04 temos representação da sua arquitetura. Baseia-se</p><p>na separação de barramentos de dados das memórias onde estão às</p><p>instruções de programa e das memórias de dados, permitindo que um</p><p>processador possa acessar as duas simultaneamente, obtendo um</p><p>desempenho melhor do que a da Arquitetura de Von Neumann, pois</p><p>Barramento de controle</p><p>Barramento de instrução e dados</p><p>Barramento de endereços</p><p>Memória</p><p>Programa</p><p>e Dados</p><p>Unidade de</p><p>Controle</p><p>Registradores</p><p>ULA</p><p>https://pt.wikipedia.org/wiki/Arquitetura_de_von_Neumann/</p><p>17</p><p>pode buscar uma nova instrução enquanto executa outra.A principal</p><p>vantagem desta arquitetura é dada pela dupla ligação às memórias de</p><p>dados e programa (código), permitindo assim que o processador leia</p><p>uma instrução ao mesmo tempo em que faz um acesso à memória de</p><p>dados.</p><p>Disponível em:</p><p>Acesso em: 16 de</p><p>dezembro de 2016.</p><p>Figura 04: Arquitetura Harvard</p><p>A diferença entre a arquitetura Von Neumann e a Harvard é que a</p><p>última separa a manipulação dos dados das instruções a serem</p><p>processadas, enquanto a anterior utiliza o mesmo espaço de memória</p><p>para ambas. Nas CPUs atuais, é mais comum encontrar a arquitetura</p><p>Von Neumann.</p><p>(Disponível em:</p><p>. Acesso em: 16 de</p><p>dezembro de 2016).</p><p>Nessas distintas arquiteturas, temos vantagens e desvantagens, como se</p><p>pode observar a seguir:</p><p> Arquitetura tipo Harvard: separa o armazenamento e o tráfego</p><p>das instruções da CPU e dos dados em duas unidades distintas de</p><p>memória, utilizada nos microcontroladores;</p><p> Já na arquitetura Von-Neumann, é processada uma única</p><p>informação por vez, visto que, nessa tecnologia, execução e dados</p><p>percorrem o mesmo barramento, o que torna o processo lento em</p><p>relação à arquitetura Harvard. Essa é a tecnologia mais utilizada</p><p>nos PCs.</p><p>(Disponível em:</p><p>. Acesso em: 16 de</p><p>dezembro de 2016).</p><p>https://pt.wikipedia.org/wiki/Arquitetura_Harvard</p><p>https://pt.wikipedia.org/wiki/Arquitetura_Harvard</p><p>https://pt.wikipedia.org/wiki/Arquitetura_Harvard</p><p>18</p><p>Desempenho</p><p>Em casos em que a arquitetura não possui memória cache, a</p><p>arquitetura Harvard se mostra mais eficiente que a arquitetura de Von</p><p>Neumann. Isso acontece porque, como os barramentos estão</p><p>fisicamente separados, é possível realizar transferências de cadeias de</p><p>bits simultâneas em ambos, instrução e dados.</p><p>A arquitetura de Von Neumann se mostra mais eficiente quando as</p><p>instruções a serem executadas são complexas, ao passo que a</p><p>arquitetura Harvard demonstra um melhor desempenho quando as</p><p>instruções são simples. Tal diferença se dá, pois no esquema proposto</p><p>por Von Neumann, como as instruções e dados estão alocados em um</p><p>mesmo componente, existe a possibilidade de manipular os programas</p><p>a serem executados.</p><p>(Disponível em:</p><p>. Acesso em: 16 de</p><p>dezembro de 2016).</p><p>Na arquitetura de Harvard, geralmente, tem-se a memória de instruções</p><p>ready-only, ou seja, os bits destinados a fornecer instruções para a execução</p><p>dos programas não podem ser alterados.</p><p>CISC</p><p>Significa dizer que os processadores contêm um Set de Instrução mais</p><p>Complexo. Quanto maior a complexidade da instrução que deve ser executada,</p><p>mais espaço ela ocupa no chip. Desse modo, chegará um momento que</p><p>passaremos a ter um set de instruções tão grande que começará a afetar o</p><p>desempenho, dificultando a possibilidade de implementar outras funções</p><p>importantes. Ter um complexo (grande) set de instruções “CISC” nem sempre é</p><p>interessante para um bom desempenho do processador.</p><p>• Numa análise feita</p><p>pelo laboratório da IBM sobre como estavam</p><p>sendo usados os diversos tipos de instruções, concluíram que num</p><p>microprocessador que usava um set de instruções de, por exemplo,</p><p>200 instruções, a maior parte do processamento era feita apenas com</p><p>umas 10 instruções.</p><p>https://pt.wikipedia.org/wiki/Arquitetura_Harvard</p><p>19</p><p>• Uma grande parte das instruções era pouco usada, às vezes até uma</p><p>única vez em um longo programa, de modo que elas poderiam ser</p><p>implementadas pelas instruções básicas mais usadas.</p><p>(Disponível em:</p><p>. Acesso em: 15 de outubro de 2016).</p><p>RISC</p><p>Computador com um Conjunto Reduzido de Instruções (RISC), é uma</p><p>linha de arquitetura de processadores que favorece um conjunto</p><p>simples e pequeno de instruções que levam aproximadamente a</p><p>mesma quantidade de tempo para serem executadas.</p><p>(Disponível em: . Acesso em: 16 de</p><p>dezembro de 2016).</p><p>• Instruções do Mesmo Tamanho: as instruções têm sempre um único</p><p>tamanho e uma única maneira de executá-las.</p><p>• Uma Instrução por Ciclo de Máquina: todas as instruções são</p><p>executadas em um único ciclo, fazendo com que o processador</p><p>execute várias instruções ao mesmo tempo, tornando o</p><p>processamento muito mais rápido, isto é possível, devido a um tipo de</p><p>tecnologia chamada de Pipeline.</p><p>(Disponível em: . Acesso em: 16 de</p><p>dezembro de 2016).</p><p>Tema 5: Famílias de Processadores</p><p>O primeiro desenho de um microprocessador feito pelos engenheiros</p><p>da Intel ocorreu em 1971, a pedido da empresa japonesa Busicom,</p><p>fabricantes de calculadoras eletrônicas. Esse processador foi o núcleo</p><p>de processamento de 12 modelos diferentes de calculadora, pois, os</p><p>engenheiros perceberam que não teriam tempo suficiente para</p><p>produzir 12 integrados diferentes. Decidiram então desenhar um</p><p>circuito integrado central, no qual se encontravam todas as funções de</p><p>cálculo desejadas. As particularidades de cada modelo foram</p><p>colocadas em uma memória ROM independentes.</p><p>https://www.passeidireto.com/arquivo/2267627/microcontroladores-01</p><p>https://www.passeidireto.com/arquivo/2267627/microcontroladores-01</p><p>https://pt.wikipedia.org/wiki/RISC</p><p>https://pt.wikipedia.org/wiki/RISC</p><p>20</p><p>Assim sem ter ideias da potencialidade de sua solução, os engenheiros</p><p>desenharam um dispositivo de aplicações amplas, cujas</p><p>particularidades operacionais dependiam do programa armazenado na</p><p>ROM externa.</p><p>Este componente básico tornou-se o primeiro microprocessador e foi</p><p>comercializado como 4004,</p><p>(Disponível em:</p><p>. Acesso em: 15 de outubro de 2016).</p><p>Na Figura 5, temos a ilustração do processador 4004.</p><p>Figura 5: Processador 4004</p><p>Evolução e Características dos Microprocessadores</p><p>O processo de evolução tecnológica dos processadores constitui-se</p><p>através da criação de geração, sendo classificados da seguinte forma:</p><p> Primeira geração</p><p>o 8088: variação do 8086 (16 bits), integrava o PC-XT;</p><p>o Barramento externo de 8 bits.</p><p>o Processador muito potente para época mais que logo alcançou seu limite.</p><p> Segunda geração</p><p>o 80286: Superou o limite de endereçamento de 1MB para RAM, alcançando</p><p>surpreendente 16MB.</p><p>o Barramento externo de 16 bits;</p><p>o Clock de até 25MHz.</p><p> Terceira geração</p><p>o 80386: primeiro microprocessador de 32 bits;</p><p>o Endereçamento de 4GB de RAM;</p><p>o Modo de memória protegida que permite duas ou mais aplicações serem executadas</p><p>simultaneamente, sem risco de conflitos entre leitura e escrita de memória de cada uma delas.</p><p>o Coprocessamento matemático: (80237);</p><p>https://docente.ifrn.edu.br/demetrioscoutinho/pronatec/processadores</p><p>https://docente.ifrn.edu.br/demetrioscoutinho/pronatec/processadores</p><p>21</p><p>o Ambientes gráficos (Windows e Linux);</p><p>o Aparecimento de dispositivos AMD e Cyrix.</p><p> Quarta geração</p><p>o 80486: 32 bits de barramento externo;</p><p>o Clock de 133MHz;</p><p>o Incorporado ao microprocessador um bloco especial de execução de operações</p><p>matemáticas com ponto flutuante (FPU);</p><p>o Introduzido ao Microprocessador pequenos blocos de memória RAM (cache) para</p><p>aumentar o desempenho de processamento.</p><p> Quinta geração</p><p>o Impulsionada pelos processadores Pentium e seus clones, como os K5 ou os K6 da AMD</p><p>(Advanced Micro Devices), e o 6x86(M-II) da Cyrix;</p><p>o Os circuitos do Pentium tinham características avançadas que permitiam a execução de</p><p>mais de uma operação por cada ciclo de clock;</p><p>o Barramento externo de 64 bits possibilitando carregar até dois dados em um só ciclo;</p><p>o Clock atingindo a ordem de 600MHz;</p><p>o Começou a “guerra dos microprocessadores”, graças à agressiva política de inovação</p><p>tecnológica da AMD.</p><p>Disponível em:</p><p> Sexta geração</p><p>o Nasceu um microprocessador que foi um verdadeiro fracasso financeiro, mas que abriu</p><p>as portas do mercado a toda uma nova família de processadores: PENTIUM PRO;</p><p>o Curiosa construção de dois chips interconectados, o que o tornava mais caro;</p><p>o Com ele veio a ideia de se incluir na mesma pastilha a memória cachê externa;</p><p>o Deste microprocessador derivam-se os bem-sucedidos PENTIUM II, o PENTIUM II e as</p><p>primeiras variantes do CELERON.</p><p>Disponível em:</p><p> Pentium Celeron</p><p>o O Celeron, ao ser lançado, era um Pentium II sem cache L2;</p><p>o Operava apenas com seus 32 kB de cache L1;</p><p>o Bem mais lento que o Pentium II;</p><p>o Um Celeron de 266 MHz chegava a perder para o Pentium MMX/233 em termos de</p><p>desempenho;</p><p>o Outro fator que prejudicava o seu desempenho era o barramento externo de 66 MHz,</p><p>usado mesmo na época em que o Pentium II já operava com 100 MHz externos, e que o Pentium</p><p>III operava com 100 e 133 MHz externos;</p><p>o Relativo sucesso no mercado de PCs de baixo custo;</p><p>22</p><p>o Este processador pode ser instalado nas mesmas placas de CPU projetadas para o</p><p>Pentium II e Pentium III;</p><p>o O Celeron era uma alternativa barata em relação ao Pentium II/III;</p><p>o O encapsulamento usado nos primeiros Celerons era chamado de SEPP (Single Edge</p><p>Processor Package) – SLOT 1.</p><p> Sétima geração</p><p>Em 23 de Junho de 1999, a AMD apresentou o primeiro processador dessa geração:</p><p> Athlon:</p><p>o Elevado desempenho em operações com ponto flutuante;</p><p>o Superou a Intel por um curto período;</p><p>o Clock de 500 até 700MHz;</p><p>o Clock externo: 200MHz;</p><p>o Cache L1: 128kB;</p><p>o Cache L2: 512kB.</p><p>o Encapsulamento SECC (Single Edge Contact Cartridge);</p><p>o Conector SLOT A;</p><p> Athlon T-Bird</p><p>o Athlon com Cache integrada ao núcleo;</p><p>o Formato: Socket A - 462 (PGA - Pin Grid Array)</p><p>o Clock interno: 850 a 1400 MHz;</p><p>o Clock externo: 200 a 266Mhz;</p><p>o Cache L1: 128kB;</p><p>o Cache L2: 256kB.</p><p> Duron</p><p>Assim como a Intel produziu processadores Celeron com versões de menor custo e menor</p><p>desempenho do que o Pentium II e o Pentium III, a AMD produziu a partir do Athlon T-Bird, o</p><p>AMD Duron.</p><p>o A diferença entre o Athlon e o Duron é a cache L2;</p><p>o O Athlon tem 256 kB, enquanto o Duron tem 64 kB;</p><p>o Foi criado já na versão T-Bird, com encapsulamento PGA.</p><p>o Clock interno: 550 a 1300MHz;</p><p>o Clock externo: 200MHz;</p><p>o Cache L1: 128kB;</p><p>o Cache L2: 64kB.</p><p> Athlon XP</p><p>Em outubro de 2001, foram lançadas as versões do Palomino voltadas para desktops, que</p><p>receberam o nome comercial de Athlon XP (Extreme Performance). Com esse modelo houve</p><p>grandes discussões e debates, pois a AMD deixou de referenciar seus processadores pelo clock</p><p>23</p><p>e passou exclusivamente ao número do modelo. Assim foram lançadas as versões 1500+,</p><p>1600+,1700+ e 1800+, sendo que todos os modelos trabalham com FSB de 133 ou 266MHz.</p><p> Semprom</p><p>No final de 2004, o Athlon XP, versão superior do T-Bird, e o Duron pararam de ser fabricados;</p><p>preocupada com o mercado de máquinas de pequeno desempenho, a AMD lançou o Sempron,</p><p>que na verdade é um Athlon XP um pouco mais lento, com exceção dos Sempron para</p><p>soquete</p><p>754, que são uma versão do Athlon 64 soquete 754 com menos memória cachê L2.</p><p>o Cache L2: 256 KB;</p><p>o Formato: Socket A e Socket 754.</p><p> Pentium 4</p><p>o Lançado no final de 2000;</p><p>o Inicialmente operava com clocks de 1.5 a 1.6GHz. Atualmente 3.8GHz;</p><p>o FSB (Font Side Bus) de 400MHz;</p><p>o Superando o 133MHz do P3 e 266MHz do Athlon T-Bird;</p><p>o Necessidade de Chipset de 400Mhz: Intel 850;</p><p>o Primeiras placas de memórias equipadas com RAMBUS(RDRAM);</p><p>o No seu lançamento, o socket utilizado era o 423, em formato provisório;</p><p>o Alguns meses após seu lançamento, passou a utilizar o Socket 478;</p><p>o Quem comprou as primeiras placas de Pentium 4 ficou sem opção de upgrade, pois os</p><p>modelos 423 pinos foram fabricados apenas até 2GHz.</p><p>Disponível em:</p><p> Pentium HT</p><p>Embora possa ser considerado uma variante do Pentium 4, há uma grande diferença entre os</p><p>dois;</p><p>Aproveitando as múltiplas linhas de execução, a Intel desenvolveu um novo circuito com</p><p>tecnologia de “hiperexecução”</p><p>(HT - Hyper Thread);</p><p>Com o Pentium HT colocado em uma placa mãe especialmente desenhada para ele, qualquer</p><p>sistema operacional capaz de trabalhar no modo multiprocessador reconhecerá a existência de</p><p>dois processadores e repartirá entre eles o trabalho que se esteja realizando;</p><p>o Aumento de desempenho de 10 a 20%;</p><p>o Redução de conflitos (Múltiplas aplicações abertas);</p><p>o Microprocessador ideal para aplicações que necessitam de muitos recursos:</p><p>o Animações em 3D, edição de vídeo ou execução de grandes bancos de dados;</p><p>o Socket de 478 terminais;</p><p>o Fonte de ventilação especial;</p><p>24</p><p>o Todos os modelos de Pentium 4 com FSB de 800MHz possuem HT;</p><p>o Medida de desempenho: Uma das tarefas mais pesadas para um processador moderno:</p><p>a conversão de vídeo de CD (MPEG-2) para AVI, usando CODEX DIVX 5.1 (MPEG-4);</p><p>o Pentium 3 de 1GHz: 8 horas;</p><p>o Pentium 4 de 2GHz: 4 horas;</p><p>o Pentium 4 3.2 com HT desativado: 1hora e 40minutos;</p><p>o Pentium 4 com 3.2 com HT ativado: 1hora e 20 minutos.</p><p> Oitava geração</p><p>Nos últimos anos o mercado de máquinas de alto desempenho consolidou os primeiros</p><p>microprocessadores de oitava geração:</p><p> Itanium2 (Intel) e Opteron (AMD)</p><p>o Desenhados para trabalhar com palavras de 64 bits</p><p>o Atualmente, suas aplicações são limitadas a grandes servidores empresariais;</p><p>o AMD saiu na frente e apresentou simultaneamente, seus processadores de 64 bits para</p><p>o mercado comum:</p><p> Athlon 64 e Athlon 64FX</p><p>Ambos os processadores tiveram uma boa aceitação pelo mercado devido a seu desempenho x</p><p>custo.</p><p> Processadores de oitava geração: Dual core e Quad core</p><p>o O Pentium D a versão de dois núcleos do Pentium 4;</p><p>o O Pentium Extreme Edition é a versão do Pentium D com tecnologia Hyper Threading</p><p>habilitada;</p><p>O Pentium D e o Pentium Extreme Edition são baseados na microarquitetura x86 de sétima</p><p>geração da Intel, chamada Netburst, ou seja, apesar do nome diferente, eles são internamente</p><p>um Pentium 4 (ou melhor, dois processadores Pentium 4 em um único encapsulamento).</p><p>o Processo de 65 nm – Permitiu a redução do custo de produção, já que em um único</p><p>waffer é possível produzir um número maior de chips.</p><p>o Depois de chegar a 800 MHz em 2003, esses novos chips chegam ao novo patamar de</p><p>clock externo. São na verdade 266 MHz em modo QDR (Quad Data Rate), resultando em 1066</p><p>milhões de transferências por segundo.</p><p>o Nova tecnologia que permite a execução simultânea de múltiplos sistemas operacionais</p><p>pelo mesmo processador.</p><p>A família dos processadores Core 2 é formada por três membros:</p><p>o Core 2 Duo, que substitui o Pentium 4 e o Pentium D;</p><p>o O Core 2 Quad, que é um Core 2 Duo com quatro núcleos;</p><p>o E o Core 2 Extreme, que substitui o Pentium Extreme Edition.</p><p>25</p><p>o A diferença entre o Core 2 Duo e o Core 2 Extreme é que este último trabalha com clocks</p><p>mais elevados e tem o multiplicador de clock destravado, o que permite fazer overclock alterando</p><p>o multiplicador de clock do processador.</p><p>O processador Core 2 Duo é diferente do Core Duo.</p><p>O Core Duo (conhecido anteriormente pelo nome-código Yonah) é o</p><p>nome comercial para um Pentium M com dois núcleos de processamento construído com</p><p>tecnologia de 65 nm.</p><p>Já o Core 2 Duo é o nome comercial para o processador de nome código Merom (para</p><p>notebooks) ou Conroe (para desktops), que utiliza a nova microarquitetura Core da Intel.</p><p>(Disponível em:</p><p>Acesso em: 15 de outubro de 2016).</p><p>SÍNTESE</p><p>Neste tema pudemos apreender sobre o princípio de funcionamento da</p><p>CPU, como são tratadas as operações lógicas e aritméticas, os registradores</p><p>envolvidos e suas funções e, também, como o processador realiza as operações</p><p>de busca, decodificação e execução das instruções contidas na memória</p><p>principal. Não podemos deixar de lembrar que, somente um processador não</p><p>pode manter a consistência de nenhum sistema por mais básico que seja, então</p><p>quando desejamos construir um sistema processado, devemos associar os</p><p>elementos necessários, tais como: memórias e os dispositivos de entrada e</p><p>saída.</p><p>REFERÊNCIAS</p><p>DIAS JUNIOR, W. A. Microprocessadores 8086/8088. São Paulo: McGraw-</p><p>Hill, 1990.</p><p>DOCPLAYER. Introdução aos Sistemas de Microprocessadores. Disponível</p><p>em:</p><p>https://docente.ifrn.edu.br/demetrioscoutinho/pronatec/processadores</p><p>26</p><p>. Acesso em: 15 de outubro de 2016.</p><p>GIMENEZ, S. P. Microcontroladores 8051: teoria do Hardware e do Software:</p><p>aplicações em controle digital: laboratório e simulação. Pearson. ISBN:</p><p>9788587918284.</p><p>Instituto Federal do Rio Grande do Norte – IFRN. Processadores. Disponível</p><p>em: .</p><p>Acesso em: 15 de outubro de 2016.</p><p>PASSEIDIRETO. Introdução aos sistemas de computação. Disponível em:</p><p>. Acesso em: 15 de outubro de 2016.</p><p>PASSEIDIRETO. Microcontroladores. Disponível em:</p><p>.</p><p>Acesso em: 15 de outubro de 2016.</p><p>SHIMIZU, T. Programação Assembler para Microprocessadores 8080/85,</p><p>Z80 e 6502. São Paulo – SP: McGraw Hill, 1987.</p><p>TANENBAUM, A. S. Organização Estruturada de Computadores. 6. ed.</p><p>Pearson. ISBN: 9788581435398</p><p>TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: Princípios e</p><p>Aplicações. 11. ed. São Paulo: Pearson, 2011.</p><p>https://pt.wikipedia.org/</p><p>https://pt.wikipedia.org/</p><p>27</p><p>TOKHEIM, Roger L. Introdução aos Microcontroladores. São Paulo:</p><p>McGraw-Hill, 1995.</p><p>WIKIPEDIA. Barramento. Disponível em:</p><p>. Acesso em: 16 de outubro de 2016.</p><p>WIKIPEDIA. Sistema computacional. Disponível em:</p><p>. Acesso em: 16 de</p><p>outubro de 2016.</p><p>WIKIPEDIA. Hardware. Disponível em:</p><p>. Acesso em: 16 de outubro de 2016.</p><p>WIKIPEDIA. Registrador (Informática). Disponível em:</p><p>Acesso em: 16 de</p><p>outubro de 2016.</p><p>WIKIPEDIA. Sub-rotina aninhada. Disponível em:</p><p>Acesso em: 16 de</p><p>dezembro de 2016.</p><p>WIKIPEDIA. Conjunto de Instruções. Disponível em:</p><p>Acesso em: 16 de</p><p>dezembro de 2016.</p><p>WIKIPEDIA. Dispositivo de armazenamento. Disponível em:</p><p>Acesso em: 16</p><p>de outubro de 2016.</p><p>28</p><p>WIKIPEDIA. Arquitetura de Von Neumann. Disponível em:</p><p>Acesso em: 16</p><p>de dezembro de 2016.</p><p>WIKIPEDIA. Arquitetura Havard. Disponível em:</p><p>Acesso em: 16 de dezembro</p><p>de 2016.</p><p>WIKIPEDIA. RISC. Disponível em: . Acesso</p><p>em: 16 de dezembro de 2016.</p>

Mais conteúdos dessa disciplina