ARQUITETURA DE COMPUTADORES - 1866



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

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

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

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

Unidade Central de Processamento

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

ULA Sinais de Controle enviados pela UC

Edeyson Andrade Gomes

Sistemas Computacionais II Professor Frederico Sauer

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

2. A influência do tamanho da palavra

Introdução à Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES

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

Sistema de Computação

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

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

BARRAMENTO DO SISTEMA

Figura 1 - O computador

Organização Básica do Computador

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

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

Microprocessadores. Prof. Leonardo Barreto Campos 1

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

3. Arquitetura Básica do Computador

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

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

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

Sistemas Operacionais

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

Introdução à Engenharia de Computação

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Componentes de um Computador: Modelo Von Neumann

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

ARQUITETURA DE COMPUTADORES

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

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:

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

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

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

ARQUITETURA DE COMPUTADORES

Introdução aos Computadores

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Organização de Computadores Hardware

Arquitetura de Computadores. Arquitetura de Computadores 1

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

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

ARTIGO IV PRINCIPAIS PARTES DA CPU

Estrutura de um Computador

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

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

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

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

5 Entrada e Saída de Dados:

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

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

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

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Introdução a Organização de Computadores Aula 4

Introdução às Linguagens de Programação

O Hardware Dentro da Unidade do Sistema

Arquitetura de Computadores - Revisão -

Informática I. Aula 5. Aula 5-13/05/2006 1

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

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

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

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

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

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

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

Fundamentos em Informática

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

for Information Interchange.

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

Máquinas Multiníveis

Arquitetura de Von Neumann e os Computadores Modernos

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Processadores. Prof. Alexandre Beletti Ferreira

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

Introdução à Arquitetura de Computadores IFES Campus Serra

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Evolução dos Processadores

Arquitetura de Computadores. Tipos de Instruções

Memórias Prof. Galvez Gonçalves

Fundamentos de Hardware

Conceitos Básicos. Conceitos Básicos Memória

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

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

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

ALP Algoritmos e Programação. . Linguagens para Computadores

Informática. Aulas: 01 e 02/12. Prof. Márcio Hollweg. Visite o Portal dos Concursos Públicos

Computadores XXI: Busca e execução Final

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

Transcrição:

7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um programa. Um programa, para ser efetivamente executado pelo processador, deve ser constituído de uma série de instruções de máquina. Para que a execução tenha início, as instruções devem ser armazenadas na memória cache. Ao nos referirmos ao processador, é comum adotarmos os termos UCP (Unidade Central de Processamento) ou CPU (Central Processing Unit). 7.1 Tarefas da CPU: As tarefas da CPU consistem, então, em: Buscar na memória a instrução a ser executada; Interpretar que operação a instrução está explicitando; Buscar os dados onde estiverem armazenados; Executar efetivamente a operação com os dados e armazenar o resultado no local definido pela instrução; Reiniciar o processo, buscando a próxima instrução. 7.2 Ciclo de Instrução: Estas etapas compõem o que se denomina um ciclo de instrução. Este ciclo se repete indefinidamente até que o sistema seja desligado, ou ocorra algum tipo de erro, ou seja encontrada uma instrução de parada. Em outras palavras, a CPU é projetada e fabricada com o propósito único de executar sucessivamente pequenas operações, na ordem definida pela organização do programa. 7.3 Funções da CPU: As atividades realizadas pela CPU podem ser divididas em duas grandes categorias funcionais: função processamento e função controle. A função processamento se encarrega de realizar as atividades relacionadas com a efetiva execução de uma operação, ou seja, processar. - 59 -

A função controle é exercida pelos componentes da CPU que se encarregam das atividades de busca, interpretação e controle da execução das instruções, bem como do controle da ação dos demais componentes do sistema de computação (memória, entrada/saída). 7.3.1 Função Processamento: Anteriormente, já nos foi apresentado o conceito do que significa processamento de dados, a ação de manipular um ou mais valores (dados) em uma certa seqüência de passos, de modo a produzir um resultado útil (informação). Este resultado muda conforme o tipo de operação realizada. Processar o dado é executar com ele uma ação que produza algum tipo de resultado. Esta é, pois, a atividade-fim do sistema, uma vez que ele existe simplesmente para processar dados. Entre as tarefas comuns a esta função (processamento) podem ser citadas as que realizam: Operações aritméticas (+, -, x, :) Operações lógicas (and, or) Movimentação de dados Operações de entrada ou saída A seção de processamento é formada pela Unidade Lógica e Aritmética (ULA) e por diversos Registradores. 7.3.1.1 Unidade Lógica e Aritmética (ULA): O dispositivo principal desta área de atividades (função processamento) de uma CPU é chamado de ALU (Arithmetic Logic Unit) ou ULA (Unidade Lógica e Aritmética). Os demais componentes relacionados com a função processamento são os registradores, que servem para armazenar dados (ou para guardar resultados) a serem utilizados pela ULA. A interligação entre estes componentes é efetuada pelo barramento interno da CPU. A ULA é o dispositivo da CPU que executa realmente as operações matemáticas com os dados, como por exemplo operações de incremento, decremento e complemento, além das operações aritméticas e lógicas já apresentadas. - 60 -

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características: Tempo de acesso - por serem construídos com a mesma tecnologia da CPU, estes dispositivos possuem baixo tempo de acesso do sistema. Capacidade - os registradores são fabricados com a capacidade de armazenar um único dado, uma única instrução ou até mesmo um único endereço, fazendo, assim, com que sua capacidade seja de alguns poucos bits. Volatilidade - registradores são memórias de semicondutores e, portanto, necessitam de energia elétrica para funcionarem. Assim, registradores são memórias voláteis. Temporariedade - os registradores são memórias auxiliares internas à CPU e, portanto, tendem a guardar informação o mais temporariamente possível. Acumuladores ou registradores de dados armazenam os dados apenas o tempo necessário para sua utilização na ALU. Custo - devido à tecnologia mais avançada de sua fabricação, os registradores consistem no tipo de memória de maior custo. Além dos registradores de dados, a CPU possui sempre outros registradores (que não participam diretamente da função processamento), com funções específicas ou que funcionam para a área de controle. Entre estes registradores podemos citar desde já o registrador de instrução (IR Instruction Register), além do registrador de endereços de memória (MAR Memory Address Register) e o registrador de dados de memória (MBR Memory Buffer Register). Registrador de Dados de Memória (MBR) registrador que armazena temporariamente a informação que está sendo transferida da memória cache para a CPU (leitura) ou da CPU para a memória cache (escrita). Em seguida, a referida informação é reencaminhada para outro elemento da CPU para processamento ou para a memória cache, conforme o tipo da operação de transferência. - 61 -

Registrador de Endereços da Memória (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 de escrita. Em seguida, o referido endereço é encaminhado à área de controle da MP para decodificação e localização da célula desejada. 7.3.2 Função Controle: A seção de controle é formada basicamente pela Unidade de Controle (UC) e pelo registrador de instrução (IR). Todas as operações básicas que ocorrem dentro da seção de processamento são comandadas pela seção de controle. Ao efetuar a busca da instrução, a unidade de controle interpreta a instrução de modo a identificar quais as operações básicas que devem ser realizadas e ativa sinais de controle que fazem uma operação básica de fato acontecer. Em outras palavras, a seção de controle é projetada para entender o quê fazer, como fazer e comandar quem vai fazer no momento adequado. 7.3.2.1 Unidade de Controle (UC): É o dispositivo mais complexo da CPU. Além de possuir a lógica necessária para realizar a movimentação de dados e instruções de e para a CPU, esse dispositivo controla a ação da ULA. 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 usualmente conhecido como relógio (clock). Clock É o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de medida do relógio, denominada freqüência, a qual também usamos para definir velocidade na CPU. Um ciclo de relógio (clock cycle) ou de máquina é o intervalo de tempo entre o início de um pulso e o início do seguinte. Este ciclo está relacionado à execução de uma instrução básica. - 62 -

A unidade de medida usual para a freqüência dos relógios de CPU é o Hertz (Hz), que significa um ciclo por segundo. Como se trata de freqüências elevadas, abreviam-se os valores usando-se milhões (10 6 ) de Hertz ou de ciclos por segundo (MegaHertz ou MHz). Nos processadores mais modernos o clock é medido em GigaHertz (10 9 ). Assim, por exemplo, se um determinado processador funciona com seu relógio oscilando 3,2 bilhões de vezes por segundo, sua freqüência de operação é de 3,2 GHz. 7.3.2.2 Registrador de Instruções - IR É o registrador que tem a função específica de armazenar a instrução a ser executada pela CPU. Ao se iniciar um ciclo de instrução, a UC emite um sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória (uma cópia dela), e que, via barramento de dados e registrador de endereço de memória (MAR), será armazenada no IR. 7.3.3 Linguagem de Montagem Em geral, os programas são desenvolvidos em uma linguagem de alto nível, como Pascal, C, ou Java. O compilador traduz o programa de alto nível em uma seqüência de instruções de processador. Desta tradução resulta o programa em linguagem de montagem (assembly language). A linguagem de montagem é uma forma de representar textualmente as instruções oferecidas pela arquitetura, cada uma com uma linguagem de montagem em particular. No programa em linguagem de montagem, as instruções são representadas através de abreviações, chamadas de mnemônicos, que associam o nome da instrução à sua função, como por exemplo: ADD Adição SUB Subtração MPY Multiplicação DIV Divisão LOAD Carregar dados na memória STOR Armazenar dados na memória - 63 -

O programa em linguagem de montagem é convertido para um programa em código objeto pelo montador (assembler). O montador traduz diretamente uma instrução da forma textual para a forma de código binário. É sob a forma binária que a instrução é carregada na memória e interpretada pelo processador. 7.3.4 Técnica Especial de Execução de Instruções: 7.3.4.1 Pipelining: No processo básico de execução de instruções, estas são executadas sequencialmente, ou seja, a execução de uma nova instrução inicia-se somente quando a execução da instrução anterior é completada. Na técnica de pipelining, permite-se que várias instruções sejam executadas simultaneamente, pois os passo da execução são realizados por unidades independentes, denominadas estágios do pipeline. O exemplo a seguir representa um pipeline de quatro estágios: No ciclo c1, a instrução i1 é buscada no estágio B; - 64 -

No ciclo c2, a instrução i1 é decodificada no estágio D, enquanto o estágio B busca uma nova instrução, i2; No ciclo c3, o estágio E executa a instrução i1, ao mesmo tempo que que o estágio D decodifica a instrução i2 e o estágio B busca a instrução i3; No ciclo c4, o resultado da instrução i1 é armazenado pelo estágio R, as instruções i2 e i3 avançam para o próximo estágio e o estágio B busca a instrução i4; Novas instruções entram no pipeline antes que a execução das instruções anteriores seja completada; Quando o pipeline encontra-se cheio, várias instruções estão sendo executadas em paralelo, uma em cada estágio do pipeline; Na realidade, o aspecto mais importante na técnica de pipeline é que uma instrução seja completada em um ciclo de clock. Em uma arquitetura seqüencial, a execução de uma instrução consome vários ciclos de clock, fazendo que o número médio de ciclos esteja bem acima da média de 1 ciclo/operação obtida com o uso da técnica de pipelining. A redução no número médio de ciclos por instrução contribui diretamente para aumentar o desempenho. Logo, as arquiteturas modernas voltadas para aplicações de alto desempenho utilizam a técnica de pipelining. Apesar de conceitualmente simples, o uso de pipelining encontra alguns problemas na prática. A técnica funciona se houver uma continuidade no fluxo de instruções, o que muitas vezes não acontece, por exemplo, quando existe uma dependência de dados entre duas instruções. Uma dependência entre duas instruções i e j existe quando um dos operandos da instrução j é o resultado da instrução i anterior. Se estas duas instruções forem executadas simultaneamente no pipeline, pode acontecer que a instrução i ainda não tenha produzido seu resultado no momento que a instrução j lê seus operandos, resultando em uma execução incorreta, se não existir uma forma de controle. A solução mais simples seria paralisar a execução de j quando seus operandos são buscados, até que a operação i seja completada. No entanto, esta paralisação parcial do pipeline resulta em uma descontinuidade no fluxo de informações, elevando o número médio de ciclos por instrução. - 65 -