Buscar

Arquitetura de Microcomputadores

Prévia do material em texto

Aula 1: Conceitos Fundamentais 
dos Sistemas de Computação 
Prof. D.Sc. André Felipe Oliveira de Azevedo Dantas
2018.1
Microcomputador: Arquitetura Básica
Contextualização
• Desenvolvimento da Engenharia Eletrônica: Tecnologia
do Computador;
• Integração de várias partes do computador;
Desenvolvimento da Tecnologia
• Unidade central de processamento;
• Unidades de Armazenamento;
• Unidade de entradas e Saídas;
• Compactação do computador;
• Fisicamente com diferentes circuitos integrados;
• Microprocessador;
• Memória Não volátil (ROM/PROM/EPROM/EEPROM);
• Memória volátil (RAM);
Primeiros Microcomputadores
• Portas de Entradas e
Saídas;
• 4004 da Intel / 4 bits;
• 8008, 8080 e 8085 da Intel / 8 bits;
• 6800 da Motorola / 8 bits;
• Z80 da Zilog / 8 bits;
Primeiros Microprocessadores
• Microprocessadores com 16, 32, 64 bits;
• Aumento da quantidade de componentes integrados
por unidade de área;
Evolução dos Microprocessadores
• Integração de todos os
blocos básicos em uma
única pasta de silício;
• Origem dos
microcontroladores;
• Conceito:
• É um microcomputador implementado em um único
circuito integrado, no qual estão integradas todas
as unidades básicas de um computador.
Microcontroladores
• Usados em:
• Equipamentos portáteis;
• De baixo custo;
• Automação;
• Dependência do ser humano dessa tecnologia;
Microcontroladores
• Bit;
• Byte;
• Registradores;
• Microcomputador:
• Unidade Central de Processamento;
• Unidade de memória;
• Entrada e Saída de Informações;
• Instrução (Tarefa):
• Operações de leitura e escrita ou posições de
memória;
• Operações lógicas e Aritméticas;
Conceitos Básicos
Definir a arquitetura de um microcomputador;
Descrever as características de sistemas 
computacionais;
Interpretar os diferentes tipos de arquitetura de 
computadores;
Analisar as linguagens de programação associadas 
aos microcontroladores;
Objetivos de Aprendizagem
Arquitetura de um microcomputador
Blocos básicos de microcontroladores
• É responsável pela inteligência da máquina;
• Tem a capacidade de tomar decisões (ações) no sistema
microcomputadorizado;
• Executa o programa armazenado na memória do
microcomputador;
Unidade Central de Processamento (CPU)
• Responsável pela obtenção das informações a serem
analisadas por meio de:
• Dispositivos de entrada;
• Processamento;
• Informações;
• Resposta (ação) do sistema a uma determinada situação de
controle:
• Escrita de memória;
• Transmissão de dados;
• Acionamento de um relé;
• Acionamento de um bip;
Unidade Central de Processamento (CPU)
• Funções Básicas:
• Leitura (busca) e interpretação do programa alocado na
memória, instrução por instrução.
Unidade de Processamento Central
Execução do programa, instrução por instrução.
Unidade de Processamento Central
Principais partes:
Unidade de Processamento Central
• Unidade Lógica e Aritmética (ULA) - é 
a seção do μP que executa os 
cálculos e as operações booleanas;
• Unidade de Controle (UC) - é a seção 
que controla o movimento de 
instruções dentro e fora do μP e as 
operações dentro CPU.
• A UC consiste de:
• Decodificador de Instruções
• Lógica de Controle
• Clock
Principais partes:
Unidade de Processamento Central
• Conjunto de registradores – São 
memórias internas de uma só palavra 
usadas como rascunho rápido de 
instruções e dados.
• Todo μP possui o conjunto básico de 
registradores:
• Contador de Programa (PC)
• Registrador de Instruções (IR)
• Acumulador (Acc)
• Reg. de Endereços de Memória
• Apontador de Pilha (SP)
• Sinalizadores (Flags)
Principais partes:
Unidade de Memória
• Memória de armazenamento de 
programa:
• Não volátil;
• ROM;
• PROM;
• EPROM;
• Memória de armazenamento de 
informações:
• Armazena informações de 
entrada e saída de dados;
• Volátil;
• RAM
Principais partes:
Unidade de Entrada e Saída
• Interface das informações do uP e o mundo externo.
• Barramento de endereços:
• A CPU utiliza O barramento para :
• Definir os endereços das posições de memória de
programa em que ele vai buscar as instruções a serem
executadas;
• Definir os endereços de memória de dados ou dos
dispositivos de entrada e saída.
• Esse barramento é unidirecional;
Arquitetura de Sistemas 
Microprocessados/ Microcontrolados
• Arquitetura de Sistemas Microprocessados/ Microcontrolados
Unidade de Processamento Central
• Barramento de temporização e controle.
• A CPU utiliza o barramento para :
• Definir os de temporização e controle para gerenciar o
tempo e a direção do fluxo de informações nas
operações de leitura e escrita;
• Esse barramento é unidirecional;
Arquitetura de Sistemas 
Microprocessados/ Microcontrolados
• Arquitetura de Sistemas Microprocessados/ Microcontrolados
Unidade de Processamento Central
• Barramento de dados.
• A CPU utiliza o barramento para :
• Receber as informações vindas da memória ou dos
dispositivos de entrada e saída;
• Definir as informações para a memória ou para os
dispositivos de entrada e saída.
• OBS: É importante frisar que, em alguns uP ou uC , a
memória não troca informações diretamente com os
dispositivos de entrada e saída.
• Esse barramento é bidirecional;
Arquitetura de Sistemas 
Microprocessados/ Microcontrolados
• Arquitetura de Sistemas Microprocessados/ Microcontrolados
Unidade de Processamento Central
• O μP executa programas em memória processando uma instrução
após outra;
• A sequência das instruções é iniciada no endereço de Reset do μP e
sua continuidade determinada pelo Contador de Programa PC;
• Quando uma instrução determina um desvio na execução, o PC é
carregado com um endereço diferente do endereço de instrução
seguinte e a sequência de execução passa a ser feita a partir desse
endereço;
• Cada família de μP’s apresenta seu próprio conjunto de Instruções e o
código escrito na memória deve ser interpretável pelo μP. Se um
desvio leva o processamento ao endereço de uma instrução não
reconhecida, o μP trava.
Funcionamento de um Sistema 
Microprocessado/Microcontrolado
• O Conjunto de Instruções é uma coleção de Instruções reconhecidas
por uma determinada família de processadores.
• Cada código de máquina de um conjunto de instruções é composto
por Código Operacional (OpCode) e Operandos:
• OpCode - determina o que a instrução deve fazer. Cada operação
tem um OpCode específico.
• Operandos - indicam os dados ou endereços dos dados
necessários a operação.
• O formato do código, numero de operandos, e número de bits
envolvidos nos campos do código é dependente da máquina (ou seja
do μP em questão).
• Os códigos de máquina são organizados em bytes (ou palavras) e
dependendo do μP, os códigos podem ter número de palavras fixo ou
variável.
Conjunto de Instruções
• O Conjunto de Instruções é uma coleção de Instruções reconhecidas
por uma determinada família de processadores.
• Cada código de máquina de um conjunto de instruções é composto
por Código Operacional (OpCode) e Operandos:
• OpCode - determina o que a instrução deve fazer. Cada operação
tem um OpCode específico.
• Operandos - indicam os dados ou endereços dos dados
necessários a operação.
• O formato do código, numero de operandos, e número de bits
envolvidos nos campos do código é dependente da máquina (ou seja
do μP em questão).
• Os códigos de máquina são organizados em bytes (ou palavras) e
dependendo do μP, os códigos podem ter número de palavras fixo ou
variável.
Conjunto de Instruções
Características de Sistemas Computacionais
Sistemas de Computação
▪Programa (Linguagem de alto nível):
▪ Etapas, elaboradas e executadas passo a passo;▪Não é possível ser executado diretamente pela máquina;
▪A máquina entende instruções de máquina (mais simples);
Sistemas de Computação
▪Todo computador é capaz de reconhecer um conjunto
limitado de instruções de máquina, que normalmente
são:
▪ Executar operações aritméticas entre dois números;
▪ Executar operações lógicas com dois números;
▪Mover um conjunto de bits de um local para outro do
computador;
▪Desviar a sequência do programa;
▪ Fazer a comunicação com algum dispositivo de entrada e
saída;
Sistemas de Computação
▪Software:
▪ São Programas;
▪ Podem estar em qualquer linguagem;
▪ Faz a máquina produzir um resultado através de um conjunto de
instruções;
▪ Software básico:
▪ Sistemas operacionais;
▪ Compiladores;
▪ Interpretadores;
▪ Drivers;
▪ Programas de Aplicação:
▪ Aplicam-se a determinado problema de uma empresa ou pessoa física.
Tipos de Arquitetura de Computadores
Organização e Arquitetura de um Computador
▪A arquitetura do computador está mais no nível do
programador visto que têm impacto direto na elaboração
de um programa. São elementos de uma arquitetura:
▪O conjunto de instruções de um processador ou
microcontrolador;
▪O tamanho da palavra;
▪Os modos de endereçamento das instruções;
▪O tipo e o tamanho dos dados manipulados pelo
processador;
Organização e Arquitetura de um Computador
▪Tipos de arquitetura:
▪ SISD (Single Instruction stream, Single Data Stream):
▪ Padrão von Neumann;
▪ Processadores executam uma instrução completa de cada vez;
▪ Único registrador no processador;
▪ Obsoleto;
Organização e Arquitetura de um Computador
▪Tipos de arquitetura:
▪ MISD (Multiple Instruction stream, Single Data stream):
▪ Várias instruções podem ser executadas simultaneamente;
▪ Manipula um único registro de dados;
▪ Processadores vetoriais;
Organização e Arquitetura de um Computador
▪Tipos de arquitetura:
▪ SIMD (Single Instruction stream, Multiple Data stream):
▪ Única instrução manipula e acessa um conjunto de dados simultaneamente;
▪ A unidade de controle do processador aciona diversas unidades de
processamento;
Organização e Arquitetura de um Computador
▪Tipos de arquitetura:
▪ MIMD (Multiple Instruction stream, Multiple Data stream):
▪ Categoria mais avançada;
▪ O melhor desempenho de processamento;
Linguagens de Programação Associadas aos 
Microcontroladores
• São o mesmo que software;
• São classificadas em 3 níveis:
• Baixo;
• Médio;
• Alto;
Linguagens de Programação
• Características:
• Operar, acessar, e manipular diretamente os
• Registradores internos ao microprocessador;
• Os Endereços;
• Os conteúdos das posições de memória;
• Os conteúdos dos dispositivos de entrada e saída;
• Deve-se conhecer tanto os comandos quanto os
componentes que formam o processador;
• Ex.: Linguagem de Programação Assembly.
Linguagens de Baixo Nível
• Características:
• Tornar as características do hardware mais
transparentes para o usuário;
• Permite que usuários não técnicos (especialistas
em hardware) possam desenvolver suas
aplicações;
• Comandos simples e fáceis;
• Ex.: Linguagem de Programação Basic e Pascal, C++,
eLua.
Linguagens de Alto Nível
• Características:
• Apresenta características tanto das linguagens
de alto nível quanto das de baixo nível;
• Bastante flexível;
• Mais utilizada para programação em
microcontroladores;
• Ex.: Linguagem de Programação C.
Linguagens de Médio Nível
Finalização
Revisão dos Conteúdos
• Arquitetura de um Microcomputador;
• Características de Sistemas Computacionais;
• Tipos de Arquitetura de Computadores;
• Linguagens de Programação Associadas aos
Microcontroladores;
Atividades (ADE)
Ler os capítulos 1 e 2 dos livros:
Microcontroladores 8051: conceitos, operações, fluxogramas e 
programação. 
Microcontroladores 8051: teoria e prática.

Continue navegando