Organização de computadores Professora Marcela Santos [email protected] Aula 7 – A...

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

Transcript of Organização de computadores Professora Marcela Santos [email protected] Aula 7 – A...

Page 1: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

Organização de computadores

Professora Marcela [email protected]

Aula 7 – A arquitetura de von Neumann

Page 2: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

• 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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

Modelo de von Neumann (1946)

Page 14: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

Modelo de von Neumann (1946)

Page 15: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

IAS - Máquina de Von Neumman

Page 19: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

IAS - Máquina de Von Neumman

Page 20: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

Memória

Page 28: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

Execução de instruções

Page 30: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

• 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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

•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: Organização de computadores Professora Marcela Santos marcela@edu.estacio.br Aula 7 – A arquitetura de von Neumann.

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