ii - introduÇÃo introdução introdução histórico e evolução histórico e evolução...

57
II - INTRODUÇÃO II - INTRODUÇÃO Organização e Arquitetura de Computadores II – INTRODUÇÃO Introdução Histórico e Evolução Princípios Básicos Arquitetura de Von Neuman e Componentes Arquitetura de 4,3,2,1 e 0 endereços Tabela Ascii

Upload: eugenio-sales-esteves

Post on 07-Apr-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Organização e Arquitetura de ComputadoresII – INTRODUÇÃO

• Introdução• Histórico e Evolução• Princípios Básicos• Arquitetura de Von Neuman e

Componentes• Arquitetura de 4,3,2,1 e 0 endereços• Tabela Ascii

Page 2: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

ComputadorMáquina destinada a realizar cálculos complexos.

• Introdução

Série de atividades ordenadas.Objetivo: obter informações a partir de outras informações

D a d o s ProcessamentoResultado:

informações

Matéria Prima

Varia tecnologicamente (evolui)VelocidadeTelecomunicação

Page 3: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Estrutura do sistemaHardware

• Introdução

Page 4: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

Organização de computadores:Parte do estudo da Ciência da Computação que trata dos aspectos mais conhecidos dos especialistas que o construíram.• Tecnologia de construção da memória• Frequência do relógio• Sinais de controle para inicio•Microoperações nas diversas unidades

Arquitetura: Nível do ProgramadorImpacta diretamente na construção de um programa.• Conjunto de instruções de um processador• Tamanho da palavra• Modos de endereçamento das instruções • Tipo e tamanho dos dados manipulados pelo

processador

Page 5: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Introdução

Page 6: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Gerações dos computadores1ª Geração (1940 a 1952)

Eniac

válvula Linguagem de máquina

Cartão perfurado

Memória de atraso de mercúrio

• Histórico e Evolução

Page 7: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Gerações dos computadores2ª Geração (1952 a 1964)•Linguagem assembler, cobol, Algol, Fortran.

Tradic - 1955

Memória de núcleo de ferrite Válvula e transistores

Unidade de fita magnética

Histórico e Evolução

Page 8: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

3ª Geração (1964 a 1971)

PDP-11

VAX

Comparativo: válvula transistores e chips

Circuitos integrados

Gerações dos computadoresHistórico e Evolução

Page 9: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

4ª Geração (1971 a 1981)• Diversidade de Linguagens de programação;• Rede de transmissão de dados.

Microcomputador TRS-80

Microcomputador PC 8088

Microcomputador APPLE

Disco flexível de 5.1/4” Disco flexível de

3.1/2”

Gerações dos computadoresHistórico e Evolução

Page 10: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

5ª Geração (1981........)• Inteligência Artificial;• Linguagem Natural• Altíssima velocidade de processamento.

CPU - Circuito integrado da Larga escala

Comparativo atual

Microcomputador integrado com processamento paralelo

Notebook com a mesma capacidade dos desktop

Gerações dos computadoresHistórico e Evolução

Page 11: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

1ª Geração Linguagem de máquina2ª Geração Assembler, linguagem montadora3ª Geração Linguagem de alto nível orientada para os

procedimentos, linguagem simbólica de composição do raciocínio

4ª Geração diversificação das linguagens de programação. Linguagens de altíssimo nível, orientadas para problemas.

O software pode ser:•Básico: sistemas operacionais e linguagens de programação.•Aplicativo: processadores de textos, planilhas de cálculo, processadores de imagens, etc.

SoftwareHistórico e Evolução

Page 12: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Definição: é um conjunto de termos (vocábulos) e regras (sintaxe) que permitem a formulação de instruções (programas para serem executadas pelo computador)

Tipos de linguagens:• Linguagem de Máquina: é única entendida pelo computador,

sendo formada por instruções em código binário.

Histórico e Evolução

Linguagens de Programação

Page 13: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Linguagem de baixo nível: são aquelas cujo os códigos são muito próximos aos usados pela máquina. São utilizadas no desenvolvimento de aplicações que interagem diretamente com o hardware necessitando alta velocidade de execução.

A estas linguagens dá-se o nome de Linguagem Montadora (Assembler – Assembly Language).

Histórico e EvoluçãoLinguagens de Programação

Page 14: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Linguagem de alto nível: são aquelas cujo os códigos são muito próximos aos utilizados pela linguagem humana.

Histórico e EvoluçãoLinguagens de Programação

Page 15: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Proximidade entre a linguagem e a máquina.

Histórico e EvoluçãoLinguagens de Programação

Page 16: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Relação entre o usuário e o computador através da linguagem.

Histórico e EvoluçãoLinguagens de Programação

Page 17: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosInstrução: OPERAÇÃO OPERANDOS

Programa: Conjunto de InstruçõesSão armazenados na memória juntamente

com os dados correspondentes.Deve ser interpretado para realização do

processamento.

Memória: Armazena dados e instruções.Organizada matricialmente em endereços.

Page 18: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios Básicos

Unidade Central de Processamento (UCP ou CPU) ou processador

Formado pelas unidades de:• Controle: controla todo o tráfego de informação• Unidade Lógica e Aritmética

• Busca – decodificação – execução de instruçõesContador de instruções ou apontador de instruções: elemento que contém a próxima instrução a ser executada.Registrador de instruções: armazena, a partir da memória, a próxima instrução a ser executada

Operações Lógicas

Operações aritméticas

Page 19: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios Básicos

Registrador de instruções: armazena, a partir da memória, a próxima instrução a ser executadaDecodificação: processo de interpretação das instruções a partir de circuitos de decodificação gerando sinais correspondentes à operação a ser realizadaExecução de instruções: aplicação da função nos operandos

Elementos Funcionais BásicosBlocos Convencionais:

MemóriaUnidades OperacionaisUnidades de controleDispositivos de E/S

RegistradoresContadoresMultiplexadoresSeletoresDecodificadoresSomadores Portas lógicas

CPU

Page 20: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios Básicos

Elementos Funcionais Básicos

Registradores: elementos digitais com capacidade de armazenar dados

ContadoresMultiplexadoresSeletoresDecodificadoresSomadores Portas lógicas

Elementos com capacidade de operar sobre dados, alterando-os ou fornecendo um novo dado como resultado da operação que realizam.

Sinais de controle: são sinais que habilitam operações nos elementos digitais.

Barramento: são caminhos que permitem o transporte de dados entre vários elementos da parte operacional. Memória e sistemas de E/S

Page 21: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios Básicos

Elementos Funcionais Básicos

Controle

Memória

Unidade Operacional

Entrada e Saída

CPU

Memória Formada por elementos de armazenamento

Page 22: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Memória Formada por elementos de armazenamento

Palavra: divisão da memóriaEndereço: Identificação unívoca da palavra:

São dados ou instruçõesParâmetros que caracterizam a memória:

tamanho: palavra em bits (RDM) memória em palavra (REM)

velocidadeTecnologia

Page 23: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos Memória

REM

RDM(in)

READ

WRITE

RDM(out)

Sinais de Controle

Registrador de Dados da Memória (Write)

Registrador de Endereço da Memória

Registrador de Dados da Memória (Read)

Page 24: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Unidade Operacional Bloco Operacional: executa as transformações

sobre os dados especificados pelas instruções de um computador.

composição: unidade lógica e aritmética, registradores de uso geral e específico, barramento de interligação.

porte: número, tamanho, uso dos registadores, quantidade de operações, tipo de operações e unidade lógica e aritmética.

Page 25: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos Unidade Operacional

Unidade Lógica e AritméticaRealiza operações Lógica e Aritmética sobre um ou mais

operandos. Ex: Soma, Negação, Deslocamento...Fornece resultados e indicações sobre as operações realizadas.

U L A

O p e r a n d o s

Controle Código de Condição

Resultados

•Overflow•Sinal•Carry•Zero

Page 26: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos Unidade Operacional

Unidade Lógica e Aritmética

Característica: • Comprimento em bits dos operandos• Número e tipo de operações• Códigos e condições geradas

Acumulador: Armazena um operando e/ou resultado fornecido pela ULA.Característica: comprimento em bits

Page 27: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Unidade de Controle• Gerenciador do fluxo de dados;• Gera sinais de controle

Determinam e garantem o instante preciso Cada sinal comanda:

Microprogramaçãoo Carga do registradoro Seleção do modo de entrada de um

dado componenteo Seleção de uma operação na ULAo Habilitação de um circuito lógico

Page 28: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos .......Unidade de Controle

A unidade de controle é uma máquina de estados finitos (FSM) que realizam operações por lógica:• Sequencial: sinais de saída

dependem dos sinais de entrada e do estado anterior;

• Combinacional: sinais de saída dependem exclusivamente dos sinais de entrada.

Page 29: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos .......Unidade de Controle

Implementação da Lógica Sequencial

• Organização convencional: unidade de controle composta por: flip-flops, contadores e decodificadores que geram sequencialmente todos os sinais de controle de ativação dos elementos funcionais;

Page 30: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos .......Unidade de Controle

• Organização microprogramada: sinais de controle são armazenados em memória especial (memória de controle)Vários sinais são buscados a cada acesso à memória de controle, que estão agrupados em microinstruções.

Seu conjunto formam o microprograma

Longas palavras

Page 31: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos .......Unidade de Controle

RI

RST

Unidade de Controle

Registrador de instruções: Elemento do bloco de controle

Registrador de estado: Elemento da interface

Sinais de controle para

a unidade operacional

Page 32: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Registradores Especiais

Dependem da arquitetura e da organização da máquina:

Apontador de instruções ou Contador do programa (PC- Program Counter) : mantém atualizado o endereço da próxima instrução a ser executada.

característica: comprimento em bits

Registrador de instruções: armazena a instrução que está sendo executada.

característica: comprimento em bits

Page 33: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos ...........Registradores Especiais

Registrador de estado (RST): armazena códigos de condição gerados pela unidade lógica e aritmética, e, eventualmente por outros elementos, como sinais de interrupção gerados por dispositivos de entrada e saída.

característica: comprimento em bits

Page 34: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Conjunto de Instruções e Modo de Endereçamento

instrução: Conjunto de bits devidamente codificados que indica ao computador que sequência de microoperações ele deve realizar.Classificação: Semelhança de propósito e formato. As mais comuns são:• Transferência de dados• Aritméticas e lógicas• Teste de desvio

Page 35: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos ......Conjunto de Instruções e Modo de Endereçamento

Conjunto de instruções: é o conjunto de todas as instruções que um computador reconhece e pode realizar (equivalente ao conjunto de palavras reservadas e uma linguagem de alto nível).

Programa: qualquer sequencia finita de instruções de um determinado conjunto de instruções.

Modos de endereçamento: são as diversas forma de endereço de um operando somadas as diversas formas de desvio.

Page 36: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Ciclo de busca – decodificação – execução de instruções

• Princípios BásicosElementos Funcionais Básicos

Busca: Leitura de uma instrução da memória. Envolve:• Copiar o apontador de programa (PC) para o

registrador de endereço de memória(REM);• Leitura de uma instrução da memória (RDM);• Copiar o registrador de dados da memória (RDM)

para o registrador de instruções (RI);• Atualizar o apontador (PC).

Page 37: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

...Ciclo de busca – decodificação – execução de instruções

• Princípios BásicosElementos Funcionais Básicos

Decodificação: Determinar qual a instrução a ser executada. A decodificação é feita geralmente por lógica combinacional.

Execução: Depende de qual instrução a ser executada.• Cálculo do endereço de operandos• Busca de operandos na memória• Seleção de operação da ULA• Carga de registradores• Escrita de operandos na memória• Atualização do PC para desvios

Page 38: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos

Programação de um processador

Linguagem de máquina: É uma imagem numérica (binária) que representa a codificação do conjunto de instruções de um computador.Programa objeto: São representados e

armazenados em linguagem de máquina.Devido à dificuldade do trabalho com esta

linguagem foram criados:

Page 39: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Princípios BásicosElementos Funcionais Básicos ....Programação de um processador

Devido à dificuldade do trabalho com esta linguagem foram criados:

Mneumônicos associados às instruções:Nomes dos operandosRótulos às posições ocupadas pelo

programa Necessita de Tradução Montagem

Montador: programa que realiza a montagem (Tradutor);

Compilador: gera rotinas em linguagem de máquina para cada instrução.

Page 40: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Arquitetura de Von Neumann e Componentes

Um Computado de Primeira Geração: O EDVAC (Eletronic Discrete Variable Computer)

No ENIAC os programas e dados eram armazenados separadamente. O conceito de programa armazenado é atribuído ao matemático húngaro John von Neumann (1903-1957). Isto caracteriza a possibilidade de mudança das próprias instruções.

Page 41: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Arquitetura do EDVAC.• Programa armazenado• Memória: 1024 palavras de 44 bits cada,

implementada através de linha de atraso de mercúrio. 20 K palavras de memória secundaria magnética.

• Representação interna em binário.• Circuitos aritméticos binários seriais,

devido a entrada de dados serial.

• Arquitetura de Von Neumann e Componentes

Page 42: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

Page 43: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Antes da execução do programa

· Colocação de todas as instruções e dados na memória principal.

· Palavras de 44 bits permitem 4 campos de 10 bits, um campo de 4 bits de código de instrução.

· Capacidade de 16 instruções sendo 12 implementadas

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

Page 44: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Exemplo de Instrução Aritmética.

A1 A2 A3 A4 OP

• Executa OP conteúdos em posições cujos endereços são A1, A2 e coloque o resultado em A3.

• A4 especifica o endereço da próxima instrução a ser executada.

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

Page 45: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Exemplo de Instrução Condicional

A1 A2 A3 A4 C

Se o conteúdo de A1 for maior que o conteúdo de A2 então execute a instrução da posição A3 se não, da posição A4.

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

Page 46: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Instrução de transferência de memória principal par secundaria.

A1 m,n A3 A4 OP

Significado:1. Se m=1 Transfira para o condutor n a sequência de palavras na

memória principal nas posições A1, A1+1, A1+2 .......,A3.

2. Se m=2 Transfira do condutor n a sequência de palavras para as posições A1, A1+1, A1+2 .......,A3. na memória principal.

A4 endereço da próxima instrução.Este computador ficou operacional em 1951.

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

m – modificador de operaçãon – endereço do condutor

Page 47: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Principais InconvenientesTempo de acesso muito grande comparado ao tempo de processamento da UCP. O que levou a o chamado “gargalo de von Neumann”. • Possíveis soluções

Armazenar resultados na posição inicial de um dos operandos.

Destinar um endereço de memória para armazenar o resultado de determinada operação.

Convencionar previamente o endereço da próxima instrução.

• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.

Page 48: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

Modelo de von Neumann: O computador IAS.1946 (Princeton Institute for Advanced Studies)

Memória principal: Tubo de raios catódicos de acesso randômico.

Instrução: OP A

Blocos básicos• UCP• Unidade de controle de programa• Memória principal de 4096 palavras de 40 bits:

grava duas instruções de 20 bits ou dados de 40 bits• Unidade de E/S

• Arquitetura de Von Neumann e Componentes

Arquitetura de um endereço

Page 49: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

AC–Acumulador na UCP – atua como memória rápida guardando os resultados da ULA

MQ–Registrador Multiplica-dor quociente

DR-Registrador de dados de 40 bits

AR–Registrador de endereço de 12 bits

IBR–Registra a instrução não executada imediatamente

PC – Registrador de endereçoIR–registra a instrução exe-

cutada imediatamente.

Estrutura do IAS

• Arquitetura de Von Neumann e Componentes ....O computador IAS

Page 50: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

há alterações em relação ao EDVAC• Registradores pré-definidos na UCP• Armazenamento sequencial do programa.

• Arquitetura de Von Neumann e Componentes ....O computador IAS

Formato dos DadosBinário, ponto fixo e complemento 2

primeiro bit é o de sinalo ponto está implícito entre 0 e 1

0 1 39

Formato das instruções

operação operaçãoendereço endereço0 7 8 19 20 27 28 39

Page 51: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Arquiteturas 4, 3, 2, 1 e 0

4 endereçosOP E1 E2 E3 E4E1 – fonte

E2 – fonteE3 – destinoE4 – próxima inst.

A=((B+C)*D+E-F)/(G*H)

e1 ADD B C A e2e2 MUL A D A e3e3 ADD A E A e4e4 SUB A F A e5e5 DIV A G A e6e6 DIV A H A e7e7 HALT O quatro endereço é desnecessário pois os

programas eram escritos sequencialmente

Page 52: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H)

OP E1 E2 E3E1 – fonteE2 – fonteE3 – destino

PC – criado para localizar a próxima instruçãoJump – indica salto

e1 ADD B C Ae1+1 MUL A D Ae1+2 ADD A E Ae1+3 SUB A F Ae1+4 DIV A G Ae1+5 DIV A H Ae1+6 HALT

Reduz o tamanho da instrução mas per-de-se um grau de liberdade

3 endereços

Page 53: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Arquiteturas 4, 3, 2, 1 e 0

A=((B+C)*D+E-F)/(G*H)

OP E1 E2

E1 – fonte/destinoE2 – fonte

MOV – movimento de memória

e1 MOV A Be1+1 ADD A Ce1+2 MUL A De1+3 ADD A Ee1+4 SUB A Fe1+5 DIV A Ge1+6 DIV A He1+7 HALT

Evita-se a repetição do destino.

2 endereços

Page 54: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Arquiteturas 4, 3, 2, 1 e 0

A=((B+C)*D+E-F)/(G*H)

OP E1E1 – memória

AC – Acumulador substitui o fonte e o destino

LDA–move da memória para o acumulador - LoaD

STA–move do acumulador para a memória- STore

e1 LDA Be1+1 ADD Ce1+2 MUL De1+3 ADD Ee1+4 SUB Fe1+5 DIV Ge1+6 DIV He1+7 STA Ae1+8 HALT

Economia de acesso à memória

1 endereços

Page 55: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H)0 endereços

OPE1 – memória

Pilha Equação escrita em notação polonesa reversa.Equação fica:HGFEDCB+*+-//

PUSH – colocar no topo da pilhaPOP – enviar do topo da pilha para a memória

e1 PUSH He1+1 PUSH Ge1+2 PUSH Fe1+3 PUSH Ee1+4 PUSH De1+5 PUSH Ce1+6 PUSH B

e1+7 ADDe1+8 MULe1+9 ADDe1+10 SUBe1+11 DIVe1+12 DIVe1+13 POP Ae1+14 HALT

Não há grande vantagem em relação a anterior

Page 56: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO

•Tabela Ascii

Page 57: II - INTRODUÇÃO Introdução Introdução Histórico e Evolução Histórico e Evolução Princípios Básicos Princípios Básicos Arquitetura de Von Neuman e Componentes

II - INTRODUÇÃO

II - INTRODUÇÃO