Microprocessadores: mudanças entre as edições
(Criou página com '=CPU e Microprocessadores= ==Conexão dos dispositivos de memória à CPU== Um computador possui vários dispositivos de memória, como a memória principal, ou memória RAM,...') |
|||
(26 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 16: | Linha 16: | ||
No '''barramento de dados''', somente um dispositivo pode enviar dados de cada vez. As saídas dos demais devem ficar em estado de '''alta impedância'''. Caso contrário as saídas dos dispositivos podem ser danificadas por '''curtos-circuitos''', quando por exemplo, em um dado pino, um dispositivo escreve 0 (0 V) e outro 1 (5 V). | No '''barramento de dados''', somente um dispositivo pode enviar dados de cada vez. As saídas dos demais devem ficar em estado de '''alta impedância'''. Caso contrário as saídas dos dispositivos podem ser danificadas por '''curtos-circuitos''', quando por exemplo, em um dado pino, um dispositivo escreve 0 (0 V) e outro 1 (5 V). | ||
==Organização interna da CPU== | |||
A '''CPU''' é o principal componente de um computador. Sua função é executar programas armazenados na memória principal, buscando suas instruções, examinando-as e então executando-as uma após a outra<ref name="TANENBAUM">TANENBAUM, A. S. Organização Estruturada de Computadores, 5<sup>a</sup> ed., São Paulo: Pearson, 2007.</ref>. | |||
A '''CPU''' se conecta as '''memórias''' e outros '''dispositivos de entrada e saída''' por meio do '''barramento externo''' (barramento de endereços, dados e controle). | |||
;Organização interna da CPU: Internamente a CPU possui vários componentes interligados por um '''barramento interno''': | |||
*Contador de Programa (PC): Aponta para o endereço da memória que contém a próxima instrução a ser executada. | |||
*Registrador de Instrução: Guarda a instrução que está para ser executada pela CPU; | |||
*Unidade de Lógica e Aritmética (ALU): Executa instruções lógicas e aritméticas; | |||
*Registradores: Guardam dados temporários, como os operandos a serem utilizados pelas instruções. | |||
*Unidade de Controle: Coordena as ações da CPU. | |||
[[Arquivo:CPU.png]] | |||
;Execução de instruções<ref name="TANENBAUM"/>: A CPU executa cada instrução em etapas: | |||
#Trazer a instrução apontada pelo '''Contador de Programa''' ao '''Registrador de Instrução'''; | |||
#Incrementar o '''Contador de Programa'''; | |||
#Determinar o tipo de instrução (a partir de seu código); | |||
#Se a instrução utilizar dados da memória, verificar onde os dados estão; | |||
#Trazer os dados da memória para um registrador interno da CPU, se necessário; | |||
#Executar a instrução; | |||
#Gravar na memória o resultado da instrução, se necessário; | |||
#Voltar a etapa 1 para executar a próxima instrução. | |||
<!-- | |||
==Linguagem de Máquina e Linguagem Assembly== | |||
===Linguagem de máquina=== | |||
Cada CPU possui um conjunto de instruções cujo hardware é capaz de executar. Para cada instrução é definido um código específico que a identifica. O '''código binário''' da instrução normalmente expresso em '''hexadecimal'''. | |||
===Linguagem Assembly=== | |||
Cada instrução '''Assembly''' tem uma correspondência com uma instrução em '''linguagem de máquina''', entretanto, é escrita na forma de um '''código mnemónico''' que facilita o entendimento pelo programador. | |||
;Exemplo: Sequência de instruções do microprocessador Intel 8051: | |||
ADD A,#30h | |||
MOV 80h, A | |||
:#A primeira instrução soma o dado 30 (hexa) com o conteúdo do registrador A; | |||
:#A segunda instrução move o conteúdo do registrador A para a posição de memória 80 (hexa). | |||
;Linguagem Assembly e Linguagem de alto Nível: A '''programação''' em '''linguagem Assembly''' ou em '''linguagem de máquina''' é raramente utilizada nos dias de hoje. Normalmente se pode desenvolver a programação em uma '''linguagem de alto nível''', como a '''linguagem C'''. | |||
:O '''compilador''' da linguagem utilizada se encarrega de traduzir o código dos programas no código da linguagem de máquina do processador. | |||
===CISC e RISC=== | |||
Existem dois modelos de programação em linguagem de máquina nos processadores: | |||
;CISC (''Complex Instruction Set Computing''): Apresenta um conjunto amplo e complexo de instruções. Cada instrução CISC pode envolver várias microinstruções de máquina. Estas instruções ficam armazenadas em uma ROM interna da CPU. | |||
;RISC (''Reduced Instruction Set Computing''): Apresenta um conjunto reduzido de instruções, diretamente implementadas pelo hardware. | |||
--> | |||
==Microprocessadores e microcontroladores== | |||
===Microprocessadores=== | |||
Os '''microprocessadores''' são os '''circuitos integrados''' responsáveis por executar os programas em um computador. | |||
Veja definição, componentes e exemplo de [http://pt.wikipedia.org/wiki/Microprocessador Microprocessador na Wikipédia]. | |||
===Microcontroladores=== | |||
São '''circuitos integrados''' que integram, em um único chip, '''processadores''', '''memória RAM''' e '''portas de entrada e saída'''. | |||
São mais compactos e voltados para uso em automação industrial, como por exemplo, o microcontrolador '''Intel 8051''' e os '''microcontroladores PIC'''. | |||
;Arduíno: O Arduíno é um exemplo de uso de um '''microcontrolador''' montado em uma '''plataforma de prototipagem''' de '''hardware livre'''. O '''Arduino''' é facilmente programável através de uma '''interface de programação''' ('''IDE''') e pode ser utilizado para automação de dispositivos eletrônicos, acionamento de motores e leds, monitoramento de sensores, construção de protótipos de soluções tecnológicas e um mundo de possibilidades. | |||
Veja mais informações sobre [http://pt.wikipedia.org/wiki/Microcontrolador Microcontroladores na Wikipédia]. | |||
==Referências== | ==Referências== | ||
Linha 21: | Linha 84: | ||
---- | ---- | ||
--[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 09h00min de 25 de novembro de 2016 (BRST) | |||
---- | ---- | ||
[[Categoria:Sistemas Digitais]] | [[Categoria:Sistemas Digitais]] |
Edição atual tal como às 11h00min de 25 de novembro de 2016
CPU e Microprocessadores
Conexão dos dispositivos de memória à CPU
Um computador possui vários dispositivos de memória, como a memória principal, ou memória RAM, memória ROM e memória secundária, como discos rígidos e outros.
A CPU do computador se comunica com os dispositivos de memória através de três barramentos principais:
- Barramento de endereços;
- Barramento de dados;
- Barramento de controle.
Quando um computador executa as instruções de um programa a CPU busca (lê) as instruções na memória e também os dados necessários. O resultado da execução das instruções, por sua vez, é armazenado (escrito) de volta na memória[1].
A interação com as memórias é feita através dos barramentos. O barramento de controle permite a CPU escolher qual dispositivo será utilizado. Os demais ficam desabilitados. O barramento de endereços fornece o endereço no qual os dados serão lidos ou escritos nos dispositivos de memória. O barramento de dados é compartilhado tanto para leitura como para escrita de dados nos dispositivos de memória.
No barramento de dados, somente um dispositivo pode enviar dados de cada vez. As saídas dos demais devem ficar em estado de alta impedância. Caso contrário as saídas dos dispositivos podem ser danificadas por curtos-circuitos, quando por exemplo, em um dado pino, um dispositivo escreve 0 (0 V) e outro 1 (5 V).
Organização interna da CPU
A CPU é o principal componente de um computador. Sua função é executar programas armazenados na memória principal, buscando suas instruções, examinando-as e então executando-as uma após a outra[2].
A CPU se conecta as memórias e outros dispositivos de entrada e saída por meio do barramento externo (barramento de endereços, dados e controle).
- Organização interna da CPU
- Internamente a CPU possui vários componentes interligados por um barramento interno:
- Contador de Programa (PC): Aponta para o endereço da memória que contém a próxima instrução a ser executada.
- Registrador de Instrução: Guarda a instrução que está para ser executada pela CPU;
- Unidade de Lógica e Aritmética (ALU): Executa instruções lógicas e aritméticas;
- Registradores: Guardam dados temporários, como os operandos a serem utilizados pelas instruções.
- Unidade de Controle: Coordena as ações da CPU.
- Execução de instruções[2]
- A CPU executa cada instrução em etapas:
- Trazer a instrução apontada pelo Contador de Programa ao Registrador de Instrução;
- Incrementar o Contador de Programa;
- Determinar o tipo de instrução (a partir de seu código);
- Se a instrução utilizar dados da memória, verificar onde os dados estão;
- Trazer os dados da memória para um registrador interno da CPU, se necessário;
- Executar a instrução;
- Gravar na memória o resultado da instrução, se necessário;
- Voltar a etapa 1 para executar a próxima instrução.
Microprocessadores e microcontroladores
Microprocessadores
Os microprocessadores são os circuitos integrados responsáveis por executar os programas em um computador.
Veja definição, componentes e exemplo de Microprocessador na Wikipédia.
Microcontroladores
São circuitos integrados que integram, em um único chip, processadores, memória RAM e portas de entrada e saída.
São mais compactos e voltados para uso em automação industrial, como por exemplo, o microcontrolador Intel 8051 e os microcontroladores PIC.
- Arduíno
- O Arduíno é um exemplo de uso de um microcontrolador montado em uma plataforma de prototipagem de hardware livre. O Arduino é facilmente programável através de uma interface de programação (IDE) e pode ser utilizado para automação de dispositivos eletrônicos, acionamento de motores e leds, monitoramento de sensores, construção de protótipos de soluções tecnológicas e um mundo de possibilidades.
Veja mais informações sobre Microcontroladores na Wikipédia.
Referências
--Evandro.cantu (discussão) 09h00min de 25 de novembro de 2016 (BRST)