• Nenhum resultado encontrado

Arquitetura Bsica do Computador

N/A
N/A
Protected

Academic year: 2021

Share "Arquitetura Bsica do Computador"

Copied!
46
0
0

Texto

(1)

Universidade Federal do Rio de Janeiro

Bacharelado em Ciência da Computação

Organização Básica do Computador

Gabriel P. Silva

(2)

Ementa

Unidade 2: Organização Lógica e Funcional de uma UCP

2.1 Modelo Von-Neumann

2.2 Modelo de Barramento de Sistema 2.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 Hardware 2.5 Ciclo de Busca de Instruções

2.6 Tipos de Arquitetura 2.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 Endian 2.8 Modos de Endereçamento

(3)

● 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

(4)

Modelo de Von Neumann

MEMÓRIA

ENTRADA ARITMÉTICA LÓGICA SAÍDA

UNIDADE DE CONTROLE

(5)

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

(6)

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

(7)

Modelo de Barramento de Sistema

PROCESSADOR MEMÓRIA Controle Barramento de Endereço Barramento de Dados ENTRADA E SAÍDA

Barramento de Sistema

(8)
(9)
(10)
(11)
(12)

Memória Principal

● A unidade de memória primária é 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.

(13)

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.

(14)

Memória Secundária

● A memória secundária é onde os programas e dados,

incluindo aqueles do sistema operacional, são armazenados de uma forma persistente no computador.

● Hoje em dia é constituída, principalmente, pelo conjunto de

discos magnéticos do computador e também, cada vez mais, pelos discos de estado sólido.

● A principal característica da memória secundária é o

armazenamento da informação de uma forma permanente, mesmo quando o computador é desligado.

● Há vários outros tipos de dispositivos, removíveis ou não, que

podem ser considerados parte da memória secundária, tais como fitas magnéticas, discos óticos, entre outros.

● Uma das características da memória secundária é o alto

volume de dados e o baixo custo de armazenamento por byte quando comparado com a memória principal.

(15)

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

(16)
(17)
(18)

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

(19)

Unidade Aritmética e Lógica

● A largura da arquitetura de um processador (8, 16,

32 ou 64 bits) é definida pela largura em bits do maior operando inteiro que pode ser utilizado em uma única operação pela UAL.

(20)

Unidade Aritmética e Lógica

● A largura de uma arquitetura NÃO é definida:

– Pelo tamanho em bits da instrução;

– Pela largura do barramento de dados interno ou

externo;

– Pela largura em bits dos operandos da unidade de

ponto flutuante;

– Pela largura em bits do apontador de instruções (PC)

ou do barramento de endereços.

● Como consequência direta, a largura em bits do

maior operando admitido pela UAL irá determinar, normalmente, a largura em bits do acumulador e dos registradores de uso geral do processador. Não há sentido para que sejam maiores ou menores do que isso.

(21)

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.

(22)
(23)

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.

(24)

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

(25)

Unidade de Controle

Microprogramada

Relógio Relógio Memória de Microprograma (ROM) Memória de Microprograma

(ROM) Palavra de Controle

Palavra de Controle Gerador de Endereço Inicial e de Desvios Gerador de Endereço Inicial e de Desvios Apontador de Micro Instruções (µPC) Apontador de Micro Instruções (µPC) Códigos de Condição Códigos de Condição R eg ist ra d or d e In st ru çõ es R eg is tr ad or d e In st ru çõ es Decodificador de Instruções Decodificador de Instruções

(26)

Unidade de Controle

Direto pelo Hardware

Relógio Relógio Palavra de Controle Palavra de Controle R eg ist ra d or d e In st ru çõ es R eg ist ra do r d e In st ru çõ es Decodificador de Instruções Decodificador de Instruções Lógica de Controle (PLA) Lógica de Controle (PLA) Códigos de Condição Códigos de Condição

(27)

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;

(28)

Tipos de Arquitetura

● Arquitetura de Acumulador

Um operando (em registrador ou memória), o acumulador é

usado como operando ímplicito a maioria das vezes

● Arquitetura de Pilha

Nenhum operando: todos operandos são implícitos no topo da

pilha

● Arquitetura de Registrador (load / store) – Três operandos, todos nos registradores

loads e stores são as únicas instruções que fazem acesso à

memória

● Arquitetura Registrador-Memória – Dois operandos, um em memória ● Arquitetura Memória-Memória

(29)

Tipos de Arquitetura

C:=A+B: Arquitetura de Pilha Arquitetura Acumulador Registrador-Memória Memória-Memória Registrador (load-store)

Push A Load A Load r1,A Add C,B,A Load r1,A Push B Add B Add r1,B Load r2,B

Add Store C Store C,r1 Add r3,r1,r2

(30)

Arquitetura de Acumulador

Acumulador ALU Memória Endereço latch latch

Example code: c = b+a;

load a; // acumulador é operando implícito add b;

(31)

Arquitetura de Pilha

Exemplo: c = b+a; push a; push b; add; pop c; a a b a+b

push a push b add pop c stack: ALU Memoria Pilha Ap. pilha latch latch latch a+b

(32)
(33)
(34)

Alinhamento

0 1 2 3 4 5 6 7 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 dos Endereços

(35)

Ordenação

0 1 2 3 4 5 6 7 Aumento dos Endereços 0 (LSB) 1 2 3 (MSB) Ordenação Little-endian (byte com endereço menor

é colocado no byte

menos significativo da palavra) 3 (MSB)

2 1

0 (LSB)

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

é colocado no byte

mais significativo da palavra) 4

(36)
(37)
(38)

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.

Modo Exemplo Significado (RTL)

Imediato add r4, r4, #3 R4  R4+3 Registrador add r4, r4, r3 R4  R4+R3 Direto ou

Absoluto

add r1, (1001) R1  R1+M[1001] Indireto Reg. 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] Indireto Mem. add r1, @(r3) R1  R1+M[M[R3]] Pilha pop r1 R1  M[SP]

(39)

Modos de Endereçamento

imed Imediato Registrador reg Campo da Instrução

Modo RegistradoresBanco de Memória

Indireto reg Direto

(Absoluto) ender

Deslocamento reg imed + endereço “base”

(40)

Modos de Endereçamento

Campo da Instrução

Modo RegistradoreBanco de s Memória

Indexado reg1 reg2

+

deslocamento

Indireto

Via Memória reg

endereço “base”

Pilha reg

(41)

Modos de Endereçamento

● Existem ainda modos especiais de endereçamento que

utilizam o apontador de instruções (PC).

● O mais comum deles é o endereçamento relativo ao PC,

onde o endereço do operando é um endereço relativo à localização da própria instrução.

● O apontador de instruções é utilizado como um registrador

de base e o deslocamento, isto é, a distância entre o operando e o PC é utilizado no código da instrução.

● Esse modo é utilizado, por exemplo, no processador ARM

(42)

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 instruções, e por

consequência os programas, serão executados.

Os componentes básicos do processador

(portas lógicas, flip-flops, etc.) limitam a

frequência máxima que o relógio pode ter.

(43)

Sinal de Relógio (Clock)

A frequência e o tempo do ciclo do relógio estão

relacionados pela seguinte equação:

O uso de técnicas como o pipeline permitem

aumentar consideravelmente a frequência do

relógio.

Quanto maior a frequência de relógio maior é o

consumo de energia e dissipação de calor do

processador.

Isso também impõe limites práticos sobre a

maior frequência que um processador pode ter.

Tc=1 f

(44)
(45)
(46)

Banco de Registradores (R0  R31) U.A.L. RD RS1 RS2 32 32 RDM RI #RS1 #RS2 #RD UNIDADE DE CONTROLE IN S T R U Ç Ã O D A D O S 6 5 5 5 PC E N D E R E Ç O 16 4 Endereço de Desvio RD = RS1 oper R2 oper 32 32 + Barramento de Dados Barramento de Endereço REM E N D E R E Ç O 32 32

Referências

Documentos relacionados

As relações hídricas das cultivares de amendoim foram significativamente influenciadas pela a deficiência hídrica, reduzindo o potencial hídrico foliar e o conteúdo relativo de

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

־ Uma relação de herança surge quando um objecto também é uma instância de uma outra classe mais geral (exemplo: “automóvel é um veículo”). ־ É sempre possível

• Os municípios provavelmente não utilizam a análise dos dados para orientar o planejamento de suas ações;. • Há grande potencialidade na análise dos micro dados do Sisvan

Essa nova afirmação, por sua vez, só pôde ser feita graças à distinção entre o sentido e a referência de uma expressão, pois, só então, podemos explicar o

Transplante Endotelial: impacto do DSAEK na deformação corneana/ Endothelial Keratoplasty: impact of DSAEK in corneal deformation..

LISTA DE SIGLAS ANAHP – Associação Nacional dos Hospitais Privados BSC – Balanced Scorecard CAP - Caixas de Aposentadoria e Pensão CAS – Complexo de Atenção à Saúde CEME