Title: Jacquard / Babbage
1Jacquard / Babbage
Impressora Perf. cartões
ALU
Memória
Cartões de operação
Cartões variáveis
Programa
2Jacquard / Babbage
- Programa e dados armazenados separadamente
- Programa - seqüência de cartões perfurados
- Cartões especificam as variáveis envolvidas na
operação.
3Estrutura do ENIAC
4O Modelo de von Neumann
O Modelo de Barramento do Sistema
Barramento de Endereços
Barramento de Controle
5Arquitetura de um computador de primeira geração
6Arquitetura de um computador de primeira geração
Unidades de memória secundária
Unidade Central de processamento
Memória principal
Console (tty)
Unidade Aritmética e Lógica
Leitora de cartões
Unidade de Controle
Impressora e perfuradora de cartões
Equipamentos de entrada e saída
7Estrutura de uma CPU simples
8Sinais de controle da CPU simples
Sinal de controle
Operação controlada
AC ? AC RDM AC ? AC RDM AC ? AC
(complemento) RDM? MREM (READ M) MREM ? RDM
(WRITE M) RDM ? AC AC ? RDM REM ? RDM(ADR) PC ?
RDM (ADR) PC ? PC 1 REM ? PC RI ? RDM
(OP) RIGHT-SHIFT AC
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12
9Estrutura de uma CPU extendida
V
AC 0
AC lt 0
C26
Flags
C28
C27
COUNT (n-2)
C0
Circuitos de aritmética e lógica
C22
COUNT
C1
C25
C2
C23
MQ(n-1)
C14
C12
AC
MQ
C13
Memória principal M
C3
C16
C4
C15
C18
C5
C6
C19
R D M
C11
C7
C8
RI
R E M
PC
C9
C24
C10
C0
AC0
Unidade de controle microprogramada
C1
AClt0
MQ(n-1)
. . .
COUNT (n-2)
V
C28
10Sinais de controle da CPU estendida
Sinal de controle
Operação controlada
AC ? AC RDM AC ? AC RDM AC ? AC RDM ? MREM
(READ M) MREM ? 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
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 C2
7 C28
11Má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.
12- 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.
13Modelo 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.
14Memória
RDM - registrador de dados da memória REM -
registrador de endereços da memória
barramento de
Memória
R
endereços
E
M
R D M
Decodificador
Barramento de dados
15Acesso 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.
16Palavra 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.
17Modelo 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.
18- 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
19Unidade 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.
20Unidade 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.
21Organizaçã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.
22Exercí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 ?
23Linguagem 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).
24Linguagem 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.
25Montador (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
26Linguagens 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.
-
27Compilador
- 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
28Interpretador
- Interpreta (analisa) os comandos de um programa
(um de cada vez) e executa as operações
especificadas - BASIC
29Formato 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.
30Formato 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.
31Modos de endereçamento
- Facilitar a atividade de programação
- Reduzir a quantidade bits (tamanho) da instrução.
32Modos 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
33Modos 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 basedeslocamento) 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).