Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Desenvolvimento de Sistemas Material desenvolvido: • Prof. Luis H. V. Nakamura 1 ROTEIRO Processadores 2 Processadores Processador Unidade Central de Processamento (UCP): ○ “É o componente vital do sistema de computação” (Monteiro, 2007) ○ Responsável por realizar operações, como: Cálculos aritméticos; Mover um dado de um local de armazenamento para outro; Transferir um valor (dado) para um dispositivo; Controlar a execução de programas; 3 Processadores Instrução de Máquina: Tais tipos de operações realizadas pela UCP podem receber uma identificação formal, contendo um grupo de bits que identifica a operação a ser realizada e outro grupo de bits que permite a localização e o acesso aos dados que serão manipulados na referida operação. ○ Um programa é formado por uma série de instruções de máquina que devem ser armazenadas em células sucessivas na memória principal. ○ O endereço da primeira instrução do programa deve estar armazenado no processador, para que ele possa iniciar o processo de buscar (ler) essa primeira instrução. 4 Processadores Função da UCP : Ciclo de Instrução a) Buscar uma instrução na memória (endereço armazenado em um registrador da própria UCP); b) Interpretar/Decodificar que operação a instrução está explicitando; c) Buscar dados onde estiverem armazenados (se houver); d) Executar efetivamente a operação com o(s) dado(s). e) Guardar o resultado (se houver) no local definido na instrução; f) Reiniciar o processo buscando uma nova instrução; 5 Isso ocorre desde início (ligar) até o termino (desligar) do sistema (computador) Processadores Função da UCP: Ciclo de Instrução Básico Pipelining: Múltiplas instruções sendo executadas concorrentemente ou até mesmo simultaneamente. Instruções em estágios diferentes 6 Buscar Instrução Decodificar Instrução Executar a operação indicada pela Instrução Figura baseada no Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores Pipelining: 7 Clock: 1 2 3 4 5 6 7 Busca A B Decodifica A B Executa A B Clock: 1 2 3 4 5 6 7 Busca A B Decodifica A B Executa A B Sem Pipelining Com Pipelining Processadores Composição de um processador Diagrama em bloco básico (Monteiro,2007): Funções: ○ Processamento; ○ Controle; Barramento Interno 8 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores Esquema simplificado de uma UCP (Intel 8080) (Monteiro,2007): 9 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores Composição de um processador Processamento: ○ Cálculos: Aritméticos e Lógicos 10 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores Composição de um processador Processamento: ○ UAL (Unidade Aritmética e Lógica) ou ALU (Arithmetic Logic Unit): é principal dispositivo de processamento. ○ Registradores* de dados: armazenam dados (resultados) utilizados pela UAL; ○ Registrador especial de controle/estado (ou flags): armazenam conjuntos de bits, cada um deles com funções especificas, decorrentes de operações aritméticas realizadas; ○ Barramento interno: é a interligação entre estes componentes é efetuada pelo barramento interno do processador (caminhos dos dados – data path) 11 *registradores: que são memórias extremamente rápidas, caras e pequenas (bits) que armazenam dados e instruções correntes. Processadores Processamento: 12 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores Composição de um processador Controle: ○ Busca, decodifica ○ Controle das instruções ○ Controle de ação: Memória Entrada e Saída (E/S) Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 13 Processadores Composição de um processador Controle: ○ UC (Unidade de Controle): gera os sinais de controle internos e externos a UCP. ○ DI: Decodificador de Instrução: recebe o código da instrução na sua entrada, decodifica e gera uma saída com as ativações necessárias para a realização da instrução. ○ RI (Registrador de Instrução): armazena o código binário referente à instrução que está sendo executada. ○ CI (Contador de Instrução) ou PC (Program Counter): é um registrador que armazena o endereço de memória que contém a próxima instrução a ser executada pela UCP. 14 Processadores Composição de um processador Controle: ○ REM (Registrador de Endereços de Memória) ou MAR (Memory Address Register) e ○ RDM (Registrador de Dados de Memória) ou MBR (Memory Buffer Register): são registradores utilizados pelo processador e memória para comunicação e transferência de informações. ○ Barramento interno: é a interligação entre estes componentes. ○ Relógio: produz pulsos cuja duração é chamada de ciclo. Responsável pelo sincronismo e controle (da velocidade) das ações. 15 Processadores Controle: 16 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - UAL Função Processamento: UAL é o dispositivo do processador que efetivamente executa as operações matemáticas com os dados: ○ Soma, subtração, multiplicação, divisão ○ Operações lógicas: AND, OR, XOR ○ Operação de complemento ○ Operação de deslocamento à direita e esquerda ○ Incremento ou Decremento de 1 a um valor A UAL recebe sinais de controle da UC pelo barramento e que vão determinar qual a operação que será realizada. 17 Processadores - UAL Função Processamento: A UAL recebe (entrada) os operandos dos registradores de entrada e após realizar as operações armazena (saída) os resultados nos registradores de saída e no registrador especial de controle (flags). 18 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - UAL Função Processamento: UAL é formada internamente por um aglomerado de circuitos lógicos e componentes eletrônicos simples, que, integrados realizam as operações mencionadas. Processadores mais modernos possuem co- processadores matemáticos, que são outras UAL para executarem cálculos com números inteiros ou com números fracionários (ponto flutuante) – FPU (Floating Point Unit) ou Unidade de Ponto Flutuante. 19 Processadores – Registradores de Dados Função Processamento: Registradores de dados são utilizados para armazenar dados temporariamente que precisam ser transferidos para a UAL ou para armazenar os dados resultantes (de operação Lógica ou Aritmética) que foi executado na UAL. Os dados resultantes podem ser utilizados por outras operações ou serem transferidos para a memória (cache e/ou principal) do computador. 20 Função Processamento: Em sistemas mais antigos (intel 8080) tinha um registrador especial denominado acumulador (ACC) que além de armazenar dados, servia como elemento de ligação da UAL com os dispositivos restantes do processador. Nos sistemas de segunda geração da intel (8086/8088), o ACC desapareceu e optou-se por inserir registradores especializados no armazenamento de dados, endereços e de segmentos. 21 Processadores – Registradores de Dados Função Processamento: Os registradores de dados de alguns processadores têm uma largura (quantidade de bits que podem armazenar) igual ao tamanho estabelecido pelo fabricante para a palavra do referido processador. ○ Para valores de ponto flutuante, em geral, a largura é o dobro. ○ A largura dos registradores de dados é igual ao tamanho da palavra, portanto, se a palavra é de 32 ou 64bits então os registradores de dados também possuem, respectivamente, largurade 32 ou 64 bits. 22 Processadores – Registradores de Dados Processadores – Reg. Esp. Estado – Flags - PSW Função Processamento: Registradores especiais de estado (flags) ou registradores PSW (Program Status Word) armazenam o estado informações que auxiliam e complementam a realização das operações matemáticas pela UAL. Estes registradores não armazenam um único valor (único dado), eles dividem os bits (flags) para que cada um tenha um significado diferente após uma operação aritmética. Exemplos: ○ Sinal – contém o sinal resultante da última operação realizada no processador; 23 ○ Overflow – quando setado (=1) indica que a última operação aritmética realizada resultou em estouro do valor, um erro. ○ Zero – quando setado (=1) indica que a última operação aritmética realizada resultou no valor zero. ○ Vai 1 (Carry) – indica que ocorreu “vai 1” para o bit mais à esquerda na última operação de soma realizada. Pode indicar, também, overflow em operações com números sem sinal. ○ Paridade – é setado (=1) ou não (=0), dependendo da quantidade de bits 1 no byte recebido. 24 31 30... ... ... ... ... ... 1 0 0 ... SF OF ZF CF PF ... 0 Processadores – Reg. Esp. Estado – Flags - PSW Processadores Função Controle: É a parte funcional do processador que realiza as atividades de: ○ Busca da instrução que será executada, armazenando-a em um registrador especialmente projetado para esta finalidade; ○ Interpretação das ações a serem realizadas de acordo com a execução da instrução; ○ Geração de sinais de controle (internos ou externos) adequados que ativem as atividades requeridas para a execução propriamente dita da instrução. Ciclo de Instrução Básico 25 F e t c h c y c l e E x e c u t e c y c l e Processadores - UC Função Controle: Unidade de Controle (UC) é o dispositivo mais complexo do processador. Ela possui a lógica necessária para realizar a movimentação de dados e de instruções de e para o processador, através dos sinais de controle que emite em instantes de tempo determinados conforme uma programação prévia. A UC se conecta a todos os principais elementos do processador e ao barramento externo de controle. 26 Processadores - UC UC: 27 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - UC Função Controle: Os sinais de controle da UC ocorrem em vários instantes durante o período de realização de um ciclo de instruções e, de modo geral, todos possuem uma duração fixa e igual controlada pelo relógio (clock). Dessa forma, uma instrução do ciclo de instruções que conhecemos (busca-decodifica-executa) consiste em diversas microoperações (ou microinstruções) que devem ser realizadas. Essas microoperações são a menor parte individualmente executável pelo processador. Exemplo: 28 Processadores - UC 29 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - UC Exemplo da instrução de busca (fetch): ○ Trazer uma cópia da instrução da MP para o processador (RI): É preciso realizar as seguintes microoperações, que ocorrem a cada pulso da UC em decorrência de uma prévia programação (via hardware ou via microprogramação): 30 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - UC Função Controle: Portanto, o funcionamento da UC tem influência no modo pelo qual o sistema conduz a execução das instruções, sendo possível ter diversos tipos de arquiteturas de processadores, tais como: 1. Processadores que executam instruções de modo exclusivamente sequencial ou serial (SISD); 2. Processadores que executam instruções de modo concorrente, ou tipo pipeline (linha de montagem); 3. Processadores que executam várias instruções simultaneamente (processamento paralelo); 4. Processadores que realizam processamento vetorial. 31 Processadores - Clock Função Controle: O Relógio (clock) é o dispositivo com a finalidade de sincronização. Ele gera pulsos cuja a duração é denominada ciclo. 32 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Processadores - Clock Função Controle: O Relógio (clock) também cadencia as ações (microoperações), ou seja, ele controla a velocidade com que elas ocorrem. Ele é como se fosse um maestro de um orquestra que sincroniza e cadencia a ação dos músicos. O relógio possui uma frequência (frequency ou clock rate) que é a quantidade de ciclos por segundo. Ela é o inverso do período e vice-versa (Hertz – Hz, onde 1Hz = 1 ciclo/s). ○ 1000Hz = 1kHz; 1000kHz = 1MHz; 1000MHz = 1GHz 33 Processadores - Clock Um ciclo pode ainda ser subdivido em ciclos menores ou sub-ciclos, que defasados no tempo, podem acionar um passo diferente da operação elementar (microoperação). Se as operações para realizar um ciclo de instrução, duram um tempo definido por um ou mais pulsos do relógio, e se estes pulsos tiverem curta duração, mais operações podem ser feitas na mesma unidade de tempo (MIPS, Mflops). ○ Contudo, um frequência de clock maior de um processador para outro não indica necessariamente que ele tenha maior desempenho. Isso pode depender de vários fatores das arquiteturas dos processadores (Ex: Pentium 66MHz X 486 de 80 ou 100MHz). 34 Processadores – Reg. Instrução Função Controle: Registrador de Instrução (RI) ou Instruction Register (IR): é um registrador que tema função específica de armazenar a instrução a ser executada. A UC emite sinais de controle em sequencia no tempo para que se processe o ciclo de leitura buscando a instrução na memória, após o término deste ciclo de leitura a instrução desejada será armazenada no RI, via barramentos externo de dados, barramento interno e RDM (Registrador de Dados de Memória) (vide slides 13 e 16 ou 9). 35 Função Controle: Em algumas arquiteturas o RI armazena apenas o código da operação/instrução. Atualmente, o processo é ainda mais complexo, para atender um maior desempenho (pipelining, etc.) utiliza-se buffers para armazenar instruções em fila antes mesmo de sua execução. 36 Processadores – Reg. Instrução Função Controle: O Contador de Instrução (CI) ou Program Counter (PC) é um registrador que armazena o endereço da próxima instrução a ser executada. O sistema automaticamente efetiva a modificação do conteúdo do CI de modo que ele passe a armazenar o endereço da próxima instrução na sequencia (“armazena o endereço da próxima instrução”). Geralmente, o conteúdo do PC é atualizado logo após uma instrução de busca. 37 Processadores – Contador Instrução ou Program Counter (PC) Função Controle: O CI ou PC sofre alteração de conteúdo nas seguintes possibilidades: 1. Sistematicamente, por meio do incremento automático em um ciclo de instrução feito pelo hardware (PC := PC + n, sendo n uma quantidade em bytes da instrução corrente). 2. Sempre que o sistema precisa reiniciar (ou iniciar), o hardware é programado para inserir no CI/PC o endereço da primeira instrução do programa de inicialização. 3. Eventualmente, quando há no programa uma instrução de desvio (Jump ou Branch). Ex. IF-THEN-ELSE ou DOWHILE. Ou quando o Sistema Operacional (SO) decide mudar de programa em execução. 38 Processadores – Contador Instrução ou Program Counter (PC) Função Controle: O Decodificador de Instrução é um dispositivo utilizado para identificar qual operação será realizada. Essa operação está correlacionada à instrução cujo código de operação foi decodificado (veremos que a instrução tem um código de operação). O Decodificador de Instrução recebe na sua entrada um conjunto de bits (cód. de operação)e possui 2N saídas, onde N é a quantidade de algarismos binários do valor da entrada. 39 Processadores – Decodificador de Instrução Função Controle: O Decodificador de Instrução de exemplo a seguir possui uma entrada de 4bits e saída de 16bits. ○ Cada linha de saída aciona de modo diferente a UC e esta, por sua vez, emite sinais de controle por diferentes caminhos, conforme a linha de saída decodificada. Veja a figura com um exemplo de Decodificador de Instrução no próximo slide e volte para ver o decodificador e a UC no slide 16 e/ou 9. 40 Processadores – Decodificador de Instrução 41 Processadores – Decodificador de Instrução Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) Entrada: 0010 (E0=0, E1=0, E2=1, E3=0) Saída: linha S2 Função Controle: O Registrador de Dados de Memória (RDM) ou Memory Buffer Register (MBR) é também o Registrador de Endereços de Memória (REM) ou Memoy Address Register (MAR) são registradores utilizados pelo processador e memória para transferência e comunicação de informações. 42 Processadores – RDM (MBR) e REM (MAR) Função Controle: O (RDM) ou (MBR): registrador que armazena temporariamente a informação que está sendo transferida da MP para o processador (leitura) ou do processador para a MP (escrita). Permite armazenar a mesma quantidade de bits do barramento de dados (BD). O BD tem sido construído com largura (bits) múltipla do tamanho da palavra do processador. Assim, se o processador possui a palavra de 32bits, o BD tem sido inserido com largura de 64bits ou 128bits, etc. 43 Processadores – RDM (MBR) e REM (MAR) Função Controle: O (REM) ou (MAR): registrador que armazena temporariamente o endereço de acesso a uma posição de memória, ao se iniciar uma operação de leitura ou escrita. Permite armazenar a mesma quantidade de bits do barramento de endereço (BE). Por essa definição do tamanho em bits do REM podemos calcular qual o espaço máximo de endereçamento da memória principal (MP) de um computador. Exemplo: ○ Endereços de 32bits = 232 = 4G (giga) endereços ○ Endereços de 64bits = 264 = 16E (exa) endereços 44 Processadores – RDM (MBR) e REM (MAR) 45 BIBLIOGRAFIA MONTEIRO, M. A.. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 720p. PANNAIN, R.; BEHRENS, F. H.; PIVA JUNIOR. D.. Organização básica de computadores e linguagem de montagem. 1. ed. Rio de Janeiro: Elsevier, 2012. 424p. STALLINGS, W.. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson, 2010. 640p. MORIMOTO, C. E.. Hardware II: o guia definitivo. 1. ed. Porto Alegre: GDH Press e Sul Editores, 2010. 1088p. MURDOCCA, M. J.; HEURING, V. P.. Introdução a arquitetura de computadores. 1. ed. Rio de Janeiro: Campus, 2001. 536p. TANENBAUM, A. S.; VAN STEEN, M.. Organização estruturada de computadores. 5. ed. São Paulo: Pearson, 2007. 464p. TORRES, G.. Montagem de micro: para autodidatas, estudantes e técnicos. 1. ed. Rio de Janeiro: Nova Terra, 2010. 368p. WEBER, R. F.. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012. 424p. (Série livros didáticos informática UFRGS, v. 8)
Compartilhar