Baixe o app para aproveitar ainda mais
Prévia do material em texto
Organização de computadores - CPU Prof. João Dallyson – BCT/UFMA Sumário • Introdução - CPU • Composição Básica • Composição Física – Unidade Funcional de Processamento – Unidade Funcional de Controle • Ciclo de Máquina • Instruções • Pipelining • CISC x RISC 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 2 Objetivo • Na aula passada estudamos o armazenamento de dados no computador; • Como o computador manipula os dados? – Como move dados de uma posição para outra? – Como realiza operações aritméticas? • Exemplo: 5 + 5 – Como edita textos? – Como manipula imagem? 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 3 Estrutura Básica de Computadores 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 4 Memória CPU Dispositivos de Entrada/Saída Barramentos CPU ou Processador 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 5 CPU – Introdução • Definição: – Conjunto de circuitos de computador que controla a manipulação de dados; – Processa programas (instruções) armazenadas na memória principal (MP): • Busca, examina (decodifica) e executa as instruções 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 6 Decodificar Executar Buscar MP CPU - Composição Básica 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 7 • Consiste em três partes: – Unidade de lógica e aritmética (ULA ou ALU) • Contém circuitos que realizam operações sobre dados (ex: adição e subtração) – Unidade de controle (UC) • Contém circuitos que coordenam as atividades do computador – Registradores • Contém células de armazenamento de dados similar a memória principal; • Armazena dados temporários dentro da CPU – ULA, UC e Registradores são interligado por barramentos (dados, endereços, controle). CPU - Composição Física 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 8 ULA Unidade Funcional de Processamento Unidade Funcional de Controle CPU – Unidade Funcional de Processamento 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 9 ULA ULA • Responsável por efetuar operações aritméticas e lógicas, com os dados; • Ex: Adição, subtração, operações lógicas, deslocamento de bits, condição igualdade, menor que et... •Processadores modernos utilizam mais de uma ULA. CPU – Unidade Funcional de Processamento 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 10 ULA ACC : • Registradores auxiliares utilizado pela ULA na realização de operações. CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 11 ULA UC: • Unidade de Controle; •Coordenar todas as atividades realizadas pela CPU. UC – Unidade de Controle • Funções: busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. • Envia ordens de cálculo para a ULA, que indica os valores a processar, e os coloca nos registradores para esse efeito. • A partir da UC a informação é transferida para as outras partes que constituem o computador, como a memória, os sistemas de E/S, etc.. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 12 UC – Unidade de Controle • Dispositivos básicos da área de controle: – Unidade de controle (UC) – Decodificador – Registrador de instrução (RI) – Contador de instrução (CI ou PC - Program Counter) – Relógio (Clock) – Registradores MAR e MBR 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 13 CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 14 ULA CI: • Contador de Instruções; • Registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada. CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 15 ULA RDM (MBR): • Registrador de dados da memória; • O conteúdo do registrador de dados é copiado para o RI (registrador de instrução); • Armazena temporariamente os dados transferidos da memória principal para a CPU ou a transferência da CPU para memória principal; CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 16 ULA REM (MAR): • Registrador de endereços da memória; • Recebe o conteúdo de CI (Contador de instrução) . • Armazena temporariamente o endereço de memória principal que será acessado pela CPU para uma operação de leitura ou escrita de dados no referido endereço; CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 17 ULA RI (IR): • Registrador de instrução; • Tem a função de armazenar a instrução a ser executada. CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 18 ULA Decodificador: •Tem a função de identificar as operações as serem realizadas. •Recebe a instrução que esta no RI (registrador de instrução); CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 19 ULA Relógio : •Dispositivo gerador de pulso; •Sincroniza a transferência de dados entre os circuitos do computador; •A velocidade da CPU é definida pela quantidade de vezes que o pulso se repete (frequência). CPU – Unidade Funcional de Controle 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 20 ULA Barramentos : • Permite a comunicação entre os dispositivos: • Três: dados, endereço e controle. Barramento • Barramento de Dados: – Liga o RDM à memória, possuindo a mesma largura deste. É o caminho por onde é feita a transferência do conteúdo; • Barramento de Endereços: – Liga o REM à memória para transferência do endereço da célula a ser lida ou escrita. Sua largura em bits deve ser igual ao REM; • Barramento de Controle: – Interliga a CPU à memória para enviar os comandos de READ e WRITE e receber WAIT. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 21 Conceito de programa armazenado • Os primeiros computadores – Eram projetados para desenvolver tarefas específicas; – As instruções eram definidas dentro da Unidade de Controle (UC); – Não tinham flexibilidade. • Von Neumann – Ganhou os créditos da criação do conceito de programa armazenado. • P. Eckert – Escola de Moore Eng. Elétrica Univ. Pensilvania; – Líder do desenvolvimento deste conceito. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 22 Instruções de Máquina • Para aplicar o conceito de programa armazenado: – As CPUs são projetadas para reconhecer instruções codificadas como padrões de bits; • Instrução: – Operação básica que a CPU é capaz de realizar. – Movimentação de dados; – Operações lógicas e aritméticas; – Modificações na memória, Etc... – Dependente da arquitetura adotada – CISC (Complex instruction set computer ) – RISC (Reduced instruction set computer) 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 23 Arquitetura CISC x RISC • CISC (Complex Instruction Set Computer) – As instruções realizam funções mais complexas; – Essas instruções trazem facilidade para programadores; – Instruções precisamde decodificação para criar as instruções mais simples transformando-as em microcódigo; – Essa decodificação os tornam mais lentos; – Processadores desta arquitetura são cada vez maiores porque precisam guardar cada vez mais coisas; 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 24 Arquitetura CISC x RISC • RISC (Reduced Instruction Set Computer) – As instruções são mais simples e muitas delas são executadas em apenas um ciclo de clock; – Não necessitam de decodificação; – As instruções do microcódigo fazem o processador ser mais rápido; – Os programas dessa arquitetura utilizam mais memória, pois as bibliotecas de software devem implementar muitas rotinas; – Os processadores são menores o que diminui o custo final. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 25 Conjunto de Instruções do Processador • A CPU recebe instruções que devem ser executadas de forma sequencial na mesma ordem que elas são postas na memória principal; • Estas instruções na verdade são um conjunto de bits codificados que indicam as micro operações que a CPU deve realizar. São conhecidas como linguagem de máquina; • Um conjunto de todas os comandos que uma CPU reconhece e consegue executar é conhecido como Set de Instruções. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 26 Formato das Instruções • A CPU pode executar instruções codificadas por um conjunto de bits; • CPUs diferentes podem ter instruções diferentes, tanto no tamanho em bits, quanto no que cada código binário representa; • Não importa qual o modelo de CPU ele sempre é dividido em duas partes: – Código da operação (Opcode): conjunto de bits que identifica a operação a ser realizada. – Operando: conjunto de bits que identifica o endereço de memória onde está contido o dado que será manipulado, ou o endereço onde o resultado da operação será armazenado. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 27 Ciclo de Instrução • Repete até que uma instrução de término seja encontrada; • A execução é sequencial; • A sequência de instruções pode mudar se tiver uma instrução de desvio (JUMP). 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 28 Ciclo de Instrução – Fase 1 (Busca): • A CPU busca o código de operação (Opcode) na memória principal, o qual está localizado no endereço contido no CI: – UC lê CI (contador de instrução) 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; – UC atualiza CI. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 29 Ciclo de Instrução – Fase 2: • Determina qual instrução deve ser executada: • Código de Operação (Opcode) contido no RI. – Fase 3: – Cálculo de endereço dos operandos (se houver); – Busca operandos na memória (se houverem); – Seleciona operações a serem realizada pela ULA; – Carrega registradores; – Escreve operandos na memória. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 30 Exemplo: 5 + 5? • Passos para somar valores armazenados na memória: 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 31 Exemplo: 5 + 5? • Arquitetura do processador: – Processador de 16 bits – Registradores 0 a F (16 registradores) – 256 células de memória cada uma com 8 bits – Contém 12 instruções (4 bits) 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 32 3 – Operação 5 – Registrador A7 – Endereço na memória FONTE: (BROOKSHEAR, 2013) Exemplo: 5 + 5? • Programa armazenado na memória 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 33 FONTE: (BROOKSHEAR, 2013) Exemplo: 5+5 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 34 FONTE: (BROOKSHEAR, 2013) Exemplo: 5+5 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 35 FONTE: (BROOKSHEAR, 2013) Exemplo: 5+5? 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 36 LOAD R5 , 6C LOAD R6 , 6D ADD R0, R5, R6 LOAD R0, 6E EXIT Velocidade de Processamento dos Computadores • As velocidades de instrução são medidas em segundos: – Milissegundo: um milésimo de segundo. 10-3 – Microssegundo: um milionésimo de segundo. 10-6 – Nanossegundo: um bilionésimo de segundo. 10-9 – Picossegundo: um trilionésimo de segundo. 10-12 • Medida da velocidade de clock do sistema: – Quantos pulsos eletrônicos o clock produz por segundo. – Usualmente, expressa em gigahertz (GHz). • Billhões de ciclos de máquina por segundo. • Alguns PCs antigos mediam em megahertz (MHz). 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 37 Processamento Paralelo e Pipelining • Pipelining – Uma variação do processamento serial tradicional. • Processamento Paralelo – Que usa múltiplos processadores simultaneamente 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 38 Pipelining • Introduz uma nova instrução na CPU a cada etapa do ciclo de máquina. – A instrução 2 é captada quando a instrução 1 é decodificada, em vez de esperar até que o ciclo se complete. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 39 Processamento Paralelo • O processador de controle divide o problema em partes: – Cada parte é enviada a um processador distinto. – Cada processador tem sua própria memória. – O processador de controle monta os resultados. • Alguns computadores que usam processamento paralelo operam em termos de teraflops: trilhões de instruções com ponto flutuante por segundo. 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 40 Vídeos • Processadores intel core i3, i5, i7 http://www.youtube.com/watch?v=ax38p4mJ-Do • How a CPU is made http://www.youtube.com/watch?v=qm67wbB5GmI • O clock (relógio do computador) http://www.youtube.com/watch?v=xA4-1l7pCIA 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 41 Agradecimentos • Ao Prof. Dr. Bruno Feres, do BCT/UFMA • Ao Prof. Dr. Sergio Souza Costa, do BCT/UFMA • Ao Prof. Me. Geraldo Braz, DEINF/UFMA • Ao Prof. Me. Osvaldo Silva Sousa Junior, NTI/UFMA 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 42 Referências • TANENBAUM, A. S. Organização Estruturada de Computadores. 5ª Ed. São Paulo: Prentice-Hall, 2007. • MARÇULA, M.; BENINI FILHO, P. A. Informática Conceitos e Aplicações. 3ª Ed. São Paulo: Érica, 2008; • Organização de Computadores – Notas de aula (Marcelo Trindade Rebonatto). Capítulo 2. • http://usuarios.upf.br/~rebonatto/organizacao/organizacao.p df 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 43 Perguntas.... 02/10/2013 Prof. João Dallyson (BCT – UFMA) Fundamentos da Computação 44
Compartilhar