2. A influência do tamanho da palavra

Documentos relacionados
2. A influência do tamanho da palavra

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

Execução de Tarefas. O software consiste num conjunto de códigos ou instruções desenvolvidos para facilitar o controlo da máquina.

Capítulo 3 Organização Interna de um Computador

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Conceitos Básicos Processador

COMPUTADOR. Adão de Melo Neto

Disciplina: Arquitetura de Computadores

COMPUTADOR. Adão de Melo Neto

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

Processador. Processador

Arquitetura de Computadores. Ciclo de Busca e Execução

Solução Lista de Exercícios Processadores

Estrutura da CPU Organização de registradores Ciclo de instrução

2. A influência do tamanho da palavra

Arquitetura de Computadores Aula 10 - Processadores

Unidade Central de Processamento UCP (CPU)

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Instruções de Máquina

RELOGIO MEMÓRIA USO DA NUMERAÇÃO BINÁRIA. 02. Explique a função do barramento de endereços no Modelo Barramento de Sistemas.

COMPUTADOR 2. Professor Adão de Melo Neto

LISTA 01 3B ORGANIZAÇÃO DE COMPUTADORES (REALIZADA EM AULA) NOME: NOME:

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

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Sistemas Operacionais

Processadores

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

CONJUNTO DE INSTRUÇÕES

Elementos Físicos do SC e a Classificação de Arquiteturas

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

Arquitetura de Computadores Unidade Central de Processamento CPU

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

Arquitetura e Organização de Computadores

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES

Processador: Conceitos Básicos e Componentes

SSC510 Arquitetura de Computadores 1ª AULA

UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Organização de Computadores Aula 05

Unidade Central de Processamento 2. Registradores

Organização de Sistemas Computacionais Processadores: Organização da CPU

Algoritmos Computacionais

Unidade de Controle. UC - Introdução

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

SSC0112 Organização de Computadores Digitais I

Estrutura Básica de um Computador

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores. Leslier S. Corrêa

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

a) Obtenha a tabela verdade das operações com 01 bit

Montagem e Manutenção Processadores

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Microcontroladores. Rafael Silva de Lima

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Arquitetura de Computadores

LISTA 01 DE EXERCÍCIOS DO 4º BIMESTRE PARA ESTUDO NOME: NOME:

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Instruções. Maicon A. Sartin

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Estrutura de um computador digital. Gustavo Queiroz Fernandes

Evolução dos computadores

Tiago Alves de Oliviera

Aula 16: UCP: Conceitos Básicos e Componentes

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Barramento. Prof. Leonardo Barreto Campos 1

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Organização e Arquitetura de Computadores I

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto

Prof. Leonardo Augusto Casillo

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Arquitetura de Von Neumann

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Sistemas Operacionais I

Arquitetura de Computadores. Arquitetura de Computadores 1

Elementos básicos de uma Arquitetura Computacional

ção de Computadores I

UNIDADE CENTRAL DE PROCESSAMENTO

ARQUITETURA DE COMPUTADORES

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Organização Básica de Computadores (Parte I)

Introdução à Informática

Arquitetura e Organização de Computadores

UCP: Construindo um Caminho de Dados (Parte III)

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

Transcrição:

1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) 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 em células sucessivas, na memória principal.

2. A influência do tamanho da palavra A capacidade de processamento de uma CPU (a velocidade com que realiza o ciclo de uma instrução) é em grande parte determinada pelas facilidades embutidas no hardware da UAL para realizar as operações matemáticas projetadas. Um dos elementos fundamentais para isso é a definição do tamanho da palavra da CPU. O valor escolhido no projeto de fabricação da CPU determinará o tamanho dos elementos ligados à área de processamento, entre estes, a UAL. Um tamanho maior ou menor de palavra (e, por conseguinte, da UAL, dos registradores de dados, do barramento interno) acarreta, sem dúvida, diferenças fundamentais de desempenho da CPU.

No projeto de uma CPU, a definição do tamanho da palavra tem enorme influência no desempenho global de toda a CPU e, por conseguinte, do sistema como um todo: a) influência ou desempenho devido ao maior ou menor tempo na execução de instruções com operações matemáticas na UAL. b) influência no desempenho devido ao tamanho escolhido para o barramento interno e externo da CPU. Se a largura do barramento for, p.ex., igual a 16 bits em um sistema com palavra de 32 bits (UAL e registradores de 32 bits), então o movimento de 4 bytes de um dado tipo caractere requererá dois ciclos de tempo do barramento, ao passo que em barramento de 32 bits requereria apenas um ciclo de tempo;

c) influência também na implementação física do acesso à memória, porque o movimento de dados entre CPU e memória é normalmente medido em palavras (o barramento de dados que une o RDM à memória deve acompanhar em largura o valor da palavra). Para uma CPU de 32 bits de palavra, por exemplo, é desejável que a memória seja organizada de modo que sejam acessadas 4 células contíguas (4 bytes = 32 bits) em um único ciclo de memória. Se isto não ocorrer, a CPU deverá ficar em estado de espera ("wait state").

3. Funções da CPU A CPU é projetada e fabricada com o propósito único de executar sucessivamente pequenas operações matemáticas (ou outras manipulações simples com dados), na ordem e na sequência definidas pela organização do programa. As atividades realizadas pela CPU podem ser divididas em duas grandes categorias funcionais: Função processamento; Função controle.

3.1 - Função de processamento A função processamento se encarrega de realizar as atividades relacionadas com a efetiva execução de uma operação, ou seja, processar. Processar o dado é executar com ele uma ação que produza algum tipo de resultado.

Tarefas comuns a esta função são as que realizam: 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, registrador - registrador etc); Desvios (alteração de sequência de execução de instruções); Operações de entrada ou saída.

Fazem parte dessa área funcional os seguintes dispositivos: Unidade Aritmética e Lógica (UAL); Acumulador (ACC); Registradores.

M P U C P Barramento de dados UAL ACC Reg Barramento de endereços

3.1.1 - Unidade Aritmética e Lógica UAL (ou ULA) A UAL é o dispositivo da CPU que executa realmente as operações matemáticas com os dados. Tais operações podem ser: soma, multiplicação, subtração e divisão; op lógica AND, OR e XOR; deslocamentos à direita e à esquerda; incremento e decremento; op complemento.

Qualquer UAL é um aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações já mencionadas. Essas operações são sempre realizadas sobre duas palavras da máquina. Em geral, esse circuito que trabalha com palavras de n bits é construído a partir de n circuitos idênticos, cada qual responsável por uma posição individual de bits.

A seqüência a seguir, mostra a construção de uma ULA que pode calcular uma de quatro funções a saber: A and B; A or B; B; A + B.

Os processadores mais modernos utilizam em sua arquitetura mais de uma UAL, de modo a tornar a execução das instruções mais rápida. CACHE para instruções BTB Barramento Externo BIU Barramento Interno ULA 1 ULA 2 FPU Registradores CACHE para dados BIU = Interface do barramento Cache para instruções e dados = 8 KB ULA 1 e 2 = nº inteiros FPU = nº fracionários

3.1.2 Registradores Para que um dado possa ser transferido para a UAL, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em um registrador (a memória da CPU). O resultado de uma operação aritmética ou lógica realizada na UAL é armazenado temporariamente, para que possa ser reutilizado (por outra instrução) ou apenas para ser transferido para a memória. Para atender a estes propósitos, a CPU é fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados. O número de registradores e suas funções varia de processador para processador e é um dos maiores problemas no projeto de uma CPU.

Há sistemas nos quais um desses registradores, denominado acumulador (abrevia-se, em inglês, ACC), além de armazenar dados, serve de elemento de ligação da ULA com os outros dispositivos da CPU. Os registradores da CPU são divididos em 2 tipos: Registradores visíveis para o usuário Permite ao usuário minimizar referências à memória através do uso deles. Registradores de controle e de estado Utilizados pela UC para controlar operações da CPU e programas privilegiados do sistema operacional para controlar a execução de programas.

3.1.2.1. Registradores visíveis para o usuário Categorias: a. Registradores de propósito geral b. Registradores de dados c. Registradores de endereço (segmento, apontador de pilha e de índice) d. Registradores de código de condição (flags)

3.1.2.2. Registradores de Controle e de Estado Categorias: a. Contador de Programa Contém o endereço da instrução a ser buscada. b. Registrador de Instrução Contém a última instrução a ser buscada. c. Registradores de endereçamento à memória Contém o endereço de uma posição da memória. d. Registradores de armazenamento temporário de dados. Contém uma palavra de dados a ser escrita na memória ou a palavra lida mais recentemente.

3.2 - Função de controle: Atividades: Busca da instrução a ser executada, armazenando-a em um registrador especialmente projetado para esta finalidade; Interpretação das ações a serem desencadeadas com a execução da instrução (se é soma, subtração, etc e como realizá-la); Geração de sinais de controle apropriados para ativação das atividades requeridas para a execução propriamente dita da instrução identificada. Estes sinais são enviados tanto para componentes internos (ULA, por ex.) quanto externos (MEM, E/S).

Em resumo, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer, no momento adequado. Os dispositivos básicos que devem fazer parte dessa área funcional são: Unidade de controle (UC); Decodificador; Registrador de instrução (RI) ou IR - "instruction register"; Contador de instrução (CI) ou PC "program counter"; Relógio ou "clock"; Registradores de endereço de memória (REM) e de dados da memória (RDM).

M P U C P Barramento de dados RDM UAL ACC Reg CI REM Barramento de endereços Relógio RI U C Decodificador de instruções Barramento de controle

Pulsos do relógio RI DECODIFICADOR Código da operação Gerador de tempo t 0 t N Sinais de controle para o barramento de sistema UC * Sinais de controle para dispositivos internos da CPU Barramento de Controle * Sinais de controle vindos do barramento do sistema

3.2.1 - Registrador de Instrução - RI É 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 o sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória, e que, via barramento de dados e RDM, será armazenada no RI.

3.2.2 - Contador de Instrução CI É o registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada. Tão logo a instrução que vai ser executada seja buscada (lida) da memória para a UCP (início do ciclo de instrução), o sistema providencia a modificação do conteúdo do CI de modo que ele passe a armazenar o endereço da próxima instrução na seqüência. Por isso, é comum definir a função do CI como sendo a de "armazenar o endereço da próxima instrução", que é o que realmente ele faz durante a maior parte da realização de um ciclo de instrução.

3.2.3 - REM e RDM Já vistos em memória.

3.2.4 - Unidade de Controle É o dispositivo mais complexo da CPU. Possui a lógica necessária para realizar a movimentação de dados e instruções de e para a CPU, através dos sinais de controle que emite em instantes de tempo programados. Exemplo: busca de 1 instrução: T 0 : REM (CI) T 1 : CI CI + N RDM M(op) T 2 : RI RDM M = Célula M(op) = Conteúdo da célula As operações menores são conhecidas como microoperações

4. Instruções de máquina Uma instrução de máquina é a especificação de uma operação básica (ou primitiva) que o hardware é capaz de realizar diretamente. O conjunto de instruções fornece os requisitos funcionais para a CPU. Quando se escreve "conjunto de instruções", estamos nos referindo a todas as possíveis instruções que podem ser interpretadas e executadas por um processador.

4.1 - Tipos de instruções: Operações matemáticas (aritméticas, lógicas, de complemento, de deslocamento); Movimentação de dados (memória - UCP e vice-versa); Entrada e saída (leitura e escrita em dispositivo de E/S); Controle (desvio da sequência de execução, parar etc.). Observação: Quando se escreve "conjunto de instruções", estamos nos referindo a todas as possíveis instruções que podem ser interpretadas e executadas por um processador.

4.2 - Formato das instruções: C.Op. Don t care C.Op. Operando 1 Operando 2 C.Op. Operando 1

De modo geral, podemos separar o grupo de bits que constitui a instrução em dois campos: Um campo (um subgrupo de bits) chama-se código de operação; O restante grupo de bits (se houver) denomina-se campo do(s) operando(s) ou, simplesmente, operando(s).

5. Funcionamento da UCP

Ciclo de Instrução: Início Buscar a próxima instrução

Início Buscar a próxima instrução Incrementar o CI

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI Decodificação do C. Op.

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI Decodificação do C. Op. Tem operando?

Ciclo de busca Início Buscar a próxima instrução Incrementar o CI Decodificação do C. Op. Cálculo de endereço do operando Tem operando? sim Buscar e armazenar operando

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI Decodificação do C. Op. Cálculo de endereço do operando Tem operando? não Executar a operação sim Buscar e armazenar operando

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI Decodificação do C. Op. Cálculo de endereço do operando Ciclo de execução Tem operando? não sim Buscar e armazenar operando Executar a operação

Início Ciclo de busca Buscar a próxima instrução Incrementar o CI Cálculo de endereço da instrução Decodificação do C. Op. Cálculo de endereço do operando Ciclo de execução Tem operando? não sim Buscar e armazenar operando Executar a operação

Ciclo de Instrução: Buscar a próxima instrução: RI (CI) Incrementar o CI: (CI) (CI) + 1 Decodificação do C.Op.: o decodificador recebe os bits do C.Op. e gera uma saída para a UC. Buscar Op se houver: RDM (Op) Executar a instrução