Prévia do material em texto
Arquitetura de
Computadores
Computador como Sistema de PD
SAÍDA
ARMAZENAMENTO
ENTRADA PROCESSAMENTO
CONECTIVIDADE
Dados x Informação x Conhecimento
Dado x Informação
Dado
Data nascimeno:16/07/1961
Soma do preço unitário x Quantidade
Medição x Métrica de temperatura = 38oC
Medição x Métrica da Distância: 100.000M
Informação
Idade: 47 annos
Total da Fatura
Clima quente
Longe
Dado x Informação
Conversão de Dados em Informação
Contextualizaçã
o
Categorização
Cálculo
Correção
Condensação
Relacionar dados coletados com outros
existentes
Separar os dados em categorias
Análise matemática ou estatística
Eliminar erros que os dados possuam
Resumir os dados para uma forma consisa
Componentes básicos de um
computador
O processador (ou microprocessador) é responsável pelo
tratamento de informações armazenadas em memória (programas
em código de máquina e dos dados).
A memória é responsável pela armazenagem dos programas e dos
dados.
Periféricos, que são os dispositivos responsáveis pelas entradas e
saídas de dados do computador, ou seja, pelas interações entre o
computador e o mundo externo. Exemplos de periféricos são o
monitor, teclados, mouses, impressoras, etc.
Barramento, que liga todos estes componentes e é uma via de
comunicação de alto desempenho por onde circulam os dados
tratados pelo computador
Memória Processador Periféricos
Barramento
Cont.
Memória
a memória principal, ou memória de trabalho, onde normalmente
devem estar armazenados os programas e dados a serem
manipulados pelo processador;
a memória secundária que permitem armazenar uma maior
quantidade de dados e instruções por um período de tempo mais
longo; o disco rígido é o exemplo mais evidente de memória
secundária de um computador, mas podem ser citados outros
dispositivos menos recentes como as unidades de fita magnética e
os cartões perfurados;
a memória cache, que se constitui de uma pequena porção de
memória com curto tempo de resposta, normalmente integrada aos
processadores e que permite incrementar o desempenho durante a
execução de um programa.
Processador
Um microprocessador, ou simplesmente
processador, é um circuito integrado (ou
chip), que é considerado o "cérebro" do
computador.
Processador
Pode-se dizer que a CPU realiza as seguintes
tarefas:
Busca e executa as instruções existentes na
memória. Os programas e os dados que ficam
gravados no disco (disco rígido ou disquetes),
são transferidos para a memória. Uma vez
estando na memória, a CPU pode executar os
programas e processar os dados.
Comanda todos os outros chips do computador.
Processador
A CPU é composta basicamente de três
elementos: unidade de controle, unidade lógica
e aritmética e registradores.
Unidade Lógica e Aritmética (ALU) - Assume
todas as tarefas relacionadas às operações
lógicas (ou, e, negação, etc.) e aritméticas
(adições, subtrações, etc...) a serem realizadas
no contexto de uma tarefa.
Processador
Unidade de Controle (UC) - assume toda a
tarefa de controle das ações a serem realizadas
pelo computador, comandando todos os demais
componentes de sua arquitetura.
Registradores - são utilizados para assegurar o
armazenamento temporário de informações
importantes para o processamento de uma dada
instrução.
Processador
A UC gerencia 4 operações básicas:
• Busca(fetch) – Obtém a próxima instrução de
programa da memória do computador.
• Decodificação – Descobre o que o programa está
dizendo para o computador fazer
• Execução – Executa a ação solicitada, tal como
somar dois números ou decidir se um deles é maior.
• Gravação – Escreve os resultados para um registro
interno (um local temporário de armazenamento) ou
para memória.
Ciclo de instrução( busca e decodificação) e ciclo
de execução (execução e armazenamento)
Processador
Exemplo de como funciona o
computador:
Uso de um programa que faz cálculos matemáticos
Usuário digita: 10+20*2
UC recebe estes dados
UC verifica que precisam ser calculados
UC envia para a ULA
ULA realiza o cálculo necessário
ULA retorna o valor 50 para a UC
UC armazena na memória
UC mostra o resultado no dispositivo de saída
Clock
Clock é um circuito oscilador que tem a
função de sincronizar e ditar a medida de
velocidade de transferência de dados no
computador, por exemplo, entre o
processador e a memória principal. Esta
freqüência é medida em ciclos por
segundo, ou Hertz.
Barramentos
Um barramento, ou bus, nada mais é do que
um caminho comum pelo qual os dados
trafegam dentro do computador.
O tamanho de um barramento é importante
pois ele determina quantos dados podem ser
transmitidos em uma única vez. Por exemplo,
um barramento de 16 bits pode transmitir 16
bits de dado, e um barramento de 32 bits pode
transmitir 32 bits de dados a cada vez.
Barramentos
Barramentos Internos: ligam a CPU
(processador) aos equipamentos que ficam
dentro do gabinete.
Existem diversos tipos de barramentos
específicos para equipamentos diferentes:
IDE
ISA
PCI
AGP
SCSI
Barramentos
Barramento IDE
Para conectar as unidades de armazenamento internas (HD, Drive
de CD, Gravadores de CD, Drives de DVD, etc.) à placa-mãe do
computador.
Os equipamentos são ligados aos barramentos IDE através
Cabo FLAT.
Barramentos
Barramento ISA
Comum em micros mais antigos para encaixar placas de
expansão, como modems, placas de som, placas de vídeo,
Está caindo em desuso por ser relativamente lento em relação
às novas tecnologias.
Barramentos
Barramento PCI
PCI: substituto do barramento ISA (nas novas placas-mãe, é
mais comum encontrar vários slots PCI e apenas alguns
poucos ISA, quando há ISA).
Barramentos
Barramento AGP
Apenas para uso de placas de vídeo.
Barramentos
Barramento SCSI
O SCSI é muito usado em servidores de
empresas, que normalmente precisam
de uma maior velocidade de conexão
com os Discos Rígidos, CDs, unidades
de fita.
Barramentos
Barramentos Externos
Barramentos externos = portas = interface
Tipos:
PS/2
Serial
Paralela
USB
Firewire
PCM CIA
Barramentos
Porta PS/2
É o barramento atualmente usado para conectar
mouse e teclado.
Há duas portas na parte traseira do gabinete, uma
para o mouse e a outra para o teclado.
Barramentos
Porta Serial
É um barramento usado por equipamentos que
transferem relativamente pouca informação, como
mouses, modems, câmeras (webcam), etc.
Barramentos
Porta Paralela
Barramento relativamente antigo e está sendo cada vez
menos utilizado em computadores atuais. A porta paralela
usa conector DB-25.
Barramentos
Porta USB
É relativamente novo e vem sendo usado em
muitos computadores atuais como substituto das
portas paralela e serial.
Barramentos
Barramento Firewire
Encontrado apenas nos computadores mais
novos, o barramento firewire é bastante rápido.
Barramentos
Barramento PCM CIA (PC Card)
Encontrado em modems, placas de som, placas de
rede e até discos rígidos portáteis.
Dispositivos de Entrada/Saída
Placa Mãe
Linguagem de Programação
Linguagens de Programação:
Proporcionam ao programador a possibilidade de
fornecer instruções ao computador através de
comandos ou sentenças, escritas em uma
linguagem próxima à linguagem humana,
permitindo desta forma a criação de novos
softwares;
Linguagem que o computador entende é a
linguagem de máquina, composta de 0 e 1.
Linguagem de Programação
Cada linguagem de programação obedece à
regras especificas. As regras de sintaxe de uma
linguagem de programação definem como são
expressados as instruções a serem executadas;
BAIXO NÍVEL -Linguagem de Máquina e de
Montagem. Mais compatíveis com o hardware do
computador;
ALTO NÍVEL -Linguagens de Compilação e
interpretação.Similares à nossa linguagem
natural.
Linguagem de Programação
Um compilador tem a finalidade de converter
uma linguagem – Linguagem Fonte – de fácil
escrita e leitura para os programadores, numa
linguagem – Linguagem alvo ou objecto – que
possa ser executada pelas máquinas.
O código executável gerado pelo compilador é
dependente do sistema operacional e da
linguagem de máquina para o qual o código fonte
foi traduzido.
Sistema de numeração
O sistema numérico com o qual estamos
acostumados a trabalhar e pensar é o sistema
decimal. Neste sistema os números são formados
por algarismos correspondentes as unidades,
dezenas, centenas, milhares,etc....
É um sistema baseado na analogia de contagem
com os dedos da mão, ou seja dez. A raiz ou
base desse sistema é dez e seus algarismos são:
0 1 2 3 4 5 6 7 8 9
Sistema de numeração
O número decimal 234, por exemplo, é obtido
pela soma apresentada a seguir:
234=200+30+4
ou 234=2 x 100 + 3 x 10 + 4 x 1
ou 234=2 x 10 2 + 3 x 10 1 + 4 x 10 0
Você já pensou qual o sistema utilizado para
representar as horas ?
Representação dos Dados
Sistema Binário
Os computadores utilizam a base 2 (sistema
binário), utilizando este sistema de numeração,
podemos representar uma informação com
apenas dois valores.
Os valores 0 e 1 são utilizados para representar
situações lógicas.
Binary Digity - BIT
Representação dos Dados
Sistema Hexadecimal
O sistema de números hexadecimal usa a base
16, o que indica o uso de dezesseis símbolos, sendo os
mesmos símbolos usados no sistema decimal mais as
seis primeiras letras do alfabeto.
Os algarismos utilizados no sistema hexadecimal são:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
As seis primeiras letras do alfabeto, utilizadas no
sistema hexadecimal como números representam as
seguintes quantidades:
A=10 B=11 C=12 D=13 E=14 F=15
Representação de Dados - exercícios
1. Faça as converções
a) (B10)16 = ? 10 ? 2
b) (11000110)2 = ? 10 ? 16
c) (173) = ? 2
d) (FF) 16 = ? 10 ? 2
e) (192)16 = ? 10 ? 2
2. Efetue as somas abaixo:
a) (1001)2 + (11) 2
b) (1AE) 16 + (292) 16
Números negativos na base binária?
Sinal de magnitude
Complemento de 1
Complemento de 2
Exercícios - Para o dia 26/09;2011
Introdução a Organização de Computadores
Mário Monteiro
Conversão de base e aritmética
computacional
Pág. 73 (1, 2,3, 4)
Pág. 74 (5, 8, 9,10, 11)
Pág. 75 (12, 13,14,1516,17 )
Pág. 76 (18 a 30)
Álgebra Booleana
Desenvolvida pelo matemático britânico George
Boole para estudo da lógica.
Definida sobre um conjunto de dois elementos:
(falso, verdadeiro) (0, 1) (baixo, alto)
Seus elementos, a princípio, não tem significado
numérico.
Postulados: se x é uma variável boleana então:
Se x ≠ 0 ⇒ x = 1
Se x ≠ 1 ⇒ x = 0
Álgebra Booleana
Uma variável boleana só pode assumir apenas um
dos valores possíveis (0 e 1)
Uma ou mais variáveis e operadores podem ser
combinados formando uma função lógica
Z1(A) = f(A) = ... (expressão usando var. A)
Z2(A,B) = f(A,B) = ... (expr. usando var. A e B)
Resultados de uma função lógica podem ser
expressos numa tabela relacionando todas as
combinações possíveis dos valores que suas
variáveis podem assumir e seus resultados
correspondentes: a Tabela-Verdade.
Álgebra de Boole: Tabela Verdade
0
1
A B Z=f(A,B)
0
0
01
1 1
Lista das
combinaç
ões
possíveis
dos
estados
das
variáveis
de
entrada
Variáv
eis
Função
Lógica
Resultados
da função
lógica para
cada
combinação
dos estados
de entrada
1
0
1
1
Tabela-Verdade relaciona os resultados (saída)
de uma função lógica para todas as
combinações possíveis de suas variáveis
(entrada).
Na Tabela-Verdade acima a função lógica Z
possui duas variáveis A e B, sendo Z = f(A, B)
= A + B
Álgebra de Boole: operações
São definidas algumas operações elementares
na álgebra boleana:
Operação “Não” (NOT)
Operação “E” (AND)
Operação “Ou” (OR)
NAND
NOR
Operação “Ou-Exclusivo” (Exclusive-Or ou
XOR)
Álgebra booleana
Tabela Verdade: (0)Falso (1)Verdade
A B Not A A AND B A OR B A XOR B A NAND B A NOR B
0 0
0 1
1 0
1 1
Álgebra booleana
Faça a tabela verdade para as seguintes
expressões booleanas (Observação: o sinal
* significa AND; + significa OR e ~significa
NOT):
A*B*C + ~(A*B*C)
A*(~C + B + ~D)
A*B + A*(~C)
Exemplo de um sinal binário
Portas lógicas Gate
É um circuito eletrônico que constitui no
elemento básico e mais elementar de um
sistema de computação.
Portas e operações lógicas
Enquanto cada elemento lógico ou condição é representado por um
valor “0” ou “1”, faz-se necessário que tenhamos meios de
combinar diferentes sinais lógicos ou condições para gerar um
resultado útil.
Uma porta lógica (“gate”) é um circuito eletrônico, portanto uma peça
de hardware, que se constitui no elemento básico mais elementar
de um sistema de computação. Grande parte do hardware do
sistema é fabricado através da adequada combinação de milhões
desses elementos.
Tabela Verdade
São tabelas que representam todas as possíveis combinações das
variáveis de entrada de uma função, e os seus respectivos valores
de saída.
Uma tabela verdade possui, então, tantas linhas de informação
quantas são as possíveis combinações de valores de entrada que
se tenha.
Operadores Lógicos
Uma operação lógica realizada sobre um ou mais valores lógicos
produz um certo resultado (também um valor lógico), conforme a
regra definida para a operação lógica.
Portas lógicas (gates)
Porta lógica AND - E
• A porta AND combina dois ou mais sinais de
entrada de forma equivalente a um circuito em série,
para produzir um único sinal de saída, ou seja, ela
produz uma saída 1, se todos os sinais de entrada
forem 1; caso qualquer um dos sinais de entrada for
0, a porta AND produzirá um sinal de saída igual a
zero.
Exemplo de utilização da porta AND
Porta lógica OR - OU
• A porta OR é definida para produzir um
resultado verdade (=1) na sua saída, se pelo
menos uma das entradas for verdade.
Porta lógica NOT – NÃO (inversor)
• A porta NOT é um circuito lógico que requer apenas
um valor na entrada: inverte o sinal de entrada
(executa a negação do sinal de entrada), ou seja, se o
sinal de entrada for 0 ela produz uma saída 1, se a
entrada for 1 ela produz uma saída 0.
Porta NAND – NOT AND
• A porta NAND equivale a uma porta AND seguida
por uma porta NOT, isto é, ela produz uma saída que é
o inverso da saída produzida pela porta AND. Esta
porta produzirá uma saída falsa se e somente se todas
as entradas forem verdade.
Porta NOR – NOT OR
• A porta NOR equivale a uma porta OR seguida por uma porta
NOT, isto é, ela produz uma saída que é o inverso da saída
produzida pela porta OR. Esta porta produzirá uma saída
verdade se e somente se todas as entradas forem falsas.
Porta XOR – Exclusive OR
• A porta (ou operação lógica) XOR, abreviação do
termo EXCLUSIVE OR, pode ser considerada um
caso particular da função OR, ou seja, sua definição:
“a saída será verdade se exclusivamente uma ou
outra entrada for verdade”. A porta XOR compara os
bits: ela produz saída 0 quando todos os bits de
entrada são iguais e saída 1 quando pelo menos um
dos bits de entrada é diferente dos demais.
Exemplo de emprego de circuitos XOR para teste
de igualdade entre palavras
Expressões lógicas – aplicações de portas
• Uma expressão lógica ou função lógica pode ser definida
como sendo uma expressão algébrica formada por variáveis
lógicas (binárias), por símbolos representativos de uma
operação lógica (+, ., etc.), por parênteses (às vezes) e por um
sinal de igual.
F = X + Y .Z - Expressão lógica da
função F
Diagrama lógico da
função F
Tabela verdade da
função F
Cálculo de expressões lógicas
Assim como podemos obter todos os possíveis resultados
de uma expressão lógica para cada um dos valores de
entrada componentes da expressão (através daconstrução
progressiva da tabela verdade), também poderemos obter
o valor da expressão para um valor específico de cada
uma das entradas (usar apenas uma linha da tabela
verdade).
Na avaliação de uma expressão lógica, as seguintes
regras devem ser seguidas:
a) Uma expressão pode ou não conter parênteses; quando
contêm, eles têm a mesma prioridade que nos cálculos da
álgebra comum;
b) A prioridade da operação AND é maior que a do cálculo
de uma operação OR, como na aritmética comum. Assim:
X+Y .Z = X + (Y .Z)
c) A prioridade da operação OR é maior que a operação
XOR
Álgebra Booleana
• Álgebra Booleana é uma área da Matemática que trata de regras e elementos de
Lógica. O projeto de elementos digitais está relacionado com a conversão de
idéias em hardware real, e os elementos encontrados na álgebra booleana
permitem que uma idéia, uma afirmação, possa ser expressa matematicamente.
Permitem também que a expressão resultante da formulação matemática da idéia
possa ser simplificada e, finalmente, convertida no mundo real do hardware de
portas lógicas e outros elementos digitais.
Faça a tabela verdade
Calcule o valor de X para as expressões
Máquina de John von Neumann
Programa e dados são armazenados juntos
na memória principal;
O programa é executado seqüencialmente;
A memória é endereçável.
Instruções e dados armazenados na memória
indistintamente.
Uma palavra escolhida aleatoriamente na
memória não pode ser identificada como
uma instrução ou um palavra de dado.
O significado de uma palavra é determinado
pela maneira como o processador vai
interpreta-la.
Modelo de von Neumann
Acumulador - registrador que armazena o
primeiro operando da instrução;
Instruções especificam apenas o segundo
operando.
O resultado é armazenado no acumulador.
Memória
Memória R
E
M
barramento de
endereços
R D MDecodifica
dor
RDM - registrador de dados da memória
REM - registrador de endereços da memória
Barramento de dados
Acesso a memória
O Registrador de Endereços da Memória
(REM) armazena o endereço da palavra de
memória durante um acesso (leitura ou
escrita);
O Registrador de Dados da Memória (RDM)
armazena o conteúdo da palavra de memória
lida em uma operação de leitura ou que será
escrita na memória;
O endereço é decodificado para localizar a
palavra a ser acessada.
Palavra de memória
O tamanho do RDM determinará a quantidade
de bits que poderá ser transferida em um
único acesso a memória - o tamanho da
palavra de memória;
O tamanho do REM determinará o tamanho do
espaço de endereçamento da memória, ou
seja, a quantidade de palavras que poderão
ser endereçadas;
O RDM determinará a largura do barramento
de dados;
O REM determinará a largura do barramento
de endereços.
Modelo de von Neumann
Quantidade de acesso a memória é muito
grande: necessita acessar a memória
para buscar a instrução e operandos e
armazenar resultados.
Tempo de acesso à memória é muito
grande → decodificação do endereço e
transferência do dado.
Utilização de registradores de uso geral:
reduz a quantidade de acessos à memória
principal;
armazenar dados - resultados de operações,
endereços e operandos de instrução que
estão sendo utilizados várias vezes (resolver
uma expressão; variável de controle de uma
estrutura “for”);
acesso mais rápido ao dado - os registradores
estão contidos dentro da UCP;
Unidade de Controle
Responsável por gerar os sinais de controle
necessários para a busca e execução das
instruções, além de coordenar outras
unidades como memória e dispositivos de
entrada e saída de dados.
Unidade de Controle
Síncrona ou Assíncrona
Assíncrona: as operações são executadas
independentemente. Ao término de uma,
começa a próxima.
Síncrona: existe um circuito oscilador
responsável por gerar uma referência de
tempo para realização das operações -
CLOCK.
Organização da Unidade de
Controle
Por circuito (ou lógica fixa);
Microprogramada
Por circuito: existem circuitos específicos
para execução das operações.
Microprogramada: para cada instrução
existe um microprograma.
Exercícios
Quais os princípios da máquina de von Neumann ?
Compare a máquina de von Neumann com as
máquinas anteriores ?
Quais os componentes da Unidade Central de
Processamento (UCP) ?
Quais as funções da unidade de controle ?
As máquinas que possuem clock são ditas:....
Qual a função do clock ?
O que é um registrador ?
De que são construídos registradores ?
Qual a função dos registradores na UCP ?
Quais as funções dos registradores RI e CI ?
Quais as funções dos registradores RDM e REM ?
Pesquisar as caracterisiticas da máquina de Turing
Linguagem de Máquina
Conjunto de código binários que a unidade
de controle é capaz de decodificar e
executar;
É formada pela conjunto de instruções da
máquina;
É específica de cada máquina (ou família de
máquinas).
Linguagem de Montagem
(Assembly)
Associa símbolos aos códigos binários;
Cada símbolo representa uma instrução (ou
pseudo-instrução);
Símbolo representa a operação associada:
ADD - adição; SUB - subtração ...
São mnemônicos;
É específica da máquina.
Montador (Assembler)
Responsável por gerar um programa em
linguagem de máquina a partir de um
programa escrito em linguagem de
montagem;
Símbolos → instruções de máquina
ADD M → 00110000001100
Linguagens de alto-nível
PASCAL, C, FORTRAN, Algol, Visual AGE,
Small Talk, Java, Modula, ADA ...
Possuem construções mais complexas - while,
for, repeat ...
Programas independentes da máquina;
Possuem uma estrutura bem definida.
Compilador
Traduzir um programa escrito em uma
linguagem de alto nível na linguagem da
máquina alvo (linguagem de máquina);
Verificar se os comandos estão
corretamente construídos; se pertencem a
estrutura da linguagem; gerar instruções
de máquina;
Um comando em uma linguagem de A-N
pode gerar várias instruções de máquina -
for i := 1 to 200 do
Interpretador
Interpreta (analisa) os comandos de um
programa (um de cada vez) e executa as
operações especificadas;
BASIC
Formato das Instruções
Máquinas com registradores de uso geral, os
operandos e resultados das instruções podem
residir em registradores;
A instrução especifica o(s) registrador(es) que
contém os operandos;
Instruções mais curtas;
Menos acessos a memória.
Formato das instruções (cont.)
Máquinas de um endereço: a instrução
especifica apenas o segundo operando;
Máquinas de dois endereços: a instrução
especifica os dois operandos e o resultado
é armazenado no lugar do primeiro
operando;
Máquinas de três endereços: a instrução
especifica os operandos e o resultado da
operação.
Formato das Instruções
X = A * (B + C * D – E / F)
Três operandos
X = A * (B + C * D – E / F)
Dois operandos
X = A * (B + C * D – E / F)
Um operando
Operações primitivas
Modos de endereçamento
Facilitar a atividade de programação;
Reduzir a quantidade bits (tamanho) da
instrução.
Modos de endereçamento (cont.)
Modo de endereçamento imediato: o
operando está contido na própria
instrução;
Modos de endereçamento (cont.)
Modo de endereçamento direto: o campo de
endereço da instrução especifica o endereço
do operando na memória;
Modos de endereçamento (cont.)
Modo de endereçamento indireto: o campo
de endereço da instrução especifica a
palavra de memória que contém o endereço
do operando na memória;
Modos de endereçamento (cont.)
Modo registrador: o campo de endereço contém o
endereço de um registrador e não uma célula de
memória;
Modos de endereçamento (cont.)
Modo indexado: existe um registrador que é
utilizado como índice para cálculo do endereço
efetivo (físico).
Modo registrador base (ou base+deslocamento): o
campo de endereço contém o endereço do
operando em relação a um endereço base;Exercícios
Um computador tem uma REM de 16 bit´s e
um barramento de dados de 20 bit's, possui
instruções de um operando, todas do
tamanho de uma célula de memória e do
mesmo tamanho da palavra, Esse
computador foi adquirido com 4K de
memória.
a) Qual o tamanho em bit-s do RDM e do CI
b) Seria possível aumentar a capacidade de
armazenamento da memória e em quanto?
Exercícios
Considere um computador que possua uma
CPU com CI de 16 bit´s e RI de 38 bit´s.
Suas instruções tem dois operandos do
mesmo tamanho (16 bit´s) além do código da
instrução.
a)Qual o tamanho da instrução
b) Qual o tamanho do código da operação
Memória Principal Vs. Cache
O fichário representa o
disco rígido.
A pasta sobre a mesa
representa a memória
principal.
No quadro de avisos se
encontram informações
que podem ser
acessadas de forma
muito rápida. O quadro
representa a cache.
Mesa e usuário são a
CPU
Pasta
Quadro
Fichário
Motivação para hierarquia
Principio da localidade + Relação
custo/desempenho das tecnologias
Alto desempenho da CPU
CPU
Registradores
C
a
c
h
e
Memória
Principal
Memória
Secundária
Barramento
de memória
Barramento
de E/S
Princípio da Localidade
Localidade Temporal
Num futuro próximo, o programa irá
referenciar os programas e dados
referenciados recentemente
Localidade Espacial
Num futuro próximo, o programa irá
referenciar os programas e objetos
de dados que tenham endereços
próximos das últimas referências.
Hierarquia de Memória
cache (L1)
CPU
Registradores
memória principal
memória secundária
Custo e
tamanh
o
chip
cache (L2)
VelocidadeReg.
Cache
Principal
Cache de Disco
Disco Magnético
Fita CD-ROM
Níveis de memória
Nível 1 2 3 4
Nome Registrador Cache Memória
Principal
Secundária
Tamanho < 1K < 4 M < 4 G > 1 G
Tecnologia BICMOS SRAM DRAM Disco
Tempo de
acesso (ns)
2-5 3-10 80-400 5.000.000
Largura de
banda(MB/s)
4000-32.000 800-5000 400-2000 4-32
Gerência Compilador Hardware S.O S.O /
usuário
Copia em Cache Memória
Principal
Disco Fita
Características da Memória Cache
Organização
Tamanho do Bloco
Tipos de mapeamento
Direto
Associativo
Associativo por conjunto
Estratégias de substituição
Random
First-in-first-out (FIFO)
Least-recently used (LRU)
Least-frequently used (LFU)
nEstratégia de Escrita
• Write through
• Write back
nNúm. de Caches
• Single X Two-level
• Unified X Split
Avanços em implementação de caches
Sincronizada ao clock do sistema
Os sinais são sincronizados ao clock.
Simplifica o projeto da memória
Burst
Incorpora controle interno que permite acesso
rápido a posições subsequentes (ex. reg. e
gerador de endereços)
Pipelining
Usa registradores na entrada e/ou saída o que
permite fornecer dados e acessar novos
endereços em paralelo.
Async SRAM
• A mais antiga
• É mais rápida que a DRAM apenas por ser
estática.
• 20, 15 or 12 ns.
• Não é suficientemente rápida para permitir
acesso síncrono.
SB SRAM - Syncronous Burst SRAM
• 8.5ns to 12ns
• Acesso em page mode
– 2/1/1/1 em 66 MHz
– 3/2/2/2 em > 66 MHz
• Para velocidadades de barramento até 66
MHz, SB SRAM apresenta a melhor
performance.
PB SRAM - Pipeline Burst SRAM (cache)
• Usa registradores na entrada ou saída.
• Gasta um clock a mais para carregar o
registrador, mas depois permite acesso
simultâneo a novas posições de memória
enquanto os dados estão sendo lidos na saída.
• Acesso page mode 3/1/1/1.
• Mais lenta que SB SRAM em bus < 66MHz.
Melhor se > 66MHz.
• 4.5ns to 8ns.
Velocidade de Acesso a
Memórias Cache
Vel.
Bus
(MHz)
33 50 60 66 75 83 100 125
Async
SRAM
2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2
Sync
SRAM
2/1/1/1 2/1/1/1 2/1/1/1 2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2
PB
SRAM
3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1
A melhor memória para cada velocidade de barramento
Memória Cache:Tipos de Mapeamento
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
30
31
Memória principal
Memória cache
0
1
2
3
4
5
6
7
Blocos
ou
Linhas
Offset:
identifica palavras em uma linha
Mapeamento Direto
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
31
Memória principal
Memória cache
0 (000)
1 (001)
2 (010)
3 (011)
4 (100)
5 (101)
6 (110)
7 (111)
Endereço da palavra
Tag Linha Offset
Exemplo: End. linha = 12 mod 8
= 4
tag = 12 / 8 = 1
Offset0000...01 100
Cada linha na mem. principal tem uma posição fixa na cache
• End. linha = ELMP mod NLC
onde ELMP = endereço linha mem. principal
NLC = núm. linhas da cache
• Tag = ELMP / NLC (Informa qual linha da mem. principal está
armazenada na linha de cache
correspondente)
• Offset cache = Offset Mem. Principal
Offset
01
dados tag linha
Mapeamento direto
Mapeamento Associativo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
31
Memória principal
Memória cache
Endereço da palavra
Tag Offset
Exemplo: tag = 12 (011002)
Offset000000...01100
Uma linha na memória principal pode ocupar
qualquer posição na cache
• Tag ⇒ armazena na cache o end. da linha na
mem. principal
• Offset cache = Offset Mem. Principal
Offset
01100
dados tag
Mapeamento Associativo
Mapeamento Associativo por Conjunto
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
31
Memória principal
Memória cache
Exemplo: two-way set
associative
tag = 12 / 4
= 3 (0112))
set = 12
mod 4 = 0
Uma linha na memória principal pode ocupar qualquer posição dentro de
um conjunto definido de linhas da cache
• Tag = ELMP / NCC
• Set = ELMP mod NCC
onde ELMP = endereço linha mem.
principal
NCC = núm. conjuntos da cache
• Offset cache = Offset Mem. Principal
011
dados tag
Endereço da palavra
Tag set Offset
Offset 011 00
{
{
{
{
Conjuntos (sets)
Mapeamento Associativo por Conjunto
Comparação de Métodos de Mapeamento
Mapeamento direto
Simples e BarataSimples e Barata
Mais faltas
Associativa
RápidaRápida
Menos faltaMenos falta
Cara (comparação
do endereço em
paralelo)
Associativa por conjunto: combinação das anteriores
Se NCC = NLC ⇒ Ass. por conjunto = Mapeamento
Direto
Se NCC = 1 ⇒ Ass. por conjunto = Associativa
NLC = núm. linhas da cache
NCC = núm. conjuntos da cache
Políticas de Substituição de Páginas
Randômica:
Simples e fácil de implementar
FIFO (First-In-First-Out)
LFU (Least-Frequently Used)
LRU (least-recently used)
Menor taxa de faltas
Associatividade
2 way 4-way 8-way
Size LRU random LRU random LRU random
16 KB 5.18 5.69 4.67 5.29 4.39 4.96
64 KB 1.88 2.01 1.54 1.66 1.39 1.53
256KB 1.15 1.17 1.13 1.13 1.12 1.12
Leitura/Escrita da Cache
Leitura:
Mais frequentes, rápidas e fáceis de implementar
Escrita:
Mais lentas e complicadas e consistência de dados
com a memória principal deve ser mantida (se
uma página da cache foi alterada pela CPU, não
pode ser descartado da cache sem garantir que
foi copiada para a página correspondente na
mem. principal)
Políticas de Escrita e Consistência
Write through
Cache e memória são atualizadas
simultaneamente
Write back
Memória principal é atualizada quando bloco é
substituído
Usa dirty bit para marcar linhas alteradas na
cache.
Memória Cache: escrita
Write through Write back
facilidade de
implementação
consistência da memória
principal
redução de tráfego com
memória
nPara se evitar espera durante escrita:
êWrite buffers
Exercícios
A seguir está uma lista de endereços de
memória de 32 bits requisitados por um
processador.
1, 134, 212, 1, 135, 213, 162, 161, 2, 44, 41,221
Assumindo que a cache está inicialmente vazia,
diga se cada acesso à memória cache é bem
sucedido (hit) ou falha (miss).
• Mapeamento direto com 16 blocos de 1 palavra.
• Mapeamento por conjunto e associativo
A Arquitetura: conjunto de instruções
código instruçãocomentário
0000 NOP Nenhuma operação
0001 STA end MEM(end) ← AC
0010 LDA end AC ← MEM(end)
0011 ADD end AC ← MEM(end) + AC
0100 OR end AC ← MEM(end) OR AC
0101 AND end AC ← MEM(end) AND AC
0110 NOT AC ← NOT AC
1000 JMP end PC ← end
1001 JN end IF N=1 THEN PC ← end
1010 JZ end IF Z=1 THEN PC ← end
1111 HLT pára processamento
Sub-sistema de E/S
Componentes
Interfaces de entrada e saída
Dispositivos periféricos
⇒ comunicação
⇒ organização típica
Técnicas de transferência de dados
polling
interrupção
DMA (Direct Memory Access)
SubSistema de E/S
Funções:
Receber ou enviar informações ao meio
exterior
Converter as informações (E/S) em uma
forma intelígivel.
SubSistema de E/S
Observações ao projetar uma interface de E/S
Taxas de transmissão diferenciadas;
Atividades de E/S não são sincronizadas;
Cumprimento diferenciado das linhas de conexão
entre periféricos;
Características diferenciadas: velocidade, quantidade
de bits enviados, controle no envio dos bits;
SubSistema de E/S
Transmissão serial e Paralela;
Transmissão Assíncrona e síncrona.
Interação entre Processador e
Interfaces de E/S
Interfaces de E/S são conectadas ao
processador através de barramentos
endereço
dados
controle
Semelhante a interação entre processador e
memória principal
Acessos
⇒ leitura
⇒ escrita
Interação entre Processador e
Interfaces de E/S
Leitura: processador obtém
dado recebido do dispositivo periférico
informação de estado sobre uma operação de e/s
em andamento ou recém-completada
Escrita: processador fornece
à interface um dado que deve ser enviado ao
dispositivo periférico
código de um comando que inicia uma operação
de e/s
operação de controle sobre dispositivo periférico
Interação entre Processador e
E/S
Processador
Memória
Cache
Endereço
Dados
Controle
Memória
Principal
sub-sistema de memória
Disco
.
Vídeo Rede
Interface
de E/S
Interface
de E/S
Interface
de E/S
Sub-sistema de E/S
Interação entre Processador e
Interfaces de E/S
Interface é identificada por um endereço único
Processador executa ciclos de barramento
Leitura
endereço da interface no barramento de endereços
ativa um sinal de leitura
a interface coloca a informação desejada no
barramento de dados
processador finaliza o ciclo de barramento
• lendo a informação presente no barramento
de dados
• retirando o endereço e o sinal de controle
Interação entre Processador e
Interfaces de E/S
Escrita
endereço da interface no barramento de endereços
fornece dado no barramento de dados
ativa um sinal de escrita
interface selecionada armazena a informação
presente no barramento de dados
processador finaliza o ciclo de barramento
• retirando o endereço, dado e o sinal de
controle
Organização Típica de uma
Interface de E/S
Parte Genérica
Parte Específica
Dados
Sinais de
Controle
Reg Dados
Reg Controle
Reg Estado
Endereço
Dados
Controle
Função ⇒ tornar transparente para o
processador os detalhes de operação e
controle dos dispositivos periféricos
Duas partes ⇒ genérica e específica
Técnicas de Transferência de
Dados
Entrada e Saída com Polling
puramente em software
simples
pouco eficiente
só para sistemas dedicados
E/S com Polling
selecione
trilha/setor
escreva byte no
registrador de dados
leia
registrador de estado
done bit ativado?
último dado?
fim da operação
sim
sim
não
não
e operação
Técnicas de Transferência de
Dados
Entrada e Saída com Interrupção
hardware + software
mais eficiente do que E/S com Polling
duas fases
• disparo da operação
• transferência de dados
E/S com Interrupção
Disparo da
Operação de E/S
Transferência
de Dados
interrupção
último byte
já enviado?
escreva byte no
registrador de dados
não
sim
fim da operação
leia
registrador de estado
rotina de
serviço de interrupção
envie trilha, setor
e código da operação
Técnicas de Transferência de
Dados
Entrada e Saída com Interrupção
pedido de interrupção
chama rotina de serviço de interrupção
controlador de interrupções
tabela de vetores de interrupção
tempo de latência de interrupção
Controlador de Interrupção
Controlador de
Interrupção
Brramento de
Dados
Interface
de E/S
Interface
de E/S
...
...
INT
80x86
INT
Técnicas de Transferência de
Dados
Entrada e Saída com Acesso Direto à Memória (DMA)
maior taxa de transferência de dados
controlador de DMA
• vários canais ⇒ sinais de controle para os
dispositivos periféricos
• arbitração de pedidos
E/S com DMA
Controlador
DMA
Processador Memória
Interface de
E/S
PDMAPBAR
LIVRE
Padrões de Barramento
Barramento de sistema
⇒ processador-memória: curtos, rápidos,
relação forte com o sistema de memória
⇒ entrada-saída: mais longos, ampla faixa
de banda passante, relação com os
dispositivos periféricos
⇒ backplane: projetados para que
processador memória e entrada e saída
coexistam
Projeto de um Sistema de E/S
Duas restrições principais
latência ⇒ limites aceitáveis para se
completar uma operação de entrada e saída
banda passante ⇒ dada uma carga de
trabalho, o sistema deve se manter
balanceado
Projeto de um Sistema de E/S
Medidas de Desempenho
taxa de transferência de dados
latência
MB/s
benchmarks
• supercomputadores ⇒ throughput
• processamento de transações ⇒ tempo
de resposta do sistema de arquivos
A Arquitetura: formato das instruções
As instruções do Neander possuem um ou dois
bytes (ocupam uma ou duas posições de memória)
código da oper. don’t care
7 4 3 0
endereço direto
código da oper. don’t care
7 4 3 0
Instruções com um byte:
NOP, NOT
Instruções com dois bytes:
STA, LDA, ADD, OR, AND,
JMP, JN, JZ
A Arquitetura: características gerais
Largura de dados e endereços de 8 bits
Dados representados em complemento de 2
1 acumulador de 8 bits (AC)
1 apontador de programa de 8 bits (PC)
1 registrador de estado com 2 códigos de
condição: negativo (N) e zero (Z)
A Organização: alguns elementos necessários
Um registrador de 8 bits para servir de acumulador
Um registrador de 8 bits para o PC (registrador-
contador)
Dois flip-flops: um para o código de condição N e
outro para Z
Uma memória de 256 posições (endereços) x 8 bits
A Arquitetura: o ciclo de busca (fetch)
Decodifica
instrução
Busca
instrução
Executa/
Busca operandos
A Arquitetura: o ciclo de execução
Arquitetura/Organização: transferências entre regs.
Novo elemento é necessário: o registrador de instrução (RI)
MEM(PC) corresponde a um acesso à memória, usando o
conteúdo do PC como fonte do endereço
A fase de busca: é igual para todas as instruções
RI ← MEM(PC)
PC ← PC + 1
Arquitetura/Organização: transferências entre regs.
Instrução NOP (nenhuma operação)
Simbólico: NOP
RT: -
Passos no nível RT:
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: nenhuma
operação
NOP Don’t care
7 4 3 0
As transferências indicam quais caminhos de dados devem
existir, mas não indicam os caminhos físicos reais entre os
elementos (registradores e ULA)
Arquitetura/Organização: transferências entre regs.
Instrução STA (armazena acumulador)
Simbólico: STA end
RT: MEM(end) ← AC
Passos no nível RT:
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← PC + 1
MEM(end) ←
AC
STA Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução LDA (carrega acumulador)
Simbólico: LDA end
RT: AC ← MEM(end)
Passos no nível RT:
Busca: RI ← MEM(PC)
PC ← PC + 1
Execução: end ← MEM(PC)
PC ← PC + 1
AC ← MEM(end);
atualiza N e Z
LDA Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução ADD (soma)
Simbólico: ADD end
RT: AC ← MEM(end) + AC
Passos no nível RT:
Busca: RI ← MEM(PC)
PC ← PC + 1
Execução: end ← MEM(PC)
PC ← PC + 1
AC ← AC + MEM(end);
atualiza N e Z
ADD Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entreregs.
Instrução OR (“ou” lógico, bit a bit)
Simbólico: OR end
RT: AC ← MEM(end) OR AC
Passos no nível RT:
Busca: RI ← MEM(PC)
PC ← PC + 1
Execução: end ← MEM(PC)
PC ← PC + 1
AC ← AC OR MEM(end);
atualiza N e Z
OR Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução AND (“e” lógico, bit a bit)
Simbólico: AND end
RT: AC ← MEM(end) AND AC
Passos no nível RT:
Busca: RI ← MEM(PC)
PC ← PC + 1
Execução: end ← MEM(PC)
PC ← PC + 1
AC ← AC AND MEM(end);
atualiza N e Z
AND Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução NOT (complementa acumulador)
Simbólico: NOT
RT: AC ← NOT AC
Passos no nível RT:
Busca: RI ← MEM(PC)
PC ← PC + 1
Execução: AC ← NOT(AC); atualiza N e
Z
NOT Don’t care
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução JMP (desvio incondicional - jump)
Simbólico: JMP end
RT: PC ← end
Passos no nível RT:
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← end
JMP Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução JN (desvio condicional - jump on negative)
Simbólico: JN end
RT: IF N = 1 THEN PC ← end
Passos no nível RT:
Se N=1 (desvio ocorre)
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← end
JN Don’t care
end
7 4 3 0
Se N=0 (desvio não ocorre)
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← PC + 1
a rigor, desnecessário
Arquitetura/Organização: transferências entre regs.
Instrução JZ (desvio condicional - jump on zero)
Simbólico: JZ end
RT: IF Z = 1 THEN PC ← end
Passos no nível RT:
Se Z=1 (desvio ocorre)
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← end
JZ Don’t care
end
7 4 3 0
Se Z=0 (desvio não ocorre)
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: end ←
MEM(PC)
PC ← PC + 1
a rigor, desnecessário
Arquitetura/Organização: transferências entre regs.
Instrução HLT (término de execução - halt)
Simbólico: HLT
RT: --
Passos no nível RT:
Busca: RI ←
MEM(PC)
PC ← PC + 1
Execução: parar o
processamento
HLT Don’t care
7 4 3 0
Organização do Sistema de Memória
RDM
R
E
M
MEM
read
write
Arquitetura/Organização
Operações com a memória
x ← MEM(y) descreve uma leitura da memória, que é
realizada pelos seguintes passos:
1. REM ← y copia y (que é um endereço) para o REM
2. Read ativação de uma operação de leitura da
memória
3. x ← RDM copia o conteúdo de RDM para x
REM é o registrador de endereços da memória
RDM é o registrador de dados da memória
Arquitetura/Organização
Operações com a memória
MEM(y) ← x descreve uma escrita da memória, que é
realizada pelos seguintes passos:
1. REM ← y copia y (que é um endereço) para o REM
2. RDM ← x copia x (que é um dado) para o RDM
3. write ativação de uma operação de escrita na
memória
Arquitetura/Organização
Operações com a memória
Observações (1)
Após a leitura do PC, seu conteúdo deve ser
incrementado, para apontar para a próxima posição
O incremento do PC pode ser feito a qualquer instante
após a transferência do PC para o REM
O incremento do PC pode ser feito em paralelo com
outras operações
Arquitetura/Organização
Operações com a memória
Observações (2)
Um desvio condicional que não se realiza não necessita
ler o valor do endereço de desvio
Ou seja, basta incrementar o PC
Arquitetura/Organização
Então, detalhando mais as
transferências entre registradores…
Arquitetura/Organização: transferências entre regs.
Instrução NOP (nenhuma operação)
Simbólico: NOP
RT: -
Passos no nível RT:
Busca: REM ← PC
Read; PC ← PC
+ 1
RI ← RDM
Execução: nenhuma
operação
NOP Don’t care
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução STA (armazena acumulador)
Simbólico: STA end
RT: MEM(end) ← AC
Passos no nível RT:
Busca: REM ←
PC
Read; PC ←
PC + 1
RI ← RDM
Execução: REM ← PC
Read; PC ←
PC + 1
REM ← RDM
RDM ← AC
Write
STA Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução LDA (carrega acumulador)
Simbólico: LDA end
RT: AC ← MEM(end)
Passos no nível RT:
Busca: REM ← PC
Read; PC ← PC + 1
RI ← RDM
Execução: REM ← PC
Read; PC ← PC + 1
REM ← RDM
Read
AC ← RDM; atualiza N
e Z
LDA Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução ADD (soma)
Simbólico: ADD end
RT: AC ← MEM(end) + AC
Passos no nível RT:
Busca: REM ← PC
Read; PC ← PC + 1
RI ← RDM
Execução: REM ← PC
Read; PC ← PC + 1
REM ← RDM
Read
AC ← AC + RDM; atualiza
N e Z
ADD Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução OR (“ou” lógico, bit a bit)
Simbólico: OR end
RT: AC ← MEM(end) OR AC
Passos no nível RT:
OR Don’t care
end
7 4 3 0
Busca: REM ← PC
Read; PC ← PC + 1
RI ← RDM
Execução: REM ← PC
Read; PC ← PC + 1
REM ← RDM
Read
AC ← AC OR RDM;
atualiza N e Z
Arquitetura/Organização: transferências entre regs.
Instrução AND (“e” lógico, bit a bit)
Simbólico: AND end
RT: AC ← MEM(end) AND AC
Passos no nível RT:
AND Don’t care
end
7 4 3 0
Busca: REM ← PC
Read; PC ← PC + 1
RI ← RDM
Execução: REM ← PC
Read; PC ← PC + 1
REM ← RDM
Read
AC ← AC AND RDM;
atualiza N e Z
Arquitetura/Organização: transferências entre regs.
Instrução NOT (complementa acumulador)
Simbólico: NOT
RT: AC ← NOT AC
Passos no nível RT:
Busca: REM ← PC
Read; PC ← PC + 1
RI ← RDM
Execução: AC ← NOT(AC); atualiza N e
Z
NOT Don’t care
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução JMP (desvio incondicional - jump)
Simbólico: JMP end
RT: PC ← end
Passos no nível RT:
Busca: REM ←
PC
Read; PC ← PC
+ 1
RI ← RDM
Execução: REM ← PC
Read
PC ← RDM
JMP Don’t care
end
7 4 3 0
Arquitetura/Organização: transferências entre regs.
Instrução JN (desvio condicional - jump on negative)
Simbólico: JN end
RT: IF N = 1 THEN PC ← end
Passos no nível RT:
Se N=1 (desvio ocorre)
Busca: REM ← PC
Read; PC ← PC +
1
RI ← RDM
Execução: REM ← PC
Read
PC ← RDM
JN Don’t care
end
7 4 3 0
Se N=0 (desvio não ocorre)
Busca: REM ← PC
Read; PC ← PC +
1
RI ← RDM
Execução: PC ← PC + 1
Arquitetura/Organização: transferências entre regs.
Instrução JZ (desvio condicional - jump on zero)
Simbólico: JZ end
RT: IF Z = 1 THEN PC ← end
Passos no nível RT:
JZ Don’t care
end
7 4 3 0
Se Z=1 (desvio ocorre)
Busca: REM ← PC
Read; PC ← PC +
1
RI ← RDM
Execução: REM ← PC
Read
PC ← RDM
Se Z=0 (desvio não ocorre)
Busca: REM ← PC
Read; PC ← PC +
1
RI ← RDM
Execução: PC ← PC + 1
Arquitetura/Organização: transferências entre regs.
Instrução HLT (término de execução - halt)
Simbólico: HLT
RT: --
Passos no nível RT:
Busca: REM ← PC
Read; PC ← PC +
1
RI ← RDM
Execução: parar o
processamento
HLT Don’t care
7 4 3 0
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Slide 18
Slide 19
Slide 20
Slide 21
Slide 22
Slide 23
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
Slide 36
Slide 37
Slide 38
Slide 39
Slide 40
Slide 41
Slide 42
Slide 43
Slide 44
Slide 45
Slide 46
Slide 47
Slide 48
Slide 49
Slide 50
Slide 51
Slide 52
Slide 53
Slide 54
Slide 55
Slide 56
Slide 57
Slide 58
Slide 59
Slide 60
Slide 61
Slide 62
Slide 63
Slide 64
Slide 65
Slide 66
Slide 67
Slide 68
Slide 69
Slide 70
Slide 71
Slide 72
Slide 73
Slide 74
Slide 75
Slide 76
Slide 77
Slide 78
Slide 79
Slide 80
Slide 81
Slide 82
Slide 83
Slide 84
Slide 85
Slide 86
Slide 87
Slide 88
Slide 89
Slide 90
Slide 91
Slide 92
Slide 93
Slide 94
Slide 95
Slide 96
Slide 97
Slide 98
Slide 99
Slide 100
Slide 101
Slide 102
Slide 103
Slide 104
Slide105
Slide 106
Slide 107
Slide 108
Slide 109
Slide 110
Slide 111
Slide 112
Slide 113
Slide 114
Slide 115
Slide 116
Slide 117
Slide 118
Slide 119
Slide 120
Slide 121
Slide 122
Slide 123
Slide 124
Slide 125
Slide 126
Slide 127
Slide 128
Slide 129
Slide 130
Slide 131
Slide 132
Slide 133
Slide 134
Slide 135
Slide 136
Slide 137
Slide 138
Slide 139
Slide 140
Slide 141
Slide 142
Slide 143
Slide 144
Slide 145
Slide 146
Slide 147
Slide 148
Slide 149
Slide 150
Slide 151
Slide 152
Slide 153
Slide 154
Slide 155
Slide 156
Slide 157
Slide 158
Slide 159
Slide 160
Slide 161
Slide 162
Slide 163
Slide 164
Slide 165
Slide 166
Slide 167
Slide 168
Slide 169
Slide 170
Slide 171
Slide 172
Slide 173
Slide 174
Slide 175
Slide 176
Slide 177
Slide 178
Slide 179