Organização e Arquitetura de Computadores Hugo Barros [email protected] Introdução ● Instruções Primitivas → L0 – ● Linguagem de máquina; Divergência de capacidades: – Os pc's podem fazer x – As pessoas querem fazer y – Surge então o problema... ● Novo conjunto de instruções → L1 ● Tradução/Interpretação Introdução ● Então porque criar uma nova linguagem ao invés de criar uma nova máquina que entenda L1 ? Máquina real Mn/Linguagem Ln Máquina real M3/Linguagem L3 Máquina real M2/Linguagem L2 Máquina real M1/Linguagem L1 Conjunto Conjuntode deInstruções Instruções dirigido à pessoas. dirigido à pessoas. (Linguagem (Linguagemde deAlto Alto Nível) Java, C++ Nível) Java, C++ Dividir para conquistar ? Níveis/ Camadas EEoocusto custocontinua continuaoomesmo mesmo?? Máquina real M0/Linguagem L0 Linguagem Linguagemde demáquina máquina Histórico ● ENIAC -1945 – 18 mil válvulas – 1500 relés – Mais de 30 toneladas – 140 quilowatts Histórico Histórico ● Edvac - 1949 – 6.000 válvulas – 1000 relés – 8 toneladas – 56 quilowatts Histórico Histórico ● Surgem os transistores 1955 – TX0 – TX1 – ... – TXn Histórico ● Circuitos integrados 1965 – IBM 360 Histórico ● Integração em grande escala – Milhões de transistores em um chip – Surge a interface com o usuário Histórico ● Máquinas atuais: – PC's – Servidores – Mainframes Processadores Processadores ● Funções: – Executar programas armazenados na memória; – Busca, examina e executa instruções do programa; – Controla registradores; Processadores Componentes de um processador ● ● Barramento: – Liga os componentes do computador; – Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais de controle e instruções; – Podem ser internos e externos ao processador; Unidade de Controle: – ● Busca e define cada instrução; Unidade Aritmética Lógica: – Realiza operações necessárias a execução das instruções; Componentes de um processador ● Registradores: – Memória pequena de alta velocidade; – Em geral do mesmo tamanho; – É neles que ficam o PC(Program Counter): armazena o endereço para a próxima instrução; – IR(Registrador de Instruções) : armazena a instrução que está sendo executada no momento; Organização do processador Caminho de Dados ● ● Geralmente composto de 1 a 32 registradores; Dois registradores armazenam as duas entradas (A e B) da UAL; ● A saída da UAL é conectada a 1 dos registradores ● 2 Tipos de instruções: – Registrador – memória: que permite que uma palavra de memória seja armazenada no registrador; – Registrador – registrador: instrução que opera 2 registradores e coloca o resultado em outro registrador(ciclo de dados); – Importante: “A velocidade do caminho de dados determina a velocidade de um computador”; Execução de Instruções Ciclo de Busca – Decodificação - Execução de uma instrução: 1) Busca próxima instrução na memória de armazena no IR; 2) Atualiza o Contador de Instrução (PC) para apontar para a próxima instrução; 3) Determina o tipo de instrução armazenada no IR; 4) Determina o endereço dos dados na memória; 5) Busca dados na memória, caso for preciso dados adicionais armazena-os em outros registradores; 6) Executa a instrução; 7) Volta ao passo 1; Problema 1 ● Como construir computadores de baixo custo capaz de executar todas as instruções complexas de máquinas de alta performace, muito mais caras ? – Implementação em hardware puro;(usado em computadores mais caros) – Implementação via interpretador de instruções por software; (mais baratos) Problema 1 ● Vantagens do interpretador em relação ao hardware: – Possibilidade de corrigir erros na implementação de instruções; – Oportunidade de incorporar novas instruções nas máquinas já existentes; – Projeto estruturado que permite o desenvolvimento, teste e documentação de instruções complexas de forma eficiente; – Armazenamento das microinstruções do interpretador em memórias read-only(ROM), chamadas de memórias de controle, muito mais rápidas do que as memórias tradicionais; Importante “O Uso da interpretação permitiu a criação de um conjunto grande de instruções e que eram difíceis e caras para serem implementadas diretamente por hardware”. (circuitos muito complexos). Próxima aula... ● RISC X CISC