Arquitetura de Computadores

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

description

Apostila arquitetura básica

Transcript of Arquitetura de Computadores

Page 1: Arquitetura de Computadores

Universidade Federal do Rio de JaneiroBacharelado em Ciência da Computação

Organização Básica do Computador

Gabriel P. Silva

Arquitetura de Computadores I

Page 2: Arquitetura de Computadores

Ementa

Unidade 2: Organização Lógica e Funcional de uma UCP2.1 Modelo Von-Neumann2.2 Modelo de Barramento de Sistema2.3 Processador 2.3.1 Unidade Artimética e Lógica 2.3.2 Registradores 2.3.3 Apontador de Instruções 2.3.4 Registrador de Instrução 2.4 Unidade de Controle 2.4.1 Unidade de Controle Microprogramada 2.4.2 Unidade de Controle Direto por Hardware2.5 Ciclo de Busca de Instruções2.6 Tipos de Arquitetura2.7 Operandos 2.7.1 Inteiros 2.7.2 Ponto Flutuante 2.7.3 Alinhamento na Memória 2.7.4 Ordenação Big Endian e Little Endian2.8 Modos de Endereçamento2.9 Sinal de Relógio (Clock)

Page 3: Arquitetura de Computadores

● Introduziu o conceito do computador controlado por programa armazenado.

● Todo computador é formado por 5 partes básicas: a memória principal, a unidade lógica e aritmética, a unidade de controle e os dispositivos de entrada e saída.

● As operações a serem realizadas pelo computador são definidas pelos dados e instruções do programa carregado na memória.

● Maiores detalhes em http://goo.gl/AAPlKP

Modelo de Von Neumann

Page 4: Arquitetura de Computadores

Modelo de Von Neumann

MEMÓRIA

ENTRADA SAÍDAARITMÉTICA

LÓGICA

UNIDADE DE CONTROLE

Page 5: Arquitetura de Computadores

Modelo de Von Neumann

● A unidade aritmética e lógica é a parte do computador onde são feitas as operações aritméticas e lógicas com os dados.

● O tipo de operação a ser executado é determinado por sinais vindos da unidade de controle.

● A memória é onde ficam armazenados os dados e instruções que vão ser utilizados pela UAL e pela unidade de controle.

● Os dados a serem operados são lidos dos dispositivos de entrada para a memória.

● Os resultados obtidos são enviados para a memória e daí para os dispositivos de saída de dados.

Page 6: Arquitetura de Computadores

Modelo de Barramento de Sistema

● É um refinamento do modelo de Von Neumann e possui o processador (que integra ULA, registradores e unidade de controle), memória e unidade de entrada/saída.

● Os registradores são elementos de memória colocados junto da ULA para armazenamento de valores temporários.

● A comunicação entre as diversas unidades é feita através do barramento de sistema, que é composto pelos barramentos de endereço, dados e controle.

● Em algumas arquiteturas pode haver também barramentos adicionais conectados à unidade de entrada/saída, chamados de barramentos de entrada/saída.

Page 7: Arquitetura de Computadores

Modelo de Barramento de Sistema

PROCESSADOR MEMÓRIA

Controle

Barramento de Endereço

Barramento de Dados

ENTRADA E

SAÍDA

Barramento de Sistema

Page 8: Arquitetura de Computadores

Diagrama da Placa de Computador

Page 9: Arquitetura de Computadores

Exemplo de Placa de Computador

Page 10: Arquitetura de Computadores

Entrada/Saída

● A unidade de entrada e saída contém os circuitos de interface necessários para prover a comunicação entre os dispositivos de ENTRADA e SAÍDA com as demais partes do computador.

● Toda a informação é convertida de/para o formato binário pela unidade de entrada/saída.

● Exemplos de dispositivos de entrada/saída são o disco rígido, teclado, terminal de vídeo, mouse, impressora, entre outros.

Page 11: Arquitetura de Computadores

Memória Principal

● A unidade de memória principal é formada pela memória volátil e pela memória não volátil.

● As informações armazenadas na memória volátil podem ser alteradas durante a execução de um programa. São também usadas para armazenar os resultados intermediários e finais das operações realizadas pelo processador.

● A memória não volátil é usada para armazenar informações que não necessitam ser alteradas no decorrer do processamento. É utilizada para iniciar o funcionamento do computador, realizando os testes iniciais e cópia do sistema operacional para a memória.

● A memória volátil recebe o nome de memória principal e a memória não volátil é conhecida como BIOS nos computadores baseados no IBM/PC.

Page 12: Arquitetura de Computadores

Processador

● É o conjunto da unidade lógica e aritmética, registradores e da unidade de controle.

● Sua função é executar os programas armazenados na memória principal, buscando suas instruções, examinando­as, e então executando uma após a outra.

● O processador é responsável pela realização de uma série de funções: Busca de instruções e dados na memória. Programa a transferência de dados entre a memória e os

dispositivos de entrada/saída. Decodifica as instruções. Realiza as operações lógica e aritméticas. Responde a sinais enviados por dispositivos de entrada/saída

como RESET ou interrupções.

Page 13: Arquitetura de Computadores

Processador

Page 14: Arquitetura de Computadores

Arquitetura Interna do Processador

Page 15: Arquitetura de Computadores

Unidade Aritmética e Lógica

● A Unidade Aritmética e Lógica pode realizar diversas operações.

● A seguir citamos algumas delas: Adição Subtração Operações lógicas:

E, OU, XOR, INVERSÃO, etc. Deslocamento (à esquerda e à direita) Comparação Desvios Multiplicação Divisão

Page 16: Arquitetura de Computadores

Unidade Aritmética e Lógica

● A largura, em bits, do operando de maior tamanho que pode ser utilizado em uma única operação na U.A.L. define a largura da arquitetura (8, 16, 32 ou 64 bits).

Page 17: Arquitetura de Computadores

Registradores

● O processador contém elementos de memória, de pequena capacidade mas de alta velocidade, usados para armazenar resultados temporários, chamados de registradores.

● O conjunto desses registradores é denominado banco de registradores.

● Os registradores são referenciados explicitamente pelas instruções lógicas, aritméticas e de transferência de dados.

● Existe um registrador invisível ao programador, chamado de registrador de instrução (RI), que armazena a instrução que está sendo executada.

● Existe um registrador especial denominado apontador de instruções (PC), que contém o endereço da próxima instrução que vai ser executada.

Page 18: Arquitetura de Computadores

U.A.L. e Banco de Registradores

Page 19: Arquitetura de Computadores

Unidade de Controle

● A unidade de controle é responsável pela coordenação da atividade de todos os componentes do processador.

● Ela busca a instrução na memória e coloca no registrador de instruções (RI).

● A unidade de controle faz a decodificação da instrução que está no RI: Determina qual o tipo de operação vai ser realizada pela U.A.L. Determina quantos e quais são os operandos de leitura, e qual o

registrador de destino, se houver. Lê os operandos necessários para a execução da instrução e os

coloca na entrada da U.A.L. ● A unidade de controle lê o resultado da saída da U.A.L.

e envia para o destino correto.

Page 20: Arquitetura de Computadores

Unidade de Controle

● Há duas formas de se implementar a unidade de controle:

Através de microprogramação Controle direto pelo hardware (PLA, ROM)

● As unidades de controle microprogramadas são características das arquiteturas do tipo CISC.

● O controle diretamente pelo hardware é encontrado normalmente nas arquiteturas do tipo RISC.

Page 21: Arquitetura de Computadores

Unidade de Controle Microprogramada

Registra

dor de In

struçõe

s

Gerador de Endereço Inicial e de

Desvios

Códigos de

Condição

Apontador de Micro Instruções (µPC)Relógio

Microprograma

Palavra de Controle

Page 22: Arquitetura de Computadores

Unidade de Controle Direto pelo Hardware

Registra

dor de Instruçõe

s

Lógica deControle

(PLA)

Códigos de

Condição

Relógio

Palavra de Controle

Page 23: Arquitetura de Computadores

Ciclo de Busca de Instruções

● O processador executa uma instrução em uma série de etapas:

1) Busca a próxima instrução que está localizada na memória para o registrador de instrução;

2) Atualiza o apontador de instruções (PC) para que ele aponte para a próxima instrução a ser executada.

3) Determina o tipo de instrução e o número de operandos;4) Busca os operandos, se houver, para os registradores do

processador;5) Executa a instrução; 6) Armazena os resultados;7) Volta ao passo 1 para executar a próxima instrução.

Page 24: Arquitetura de Computadores

Tipos de ArquiteturaC:=A+B:

Page 25: Arquitetura de Computadores

Operandos Inteiros

Page 26: Arquitetura de Computadores

Operandos em Ponto Flutuante

Page 27: Arquitetura de Computadores

Alinhamento

01234567

4

1

Palavra alinhada (endereço múltiplo de 4).

Palavra não alinhada (endereço múltiplo de 1).

2

Palava não alinhada (endereço múltiplo de 2).

Aumento dosEndereços

Page 28: Arquitetura de Computadores

Ordenação01234567

Aumento dosEndereços

0 (LSB)123 (MSB)

Ordenação  Little­endian (byte com endereço menor

  é colocado no byte menos significativo da palavra)

3 (MSB)210 (LSB)

Ordenação Big­endian (byte com endereço menor

é colocado no byte mais  significativo  da  palavra)

4

Page 29: Arquitetura de Computadores

Ordenação

Page 30: Arquitetura de Computadores

Ordenação

Page 31: Arquitetura de Computadores

Ordenação

Page 32: Arquitetura de Computadores

Modo Exemplo Significado (RTL)Imediato add r4, r4, #3 R4←R4+3Registrador add r4, r4, r3 R4←R4+R3Direto add r1, (1001) R1←R1+M[1001]Indireto add r4, (r1) R4←R4+M[R1]Deslocamento ld r4, 100(r1) R4← MEM[100+R1]Indexado add r3, (r1+r2) R3←R3+M[R1+R2]

Modos de Endereçamento

● Na sintaxe na coluna em linguagem de montagem os parenteses ( ) indicam acesso à memória.

● Na sintaxe RTL à direita, [ ] denota acesso a um elemento de um vetor, com a  Memória.

Page 33: Arquitetura de Computadores

Modos de Endereçamento

imedImediato

Registrador reg

Campo da Instrução

ModoBanco de

RegistradoresMemória

Indireto reg

Direto ender

Deslocamento reg imed+

endereço “base”

deslocamento

Page 34: Arquitetura de Computadores

Modos de Endereçamento

Campo da Instrução

ModoBanco de

RegistradoresMemória

Indexado reg1 reg2+

deslocamento

IndiretoVia Memória reg

endereço “base”

Page 35: Arquitetura de Computadores

Banco de Registradores

(R0 R31)

U.A.L.

RD

RS1 RS2

32 32

RDM

RI

#RS1

#RS2

#RD

UNIDADE DE CONTROLE

INS

TR

ÃO

DA

DO

S

6

5

5

5

PC

EN

DE

RE

ÇO

16

4

Endereçode Desvio

RD = RS1 oper R2

oper

32

32+

Barramentode Dados

Barramentode Endereço

REM

EN

DE

RE

ÇO 32

32

Page 36: Arquitetura de Computadores

Sinal de Relógio (Clock)

Page 37: Arquitetura de Computadores

Sinal de Relógio (Clock)

● O processador tem seu funcionamento sincronizado por um sinal elétrico periódico denominado relógio.

● O relógio cadencia a execução das instruções em suas diversas fases.

● Quanto mais rápido (maior a frequência) for o sinal de relógio, mais rápido as intruções, e por consequência os programas, serão executadas.

● Os componentes básicos do processador (portas lógicas, flip-flops, etc.) limitam a frequência máxima que o relógio pode ter.