Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos de Computação Bruno Feres de Souza bferes@gmail.com Universidade Federal do Maranhão Bacharelado em Ciência e Tecnologia 1° semestre de 2013 Na aula passada... ● Armazenamento de dados não é suficiente ● É preciso fazer a manipulação de dados – Movimentar dados de um local para outro e realizar operações lógicas e aritméticas sobre os mesmos. ● Por que? Computação útil. – Editar textos – Editar fotos – Ouvir músicas – Navegar na Internet – etc Na aula de hoje ● Objetivo de hoje • 2 + 2 = ? Na aula de hoje ● Definição: circuito do computador responsável pelo processamento de programas armazenados na memória principal, buscando suas instruções, examinando-as e, então, executando-as uma após a outra. ● Sinônimos – Central Processing Unit (CPU) – Unidade Central de Processamento (UCP) – Processador CPU Introdução ● Definição: corresponde a uma operação básica que a CPU é capaz de realizar. – Manipulação de dados e operações de memória • Armazenamento de valor em um registrador • Movimentação de dados (R-R,R-MP,MP-R) • Leitura e escrita de dados em dispositivos – Operações lógicas e aritméticas • (+,-,*,/) • (AND, OR, XOR, etc) • (Incremento, decremento, complemento) – Operações de controle • Ramificação (“Vá para”) • Ramificação condicional (“Vá para se”) • Ramificação indireta (“Vá, execute e volte”) CPU Instruções de máquina: Definição CPU Instruções de máquina: Conjuntos de instruções ● Dependente da arquitetura adotada – Reduced instruction set computer (RISC): instruções simples de uso frequente. Ex: celular, Videogames, etc. – Complex instruction set computer (CISC): microprograma interpreta intruções complexas. Ex: computadores pessoais. • RISC versus CISC: RISC CISC Visa melhor desempenho Visa uma abstração maior Complexidade no compilador Complexidade no microprograma Dezenas de instruções Centenas de instruções Instruções simples Instruções complexas Execução rápida (um ciclo de clock) Execução lenta (vários ciclos de clock) Compatibilidade difícil de ser mantida Compatibilidade fácil de ser mantida ● Formato das instruções – Código da operação (Opcode): conjunto de bits que identifica a operação a ser realizada. – Operando: conjunto de bits que identifica localização do dado (ou dos dados) que será(ão) manipulado(s) durante a operação. CPU Instruções de máquina: Formato das instruções ● Três partes básicas – Unidade Aritmética e Lógica (UAL): circuito para realizar operações sobre dados – Unidade de Controle (UC): circuito para coordenar as atividades do computador – Registradores: armazenamento temporário dentro da CPU – UAL, UC e Registradores são interligado por barramentos (dados, endereços, controle). – Analogia: UC: cérebro, UAL: músculos e ossos, Barramento: nervos CPU Composição física M P ● Duas categorias funcionais – Unidade Funcional de Processamento: …....... – Unidade Funcional de Controle: …....... CPU Composição funcional ● Função: manipular um ou mais valores em uma certa sequência de ações de modo a produzir um resultado útil. ● Componentes: – UAL: executa intruções dos programas que se encontram armazenadas na memória. • Operações aritméticas • Operações lógicas • Incremento, decrementos, complementos – Registradores: memória temporária para UAL • Tamanho: 1 palavra (1, 2, 3,... bytes) – Diferentes tipos de registradores podem ter tamanho diferentes • ACC: memória para entrada e saída de operandos para operações lógicas e aritméticas CPU Composição funcional: Unidade Funcional de Processamento ● Funções: – Busca, na MP, da instrução que será executada, armazenando-a em um registrador especial. – Interpretação da instrução, a fim de saber quais operações deverão ser executadas na UAL e como realizá-las. – Geração de sinais de controle para a coordenar o processamento. CPU Composição funcional: Unidade Funcional de Controle ● Componentes (referentes à memória): – Registrador de dados de memória (RDM) • Armazena temporariamente dados: (MP->CPU) ou (CPU->MP) • Tamanho do RDM = Tamanho do barramento de dados – Registrador de endereços de memória (REM) • Armazena temporariamente o endereço de uma célula da memória. • Tamanho do REM = tamanho do barramento de endereços CPU Composição funcional: Unidade Funcional de Controle ● Componentes (referentes às instruções): – Contador de instruções (CI) • Armazena o endereço da próxima instrução a ser buscada na memória para execução. • Geralmente é incrementado – Registrador de instruções (RI) • Armazena a instrução a ser executada. • Instrução obtida via barramento de dados e RDM. CPU Composição funcional: Unidade Funcional de Controle ● Componentes (referentes às instruções): – Decodificador de instruções (DI) • Cada instrução possui uma identificação única (Opcode) • Determina a operação a ser realizada, com base na identificação da instrução • Circuito combinatorial CPU Composição funcional: Unidade Funcional de Controle ● Componentes (de controle em si): – Unidade de controle (UC) • Controla a execução das intruções e dos demais componentes da CPU • Gerenciamento do tráfego de dados e das atividades • Papel de coordenador CPU Composição funcional: Unidade Funcional de Controle ● Componentes: – Relógio • Gerador de pulsos • Sincroniza a execução das operações na CPU • Em um pulso, inicia-se uma operação • Duração do pulso = 1 ciclo • Número de ciclos por segundo = frequência (Hertz) CPU Composição funcional: Unidade Funcional de Controle ● Ciclo de instrução: repetição contínua, até que uma instrução de término seja encontrada. CPU Instruções de máquina: ciclo de instrução ● Ciclo de instrução – Fase 1: • A UCP busca Opcode na MP (endereço em CI) e armazena a instrução em RI – UC lê CI e coloca endereço na REM – UC envia sinal à MP para que realize uma leitura – MP lê o endereço que está na REM e busca a célula – MP coloca conteúdo em RDM – MP envia sinal à UC sinal de leitura concluída – UC transfere instrução para RI CPU Instruções de máquina: ciclo de instrução ● Ciclo de instrução – Fase 2: • O Decodificador de Instrução decodifica (interpreta) o Código de Operação (Opcode) contido no RI. – RI envia para DI o Opcode – DI identifica a operação a ser realizada – UC envia sinal à UAL informando o que fazer e incrementa CI CPU Instruções de máquina: ciclo de instrução ● Ciclo de instrução – Fase 3: • A UC busca (se houver) o(s) dado(s) (Operando). – UC envia sinal de leitura para MP – MP lê o endereço em REM e busca conteúdo correspondente – MP coloca conteúdo em RDM – MP envia sinal de leitura concluída à UC – UC transfere o conteúdo de RDM para um registrador interno CPU Instruções de máquina: ciclo de instrução ● Ciclo de instrução – Fase 4: • A UC comanda a execução da instrução (a operação é executada sobre o(s) dado(s)). – ULA executa instrução sobre dados nos registradores – ULA envia sinal de término à UC – UC identifica endereço na MP onde o resultado deve ser armazenado e coloca na REM – UC autoriza envio do resultado para o RDM – UC sinaliza MP para ler REM e RDM e escrever o resultado CPU Instruções de máquina: ciclo de instrução ● Ciclo de instrução é sequencial ● Execução lenta de múltiplas instruções ● Possível solução: Pipeline – Técnica de implementação de CPU onde várias instruções estão em execução ao mesmo tempo. – Analogia de linha de montagem de fábricas CPU Instruções de máquina: Pipeline ● Definição: uma linha de montagem CPU Instruções de máquina: Pipeline ● Exemplo: – 5 etapas: ciclo de instrução + armazenamento do resultado CPU Instruçõesde máquina: Pipeline ● Passos necessários à execução de 2 + 2 1.Buscar na MP o primeiro valor e colocar em um registrador 2.Buscar na MP o segundo valor e colocar em um registrador 3.Ativar circuito na ALU responsável pela operação aritmética de soma 4.Armazenar o resultado na MP 5.Parar CPU Exemplo: 2 + 2 = ? ● Arquitetura de exemplo: CPU Exemplo: 2 + 2 = ? ● Formato da instrução na arquitetura de exemplo: CPU Exemplo: 2 + 2 = ? Opcode 3: armazenar o conteúdo de um registrador em um endereço na MP Registrador cujo conteúdo deve ser armazenado Endereço na MP para armazenamento ● Conjunto de instruções CPU Exemplo: 2 + 2 = ? Opcode Operando Descrição 1 RXY CARREGAR R (endereço XY) 2 RXY CARREGAR R (bits XY) 3 RXY ARMAZENAR R (endereço XY) 4 0RS MOVER de R para S 5 RST ADICIONAR S e T e armazenar em R C 000 SAIR ● Passos codificados à execução de 2 + 2 1.156C: Carregar registrador 5 com os bits no endereço 6C da MP 2.166D: Carregar registrador 5 com os bits no endereço 6D da MP 3.5056: adicionar os conteúdos dos registradores 5 e 6 e armazenar o resultado no registrador 0 4.306E: Armazenar o conteúdo do registrador 0 na célula de memória correspondente ao endereço 6E 5.C000: Finalizar CPU Exemplo: 2 + 2 = ? ● Instruções armazenadas na memória CPU Exemplo: 2 + 2 = ? ● Execução de 2 + 2 CPU Exemplo: 2 + 2 = ? Cálculo eletrônico 2ª Geração (1955-1965): transistores Material didático ● Organização e Arquitetura de Computadores (Eliane Mariade Bortoli Fávero). Capítulo 5. ● redeetec.mec.gov.br/images/stories/pdf/eixo_infor_comun /tec_inf/081112_org_arq_comp.pdf ● Organização de Computadores – Notas de aula (Marcelo Trindade Rebonatto). Capítulo 2. ● http://usuarios.upf.br/~rebonatto/organizacao/organizaca o.pd ● Arquitetura e Organização de Computadores (Welfane Kemil Tao). Capítulo 5 (Seções 5.4 e 5.5). ● http://qacademico.cefetse.edu.br/Uploads/MATERIAIS_AUL AS/7686-Apostila_Arquitetura_e_Organizacao_de_Comput adores.pdf Dúvidas?
Compartilhar