Prévia do material em texto
ARA0039 – Arquitetura de Computadores Aula 03 – Arquitetura de Von Neumann Situação Problema No final da década de 1940, os primeiros computadores se basearam na arquitetura de Von Neumann. Desde então, novas tecnologias vêm sendo incorporadas ao hardware dos computadores, aumentando cada vez mais o seu desempenho. Diante de tantas inovações tecnológicas, é possível que tenham ocorrido alterações significativas na arquitetura dos computadores modernos em relação aos seus antecessores? Funcionamento dos computadores - Hardware e Software O computador é uma máquina capaz de sistematicamente coletar, tratar e fornecer os resultados derivados do processamento dos dados coletados de dados para um ou mais objetivos; Funcionamento dos computadores - Hardware e Software Conceito de Hardware: Componentes físicos de um computador como placas, processador, memória etc.; Quanto à parte do hardware, mostrar uma figura que mostre o hardware composto de entrada, processamento, armazenamento e saída. Na entrada associar os dados e na saída associar a informação e mostrar a diferença entre os dois itens. Diferença entre Dado e informação: Dado é a matéria- prima obtida na etapa de coleta (entrada) e informação é o resultado obtido pelo tratamento destes dados (saída); Conceito de Software: Programas (código de computador) que permitem a interação com o computador. Arquitetura de Von Neumann Modelo de Von Neumann John Von Neumann foi um matemático húngaro (1903-1957) com diversas contribuições significativas na matemática e na física. Foi professor da Universidade de Princeton e um dos construtores do ENIAC. A sua grande contribuição para a computação foi propor que os dados lidos em cartões perfurados fossem gravadas na memória do computador, propondo uma arquitetura onde: Dados e instruções fossem armazenados em uma única memória que seria utilizada tanto para leitura quanto para escrita; Os dados armazenados na memória poderiam ser acessados através de endereços; Arquitetura de Von Neumann Composição do Modelo: O Modelo proposto por Von Neumann (1945) é formado por uma CPU, memória, unidade de entrada e unidade de saída. Estes componentes estão interconectados através de um barramento. Características de funcionamento: Programação sequencial; O valor de uma variável é alterado durante a execução de um programa; Instruções e dados são armazenados indistintamente. Arquitetura de Von Neumann A máquina de Von Neumann é composta por quatro partes básicas: Memória, para armazenamento de dados; Unidade lógica e aritmética (ULA); Unidade de Controle (UC), cuja função é buscar informações na memória; Dispositivos de Entrada e Saída (E/S). Arquitetura de Von Neumann A unidade lógica e aritmética responsável pela execução das operações lógicas e aritméticas efetuando transformações sobre dados; A memória armazena os dados e instruções que serão utilizadas nas operações definidas nos programas; A Unidade de Controle é responsável pela interpretação e execução de comandos; A execução de um programa ocorre sequencialmente, por ordem de endereços, exceto se for feita algum desvio explicito no programa. Barramento O barramento é um meio de transmissão compartilhado, que conecta dois ou mais dispositivos. Tipicamente, ele consiste em múltiplos caminhos de comunicação, ou linhas, capazes de transmitir sinais binários. Os computadores possuem barramentos com finalidades específicas, que oferecem comunicação entre memórias, CPUs dispositivos de entrada/saída. Podem ser seriais ou paralelos e trabalharem em diferentes taxas de transmissão. Também existem linhas de distribuição de potência, para fornecer energia aos módulos conectados. Barramento de Sistemas Elementos funcionais básicos Conectam a CPU, memória e controladores de dispositivos de E/S. São divididos em três partes: Controle: define o tipo de operação; Dados: informa o que será lido/escrito; Endereço: informa a posição a ser utilizada. – Só podem receber dados de uma fonte por vez; – A largura em bits diz respeito ao tamanho dos elementos que trafegam nele. Barramento de Sistemas Cada sistema possui uma série de barramentos: Internos ao microprocessador (interliga registradores, FPU, caches internas); Barramentos do sistema (interliga CPU e a memória); Barramentos de expansão (colocadas placas controladoras e interfaces); Barramento para periféricos (onde as unidades periféricas estão ligadas) Memória Memória é formada por elementos armazenadores de informações e tem como função armazenar dados e instruções: Organizados em posições (dividida em palavras); Podem ser visualizadas como elementos de uma matriz; Cada elemento tem um endereço referenciado diretamente, de acordo com a sua colocação na sequência (identificado de modo único); A comunicação entre CPU e memória utiliza dois registradores específicos: RDM e REM. Memória Elementos funcionais básicos Registrador de Endereços da Memória (REM) Contém o endereço do dado a ser lido ou escrito na memória; Registrador de Dados da Memória (RDM) Contém o dado a ser escrito na memória (write) ou lido da memória (read). Sinais de controle: Read (leitura da memória) o conteúdo da posição de memória endereçada por REM é copiado em RDM; Write (escrita na memória) a posição de memória endereçada por REM recebe o conteúdo de RDM; Memória A integração entre CPU e memória é feita pelos barramentos que conectam CPU/Memória/Dispositivos de E/S. Barramentos são divididos em 3 partes: Controle : define o tipo de operação; Dados: informa o que será lido/escrito; Endereço: informa o endereço para leitura/escrita; Tem como limitações: Grande quantidade de acessos a memória; Velocidade dos novos dispositivos; Execução em paralelo. Memória Barramento e Memória Barramento e Memória Barramento e Memória Barramento e Memória Unidade Lógica e Aritmética A unidade aritmética e lógica é responsável por realizar diversas operações, entre elas: Adição Subtração Operações lógicas (E, OU, XOR, INVERSÃO) Deslocamento (à esquerda e à direita) Comparação As unidades aritméticas e lógicas mais modernas realizam também as operações de multiplicação e divisão. As operações são realizadas pela leitura de dois registradores fontes do banco de registradores, e com a escrita do resultado no registrador de destino Unidade Lógica e Aritmética Unidade Central de Processamento A CPU é um componente que une a ULA a Unidade de Controle e os registradores. O processador é responsável pela realização de algumas funções: Buscar instruções e dados na memória e executá-las uma após a outra; Gerenciar a transferência de dados entre a memória e os dispositivos de E/S; Decodificar as instruções; Realizar operações lógica e aritméticas; Responder a sinais enviados por dispositivos de entrada/saída como RESET ou interrupções. Unidade Central de Processamento Unidade Central de Processamento Registradores Registadores são elementos de memória, de pequena capacidade mas de alta velocidade, usados para armazenar resultados temporários. O conjunto desses registradores é denominado banco de registradores. Os registradores são referenciados explicitamente pelas instruções lógicas, aritméticas e de transferência de dados. Registrador de Instruções (IR - Instruction Register) armazena a instrução que está sendo executada; Registrador de estado (PSW - Program Status Word) armazena condições de estado geradas pela unidade aritmética e lógica, gerando informações para a unidade de controle; Contador do programa (PC - Program Counter) armazena o endereço da próxima instrução que será executada. Dispositivos de Entrada e Saída Arquitetura Harvard Arquiteturas de Harvard são normalmente utilizadas em sistemas especializados ou para usos específicos. Surgiu da necessidade de se reduzir o tempo de processamentos de microcontroladores e é um conceito de arquitetura mais recente que o de Von Neumann. Ela se distingue de outras arquiteturas por possuir duasmemórias diferentes, sendo uma para dados e outra para programa (instruções). Também são independentes em termos de barramento e conexão com o processador. Arquitetura Harvard Essa arquitetura permite que algumas instruções e até alguns operandos (dados), sejam lidos ao mesmo tempo que o processamento de outras instruções, ou seja, permite que a próxima instrução seja lida enquanto a atual está sendo processada. Como o sistema passa o tempo todo executando instruções, isso gera vantagens dela sobre outras arquiteturas. Esse processo é conhecido como pipelining. Ele também é usado em muitos pequenos microcontroladores utilizados em aplicações eletrônicas, tais como os processadores ARM (sigla em inglês para Advanced RISC Machine) base de muitos fabricantes. Arquitetura Harvard Os microcontroladores com arquitetura Havard são também conhecidos como “microcontroladores RISC” (Computador com Conjunto Reduzido de Instruções), e os microcontroladores com uma arquitetura Von-Neumann, de “microcontroladores CISC” (Computador com um Conjunto Complexo de Instruções). Microcontrolador é um pequeno computador num único circuito integrado que contém um núcleo de processador, memória e periféricos programáveis de entrada e saída. A memória de programação pode ser RAM, NOR flash ou PROM a qual, muitas vezes, é incluída no chip. Os microcontroladores são concebidos para aplicações embarcadas, em contraste com os microprocessadores utilizados em computadores pessoais ou outras aplicações de uso geral. Arquitetura de Von Neumann x Arquitetura Harvard Na arquitetura de von Neumann o canal de transmissão de dados entre a CPU e a memória leva ao gargalo de von Neumann, a troca de dados limitada (taxa de transferência) entre a CPU e a memória em relação à quantidade de memória. Nos computadores modernos, a troca de dados entre o processador e a memória é muito menor do que a taxa com que o processador pode trabalhar. Se a CPU tiver uma instrução de leitura, escrita de dados de memória, ou para memória. Ambas as instruções, não podem ocorrer ao mesmo tempo, uma vez que as instruções e os dados fazem o uso do mesmo barramento. Arquitetura de Von Neumann x Arquitetura Harvard Na Arquitetura de Harvard, os caminhos de dados e de instrução são distintos. É a arquitetura mais utilizada nos microcontroladores, pois proporcionam maior velocidade de processamento, pois, enquanto a CPU processa uma informação, outra nova informação está sendo buscada, de forma sucessiva. A CPU pode ler uma instrução e executar um acesso à memória de dados ao mesmo tempo, mesmo sem cache, pode assim ser mais rápida para um circuito de complexidade dada porque a instrução busca o acesso a dados, sem acontecer por uma via única de memória. Exercício image2.jpeg image3.png image4.png image5.png image6.png image7.png image8.png image9.png image10.png image11.png image12.png image13.png image14.png image15.jpeg image16.jpeg image1.jpeg