ea869 arquitetura de computadores - unicamplboccato/topico_3_arquitetura_computador.pdf · início...

68
EA869 Arquitetura de Computadores Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1

Upload: dinhcong

Post on 28-Dec-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

EA869 Arquitetura de Computadores

Faculdade de Engenharia Elétrica e de Computação (FEEC)

Universidade Estadual de Campinas (UNICAMP)

Prof. Levy Boccato

1

Page 2: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Recordando

2

Problema Algoritmo Nível

Conceitual

Estruturas de dados

Linguagem Assembly

Representação numérica

Como está organizado o

hardware de um computador?

Hierarquia de

linguagens

Hardware

ARQUITETURA DE COMPUTADORES

Page 3: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Introdução Objetivos:

Conhecer os principais aspectos da arquitetura de processadores.

Conhecer as características de cada componente desta arquitetura.

Projetar uma máquina simples.

O que é um computador?

Seguindo o espírito da máquina universal de Turing, é uma máquina cuja função é ler e executar instruções.

3

Page 4: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Introdução Instrução de máquina:

Identifica uma operação elementar que o processador é capaz de realizar.

Nela, o processador deve encontrar referências quanto:

I. à operação que deve realizar – soma, subtração, movimentação de dados etc.

II. aos operandos envolvidos – onde estão os dados que desejamos manipular?

A linguagem simbólica oferece uma maneira visualmente mais atraente para descrever uma instrução. Exemplo:

4

0010 0001 0101

Código da operação Identificação do primeiro operando

Identificação do segundo operando

Instrução: ADD r1, r5 r1 ← r1 + r5

A leitura do código da operação deve desencadear no processador uma

sequência de ações, através de sinais de controle, que ativem os elementos do

circuito responsáveis por realizar uma soma, tendo como entrada os operandos

identificados na instrução.

Page 5: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Introdução Tendo este entendimento inicial acerca das instruções, daremos

início ao estudo da arquitetura e organização de computadores.

Quais componentes devem existir em um computador?

5

Page 6: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Introdução Tendo este entendimento inicial acerca das instruções, daremos

início ao estudo da arquitetura e organização de computadores.

Quais componentes devem existir em um computador?

6

Processador Memória

Disco rígido

Placa mãe

Gabinete Monitor

Sistema operacional

Jogos

Page 7: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

7

Page 8: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

8

Page 9: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores O que são? Elementos de armazenamento de informação.

O que armazenam? 1 palavra de informação – Ex.: ARM: 32 bits.

Características:

Estão localizados dentro do processador e são de rápido acesso.

Realizam algumas operações sincronizadas com o relógio (clock) do sistema.

Como são construídos?

Um registrador de n bits é formado pela ligação de n flip-flops, cada um armazenando 1 bit de informação, sincronizados pelo mesmo relógio.

9

REGISTRADOR

Flip-flops?

Page 10: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Flip-flops: circuitos digitais que atuam como uma memória de 1 bit.

10

FLIP-FLOP D FLIP-FLOP JK

Mantém o estado anterior a cada pulso do relógio.

D Q

0 0

1 1

Além de manter o estado anterior, ele pode setar (1), resetar (0) ou complementar a saída a cada pulso do clock.

J K Q

0 0 Q

0 1 0

1 0 1

1 1 Q’

Operação Sensíveis ao nível

Sensíveis à borda de subida Sensíveis à borda de descida

Tabela Verdade

Tabela Verdade

Page 11: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Transferência de dados: o registrador envia (leitura) ou recebe (escrita) dados do barramento.

Lembrar que cada operação é sincronizada com o relógio do sistema.

11

Comando Operação

W REG ← (BAR)

R BUS ← (REG)

REGISTRADOR

W R

Clock

Page 12: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Transferência de dados: o registrador envia (leitura) ou recebe (escrita) dados do barramento.

Lembrar que cada operação é sincronizada com o relógio do sistema.

12

Comando Operação

W REG ← (BAR)

R BUS ← (REG)

Clock R

K J

Bi

Barramento

K CLK J

Ai

... ... ...

Clock W

Controle de acesso ao barramento via

tri-state

Page 13: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Complementação: o registrador recebe seus bits complementados.

Exemplo: registrador de 4 bits – 0110 se torna 1001.

13 REGISTRADOR

W R

Clock

Comando Operação

C REG ← (REG)

C

Page 14: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Deslocamento: o registrador recebe seus bits deslocados.

Exemplo: registrador de 4 bits – 0110 se torna 0011.

14 REGISTRADOR

W R

Clock

Comando Operação

D REG ← SHIFT(REG)

C D

Page 15: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Set/Reset: o registrador recebe os seus bits somados ou subtraídos por 1.

Exemplo: registrador de 4 bits (incremento) – 0110 se torna 0111.

15 REGISTRADOR

W R

Clock

Comando Operação

I/D REG ← (REG) +/- 1

C D I/D

Page 16: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Agora que recordamos como funcionam os FFs, vamos ver quais

operações podem ser realizadas no registrador.

Set/Reset: o registrador recebe 1 (set) ou 0 (reset) em todos os seus bits.

Exemplo: registrador de 4 bits (set) – 0110 se torna 1111.

16 REGISTRADOR

W R

Clock

Comando Operação

S/R REG ← 1/0

C D I/D S/R

Page 17: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Registrador sensível a múltiplos comandos:

Responde a múltiplos sinais de controle.

Cuidado: somente um sinal de controle pode estar ativo a cada pulso de relógio.

17

REGISTRADOR

W R C D I/D S/R

Clock

Bar

ram

ento

de

dad

os

Circuito de múltiplos comandos

Page 18: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Registradores Exemplo:

18

Barramento

CLK

Z

W

C R

Registrador Sensível a Múltiplos Comandos (Sinais de Controle) W - Transferir do barramento para o registrador (Write) R - Transferir do registrador para o barramento (Read)

C - Complementar o registrador Z - Zerar o registrador

Barramento

K J

FFi CLK

Z

W

C

R

Qi

Page 19: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

19

Page 20: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética ULA: responsável pela execução de todas as operações sobre os

dados.

Características: suas entradas e saídas de dados, bem como a operação que pode realizar, estão diretamente relacionadas à instrução (Assembly).

Estrutura:

20

Entrada de dados

Saída de dados (Resultados)

Σ

Registrador de estado

Flags

Informa o estado do processador após a

última operação realizada pela UAL.

Comandos da unidade de controle

Page 21: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética ULA: responsável pela execução de todas as operações sobre os

dados.

Classificação: depende de como devem ser especificados os operandos e resultados na instrução (Assembly). Máquina de zero endereços:

Máquina de 1 endereço:

Máquina de 2 endereços:

Máquina de 3 endereços:

21

Entrada de dados

Saída de dados (Resultados)

Σ

Registrador de estado

Flags

Informa o estado do processador após a

última operação realizada pela UAL.

Comandos da unidade de controle

CO Op. 1 Op. 2 Op. 3

CO Op. 1 Op. 2

CO Op. 1

CO

Page 22: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética Máquina de zero endereços

Formato da instrução:

Exemplo: ADD

Funcionamento: stack machines – todas as operações envolvem as posições no topo da pilha.

22

Σ FLAGS x

x

x

Pilha

dado1

dado2

Saída

Exemplo? Calculadora HP

CO

Page 23: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética Máquina de 1 endereço

Formato da instrução:

Exemplo: ADD R1

Funcionamento: toda operação está baseada em um registrador implícito – Acc (acumulador).

Acc ← (Acc) operação (Op. 1)

23

CO Op. 1

Σ FLAGS

Op. 1

Acc

Saída

Exemplo: Intel 8085 (década de 70)

Page 24: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética Máquina de 2 endereços

Formato da instrução:

Exemplo: ADD R1, R2

Funcionamento: não há mais necessidade de registradores auxiliares; o resultado da operação é armazenado em um dos operandos.

Op. x ← (Op. 1) operação (Op. 2)

24

CO Op. 1 Op. 2

Σ FLAGS

R1

Op. 1 Op. 2

Saída

R2

Exemplo: Intel-64 (déc. 90/00)

Page 25: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética Máquina de 3 endereços

Formato da instrução:

Exemplo: ADD R1, R2, R3

Funcionamento: há operandos específicos para os dados de entrada e um registrador para receber a saída.

Op. 1 ← (Op. 2) operação (Op. 3)

25

CO Op. 1 Op. 2 Op. 3

Σ FLAGS

R3

Op. 3 Op. 2

Saída

R2

Exemplo: ARM

R1

Qual a diferença prática no uso de

máquina de diferentes endereços?

Page 26: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade Lógico-Aritmética Importante: a opção de projeto por uma máquina de 1, 2 ou

3 endereços tem implicações no tamanho de cada instrução, no tamanho e inteligibilidade dos programas preparados em linguagem simbólica (Assembly), na velocidade, no custo, na configuração de memória, etc.

26

Page 27: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

27

Page 28: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Barramentos Conhecendo os registradores e a unidade de operações lógico-

aritméticas, vamos entender como a informação navega através das unidades do nosso computador. Vamos falar dos barramentos.

Barramentos:

São ligações (caminhos elétricos) entre diferentes módulos ou partes de um sistema computacional.

A fim de reduzir o número de conexões entre os módulos, criam-se canais ou dutos compartilhados.

Aspectos:

Mecânicos.

Elétricos – nível de tensão, corrente suportada.

Protocolo – acordo que rege como o barramento deve ser utilizado.

28

Page 29: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Barramentos Barramentos:

Funcionamento: Ao transferir dados entre duas unidades de um computador via um barramento,

devemos nos atentar ao fato do barramento não armazenar dados.

Na prática, isso significa que ao transferir um dado, uma unidade deve ter seu sinal de Read acionado no mesmo pulso de relógio que uma outra unidade aciona seu sinal de Write.

29

Vejamos...

R2 R1

RR1 WR1 RR2 WR2

0 0 1 1 1 0 0 0

Page 30: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Máquina Simples Já conhecemos três elementos fundamentais em um computador:

Registradores;

Unidade lógico-aritmética;

Barramentos.

Vamos, então, montar uma máquina bastante simples de fazer contas.

30

Page 31: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Máquina Simples

31

R1n WR1

RR1 TMPn

IT

wT

RT

CT

ZT R2n

WR2

RR2

ACCn

RE

we

wA

RA

Considere que a ULA apenas realiza adições e que os dados de entrada estão nos registradores R1 e R2. Como podemos construir uma arquitetura que

execute a seguinte operação: R1 ← (R1) – (R2)?

CT - complementar o conteúdo do registrador TMP Isto é, CT dispara a operação TMP (TMP)’ ZT - zerar (reset) o registrador TMP Isto é, ZT indica a operação TMP "0" R2n ,R1n - registradores de dados com n bits TMPn - registrador de complemento/incremento com

n bits Accn - registrador acumulador com n bits

W - transferir do barramento para o registrador Exemplo: WR1 indica a operação R1 (bus) R - transferir do registrador para o barramento Exemplo: RA indica a operação bus (Acc) W- transferir a saída do somador para o Acc R- transferir o conteúdo do registrador Acc para a entrada do n IT - incrementar o conteúdo do registrador TMP. Isto é, IT aciona a operação TMP (TMP) + 1

Sinais de controle

Page 32: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Máquina Simples

32

Agora temos nossa

primeira máquina de

calcular! R1n WR1

RR1

R2n WR2

RR2

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

Vamos então executar passo a

passo a operação:

R1 ← (R1) - (R2)

Page 33: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Máquina Simples

33

R1 ← (R2) - (R1)

R1n WR1

RR1

R2n WR2

RR2

IT

wT

RT

CT

ZT

RE

we

wA

RA

Passos Pulso do

relógio

Sinais de

controle

Micro- operação

1. Transferir o conteúdo de R2 para Acc

1 RR2 , WA

bus ← (R2) Acc ← (bus)

001

010 2. Transferir o conteúdo de R1 para TMP

2 RR1 , WT bus ← (R1) TMP ← (bus)

3. Complementar TMP 3 CT

TMP ← (TMP)

101 010

4. Implementar TMP 4 IT TMP ← (TMP) + 1

110

5. Somar: ULA recebe valores e faz a soma 5 RE , RT ULA ← (Acc) + (TMP)

111

6. Armazenar a soma no Acc 6 WE Acc ← (ULA)

7. Armazenar resultado em R1 7 RA , WR1 Acc ← (ULA)

Page 34: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

34

Page 35: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Memória Responsável pelo armazenamento de dados e instruções

(programas).

Capaz de guardar grandes blocos de palavras (na ordem de gigabytes).

Conceitos básicos:

35

0

1

2

3

..

n

110 1011...

Memória de n palavras

Palavra de m bits

Quantos bits (b) precisa ter o campo de endereço para

endereçar n palavras?

Quantos dados distintos uma

palavra consegue representar?

2b ≥ n

2m

Page 36: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Memória Acesso: a unidade de controle do processador solicita o acesso a

um determinado endereço e a memória envia o conteúdo deste endereço ao local apropriado.

Dois registradores auxiliares: REM e RDM.

36

0

1

2

3

..

n

110 1101...

Como?

CPU

Registrador de Endereço da

Memória (REM)

Registrador de Dados da Memória (RDM)

3

568765

LEITURA DE UM DADO DA MEMÓRIA

1. REM ← end

2. RDM ← ((REM)) ou RDM ← (m)

3. CPU ← (RDM)

CICLO DE LEITURA

Page 37: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Memória Acesso: a unidade de controle do processador solicita o acesso a

um determinado endereço e a memória envia o conteúdo deste endereço ao local apropriado.

Dois registradores auxiliares: REM e RDM.

37

0

1

2

3

..

n

110 1111...

CPU

Registrador de Endereço da

Memória (REM)

Registrador de Dados da Memória (RDM)

3

568765

ESCRITA DE UM DADO DA MEMÓRIA

1. REM ← end

2. RDM ←(CPU)

3. (REM) ← (RDM) ou m ← (RDM)

CICLO DE ESCRITA

Conhecendo os ciclos de leitura e escrita,

porque o acesso a um registrador é menos

custoso?

Page 38: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Memória Considerações:

A memória que constantemente se comunica com o processador é chamada de memória principal (comumente conhecida como memória RAM).

RAM significa memória de acesso aleatório (random access memory). O termo aleatório refere-se à capacidade de acessarmos qualquer posição em qualquer momento com a mesma facilidade, em contraste com as antigas fitas magnéticas.

Uma característica importante das RAMs é o fato de as operações de escrita consumirem o mesmo tempo de uma operação de leitura. Uma operação de escrita em uma ROM (read-only memory), por sua vez, consome um tempo consideravelmente superior que o de uma leitura.

RAMs também são voláteis – os dados se perdem quando a alimentação é removida (ao desligar o computador).

Por isso, a memória RAM sempre recebe do disco (HD) o programa a ser executado.

Um outro tipo de memória RAM, conhecida como memória cache, pode ser colocada entre o processador e a memória principal com o objetivo de tornar o acesso aos dados mais rápido. Ela guarda um subconjunto dos dados que mais recente ou mais frequentemente têm sido utilizados.

38

Page 39: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Arquitetura de computadores

39

Page 40: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle O funcionamento correto do computador depende do correto acionamento de todos os sinais

de controle do hardware, conforme exigido por cada operação (instrução). A unidade de controle é a responsável por gerenciar as operações de um processador.

O que ela deve fazer? 1. Buscar a próxima instrução na memória principal.

2. Decodificar a instrução.

3. Acionar sequencialmente os respectivos sinais de controle que farão com que a operação desejada seja executada.

Para cumprir estas tarefas, a unidade de controle conta com as seguintes estruturas auxiliares:

40

Registrador de Instrução (RI)

Indica o endereço da próxima instrução a ser

executada

PC

Registrador PC (Contador de Programa)

Armazena a instrução para a decodificação

Controlador

Lê a instrução que está em RI, decodifica e ativa

sequencialmente os sinais de controle

apropriados

RI

Controlador

sinais de controle

...

Operação Básica

0

1

2

3

..

n

REM

RDM

ADD R1

0

Page 41: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle Para compreendermos mais detalhadamente como a unidade de controle busca e executa as

instruções, precisamos conhecer os diferentes tipos de instrução disponíveis em um processador.

Instrução de máquina = sequência de bits armazenada na memória principal, identificando a operação e os dados envolvidos.

Vejamos alguns exemplos de instruções de máquina. Vamos tentar entender quais dados elas manipulam:

41

ADD R1,R2,R3 R1 ← (R2) + (R3) Não há dados na instrução.

Todos eles encontram-se nos registradores.

ADD R1,R2, #4 R1 ← (R2) + 4 A instrução possui um dado: o valor 4 (# indica que o valor é um imediato presente na própria instrução).

ADD R1, R2, 4 R1 ← (R2) + (4) A instrução indica que um dos operandos está no endereço 4 da memória.

CO Rd Rn Op2 ARM:

Page 42: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle Porém, nem sempre uma instrução de máquina completa ocupa apenas

uma palavra de memória.

No caso do processador ARM, qualquer instrução é formada por 32 bits, o que equivale a uma única palavra de memória. Mas isto nem sempre acontece.

Instrução de 1 palavra: SUB R1, R2, #3

Instrução de 2 palavras: SUB R1, R2, #3

Instrução de 3 palavras: SUB R1, 4, #3

42

C. O.

dado

C. O.

end

dado

R1 ← (R2) - 3

R1 ← (R2) - 3

R1 ← (4) - 3

Agora que sabemos como são as

instruções, vamos entender melhor

como a unidade de controle as executa.

Page 43: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle A execução de uma instrução é dividida em ciclos de máquina (CM).

Um ciclo de máquina corresponde a uma sequência de microoperações que são executadas, caracterizando uma operação mais complexa.

A execução de uma instrução pode ser composta por vários ciclos de máquina, que por sua vez são formados por diversas microoperações, as quais determinam o sequenciamento dos sinais de controle.

Duas fases são necessárias para a execução de uma instrução: Fase de busca: compreende o CM para busca e leitura do C.O. da instrução (ciclo de busca). As

microoperações envolvidas são idênticas para qualquer instrução.

Fase de execução: compreende a execução dos CMs necessários para a leitura das palavras restantes da instrução (se existirem – ciclo de leitura) e da efetiva execução da operação identificada (ciclo de execução). Esta fase é específica para cada instrução.

43

Exemplos:

SUB R1 , R2, 2

C. O.

ADD R1 , R2 , #3

C. O.

dado

end

R1 ← (R2) – (2)

Quais ciclos são necessários para a

execução das seguintes

instruções?

1. Ciclo de Busca 2. Ciclo de execução

1. Ciclo de Busca

2. Ciclo de Leitura

R1 ← (R2) + 3

3. Ciclo de execução

Vamos ver essas fases mais

detalhadamente...

Page 44: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle Exemplo: vamos supor que o computador irá executar a seguinte instrução:

A instrução de máquina possui o seguinte formato:

44

PC

RI

Controlador

sinais de controle

...

0

1

2

3

..

n

REM

RDM

STA 3 Acc ← (end)

Acc

C. O.

end

Carregando os dados na memória e nos registradores...

0

STA

3

150615

Page 45: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle

45

PC

RI

Controlador

sinais de controle

...

0

1

2

3

..

n

REM

RDM Acc

C. O.

end

0

STA

3

150615

FASE DE BUSCA Buscar o C.O. e levá-lo para o controlador

Pulso Microoperação

1 REM ← (PC)

2 RDM ← ((REM) ou (m) PC ← (PC) + 1

1 0

STA

3 RI ← (RDM)

CICLO DE

BUSCA

STA

STA 3 Acc ← (end)

Page 46: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle

46

PC

RI

Controlador

sinais de controle

...

0

1

2

3

..

n

REM

RDM

STA 3 Acc ← (end)

Acc

C. O.

end

1

STA

3

150615

FASE DE EXECUÇÃO

Pulso Microoperação

1 REM ← (PC)

2 RDM ← ((REM) ou (m) PC ← (PC) + 1

STA

3 RI ← (RDM)

CICLO DE

LEITURA

STA

STA

0

1 3 2

3 3

Page 47: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Unidade de Controle

47

PC

RI

Controlador

sinais de controle

...

0

1

2

3

..

n

REM

RDM

STA 3 Acc ← (end)

Acc

C. O.

end

2

STA

3

150615

FASE DE EXECUÇÃO

Realiza as microoperações para executar a

instrução

Pulso Microoperação

1 REM ← (RI.end)

2 RDM ← ((REM)) ou (m)

STA

3 Acc ← (RDM)

CICLO DE

EXECUÇÃO

3

3

1

3 150615

150615

Page 48: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Projeto de um computador Finalmente analisamos cada um dos componentes básicos de um

computador.

Vamos, então, dar um passo mais ousado: projetar uma máquina de executar instruções.

A base para este projeto será a pequena máquina de calcular que vimos durante a discussão sobre a ULA.

48

Page 49: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

49

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

MEMÓRIA

UC

Memória

RAM

64x8

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

Page 50: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

50

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

Memória

RAM

64x8

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

Para finalizar, vamos

dimensionar os barramentos!

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

Acabamos de montar o circuito digital de nosso próprio computador.

Page 51: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

51

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

Memória

RAM

64x8

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

Quantas instruções diferentes este processador consegue executar?

CO – 2 bits: portanto, no máximo 4 instruções

Page 52: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

52

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

Memória

RAM

64x8

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

Por exemplo:

Código Mnemônico Instrução

00 STOP Parar

01 ADD end Somar ao Acc o conteúdo do endereço

10 SUB end Subtrair do Acc o conteúdo do endereço

11 STA end Transf. o conteúdo do Acc para endereço

Page 53: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

53

TMPn

IT

wT

RT

CT

ZT

ACCn

RE

we

wA

RA

Memória

RAM

64x8

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

Considerando que as instruções ocupam uma única palavra de memória, vamos acompanhar a execução da instrução:

ADD end Acc ← Acc + (end)

Page 54: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Computador simples

54

TMPn

IT

wT

RT

CT

ZT

15

RE

we

wA

RA

REM

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

2

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

Considere as condições iniciais dadas na arquitetura.

ACC

2 ADD 5

3

4

5 20

Page 55: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

55

IT

wT

RT

CT

ZT

RE

we

wA

RA

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

IT wT RT CT

ZT

... TB TPC TRI IPC

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

2

3

4

5

ADD 5

20

TMP

ACC

15

2

Pulso Microoperação SCs

1 REM ← (PC) TPC

2

2

2 RDM ← ((REM)) ; PC ← (PC) + 1 E, R, IPC

ADD 5

ADD 5

3

3 RI ← (RDM) TRB , TB

ADD 5

ADD 5

BUSCA

4 REM ← (RI.end) TRI

5

5 RDM ← ((REM)) E, R

20

20

6 TMP ← (RDM) TRB, WT

20

20

7 ∑ ← (ACC) + (TMP) RT, RE

15

20

35

8 ACC ← (∑ ) WE

35

Page 56: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

56

IT

wT

RT

CT

ZT

RE

we

wA

RA

RDM

E habilita

R/W Leitura/ escrita

TRB

TBR

transf. reg./barr.

transf. barr./reg.

Barrament o

PC

RI

Controlador

...

IPC Incrementa PC

TB Transf. do barr.

REM

TRI Transf. do RI

TPC Transf. do PC

...

endereço

6 bits

6 bits

6 bits

8 bits

8 bits

8 bits

8 bits

8 bits

2 bits

TMP

ACC

IT wT RT CT

ZT

... TB TPC TRI IPC

Agora já sabemos como projetar um processador simples e como os dados se

movimentam pelo circuito digital durante a execução de uma instrução de máquina.

Controlador

Falta apenas um último detalhe: como os sinais de controle são adequadamente

sequenciados? Quem é responsável por esta tarefa?

Page 57: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Controlador O controlador é o elemento responsável por acionar sequencialmente os sinais de

controle apropriados para que uma determinada instrução seja executada.

Circuito digital = máquina de estados finitos – deve garantir que em cada ciclo de relógio, o conjunto correto de sinais de controle é acionado.

Uma implementação possível – e relativamente simples – baseia-se no uso de flip-flops D.

57

Por exemplo, seja a instrução ADD end

O ciclo de execução se dá através dos sinais de controle:

TRI E, R

TRB, WT

RT, RE

WE

1 2 3 4 5

Uma possível implementação com FFs seria:

D5

Q5

FF5

CLK

D4

Q4

FF4

CLK

D2

Q2

FF2

CLK

D3

Q3

FF3

CLK

D1

Q1

FF1

CLK

TRB , WT WE RT , RE E , R TRI

S

Relógio

Page 58: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Controlador Poderíamos estender este procedimento para as quatro instruções do nosso

processador. Assim, o hardware do controlador corresponderia ao seguinte circuito digital:

58

Quais as vantagens e

desvantagens deste tipo de controlador?

Page 59: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Controlador O controlador apresentado foi implementado de forma específica para o conjunto

de instruções do processador (hardwired).

Vantagem: otimização (ganho em velocidade).

Porém, em processadores com muitas instruções, este tipo de implementação acaba se tornando custosa, já que exige muito hardware.

Além disso, uma vez definida como cada instrução é executada a partir dos sinais de controle, não é mais possível alterá-la, já que está “impressa” no próprio hardware – pouco flexível.

Uma possibilidade é aplicar novamente a ideia de programa armazenado, mas agora dentro do próprio controlador.

Um “programa”, armazenado dentro do controlador, contém a sequência de “instruções” responsável pela ativação dos sinais de controle que garantem a execução de uma instrução de máquina (e.g., ADD).

59

Existe alguma alternativa para a construção do

controlador?

Computadores Microprogramados

Page 60: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Controlador Historicamente, a escolha por um tipo de abordagem de projeto

do controlador dá origem a dois grupos de processadores:

60

Arquiteturas com controle via

hardware

Arquiteturas com controle via

microprogramação

RISC CISC Processadores ARM Processadores Intel

Vamos então conhecer um pouco melhor estes dois conceitos de projeto...

Page 61: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC CISC (complex instruction set computer):

Conjunto rico de instruções complexas, semelhantes aos comandos de linguagens de alto nível.

Suporte a diversos modos de endereçamento.

Um conjunto de instruções complexo faz sentido ao menos de dois pontos de vista:

Reduzir o “gap semântico” entre linguagem de máquina e linguagem de alto nível, o que tende a simplificar sobremaneira o projeto de um compilador.

Aprimorar o desempenho por meio da criação de programas mais enxutos em termos de instruções simbólicas de baixo nível.

Neste contexto, a opção de projeto via microprogramação se mostra bastante elegante.

61

Page 62: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC CISC:

62

Década de 70

Memórias eram lentas e caras

Códigos deveriam ser muito simples

Aplicações foram ficando mais complexas

Aumento do custo para produção de

software

Surgimento da microprogramação: Sofisticar o uso da

linguagem Assembly criando as instruções

complexas

Solução CISC

Reduzir o gap entre a linguagem de

programação e as instruções de

máquina

Page 63: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC CISC:

63

Foco no Hardware

- A complexidade da programação é transferida para o hardware.

Instruções Complexas

- Conjunto grande de instruções que podem ser executadas pelo hardware. - Formada pela combinação de instruções simples. - Expectativa: programas mais enxutos – menos memória para armazenar o código.

Microprogramação

- Técnica que permite implementar as instruções complexas a partir de um pequeno repertório de instruções simples.

Page 64: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC CISC:

64

Vantagens Desvantagens

• Otimiza o uso da memória RAM

• Aproxima a programação do hardware, simplificando o software.

• Possui grande quantidade de instruções capazes de executar várias operações de “alto nível”.

• Instruções muitas vezes são demoradas e levam vários ciclos de relógio para serem executadas.

• Dificuldade em explorar eficientemente a ideia de pipeline e/ou paralelismo entre instruções.

• Dificuldade em testar, detectar e corrigir erros nos microprogramas.

Page 65: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC RISC (reduced instruction set computer):

Instruções simples e padronizadas.

Privilegia o uso de dados armazenados em registradores.

Ênfase na otimização da pipeline de instruções – facilitada pelo perfil do conjunto de instruções.

Expectativa: hardware mais simples (hardwired), alcançando menor

consumo, menor tamanho e maior eficiência.

A abordagem RISC surgiu a partir da observação de que muitas vezes as premissas do movimento CISC não se verificavam. As vantagens de se ter instruções mais complexas nem sempre se concretizavam, uma vez que as instruções mais básicas (e.g., de movimentação de dados) eram as mais frequentes nos programas gerados pelos compiladores.

65

Page 66: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC RISC (reduced instruction set computer):

66

Hardware Simples

- Não há necessidade de um núcleo de processamento para executar microinstruções.

Instruções Simples

- Executadas em apenas um ciclo de relógio.

- Tamanho fixo: facilita a pipeline.

- Endereçamento simples.

Memória

- Uso intenso de registradores internos.

- Acesso restrito à memória principal (apenas instruções de load e store).

Page 67: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

RISC e CISC RISC (reduced instruction set computer):

Apesar desta discussão ser interessante, o que se percebe é uma convergência ou fertilização cruzada entre as duas tendências.

Por exemplo, modelos originalmente CISC olharam com atenção a questões tradicionalmente ligadas à vertente RISC, como o uso mais intenso de registradores e uma ênfase no projeto da pipeline.

67

Vantagens Desvantagens

- Velocidade: menos acesso a memória, pipeline.

- Simplicidade do hardware: controle direto, instruções simples.

- Necessidade de muita memória interna (registradores, cache).

- Dificuldade de executar os sistemas operacionais desenhados para o conceito CISC.

Page 68: EA869 Arquitetura de Computadores - UNICAMPlboccato/topico_3_arquitetura_computador.pdf · início ao estudo da arquitetura e organização de computadores. ... Acesso: a unidade

Créditos

68

Este material está baseado nas notas de aula elaboradas pelo Prof. Léo Pini e pelo aluno de doutorado Tiago Novaes.