Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1
Processador Organização básica de um computador: 2
Processador Algumas características: Fabricante (Intel, AMD, Cyrix) Velocidade do processador (MHz) Tecnologia de fabricação (semi-condutores) Quantidade de transistores Quantidade de núcleos Cache (L1 e L2) Tamanho dos registradores 3
Lei de Moore (1965) 4
Processador Operações básicas que podem ser executadas: somar dois números multiplicar 2 números transferir palavra de dados da memória para UCP desviar condicionalmente e incondicionalmente operações lógicas transferir bytes da E/S para memória principal Processadores atuais são fabricados em um único invólucro (chip) 5
Esquema Simplificado da CPU MP 6
Ciclo de Instrução Básico Processador executa instruções CPU (central processing unit) UCP (unidade central de processamento) 7
Ciclo de Instrução Básico Endereço da instrução está no Registrador CI ou PC (program counter) Conteúdo da instrução está no Registrador RI ou IR (instruction register) O ciclo de instrução se repete até que o sistema seja desligado, reiniciado, ocorra algum tipo de erro ou que seja encontrada a instrução de parada Nesse modelo simples, uma única operação é realizada por vez. 8
Funções do Processador Funções de processamento Funções de controle 9
Funções de Processamento Unidade Lógica e Aritmética (ULA, UAL, ALU) Registradores de dados e registradores especiais de estado 10
Funções Básicas da UCP Função processamento de dados Operações aritméticas (somar, subtrair, multiplicar e dividir) Operações lógicas (and, or, xor) Movimentação de dados (memória-ucp, UCP-memória, registrador-registrador) Desvios (alteração na sequência de execução das instruções) Operações de entrada e saída 11
Funções Básicas da UCP Dispositivos básicos para realizar a função de processamento: Unidade Lógica e Aritmética (ULA) Operações aritméticas, lógicas, deslocamentos à direita/esquerda, incremento, decremento Co-processador de ponto flutuante 12
Funções Básicas da UCP Dispositivos básicos para realizar a função de processamento: Registradores Número fixo de registradores Registradores de armazenamento de dados, endereços, instruções Registradores especiais de estado (PSW program status word) Arquiteturas antigas utilizavam o acumulador (ACC) Registradores especiais de estado N - Negative Flag Valor 1 se o resultado de uma operação aritmética for negativo Z Zero Flag Valor 1 se o resultado for igual a zero V Overflow Valor 1 se ocorrer overflow C Carry Flag Valor 1 se ocorrer o vai um no último bit a esquerda 13
Componentes com Função de Processamento MP 14
Funções de Controle 15 Unidade de controle, relógio (clock) Registradores de propósito específico
Funções Básicas da UCP Função de controle Instruções de máquina que compõem um programa em execução devem estar armazenadas sequencialmente em memória Como funciona uma instrução de máquina? Como uma instrução é movida para a UCP? Onde a instrução é armazenada na UCP? Como é identificada a operação que deve ser realizada? 16
Funções Básicas da UCP A área de controle de uma UCP é a parte funcional que realiza as atividades do ciclo de instrução Ciclo de instrução = ciclo de busca + ciclo de execução Ciclo de busca Busca instrução na memória e armazena em um registrador Interpretação das ações a serem desencadeadas para executar a instrução Ciclo de execução UCP gera sinais de controle para UAL, memória ou E/S 17
Funções Básicas da UCP Dispositivos básicos para realizar a função de controle: Unidade de controle (UC) Relógio (clock) Registrador de Instruções (RI) Contador de Instruções (CI) Decodificador Registradores de endereços de memória (REM) e de dados de memória (RDM) 18
Componentes com Função de Controle MP 19
Funções Básicas da UCP 20
Funções Básicas da UCP Modos de execução das instruções: Execução exclusivamente sequencial Execução concorrente (pipeline) Execução paralela 21
Funções Básicas da UCP Todas as atividades da UCP são sincronizadas com um relógio (clock) Dispositivo que gera pulsos A duração de um pulso é denominada ciclo de relógio O número de vezes que o pulso se repete em um segundo é denominado frequência e é medido em Hertz(Hz) 1 Hz significa 1 ciclo por segundo O ciclo de relógio está relacionado à realização de uma operação elementar 22
Funções Básicas da UCP Ciclo de um relógio (clock) 23
Funções Básicas da UCP Suponha que cada instrução de máquina necessite do tempo de um ciclo de relógio para executar Uma máquina M1 com relógio de frequência de 25 MHz Uma máquina M2 com relógio de frequência de 400 MHz Período de M1 igual a 1/25MHz = 40 nanosegundos Período de M2 igual a 1/400MHz = 2,5 nanosegundos Instruções executarão mais rapidamente em M2 do que em M1? 24
Funções Básicas da UCP Nem sempre! Outros fatores influenciam no desempenho, por exemplo: Estágios de pipelining Memória cache maior 25
Funções Básicas da UCP Registrador de Instrução Contador de Instrução 26
Funções Básicas da UCP Decodificador de Instrução 27
Funções Básicas da UCP Decodificador de Instrução Com 4 bits de entrada e 16 saídas Código de operação igual a 4 bits 0000 soma 0001 subtração 0010 multiplicação 0011 divisão 0100 operação AND 28
Funções Básicas da UCP Decodificador de Instrução com 4 bits de entrada e 16 saídas 29
Funções Básicas da UCP Registrador de dados de memória (RDM) possui tamanho igual ao BD Registrador de endereços de memória (REM) possui tamanho igual ao BE 30
Revisando a CPU 31
Exercício Considere um computador com um conjunto de 128 instruções. Cada instrução é composta por 2 campos: o primeiro para indicar a operação e o segundo para indicar o endereço do operando. Suponha que sua memória tenha capacidade de armazenar 512 palavras e que cada instrução tem o tamanho de uma palavra. Além disso, admita que o tamanho da célula de memória seja o mesmo tamanho da instrução. Pergunta-se: Qual é o tamanho em bits do REM, RDM, RI e CI? Qual a capacidade de memória em bytes? Se o tamanho das instruções for alterado para 17 bits, mantendo o mesmo tamanho do REM, o que acontece? 32
Exercício - Solução Como a memória tem capacidade para armazenar 512 palavras, é preciso de 9 bits para endereçar toda a memória. Assim, REM e CI devem ser capazes de armazenar um endereço de memória com 9 bits. Como o computador possui um conjunto de 128 instruções, o número de bits necessários para identificar a operação é 7 A instrução de formato ( Cod. Op End Operando ) possui 7 + 9 bits, ou seja, 16 bits. Logo, tamanho da palavra = tamanho da célula = tamanho da instrução = 16 bits. RDM e do RI deve ser capazes de armazenar uma instrução. Portanto, possuem tamanho 16 bits. A capacidade da memória é 512 * 16 bits ou 512 * 2 bytes = 1024 bytes = 1Kbytes Se o tamanho da instrução for alterado para 17 bits, teríamos mais um bit para idenficar a operação. Logo, teríamos o dobro de instruções. 33
Créditos Slides baseados nas aulas das Prof. Cristina Boeres e Simone Martins 34