Unidade Central de Processamento



Documentos relacionados
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

ARQUITETURA DE COMPUTADORES

Sistemas Computacionais II Professor Frederico Sauer

ULA Sinais de Controle enviados pela UC

2. A influência do tamanho da palavra

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Introdução à Engenharia de Computação

BARRAMENTO DO SISTEMA

28/9/2010. Unidade de Controle Funcionamento e Implementação

Informática I. Aula 4. Aula 4-11/09/2006 1

ARQUITETURA DE COMPUTADORES

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Organização Básica do Computador

Microprocessadores. Prof. Leonardo Barreto Campos 1

Sistema de Computação

Componentes do Computador e. aula 3. Profa. Débora Matos

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Estrutura de um Computador

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

3. Arquitetura Básica do Computador

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Componentes de um Computador: Modelo Von Neumann

Arquitetura de Computadores. Tipos de Instruções

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Capítulo 3 Processadores de Propósito Geral: Software

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Edeyson Andrade Gomes

ARQUITETURA DE COMPUTADORES

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Disciplina: Introdução à Informática Profª Érica Barcelos

Introdução aos Computadores

Organização de Computadores Como a informação é processada?

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

Arquitetura de Computadores - Revisão -

Introdução à Arquitetura de Computadores

Introdução a Ciência da Computação Unidade V Hardware - Arquitetura de um Sistema de Computação - Processador. Processador. Introdução.

Introdução à Computação: Arquitetura von Neumann

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

O Hardware Dentro da Unidade do Sistema

Prof. Daniel Gondim Informática

Técnicas de Manutenção de Computadores

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ARTIGO IV PRINCIPAIS PARTES DA CPU

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Introdução a Informática. Prof.: Roberto Franciscatto

Fundamentos de Hardware

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Nível da Microarquitetura

2 Formalidades referentes ao trabalho

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

SIS17 - Arquitetura de Computadores

Organização e Arquitetura de Computadores I

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

5 Entrada e Saída de Dados:

Organização de Computadores Hardware

Computadores XXI: Busca e execução Final

Processadores. Prof. Alexandre Beletti Ferreira

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Sistemas Operacionais

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Processadores clock, bits, memória cachê e múltiplos núcleos

Arquitetura de Computadores. Ivan Saraiva Silva

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

Organização e Arquitetura de Computadores I. de Computadores

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Figura 1 - O computador

Unidade Central de Processamento UCP (CPU)

Arquitetura de Rede de Computadores

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Arquiteturas RISC. (Reduced Instructions Set Computers)

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Evolução dos Processadores

Aula 26: Arquiteturas RISC vs. CISC


Transcrição:

Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1

CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável pelo processamento e execução de programas armazenados na memória principal, buscando suas instruções, examinando-as e, então, executando uma após a outra. 2

CPU Segundo Monteiro (2010), um processador tem, por propósito, realizar operações com os dados (chamadas de processamento) normalmente numéricos. Para realizar essas operações, o processador necessita, em primeiro lugar, interpretar que tipo de operação é a que ele irá executar (pode ser a soma ou subtração de dois números). Para a realização da operação é necessário que os dados estejam armazenados no dispositivo que irá executar a operação. 3

CPU A CPU (processador) realiza o processamento (executa a operação com os dados); e também controla todo o funcionamento do sistema (busca a descrição da operação a ser realizada a instrução); interpreta que tipo de operação deverá ser realizado; localiza e busca os dados que serão processados e executa a operação. 4

CPU A função da CPU consiste então, em: a) Buscar uma instrução na memória (operação de leitura), uma de cada vez (cujo endereço deve estar armazenado no registrador existente na CPU e específico para esse fim); b) Interpretar que operação a instrução está explicitando (pode ser uma soma de dois números, uma multiplicação, uma operação de entrada ou saída de dados, ou ainda uma operação de movimentação de um dado de uma célula para outra); c) Buscar os dados onde estiverem armazenados, para trazê-los até a CPU; d) Executar efetivamente a operação com o(s) dado(s), guardar o resultado (se houver algum) no local definido na instrução; e, finalmente, e) Reiniciar o processo buscando uma nova instrução. 5

CPU Fluxo resumido de um ciclo de instrução 6

CPU: Funções As atividades realizadas pela CPU podem ser divididas em duas categorias funcionais: Função processamento; e Função controle 7

CPU: Funções Esquema simplificado de uma CPU 8

CPU: Funções Os componentes do processador são interligados por meio de um barramento, que consiste em um conjunto de fios paralelos que permitem a transmissão de dados, endereços e sinais de controle entre a UCP, memória e dispositivos de entrada e saída. Existem barramentos externos ao processador, cuja função é conectá-lo à memória e aos dispositivos de entrada/saída, além dos barramentos internos à UCP. 9

CPU: Funções Função Processamento: O processamento de dados é a ação de manipular um ou mais valores (dados) em certa sequência de ações, de modo a produzir um resultado útil. Algumas tarefas de processamento: Operações aritméticas (somar, subtrair, multiplicar, dividir); Operações lógicas (and, or, xor, etc.); Movimentação de dados (memória-cpu, CPU-memória, registradorregistrador, etc.); desvios (alterações de sequencia de execução de instruções); Operações de entrada ou saída; 10

CPU: Funções Função Processamento: Dispositivos da função processamento: Unidade Lógica e Aritmética (ULA); Registradores; 11

CPU: Função Processamento Unidade lógica e aritmética (ULA): Qualquer ULA é um aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações aritméticas e lógicas. A ULA pode ser uma parte pequena da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considerável conjunto de componentes lógicos de alta velocidade, sendo que os processadores mais modernos utilizam em sua arquitetura mais de uma ULA, para tornar a execução das instruções mais rápida. 12

CPU: Função Processamento Esquema da CPU: componentes de processamento 13

CPU: Função Processamento Unidade lógica e aritmética (ULA): A função efetiva deste dispositivo é a execução das instruções dos programas que se encontram armazenadas na memória. Ao chegarem à UCP, essas instruções são interpretadas e traduzidas em operações matemáticas a serem executadas pela ULA. 14

CPU: Função Processamento Unidade lógica e aritmética (ULA): A ULA é o dispositivo da CPU que executa realmente as operações matemáticas com os dados. Tais operações podem ser: Soma Subtração Multiplicação Divisão Operação lógica AND Operação lógica XOR Deslocamento à direita Incremento Operação lógica OR Deslocamento à esquerda Decremento Tais operações podem utilizar dois valores (operações aritméticas, operações lógicas), por isso a ULA possui duas entradas (ver diagrama funcional da CPU) ou apenas um valor (como, por exemplo, a operação de complemento). Ambas as entradas se conectam à saída (resultado da operação efetuada) pelo barramento interno de dados. 15

CPU: Função Processamento Unidade lógica e aritmética (ULA): Exemplo de utilização de mais de uma ULA Os processadores Pentium possuem três ULAs, duas delas para processamento de números inteiros e a terceira FPU Floating Point Unit para processar números fracionários. Atualmente, mais ULA são inseridas nos processadores, com o consequente aumento de rendimento nas operações matemáticas. 16

CPU: Função Processamento Registradores: Para que um dado possa ser transferido para a ULA, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em um registrador (a memória específica da CPU). O resultado de uma operação aritmética ou lógica realizada na ULA deve ser armazenado temporariamente, de modo que possa ser reutilizado mais adiante (por outra instrução) ou apenas para ser, em seguida, transferido para a memória. 17

CPU: Função Processamento Registradores: São elementos de armazenamento temporário, localizados na CPU, os quais são extremamente rápidos por causa da sua tecnologia de fabricação. Assim, as CPUs são fabricadas com certa quantidade de registradores destinados ao armazenamento de dados que estão sendo utilizados durante o processamento e, portanto, servem de memória auxiliar básica da ULA. A quantidade e o emprego dos registradores variam bastante de modelo para modelo de processador. Devido à sua tecnologia de construção e por estarem localizados no interior da UCP, são muito caros e, por isso, disponíveis em quantidade limitada. 18

CPU: Função Processamento Registradores: Diagrama simplificado da CPU Intel 8085 19

CPU: Função Processamento Registradores: Diagrama simplificado da CPU Intel 8086 20

CPU: Função Processamento Registradores: Diagrama simplificado da CPU Intel 8086 21

CPU: Função Processamento Trabalho de Pesquisa (1,0 ponto extra) Projeto de UCP ULA e registradores Pesquise na internet sobre o número de ULAs utilizadas nos processadores atuais, bem como a função de cada ULA. Diagrama simplificado da CPU Intel 8086 22

CPU: Função Processamento Registradores: Os sistemas mais antigos possuíam um registrador especial chamado acumulador ou ACC (de accumulator), o qual, além de armazenar dados, servia de elemento de ligação entre a ULA e os demais dispositivos da UCP (MONTEIRO, 2007). Nos computadores mais simples é encontrado apenas um acumulador. Em arquiteturas mais complexas, vários registradores podem desempenhar as funções de um acumulador, além de haver diversos registradores de dados de uso geral. 23

CPU: Função Processamento Registradores Tamanho da palavra: O tamanho da palavra, a qual está vinculada ao projeto de fabricação da CPU, correspondendo ao tamanho dos elementos ligados à área de processamento, a ULA e os registradores de dados. A capacidade de processamento de uma CPU, ou seja, sua velocidade, é bastante influenciada pelo tamanho da palavra. Atualmente há computadores referenciados como tendo uma arquitetura de 32 bits ou uma arquitetura de 64 bits, o que corresponde ao tamanho de sua palavra. 24

CPU: Função Processamento Registradores Especiais de estado: Além dos registradores para armazenamento de dados e de endereços, a área de processamento utiliza outro tipo de registradores que auxiliam e completam a realização das operações matemáticas pela ULA, indicando o estado de vários elementos referentes à operação em si. Os principais bits de estado são: Sinal contém o sinal resultante da última operação aritmética realizada pelo processador. 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. 25

CPU: Função Controle A área de controle da CPU é responsável pela realização das seguintes atividades: a) busca da instrução que será executada, armazenando-a em um registrador da UCP; b) interpretação das instruções a fim de saber quais operações deverão ser executadas pela ULA (ex.: soma, subtração, comparação) e como realizá-las; c) geração de sinais de controle apropriados para a ativação das atividades necessárias à execução propriamente dita da instrução identificada. Esses sinais de controle são enviados aos diversos componentes do sistema, sejam eles internos à UCP (ex.: a ULA) ou externos (ex.: memória e dispositivos de entrada e saída). 26

CPU: Função Controle A área de controle da CPU é composta pelos seguintes elementos: Registrador de endereço de memória (REM) Registrador de dados de memória (RDM) Contador de instruções (CI) ou PC program conter Registrador de instruções (RI) ou IR instruction register Decodificador de Instruções Unidade de controle(uc) Clock (relógio). 27

CPU: Função Controle Esquema da CPU: componentes de controle 28

CPU: Função Controle Dispositivos da área de controle da CPU: Unidade de controle (UC) É o dispositivo mais complexo da CPU; Têm como função controlar a execução das instruções e os demais componentes da CPU; Dispositivo que possui a lógica necessária para realizar a movimentação de dados e de instruções da/para a CPU, através de sinais de controle que emite em instantes de tempo programados. A UC se conecta a todos os principais elementos do processador e ao barramento de controle; 29

CPU: Função Controle Diagrama em bloco simplificado da função controle 30

CPU: Função Controle Dispositivos da área de controle da CPU: Unidade de controle (UC) Os sinais de controle, emitidos pela UC, ocorrem em vários instantes durante o período de realização de um ciclo de instrução e, de modo geral, todos possuem uma duração fixa e igual, originada em um gerador de sinais denominado relógio (clock); Os microeventos ou microoperações comandadas pelo funcionamento da UC podem ser iniciados segundo um de dois princípios de arquitetura: Por microprogramação; ou Por programação prévia diretamente no hardware. 31

CPU: Função Controle Dispositivos da área de controle da CPU: Unidade de controle (UC) Microoperações: O início de um ciclo de instruções consiste em buscar (fetch) a referida instrução e trazer uma cópia sua da MP para o processador (para o registrador de instrução). Para efetivar esta ação são realizadas algumas ações menores que, em conjunto, constituem a desejada transferência (constituem os passos de um ciclo de leitura).» Tais operações menores denominam-se microoperações, por se constiuirem na menor parte individualmente executável pelo processador. 32

CPU: Função Controle Dispositivos da área de controle da CPU: Unidade de controle (UC) Microoperações t 0: REM (CI) t 1: CI CI + N RDM M(op.) t 2: RI RDM Sendo t 0, t 1 e t 2 - pulsos de relógio emitidos em instantes sequenciais crescentes REM registrador de endereços de memória RDM registrador de dados de memória CI contador de instruções M(op.) conteúdo de célula(s) de endereços igual a op. Sequencia de microoperações realizadas em um ciclo de busca (fetch) 33

CPU: Função Controle Dispositivos da área de controle da CPU: Registrador de dados de memória (RDM) O RDM, também chamado de MBR (Memory Buffer Register), é um registrador que armazena temporariamente dados (conteúdo de uma ou mais células) que estão sendo transferidos da memória principal para a UCP (em uma operação de leitura) ou da UCP para a memória principal (em uma operação de escrita). Em seguida, o referido dado é reencaminhado para outro elemento da UCP para processamento ou para uma célula da memória principal, se for um resultado de um processamento. A quantidade de bits que pode ser armazenada no RDM é a mesma quantidade suportada pelo barramento de dados. 34

CPU: Função Controle Dispositivos da área de controle da CPU: Registrador de endereços de memória (REM) O REM, também chamado de MAR (Memory Address Register), é um registrador que armazena temporariamente o endereço de acesso a uma posição de memória, necessário ao se iniciar uma operação de leitura ou de escrita. Em seguida, o referido endereço é encaminhado à controladora da memória, principal identificação e localização da célula desejada. Permite armazenar a mesma quantidade de bits do barramento de endereço. 35

CPU: Função Controle Dispositivos da área de controle da CPU: Contador de instruções (CI) - Program Counter (PC) É o registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada pelo processador. De acordo com Monteiro (2007), tão logo a instrução que vai ser executada seja buscada da memória principal para a CPU (início do ciclo de instrução), 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 sequência. Assim, o CI é um registrador crucial para o processo de controle e de sequenciamento da execução dos programas. 36

CPU: Função Controle Dispositivos da área de controle da CPU: Registrador de instruções (RI) Instruction Register (IR) Tem a função de armazenar a instrução a ser executada pela UCP. Ao se iniciar um ciclo de instrução (MONTEIRO, 2007), a UC emite sinais de controle em sequência no tempo, de modo que se processe a realização de um ciclo de leitura para buscar a instrução na memória. Ao final do ciclo de leitura a instrução desejada será armazenada no RI, via barramento de dados e RDM. O RI é ligado diretamente ao decodificador de instruções, o qual irá interpretar a instrução e avisar à Unidade de Controle (UC). 37

CPU: Função Controle Dispositivos da área de controle da CPU: Decodificador de instruções Cada instrução é uma ordem para que a UCP realize uma determinada operação. Como são muitas instruções, é necessário que cada uma possua uma identificação própria e única, e é função do decodificador de instrução identificar que operação será realizada, correlacionada à instrução cujo código de operação foi decodificado. Assim, o RI irá passar ao decodificador uma sequência de bits representando uma instrução a ser executada. 38

CPU: Função Controle Dispositivos da área de controle da CPU: Decodificador de instruções O decodificador recebe em sua entrada um conjunto de bits previamente escolhido e específico para identificar uma instrução de máquina (cada instrução tem um valor próprio, denominado código de operação); Um decodificador possui 2 N saídas, sendo N a quantidade de algarismos binários do valor de entrada; A Figura seguinte mostra um diagrama em blocos do processo de decodificação na UCP, no qual o RI passa um código de instrução ao decodificador de tamanho de 4 bits, que é decodificado (interpretado) e encaminhado à UC para que ela emita os sinais de controle para os demais elementos da UCP. 39

CPU: Função Controle Dispositivos da área de controle da CPU: Decodificador de instruções Exemplo: Decodificador com 4 entradas e 16 saídas 40

CPU: Função Controle Dispositivos da área de controle da CPU: Decodificador de instruções Linhas de Saída 41

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) É o dispositivo gerador de pulsos, cuja duração é chamada de ciclo, e a quantidade de vezes que esse pulso básico se repete em um segundo define a unidade de medida do relógio, denominada frequência, a qual também é usada para definir a velocidade na CPU. A cada pulso é realizada uma operação elementar, durante o ciclo de uma instrução (ex.: busca de dados, envio da instrução para o RI, sinal de controle). 42

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) Um ciclo de relógio ou de máquina (machine cycle) é o intervalo de tempo entre o início de um pulso e o início do seguinte. Este ciclo está relacionado à realização de uma operação elementar, durante o ciclo de uma instrução.» Esta operação elementar não se realiza em um só passo, por isso o ciclo de máquina costuma ser dividido em ciclos menores (subciclos), defasados no tempo, de modo que cada um aciona um passo diferente da operação elementar. Esses diferentes passos de uma operação elementar são as microoperações. 43

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) Exemplo: Microoperações realizadas para completar a busca de uma instrução da MP para o Registrador de Instrução, RI, na CPU. Cada microoperação é realizada em um instante de tempo T n, conforme se observa na figura. Esses instantes de tempo são originados no relógio. 44

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) Exemplo: Ciclo básico e os cinco subciclos gerados Diagrama em bloco do conjunto de tempo da área de controle 45

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) Exemplo: Ciclo básico e os cinco subciclos gerados Diagrama de tempo do ciclo do processador (t0) e seus 5 subciclos 46

CPU: Função Controle Dispositivos da área de controle da CPU: Relógio (clock) A unidade de medida utilizada para a frequência do relógio da CPU é o hertz (Hz), que significa um ciclo por segundo. Como os computadores atuais apresentam frequências bastante elevadas, utiliza-se a medida de milhões de ciclos por segundo (mega-hertz MHz) ou bilhões de ciclos por segundo (giga-hertz GHz). 47

Instruções de máquina Vimos que a UCP é responsável pela execução de instruções e dados de programas, os quais que se encontram armazenados na memória. Uma instrução é uma ordem para que a UCP realize determinada operação (ex.: somar, subtrair, mover um dado de um local para outro, transferir um dado para um dispositivo de saída). 48

Instruções de máquina Segundo Monteiro (2007), uma máquina pode executar tarefas complicadas e sucessivas se for instruída sobre o que fazer e em que sequência isso deve ser feito. Os seres humanos, ao receberem uma instrução (ex.: trazer a pasta da funcionária Ana ), precisariam realizar uma série de ações intermediárias, até que a tarefa seja realizada por completo. Então, considerando esse exemplo, seria necessário: localizar o arquivo em que as pastas de todos os funcionários estão arquivadas; localizar a pasta da funcionária Ana, trazê-la a quem solicitou. 49

Instruções de máquina Da mesma forma, para a máquina (computador) é necessário que cada instrução seja detalhada em pequenas etapas. Isso ocorre porque os computadores são projetados para entender e executar pequenas operações, ou seja, as operações mais básicas (ex.: soma, subtração). Essas pequenas etapas de uma instrução dependem do conjunto de instruções do computador. Assim, uma instrução de máquina pode ser definida pela formalização de uma operação básica que o hardware é capaz de realizar diretamente (MONTEIRO, 2007). Ou seja, consiste em transformar instruções mais complexas em uma sequência de instruções básicas e compreensíveis pelo processador. 50

Instruções de máquina Exemplo: Considere um processador com uma ULA capaz de executar a soma ou a multiplicação de dois números (operações básicas), mas não as duas coisas ao mesmo tempo. Agora imaginem que esse processador precisa executar: X = A + B*C de uma só vez. Isso irá gerar a necessidade de transformar essa instrução, considerada complexa para esse processador, em uma sequência de instruções mais básicas, da seguinte forma: Executar primeiro: T = B*C (sendo que T é um registrador ou memória temporária) Em seguida realizar a operação: X = A + T 51

Instruções de máquina O projeto de um processador é centrado no conjunto de instruções de máquina que se deseja que ele execute, ou seja, do conjunto de operações primitivas que ele poderá executar. Quanto menor e mais simples for o conjunto de instruções, mais rápido é o ciclo de tempo do processador (MONTEIRO, 2007). Um processador precisa dispor de instruções para: movimentação de dados; aritméticas; lógicas; edição; deslocamento; manipulação de registros de índice; desvio; modificação de memória; formais de ligação à sub-rotina; manipulação de pilha; entrada e saída e de controle. 52

Instruções de máquina Atualmente, há duas tecnologias de projeto de processadores empregadas pelos fabricantes de computadores (MONTEIRO, 2007): Sistemas com conjunto de instruções complexo (Complex Instruction Set Computers CISC), e Sistemas com conjunto de instruções reduzido (Reduced Instruction Set Computers RISC). Ambas as tecnologias serão abordadas na próxima unidade 53

Instruções de máquina Formato das instruções: De acordo com Monteiro (2007), uma instrução é formada basicamente por dois campos: a) Código de operação (Opcode) b) Operando 54

Instruções de máquina Formato das instruções: a) Código de operação (Opcode): um subgrupo de bits que identifica a operação a ser realizada pelo processador. É o campo da instrução cujo valor binário identifica a operação a ser realizada, conforme exemplo da Figura abaixo. Esse valor é a entrada no Decodificador de Instruções na Unidade de Controle. Cada instrução deverá ter um código único que a identifique. 55

Instruções de máquina Formato das instruções: b) Operando:um subgrupo de bits que identifica o endereço de memória onde está contido o dado que será manipulado, ou pode conter o endereço onde o resultado da operação será armazenado. 56

Instruções de máquina Ciclo de instrução: A partir da proposta da arquitetura de Von Neumann, da qual os conceitos básicos ainda são válidos, propunha-se que as instruções fossem executadas sequencialmente (a não ser pela ocorrência de um desvio), uma a uma. O contador de instruções indica a sequência de execução, isto é, o CI controla o fluxo de execução das instruções. 57

Instruções de máquina Ciclo de instrução: 58

Instruções de máquina Ciclo de instrução Fase 1: A UCP busca o código de operação (Opcode) na memória principal, o qual está localizado no endereço contido no CI (endereço da próxima instrução a ser executada) e armazenao no Registrador de Instrução (RI):RI (CI) 59

Instruções de máquina Ciclo de instrução Fase 1: Micro-operações da fase 1: a) a UC lê o conteúdo do CI (endereço da próxima instrução) e coloca o endereço no REM; b) a UC envia um sinal via barramento de controle à controladora da memória principal para que realize uma operação de leitura; c) a memória principal lê o endereço que está no REM via barramento de endereço e busca o conteúdo da célula referenciada; d) a memória principal coloca no RDM via barramento de dados o conteúdo da célula; e) a controladora da memória principal envia à UC via barramento de controle o sinal de leitura concluída; f) a UC transfere o código de operação (conteúdo que está no RDM) ao RI. 60

Instruções de máquina Ciclo de instrução Fase 2: O Decodificador de Instrução decodifica (interpreta) o Código de Operação (Opcode) contido no RI. Micro-operações da fase 2: a) o RI envia para o decodificador de instrução os bits correspondentes ao Opcode; a) o Decodificador de Instruções determina quantas células a instrução ocupa e identifica a operação a ser realizada; a) a UC envia um sinal de controle à ULA informando a operação a ser realizada e incrementa o CI para apontar para a próxima instrução: CI (CI+N), onde, N = nº de células que a próxima instrução ocupa. 61

Instruções de máquina Ciclo de instrução Fase 3: A UC busca (se houver) o(s) dado(s) (Operandos): RI (Op) Micro-operações da fase 3: a) a UC envia um sinal via barramento de controle à controladora da memória principal para que realize uma operação de leitura; b) a memória principal lê o endereço que está no REM via barramento de endereços e busca o conteúdo da célula referenciada; c) a memória coloca no RDM via barramento de dados o conteúdo da célula lida; d) a memória principal envia à UC via barramento de controle um sinal de leitura concluída; e) a UC transfere o operando (conteúdo do RDM) ao RI (se for um código de operação) ou a um dos registradores internos da UCP (se for um dado). Obs.: Esta fase se repete até que sejam trazidos para dentro da UCP todos os operandos necessários à execução da instrução. 62

Instruções de máquina Ciclo de instrução Fase 4: A UC comanda a execução da instrução (a operação é executada sobre o(s) dado(s)); Micro-operações da fase 4: a) a ULA executa a instrução sobre os dados disponíveis nos registradores; b) ao concluir a operação, a ULA envia um sinal para a UC informando que a execução terminou; c) a UC identifica o endereço de memória para onde deve ser enviado o resultado da operação e o armazena no REM; d) a UC autoriza o envio do resultado da operação para o RDM; e) a UC autoriza a controladora de memória a realizar uma operação de leitura no REM para obter o endereço de memória onde deverá ser escrito o resultado e uma leitura no RDM para obter o resultado a ser escrito na memória. 63

Instruções de máquina Ciclo de instrução Fase 5: Se o programa tiver terminado, pára; senão, volta à Fase 1. 64