Jacquard / Babbage
ALU
Memória
Cartões de operação
Cartões variáveis
Programa
Impressora
Perf. cartões
Jacquard / Babbage

Programa e dados armazenados
separadamente;

Programa - seqüência de cartões perfurados;

Cartões especificam as variáveis envolvidas
na operação.
Estrutura do ENIAC
Card
reader
Multiplier
Divider
And
Square
rooler
Function
Tables
A1 A2
Printer
and card
punch
A30
Accumulators
Program
Lines
Master
programmer
unit
O Modelo de von Neumann
Unidade
de memória
Unidade
de entrada
Unidade
Aritmética
e lógica
Unidade
de saída
Unidade
de controle
O Modelo de Barramento do Sistema
CPU
(ALU,
Registradores
e Controle)
Memória
Entrada e
Saída (E/S)
Barramento de Dados
Barramento de Endereços
Barramento de Controle
Arquitetura de um computador de
primeira geração
Unidades de
memória
secundária
Unidade Central de
processamento
Memória
principal
Unidade
Aritmética e
Lógica
Console
(tty)
Unidade de
Controle
Leitora
de cartões
Impressora e
perfuradora de
cartões
Equipamentos
de entrada e
saída
Arquitetura de um computador de
primeira geração
Unidades de
memória
secundária
Unidade Central de
processamento
Memória
principal
Unidade
Aritmética e
Lógica
Console
(tty)
Unidade de
Controle
Leitora
de cartões
Impressora e
perfuradora de
cartões
Equipamentos de
entrada e saída
Estrutura de uma CPU simples
AC = 0
C0(ADD)
C1(AND)
C2(COMP)
Circuitos de
Aritmética
e lógica
C3(READ)
AC
C4(WRITE)
Memória
principal
M
C12
C5
C6
R
D
M
C7
R
E
M
C8
PC
C11
C9
RI
C10
AC = 0
Unidade de
controle
C0
C1
C12
Sinais de controle da CPU simples
Sinal de controle
Operação controlada
C0
AC  AC + RDM
C1
AC  AC ^ RDM
C2
AC  ~AC (complemento)
C3
RDM M[REM] (READ M)
C4
M[REM]  RDM (WRITE M)
C5
RDM  AC
C6
AC  RDM
C7
REM  RDM(ADR)
C8
PC  RDM (ADR)
C9
PC  PC + 1
C10
REM  PC
C11
RI  RDM (OP)
C12
RIGHT-SHIFT AC
Estrutura de uma CPU extendida
V
AC = 0
AC < 0
C28
Circuitos de
aritmética
e lógica
C0
C1
C2
C23
COUNT = (n-2)
C22
C25
COUNT
MQ(n-1)
C14
C12
C13
C3 C16
C4
Memória
principal
M
C26
C27
Flags
AC
C17
C20
C21
MQ
C15
C6 C19
C5
C18
R
D
M
C11
C7
C8
R
E
M
PC
RI
C9
C24
C10
AC=0
AC<0
MQ(n-1)
COUNT = (n-2)
V
Unidade de controle
microprogramada
.
.
.
C0
C1
C28
Sinais de controle da CPU estendida
Sinal de controle
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
C14
C15
C16
C17
C18
C19
C20
C21
C22
C23
C24
C25
C26
C27
C28
Operação controlada
AC  AC + RDM
AC  AC ^ RDM
AC  AC
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
LEFT-SHIFT AC
RIGTH-SHIFT (AC, MQ)
LEFT-SHIFT (AC, MQ)
AC  0
AC(0)  AC(0) v V
MQ  RDM
RDM  MQ
MQ(n-1)  1
MQ(n-1)  0
COUNT  COUNT + 1
AC  AC – RDM
PC  RI
COUNT  0
V0
V1
FLAGS  0
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
RDM - registrador de dados da memória
REM - registrador de endereços da memória
barramento de
endereços
Decodificador
R
E
M
Memória
R D M
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).
Download

aula2 - Departamento de Sistemas e Computação