Buscar

aula4_Organizacao_CPU


Continue navegando


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