Organização de computadores Professora Marcela Santos Aula 7 – A arquitetura de von Neumann.

Slides:



Advertisements
Apresentações semelhantes
Organização e Arquitetura de Computadores I Introdução
Advertisements

Organização de Computadores I
CPU: Controle e processamento
O Sistema de Computação
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Barramentos Introdução.
Arquitetura de Computadores
Software Básico Silvio Fernandes
Sistemas Operacionais
Introdução à Informática
Sistemas Operacionais
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Professor: Carlos Roberto da Silva Filho, M. Eng.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Arquitetura de Computadores
Arquitetura de Computadores
Processadores – Aula 3 Professor: André Luis Meneses Silva
2- Entendendo o que é Arquitetura e Organização
Introdução à Programação
Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização.
Representação de Instruções
Sistemas Operacionais
Unidade Central de Processamento UCP
Organização de Computadores
Sistemas Operacionais I
Organização de um computador
ORGANIZAÇÃO DE COMPUTADORES
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Pet computação UFPE Aula de apoio aos feras: Arquitetura de Computadores.
Processamento de dados na UCP e memória UCP
Arquitetura de Computadores
Unidade Central De Processamento: Processador
Sistemas Operacionais
Organização e Arquitetura de Computadores
Unidade Central De Processamento: Processador
Fundamentos de Arquitetura da Computação
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Conteúdo do Capítulo 1.1 Visão Geral 1.2 Uma Breve História
Sistemas Operacionais
Organização e Arquitetura de Computadores
Unidade de Controle.
DSC/CEEI/UFCG Introdução à Computação. DSC/CEEI/UFCG 2 Hardware – Memória  Componente de um sistema de computação cuja função é armazenar informações.
Tudo sobre o Processador
Curso: Sistemas de Informação Tópico 5
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
CPU (Unidade Central de Processamento Processador É constituído por um conjunto de chips responsáveis pela execução de cálculos, decisões lógicas e instruções.
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
INTRODUÇÃO À COMPUTAÇÃO
Introdução à Computação Componentes Básicos dos Computadores
Arquitetura de Computadores
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Arquitetura de Microcomputadores
Organização e Arquitetura de Computadores
Funcionamento interno do computador
Introdução à Programação
Arquitetura de computadores
Introdução à Computação
Apresentação Objetivo: –Apresentação e revisão de conceitos básicos –Discussão da noção de algoritmo –Escopo da linguagem de programação –Exercício com.
ARQUITETURA DE VON NEUMANN
Sistemas Operacionais Arquitetura de Computadores
Microcontroladores.
1 Arquitetura de Computadores Introdução. 2 Arquitetura de Computadores Conceitos – Arquitetura de Computador Trata do comportamento funcional de um computador.
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

Organização de computadores Professora Marcela Santos 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...

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 Um pouco de história...

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

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: A 1 A 2 A 3 A 4 OP 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 A 4 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

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 que interliga seus componentes principais acarreta o chamado Gargalo 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

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

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)

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)

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)

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)

Memória: Conjunto de posições/locações endereçáveis Palavras: Posição/locação da memória. Contém dados e instruções. Palavra: Unidade básica de transferência de/para memória.Palavras são localizadas através de um endereço Dados, instruções e endereços são codificados em binário Modelo de von Neumann (1946)

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)

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)

IAS - Máquina de Von Neumman

Memória principal M Registrador de dados MBR Registador de endereços MAR Acumulador AC Registrador multiplicador-quociente MQ Registrador IBR no IAS pode-se ler simultaneamente duas instruções a que não está sendo executada é armazenada no IBR Contador de programa PC IAS – Organização da UCP

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

IAS – Arquitetura de um endereço (exemplo de programa) EndereçoInstruçãoComentário e[1]LDA BMove B para o acumulador e[2] ADD CSoma AC com C e coloca resultado em AC e[3] MUL DMultiplica AC por D e coloca em AC e[4] ADD ESoma E ao AC e coloca em AC e[5] SUB FDiminui F de AC e coloca em AC e[6] DIV GDiv AC por G e coloca em AC e[7] DIV HDiv AC por H e coloca em AC e[8] STA AArmazena AC em A e[9] HALTFim do programa

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

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.

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

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 de M bits de endereço Memória

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

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

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 forma síncrona com o relógio O desempenho da máquina é proporcional a: nº ciclos x período = nº ciclos /freqüência E o que isso significa??

Tempo de UCP de execução de um programa pode ser dividido em tempo do usuário e tempo do Sistema – tempo de usuário – execução de instruções do programa do usuário – tempo de sistema – tarefas do S.O. necessárias para a execuçã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

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