Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis...

34
Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operação Cartões variáveis ALU Memória

Transcript of Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis...

Page 1: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

Jacquard / Babbage

Programa

ImpressoraPerf. cartões

Cartões de operação Cartões variáveis

ALU Memória

Page 2: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemó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.

Page 3: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

Cardreader

Printerand card

punch

Multiplier

DividerAnd

Squarerooler

FunctionTables

A1 A2 A30

Masterprogrammer

unit

Program

Lines

Accumulators

Estrutura do ENIAC

Page 4: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 5: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

Estrutura do Computador

Page 6: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 7: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 8: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 9: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 10: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 11: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 12: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 13: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 14: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 15: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 16: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 17: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 18: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 19: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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;

Page 20: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 21: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 22: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 23: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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 ?

Page 24: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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).

Page 25: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 26: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 27: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 28: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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

Page 29: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

Interpretador

Interpreta (analisa) os comandos de um programa (um de cada vez) e executa as operações especificadas;

BASIC

Page 30: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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.

Page 31: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemó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.

Page 32: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

Modos de endereçamento

Facilitar a atividade de programação;

Reduzir a quantidade bits (tamanho) da instrução.

Page 33: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemória.

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;

Page 34: Jacquard / Babbage Programa Impressora Perf. cartões Cartões de operaçãoCartões variáveis ALUMemó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).