Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM 1 Prof. Marcelo Luiz Silva Red Memória Principal manipulação de dados. utiliza-se strings de bits para representação da informação. a memória é usualmente dividida em unidades de tamanho uniforme, as quais contém a seqüência de bits. UFOP – ICEB – DECOM 2 Prof. Marcelo Luiz Silva Red Memória Principal Palavra de Memória: é uma seqüência de bits tratada como uma unidade de informação. uma unidade de memória é denotada por um único número, chamado endereço da memória. a memória é uma coleção, de comprimento padrão, de palavras que podem ser endereçadas. UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red 3 Memória Principal a maioria dos processadores atuais utilizam uma palavra de memória cujo tamanho é um byte (8 bits) isto significa que o padrão para processar e transferir dados, é baseado em 8 bits. Como trabalhar com palavras maiores ? UFOP – ICEB – DECOM 4 Prof. Marcelo Luiz Silva Red Memória Principal n-1 n-2 n-3 n endereços 3 2 1 0 m bits Palavra de Memória m-1 m-2 UFOP – ICEB – DECOM 2 1 0 5 Prof. Marcelo Luiz Silva Red Memória Principal por razões técnicas, a memória é fabricada, atualmente, para conter quantidades de bytes medidos em potências de 2. 2^10 bytes = 1024 bytes = 1 kilobyte = 1 K = KB. milhares de kilobytes 1 MEGABYTE (1 bilhão de bytes) = 1G = 1Gibabyte UFOP – ICEB – DECOM 6 Prof. Marcelo Luiz Silva Red Memória Principal milhares de gibabytes (1 trilhão de bytes) = 1 TERABYTE. UFOP – ICEB – DECOM 7 Prof. Marcelo Luiz Silva Red Tipos mais Importantes RAM – Ramdom Access Memory. Permite o acesso a qualquer unidade (célula de memória). ROM – Read Only Memory – Memória Somente para a leitura. leitura da memória = consultar um conteúdo. escrita na memória = armazenar um conteúdo. UFOP – ICEB – DECOM 8 Prof. Marcelo Luiz Silva Red Tipos mais Importantes a escrita é uma operação que apaga o conteúdo anteriormente armazenado na memória. RAM – é uma memória volátil, pois requer-se uma quantidade de energia para manter os dados armazenados. também são denominadas DRAM – Dynamic RAM. UFOP – ICEB – DECOM 9 Prof. Marcelo Luiz Silva Red Tipos mais Importantes SIMM – single in-line memory. DIMM – dual in-line memory. quando se desliga o computador, os dados são perdidos (volátil). Por esta razão, é importante ter um dispositivo de memória secundária para copiar os dados e programas (BACKUP). UFOP – ICEB – DECOM 10 Prof. Marcelo Luiz Silva Red Memórias a memória principal é projetada para prover para o processador, o acesso aos dados e aos programas. busca-se no projeto o acesso mais rápido possível. UFOP – ICEB – DECOM 11 Prof. Marcelo Luiz Silva Red Fatores que Determinam a Velocidade de Transferência – memória CPU 1) O dispositivo de memória (chip) possui uma taxa de transferência de dados. As DRAM típicas: 80 nanosegundos = 80 * 10^-9 s = 80 bilionésimos de segundo. Isto significa que seu tempo de resposta pode ser tão rápido quando 80 * 10^-9 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red 12 Fatores que Determinam a Velocidade de Transferência – memória CPU Aqui o tempo de resposta significa: o atraso entre o recebimento de um endereço para a memória e enviar o dado de volta a CPU; ou o atraso para o armazenamento de um dado novo na memória. UFOP – ICEB – DECOM 13 Prof. Marcelo Luiz Silva Red Fatores que Determinam a Velocidade de Transferência – memória CPU 2) A velocidade total do sistema de computação, ou seja, as transferências de memória são sincronizadas à velocidade de operação da CPU. Por exemplo, um chip de memória rápida fica sub-utilizado em um sistema cuja velocidade não o suporta, e vice-versa. UFOP – ICEB – DECOM 14 Prof. Marcelo Luiz Silva Red Fatores que Determinam a Velocidade de Transferência – memória CPU 3) A largura do BUS, ou a quantidade de dados que podem ser transferidas entre a CPU e a memória de uma só vez. UFOP – ICEB – DECOM 15 Prof. Marcelo Luiz Silva Red ROM a ROM também é de acesso aleatório, mas: não permite operações de escrita; não é volátil; usualmente armazena instruções patenteadas, que o fabricante as escreve, para funções básicas do sistema (inicializar o PC, E/S, etc.). UFOP – ICEB – DECOM 16 Prof. Marcelo Luiz Silva Red Mais Detalhes da CPU Registradores: unidades de memória que auxiliam a CPU na execução dos cálculos. MAR: Memory Address Register MDR: Memory Data Register PC: Programa Counter IR: Instruction Register GR: General Registers UFOP – ICEB – DECOM 17 Prof. Marcelo Luiz Silva Red Diagrama Funcional de uma CPU UFOP – ICEB – DECOM 18 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 1) Busca da Instrução. O ciclo anterior deixou o endereço da próxima instrução, a ser executada, armazenada no registrador PC. A unidade de controle sinaliza para que uma cópia do endereço seja enviada para o MAR, através do BUS da CPU. UFOP – ICEB – DECOM 19 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 2) O valor do endereço no PC é então incrementado, para denotar a locação da memória principal que contém a próxima instrução. Isto é a preparação para o próximo ciclo. UFOP – ICEB – DECOM 20 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 3) A instrução, cujo endereço está armazenado no MAR, é agora copiada no MDR, através do BUS. O MDR serve como armazenamento temporário para tais transferências a partir da RAM. UFOP – ICEB – DECOM 21 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 4) Decodificação da Instrução. A instrução é copiada do MDR para o IR, através do BUS da CPU. No IR a instrução é decodificada. O IR possui circuitos especiais que quebram a instrução em componentes com significados. UFOP – ICEB – DECOM 22 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 5) Executando a Instrução. Após a decodificação da instrução, no IR, a unidade de controle envia sinais apropriados para iniciar a execução. Esta execução é usualmente realizada na ALU, a qual também pode empregar um ou mais registradores gerais (GR). UFOP – ICEB – DECOM 23 Prof. Marcelo Luiz Silva Red O Ciclo Instrução-Execução 6) Uma vez completada a execução da instrução, a CPU retorna ao passo 1 e repete todo o processo. UFOP – ICEB – DECOM 24 Prof. Marcelo Luiz Silva Red O Sistema de Clock todo o ciclo instrução-execução é gerenciado pelo ritmo do sistema de clock. cada estágio tomo um certo número de ciclos de clock, e o sistema utiliza seu ciclo de clock para assegurar que todos o seus componentes estão seqüenciados corretamente. UFOP – ICEB – DECOM 25 Prof. Marcelo Luiz Silva Red O Sistema de Clock clock: medido em megahertz (MHz). uma instrução de máquina pode tomar vários ciclos de clockj para se completar. um processador pode executar em média, milhões de instruções por segundo. UFOP – ICEB – DECOM 26 Prof. Marcelo Luiz Silva Red Linguagem de Máquina ou Conjunto de Instruções Conjunto de Instruções: é o conjunto de operações embutidas de um modelo particular de computador ou máquina. Linguagem de Máquina: um conjunto particular de códigos que implementam todas as operações contidas no conjunto de instruções. UFOP – ICEB – DECOM 27 Prof. Marcelo Luiz Silva Red Linguagem de Máquina ou Conjunto de Instruções Linguagem de Máquina: é específica para um processador. um programa escrito para um processador, não pode ser executado por outro processador, a não ser que o programa seja traduzido para a linguagem de máquina do novo processador. UFOP – ICEB – DECOM 28 Prof. Marcelo Luiz Silva Red Operações Típicas de um Processador Operações de Movimentação de Dados. transferir dados da memória para a CPU (e vice-versa). transferências da memória para a memória. executar as operações de entrada e saída. UFOP – ICEB – DECOM 29 Prof. Marcelo Luiz Silva Red Operações Típicas de um Processador Operações Lógicas e Aritméticas. adição, subtração, multiplicação e divisão numérica. comparação de quantidades: >, <, =, , , , etc. operações em bits: shift, rotate, comparações, conversões, etc. UFOP – ICEB – DECOM 30 Prof. Marcelo Luiz Silva Red Operações Típicas de um Processador Operações para Controle de Programas. iniciar a execução do programa. parar a execução do programa. pular automaticamente para outras instruções do programa. testar um item de dado para decidir para qual instrução fazer o desvio.UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red 31 Conclusões Os computadores trabalham com instruções simples e elementares. estas instruções são implementadas em circuitos eletrônicos, para executarem de forma rápida e precisa. UFOP – ICEB – DECOM 32 Prof. Marcelo Luiz Silva Red Conclusões uma instrução de alto nível, freqüentemente é decomposta em milhares, ou milhões, de instruções de máquina (baixo nível) para ser posteriormente executada. UFOP – ICEB – DECOM 33 Prof. Marcelo Luiz Silva Red Exercícios 1. 2. 3. 4. 5. 6. 7. 8. Descreva a principal contribuição de John von Neumann para o desenvolvimento dos computadores modernos. Identifique e explique as características do modelo de arquitetura de von Neumann. Por que o conceito de programa armazenado é importante para a computação de propósito geral ? Descreva o ciclo de von Neumann – Instrução-Execução. Defina e explique a utilização da CPU, ALU, unidade de controle, BUS, RAM, ROM, memória principal e memória secundária. Descreva a estrutura geral da memória principal. Qual a função do sistema de clock ? O que é uma Linguagem de Máquina ? UFOP – ICEB – DECOM 34 Prof. Marcelo Luiz Silva Red