Você está na página 1de 16

Universidade Federal de Mato Grosso – UFMT

Faculdade de Arquitetura, Engenharia e Tecnologia – FAET


Departamento de Engenharia Elétrica

Microprocessadores

Aula 3: Estrutura de um Computador

Prof. Nicolás Eusebio Cortez Ledesma

2018/1
Organização e Arquitetura de um Computador

• Arquitetura são os atributos visíveis ao programador


o Atributos que têm impacto direto sobre a execução lógica de um programa.
o Conjunto de instruções, número de bits usados para representação de dados,
mecanismos de E/S, técnicas de endereçamento.
o Por exemplo, existe uma instrução de multiplicação?
• Organização é como os recursos são implementados
o Refere-se às unidades operacionais e suas interconexões que implementam as
especificações da sua arquitetura.
o Sinais de controle, interfaces, tecnologia de memória.
o p.e., existe uma unidade de multiplicação no hardware ou ela é feita pela adição
repetitiva?
o Toda a família Intel x86 compartilha a mesma arquitetura básica, mas a
organização é diferente entre diferentes versões.
• Estrutura
o É o modo como os componentes estão inter-relacionados.
Estrutura da Máquina de Von Neumann

Unidade Central de Processamento - CPU

Unidade • Dados e instruções são


Lógica e armazenados em uma
Aritmética única memória.
ULA • Cada palavra é endereçada
Memória Os dados e as instruções são armazenados em uma única memória de leitura e escrita.
independentemente do
O Principal
conteúdo dessa memória é endereçado pela sua posição, independentemente
Dispositivos do tipo de dados nela contidos.
tipo de dados nela
A execução
MP de instruções ocorre de modo seqüencial (exceto quando
de essa
E/S seqüência é explicitamente alterada de
contidos.
uma instrução para a seguinte).
• A execução de instruções
ocorre de modo sequencial
(exceto quando essa
Unidade de
sequência é explicitamente
Controle
alterada de uma instrução
UC
para a seguinte).
Estrutura e Função de um Computador – Alto nível

• Componentes estruturais da estrutura interna:


o Unidade central de processamento (CPU):
Controla a operação do computador e desempenha funções de processamento
de dados. É muitas vezes chamada simplesmente de processador.
o Memória principal:
Armazena instruções e dados.
o Entrada/Saída (E/S):
Transfere dados entre o computador e o ambiente externo.
o Sistemas de interconexão:
Mecanismos que estabelecem a comunicação entre a CPU, a memória principal
e os dispositivos de E/S (entrada/saída).
Estrutura e Função de um Computador

Visão do Computador em termos de uma aplicação.

Usuário
Final
Sistema Operacional:
Programador • Criação de programa
Programas de • Execução de programas
Aplicação Projetista de • Gerenciador de processos
Sistema • Interrupção de hardware
Operacional • Gerenciamento de memória
Utilitários • Acesso ao sistema
• Acesso a dispositivos de E/S
• Acesso controlado aos arquivos
Sistema Operacional • Sistema de ficheiros (arquivos)
• Driver de dispositivo
• Rede de computadores
Hardware do Computador • Segurança (proteção de memória e
de processos)
Sistema Operacional
O Sistema Operacional é o software que controla a execução de programas em um processador e que
gerencia os recursos de um computador. Atua como uma interface entre o usuário e o hardware do
computador. Administra a interação entre o Hardware e o Software.
Objetivos:
 Torna um computador mais conveniente para uso
 Permite que os recursos do sistema de computação sejam usados de uma maneira eficiente

Sistema operacional

Microprocessador µP

Dispositivos de Memória: Memória, HD, CD, Dispositivos de


entrada RAM, ROM DVD saída
Estrutura e Função de um Computador – Alto nível

Periféricos
Computador

Memória
CPU
principal

Computador Interconexão
CPU
do sistema

E/S

Linhas de
comunicação
Estrutura e Função de um Computador – Baixo nível

Unidade Central de Processamento


MBR: Reg. Buffer de Memória
AC
MAR: Reg. de Endereçamento
de Memória
Dispositivos
de E/S IR: Reg. de Instrução

PC: Reg. Contador de


MBR Programa
AC: Reg. Acumulador

Instruções e Dados
Unidade de Controle de Programa

IR PC
Circuitos de Memória Principal
Sinais de .. decodificação e
controle .
controle MAR
Endereços
Microprocessador - A Unidade Central de Processamento (CPU)

CPU
CPU
Processadores de:
Registradores ULA
4b, 8b, 16b, 32b,
64b.
Interconexão
CPUdo
interna
CPU

Unidade de
O µP processa um grupo de bits controle
denominado de palavra (WORD) e são
classificados de acordo com o
tamanho dessas palavras.
Microprocessador - A Unidade Central de Processamento (CPU)

Um microprocessador é um dispositivo programável de propósito geral que lê instruções de


um dispositivo de armazenamento de dados (memory). Aceita dados binários como entrada
(input), processa esses dados de acordo com as instruções e envia os resultados do
processamento para dispositivos de saída (output).

Registradores
São usados para o armazenamentos internos da CPU. Existem diversos registradores na
CPU e o principal deles é chamado de Acumulador.
Os registradores são construídos com flip-flops, que podem armazenar dados. Os
registradores podem ser usados como operando fonte e/ou operando destino.

As aplicações microprocessadas são classificadas em duas categorias:


1. Sistemas reprogramáveis (microcomputadores): O usuário final programa o sistema
2. Sistemas embarcados (microcontroladores): O usuário final não programa o sistema
Como o microprocessador trabalha?

Microprocessador
Ciclo de Instrução
E/S
Entrada/Saída  LER A INSTRUÇÃO;
Banco de
ULA  DECODIFICAR (INTERPRETAR) A INSTRUÇÃO;
registradores
Barramento do sistema  BUSCAR OPERANDO;
 EXECUTAR A INSTRUÇÃO;
Memória  ARMAZENAR RESULTADO;
Unidade de Controle
ROM RAM

• O microprocessador opera no sistema binário;


• Cada microprocessador tem o seu próprio conjunto de instruções
• As instruções são armazenadas sequencialmente na memória;
• O microprocessador busca a primeira instrução, decodifica e executa a instrução;
• A sequencia de busca (fetch), decodificação e execução é repetida até o microprocessador
encontrar a instrução de parada (HLT).
Ciclo de instrução: Duas etapas

• Ciclo Fetch: busca e decodifica instrução.


• Ciclo de Execução: busca operando e executa operação.

Ciclo Fetch Ciclo de execução

Buscar
Executar
Inicio próxima
instrução
Fim
instrução

Formato de instruções:
15 12 11 0

Código de operação Endereço


Ciclo de Maquina: Sub-ciclos
Ciclo Fetch: busca e decodifica
uma instrução na memória de
programa. Ciclo Fetch Ciclo Indireto: busca operando(s)
Decodifica para determinar se inclui de memória, se necessário, através
qualquer endereçamento. e endereçamento direto ou indireto.

Ciclo de Ciclo Indireto


Interrupção (leitura de dados)

Ciclo de Execução: interpreta o


código de operação e executa a
Ciclo de Interrupção: Se as operação indicada.
interrupções estão habilitadas e
Após o ciclo de execução, o
uma interrupção aconteceu, salva
na pliha o estado do processo
Ciclo de processo pode ser interrompido
Execução antes da captura da próxima
atual, em seguida se atende a
instrução.
interrupção.
Microprocessador: Unidade de Controle

Unidade de Decodificação
• Registrador de Instruções e Decodificador de Instruções.
• Responsável pela identificação da instrução a ser executada, a partir do código de operação
(op-code).

Unidade de Temporização e Controle


• Responsável pela geração dos sinais de controle para todas as unidades, a partir da informação da
Unidade de Decodificação. Os sinais de controle são sincronizados, de acordo com o sinal de clock.

Linguagem de transferência entre registradores


Instrução Micro-operações Operação
• Load X MAR  X MBR  M[MAR ] AC  MBR ; AC = M[X]
• Store X MAR  X MBR  AC M[MAR ]  MBR ; M[X] = AC
• Add X MAR  X MBR  M[MAR ] AC  AC + MBR ; AC = AC + M[X]
• Sub X MAR  X MBR  M[MAR ] AC  AC – MBR ; AC = AC - M[X]
• Jump X PC  X PC  IR<11:0> ; PC = X
Instruções de Microprocessador

Linguagem de Máquina:
• Para comunicar com o processador deve-se dar instruções na linguagem binária
(Linguagem de Máquina)
• Para facilitar a programação criou-se abreviações de palavras em inglês
(mnemônicos) usadas para representar as instruções binárias (Linguagem
Assembly)
• A quantidade de instruções de uma máquina está relacionada com o tamanho
da palavra, ou seja, uma máquina que trabalha com palavras de 8 bits pode
ter até 256 diferentes instruções.
• Contudo nem todas as palavras precisam ser utilizadas.
• O projetista que desenvolveu o microprocessador seleciona um conjunto de
combinações de bits e atribui um significado específico para cada combinação,
utilizando-o no circuito lógico eletrônico => op-code da Instrução
Linguagem de baixo nível

Linguagem Assembly Linguagem de Máquina

Ensamblador ou
Código fonte Código objeto
montador

//I*15
MOV R3,#15
STR R3,[R11,#-8] 1100 1010 1011 0011
1100 1010 1011 0011
//J*25 1100 1010 1011 0011
MOV R3,#15 1100 1010 1011 0011
STR R3,[R11,#-12] 1100 1010 1011 0011
//I*I*J 1100 1010 1011 0011
LDR R2,[R11,#-8] 1100 1010 1011 0011
LDR R3,[R11,#-12] 1100 1010 1011 0011
ADD R3,R2,R3
STR R3,[R11,#-8]

.ASM ASSEMBLER .HEX

Você também pode gostar