Aula7

33
Organização de computadores Professora Marcela Santos [email protected] Aula 7 – A arquitetura de von Neumann

Transcript of Aula7

Page 1: Aula7

Organização de computadores

Professora Marcela [email protected]

Aula 7 – A arquitetura de von Neumann

Page 2: Aula7

Máquinas de calcular e computadores vêm sendo inventados e desenvolvidos ao longo da história da humaninade.

Um das maiores investidas estãos dois computadores desenvolvidos por Charles Babbage.

Ele projetou o Dispositivo Diferencial em 1823 e o Dispositivo Analítico em 1834

Um pouco de história...

Page 3: Aula7

Um das primeiras tentativas de contrução de computadores eletrônicos foi feita por volta de 1930 por John Atanasoff. Essa máquina construída com válvulas era capaz de resolver equações lineares.

O primeiro computador eletrônico de propósito gerais foi provavelmente o ENIAC, contruído entre 1943 e 1946.

Um pouco de história...

Page 4: Aula7

No ENIAC os programas e os dados eram armazenados em memória separada. A idéia de ser armazenar programas e dados na mesma unidade de memória – que corresponde ao conceito de programa armazenado- é do húngaro John von Neumann.

Sua proposta foi publicada em 1945 para um computador novo o EDVAC

Um pouco de história...

Page 5: Aula7

O formato da instrução, a arquitetura e a organização escolhidas para a implementação do EDVAC resultaram em alguns problemas:

Considere uma instrução aritmética, que no EDVAC tem a seguinte forma:

A1 A

2 A

3 A

4OP

que significa realizar a operção OP com os conteúdos das posições A

1 e A

2, colocar o resultado em A

3, e depois vá para a

próxima instrução que está em A4

Incoveniente do EDVAC

Page 6: Aula7

Incoveniente do EDVAC

Todos os operandos correspondem a endereços de memória: dois são endereços de parcela, um é endereço de armazenamento do resultado final e o outro é endereço da próxima instrução.

O que significa um grande número de interações com a memória.

Gargalo de von Neumann

Page 7: Aula7

•Refere-se ao tráfego no barramento

– vai endereço da instrução volta instrução– vão endereços dos operandos– vão e voltam operandos

O fato de existir somente um barramento de sistema queinterliga seus componentes principais acarreta o chamadoGargalo de von Neumann.

Isto porque a cada ciclo do computador somente uma instrução ou um dado trafega pelo barramento do sistema.

Gargalo de von Neumann

Page 8: Aula7

• O fato de instruções e dados utilizarem o mesmo caminho para serem transferidos da memória principal para a CPU inviabiliza a possibilidade de se explorar o paralelismo de operações para acelerar o processamento.

Gargalo de von Neumann

•Para eliminar gargalo: diminuir tráfego de informações

– manter informações na CPU– diminuir tamanho em bits das informações transferidas– Inclusão de registradores

Page 9: Aula7

•Conceito de programa armazenado•Separação da Unidade Aritmética e de Controle•Utilização de barramentos e registradores•Hardware de entrada e saída (I/O)

Modelo de von Neumann (1946)

Page 10: Aula7

Em 1946, John von Neumann e sua equipe iniciaram o projeto de um computador de programa armazenado: o computador IAS, elaborado no Instituto de Estudos Avançados de Princeton.

Esta máquina foi largamente divulgada, influenciando sobremaneira o projeto subseqüente de outras máquinas.

Modelo de von Neumann (1946)

Page 11: Aula7

Os blocos básicos componentes do IAS são:

•Uma unidade de processamento central, para execução de operações aritméticas e lógicas;

•Uma unidade de controle de programa, para determinar o seqüenciamento das instruções a serem executadas e gerar os sinais de controle para as outras unidades. Estes sinais determinam as ações a serem executadas;

Modelo de von Neumann (1946)

Page 12: Aula7

Os blocos básicos componentes do IAS são:

•Uma unidade de memória principal, com capacidade de 4096 palavras, na qual são guardados instruções e dados, de forma Compartilhada;

•Uma unidade de entrada e saída.

Modelo de von Neumann (1946)

Page 13: Aula7

Modelo de von Neumann (1946)

Page 14: Aula7

Modelo de von Neumann (1946)

Page 15: Aula7

•Memória: Conjunto de posições/locaçõesendereçáveis•Palavras: Posição/locação da memória. Contémdados e instruções.•Palavra: Unidade básica de transferência de/paramemória.Palavras são localizadas através de um endereço•Dados, instruções e endereços são codificados embinário

Modelo de von Neumann (1946)

Page 16: Aula7

•Programa é uma seqüência de instruções, colocadas numa seqüência de endereços.

•A execução de um programa corresponde à execução seqüencial de suas instruções.

• A seqüência das instruções é definida de forma dinâmica em tempo de execução.- Existência de instruções de controle de fluxo

Modelo de von Neumann (1946)

Page 17: Aula7

•O programa armazenado é o aspecto mais importante do modelo de von Neumann.

•Um programa é armazenado na memória do computador junto com os dados a serem processados.

•Antes deste modelo, os computadores traziam o programa armazenado em uma memória externa com conexões de fios, cartões perfurados ou fitas.

Modelo de von Neumann (1946)

Page 18: Aula7

IAS - Máquina de Von Neumman

Page 19: Aula7

IAS - Máquina de Von Neumman

Page 20: Aula7

Memória principal → MRegistrador de dados → MBRRegistador de endereços → MARAcumulador → ACRegistrador multiplicador-quociente → MQRegistrador IBR → no IAS pode-se ler simultaneamente duas instruções a que não está sendo executada é armazenada no IBRContador de programa → PC

IAS – Organização da UCP

Page 21: Aula7

O formato das instruções: OP A

Cada instrução podia ser representada por 20 bits. A palavra de memória no Ias era de 40 bits, portanto cada palavra podia armazenar duas instruções

IAS – Formato das instruções

Page 22: Aula7

IAS – Arquitetura de um endereço (exemplo de programa)

Endereço Instrução

Comentário

e[1] LDA B Move B para o acumulador

e[2] ADD C Soma AC com C e coloca resultado em AC

e[3] MUL D Multiplica AC por D e coloca em AC

e[4] ADD E Soma E ao AC e coloca em AC

e[5] SUB F Diminui F de AC e coloca em AC

e[6] DIV G Div AC por G e coloca em AC

e[7] DIV H Div AC por H e coloca em AC

e[8] STA A Armazena AC em A

e[9] HALT Fim do programa

Page 23: Aula7

•No computador de programa armazenado, o programa pode ser manipulado como se fosse um

dado.

•Isto possibilitou o desenvolvimento de compiladores e sistemas operacionais, tornando os computadores

atuais bastante versáteis.

IAS - Máquina de Von Neumman

Page 24: Aula7

Além dos blocos básicos do computador proposto por von Neumann, outras características também eram importantes:

IAS - Máquina de Von Neumman

-Instruções dos programas armazenadas de maneira seqüencial;

-Existência de registradores dedicados ao armazenamento dos operandos e dos resultados das operações;

-Existência de um único barramento do sistema, realizando a transferência de dados e instruções entre os diversos blocos.

Page 25: Aula7

•Registradores: Posições de memória internas a UCP. – Dedicados e de Uso Geral

•Barramento: Via de comunicação – Dados e Instruções, Endereços e – Controle Comunicação Síncrona e Assincrona

Conceitos e convenções

Page 26: Aula7

•Em um computador geralmente existe uma hierarquia de memória.

•Cada nível da hierarquia é dividido em palavras de N bits cada

•A palavra é a unidade básica de transferência entre a UCP e a memória.

•Uma memória com 2M palavras necessita deM bits de endereço

Memória

Page 27: Aula7

Memória

Page 28: Aula7

•busca da próxima instrução na memória– manda endereço, volta instrução

•decodificação da instrução– interpreta código da instrução

•se a instrução precisa de dados (na memória)– manda endereço, busca dado

•execução da instrução– executa ações específicas para cada instrução

Execução de instruções

Page 29: Aula7

Execução de instruções

Page 30: Aula7

•Ciclo de relógio (clock): intervalos básicos de tempo nos quais são executadas as operações elementares de uma instrução

– transferências de valores entre registradores– operações aritméticas na ALU

•Período do relógio (T): Tempo de duração de um ciclo do relógio•Freqüência do relógio (f): Freqüência de repetição de ciclos de clock por unidade de tempo• Exemplo: Se o período do relógio é de T = 4 ns = 4x10-9

f = 1/T = 1/4x10-9 = 250 MHz

Noções de desempenho

Page 31: Aula7

• Para um período de T=4ns a máquina pode executar 250 milhões de operações elementares• As operações elementares são executadas de formasíncrona com o relógio• O desempenho damáquina é proporcional a:nº ciclos x período =nº ciclos /freqüência

E o que isso significa??

Page 32: Aula7

•Tempo de UCP de execução de um programa pode ser dividido em tempo do usuário e tempo doSistema

– tempo de usuário – execução de instruções do programa do usuário

– tempo de sistema – tarefas do S.O. necessárias para aexecução do programa do usuário

•Além do tempo UCP há o tempo de resposta (ou tempo relógio real) que inclui:

– acessos a disco, atividades de I/O– overhead do sistema operacional

Noções de desempenho

Page 33: Aula7

• Outro problema que degrada a performance do projeto de von Neumann é que o tempo de execução das instruções que envolvem apenas operações internas à CPU é muito menor do que o tempo necessário para transferências entre memória e CPU.

• Isto faz com que a CPU esteja na maior parte do tempo ociosa.

O problema do tempo de execução...