Upload
internet
View
111
Download
0
Embed Size (px)
Citation preview
Jacquard / Babbage
Programa
ImpressoraPerf. cartões
Cartões de operação Cartões variáveis
ALU Memória
Jacquard / Babbage
Programa e dados armazenados separadamente;
Programa - seqüência de cartões perfurados;
Cartões especificam as variáveis envolvidas na operação.
Cardreader
Printerand card
punch
Multiplier
DividerAnd
Squarerooler
FunctionTables
A1 A2 A30
Masterprogrammer
unit
Program
Lines
Accumulators
Estrutura do ENIAC
Unidade de memória
UnidadeAritmética
e lógica
Unidadede controle
Unidade de saída
Unidade de entrada
O Modelo de von Neumann
O Modelo de Barramento do Sistema
Barramento de Endereços
Barramento de Controle
Barramento de Dados
CPU(ALU,
Registradorese Controle)
MemóriaEntrada e
Saída (E/S)
Bar
ram
ento
s d
o S
iste
ma
Estrutura do Computador
Arquitetura de um computador de
primeira geração Unidades de memória
secundária
Console(tty)
Leitora de cartões
Impressora e perfuradora de
cartões
Unidade Aritmética e
Lógica
Unidade de Controle
Memória principal
Equipamentos de entrada e
saída
Unidade Central de processamento
Arquitetura de um computador de
primeira geração Unidades de memória
secundária
Console(tty)
Leitora de cartões
Impressora e perfuradora de
cartões
Unidade Aritmética e
Lógica
Unidade de Controle
Memória principal
Equipamentos de entrada e saída
Unidade Central de processamento
C12
Circuitos deAritmética
e lógica
AC
Memória principal
MRDM
REM
PC RI
Unidade de controle
C0C1
AC = 0
C10
C9
C8 C11C7
C6C5
C12
AC = 0
C0(ADD)
C1(AND)C2(COMP)
C3(READ)
C4(WRITE)
Estrutura de uma CPU simples
Sinal de controle Operação controlada
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
AC AC + RDM
AC AC ^ RDM
AC ~AC (complemento)
RDM M[REM] (READ M)
M[REM] RDM (WRITE M)
RDM AC
AC RDM
REM RDM(ADR)
PC RDM (ADR)
PC PC + 1
REM PC
RI RDM (OP)
RIGHT-SHIFT AC
Sinais de controle da CPU simples
Flags
Circuitos de aritmética
e lógica
AC MQ
COUNT
Memória principal
MRDM
REM
PCRI
Unidade de controle microprogramada
.
.
.
C0C1
C28
C10AC=0AC<0
MQ(n-1)COUNT = (n-2)
V
C24
C9
C11C8C7
C4C3
C5 C6 C19C15 C18
C21C20C17
MQ(n-1)
C25C22
C14
COUNT = (n-2)
C12C13C16
C0C1C2C23
C28 C27C26
VAC = 0AC < 0
Estrutura de uma CPU extendida
Sinal de controle Operação controlada
C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15C16C17C18C19C20C21C22C23C24C25C26C27C28
AC AC + RDMAC AC ^ RDMAC ACRDM M[REM] (READ M)M[REM] RDM (WRITE M)RDM ACAC RDMREM RDM (ADR)PC RDM (ADR)PC PC + 1REM PCRI RDM (OP)RIGHT-SHIFT ACLEFT-SHIFT ACRIGTH-SHIFT (AC, MQ)LEFT-SHIFT (AC, MQ)AC 0AC(0) AC(0) v VMQ RDMRDM MQMQ(n-1) 1MQ(n-1) 0COUNT COUNT + 1AC AC – RDMPC RICOUNT 0V 0V 1FLAGS 0
Sinais de controle da CPU estendida
Máquina de John von Neumann
Programa e dados são armazenados juntos na memória principal;
O programa é executado seqüencialmente;
A memória é endereçável.
Instruções e dados armazenados na memória indistintamente.
Uma palavra escolhida aleatoriamente na memória não pode ser identificada como uma instrução ou um palavra de dado.
O significado de uma palavra é determinado pela maneira como o processador vai interpreta-la.
Modelo de von Neumann
Acumulador - registrador que armazena o primeiro operando da instrução;
Instruções especificam apenas o segundo operando.
O resultado é armazenado no acumulador.
Memória
Memória R E M
barramento deendereços
R D MDecodificador
RDM - registrador de dados da memóriaREM - registrador de endereços da memória
Barramento de dados
Acesso a memória O Registrador de Endereços da Memória
(REM) armazena o endereço da palavra de memória durante um acesso (leitura ou escrita);
O Registrador de Dados da Memória (RDM) armazena o conteúdo da palavra de memória lida em uma operação de leitura ou que será escrita na memória;
O endereço é decodificado para localizar a palavra a ser acessada.
Palavra de memória
O tamanho do RDM determinará a quantidade de bits que poderá ser transferida em um único acesso a memória - o tamanho da palavra de memória;
O tamanho do REM determinará o tamanho do espaço de endereçamento da memória, ou seja, a quantidade de palavras que poderão ser endereçadas;
O RDM determinará a largura do barramento de dados;
O REM determinará a largura do barramento de endereços.
Modelo de von Neumann
Quantidade de acesso a memória é muito grande: necessita acessar a memória para buscar a instrução e operandos e armazenar resultados.
Tempo de acesso à memória é muito grande decodificação do endereço e transferência do dado.
Utilização de registradores de uso geral: reduz a quantidade de acessos à memória
principal; armazenar dados - resultados de operações,
endereços e operandos de instrução que estão sendo utilizados várias vezes (resolver uma expressão; variável de controle de uma estrutura “for”);
acesso mais rápido ao dado - os registradores estão contidos dentro da UCP;
Unidade de Controle
Responsável por gerar os sinais de controle necessários para a busca e execução das instruções, além de coordenar outras unidades como memória e dispositivos de entrada e saída de dados.
Unidade de Controle
Síncrona ou Assíncrona Assíncrona: as operações são
executadas independentemente. Ao término de uma, começa a próxima.
Síncrona: existe um circuito oscilador responsável por gerar uma referência de tempo para realização das operações - CLOCK.
Organização da Unidade de Controle
Por circuito (ou lógica fixa); Microprogramada
Por circuito: existem circuitos específicos para execução das operações.
Microprogramada: para cada instrução existe um microprograma.
Exercícios Quais os princípios da máquina de von Neumann ? Compare a máquina de von Neumann com as máquinas
anteriores ? Quais os componentes da Unidade Central de
Processamento (UCP) ? Quais as funções da unidade de controle ? As máquinas que possuem clock são ditas:.... Qual a função do clock ? O que é um registrador ? De que são construídos registradores ? Qual a função dos registradores na UCP ? Quais as funções dos registradores RI e CI ? Quais as funções dos registradores RDM e REM ?
Linguagem de Máquina
Conjunto de código binários que a unidade de controle é capaz de decodificar e executar;
É formada pela conjunto de instruções da máquina;
É específica de cada máquina (ou família de máquinas).
Linguagem de Montagem (Assembly)
Associa símbolos aos códigos binários; Cada símbolo representa uma instrução
(ou pseudo-instrução); Símbolo representa a operação
associada: ADD - adição; SUB - subtração ...
São mnemônicos; É específica da máquina.
Montador (Assembler)
Responsável por gerar um programa em linguagem de máquina a partir de um programa escrito em linguagem de montagem;
Símbolos instruções de máquina
ADD M 00110000001100
Linguagens de alto-nível
PASCAL, C, FORTRAN, Algol, Visual AGE, Small Talk, Java, Modula, ADA ...
Possuem construções mais complexas - while, for, repeat ...
Programas independentes da máquina; Possuem uma estrutura bem definida.
Compilador
Traduzir um programa escrito em uma linguagem de alto nível na linguagem da máquina alvo (linguagem de máquina);
Verificar se os comandos estão corretamente construídos; se pertencem a estrutura da linguagem; gerar instruções de máquina;
Um comando em uma linguagem de A-N pode gerar várias instruções de máquina -
for i := 1 to 200 do
Interpretador
Interpreta (analisa) os comandos de um programa (um de cada vez) e executa as operações especificadas;
BASIC
Formato das Instruções
Máquinas com registradores de uso geral, os operandos e resultados das instruções podem residir em registradores;
A instrução especifica o(s) registrador(es) que contém os operandos;
Instruções mais curtas; Menos acessos a memória.
Formato das instruções (cont.)
Máquinas de um endereço: a instrução especifica apenas o segundo operando;
Máquinas de dois endereços: a instrução especifica os dois operandos e o resultado é armazenado no lugar do primeiro operando;
Máquinas de três endereços: a instrução especifica os operandos e o resultado da operação.
Modos de endereçamento
Facilitar a atividade de programação;
Reduzir a quantidade bits (tamanho) da instrução.
Modos de endereçamento (cont.)
Modo implícito: a instrução especifica o operando;
Modo de endereçamento imediato: o operando está contido na própria instrução;
Modo de endereçamento direto: o campo de endereço da instrução especifica o endereço do operando na memória;
Modo de endereçamento indireto: o campo de endereço da instrução especifica a palavra de memória que contém o endereço do operando na memória;
Modos de endereçamento (cont.)
Modo relativo: o campo de endereço da instrução especifica o endereço do operando na memória em relação ao CI;
Modo registrador base (ou base+deslocamento): o campo de endereço contém o endereço do operando em relação a um endereço base;
Modo indexado: existe um registrador que é utilizado como índice para cálculo do endereço efetivo (físico).