Você está na página 1de 40

Organização estruturada de computadores

A Ânima Educação é uma


das
mais relevantes organizações
educacionais do Brasil,
formada por um grupo de
sonhadores que acredita em
um país cada vez melhor.
Para nós, mais do que
reconhecer a educação como
o melhor caminho para
mudar a realidade
das pessoas, é preciso fazer
parte dessa transformação
todos os dias.
Roteiro
• Revisão Arquitetura Von Neumman
• Little Man Computer (LMC)
Elementos da Arquitetura Computadores

5
• O program counter aponta para a linha
corrente do programa armazenado em
memória
• Observe que a seta que conecta o Program
Program Counter com o bus é bidirecional
• Isto se deve à necessidade do PC poder
counter requerer alterações para acomodar
modificações que permitam executar:
• Condicionais (If)
• Loops
• Saltos (Subrotinas, funções, etc.)

CSIT 301 (Blum) 6


MAR, MDR e Memória
• MAR (Memory Address Register) contém o endereço de memória que está
sendo lido ou escrito
• Não necessariamente o program counter
• Memória de Sistema (RAM): local onde os dados e instruções estão
armazenados
• MDR (Memory Data Register) contém o dado que está sendo lido ou escrito
na memória
• Conexão bidirecional ao barramento (bus) para leitura e escrita

CSIT 301 (Blum) 7


Instruction Register
• Instruction register contém a instrução que está correntemente em
execução.
• Uma dada linha de código assembly ou código de máquina envolve várias
instruções de microcódigo e o instruction register mantém a instrução até
que os passos da micro-instrução sejam completados.
• Exerce um papel análogo ao MAR, mas aplicado à ROM, ao invés da
RAM

CSIT 301 (Blum) 8


Controlador/Sequenciador
• Executa o programa ao nível mais baixo.
• Envia sinais aos pinos de controle de todos os dispositivos envolvidos.
• Estas instruções em nível mais baixo estão em ROM
• Cada instrução no nível assembly possui uma contraparte numérica
(machine language); a contraparte numérica é o endereço do microcódigo
daquela instrução armazenada em ROM.

CSIT 301 (Blum) 9


Acumulador e a ALU

• Acumulador: registrador utilizado em conjunção


com a ALU
• Dados sobre os quais as operações lógicas e
aritméticas irão eventualmente ser efetivadas serão
armazenadas aqui, assim como os seus resultados.
• ALU (Arithmetic Logic Unit) onde operações que
modificam os dados são realizadas.

10
CSIT 301 (Blum)
Flags
• Flags são saídas da ALU distintas dos dados (e.g., data
output vai para o Acc. A)
• Por exemplo,
• Um carry de uma adição
• Uma indicação de overflow
• Necessário para controle de programa ou para indicar
erros
• Um resultado de comparação lógica (<, >, =)
• São necessários para o controle (ifs, loops, etc)

11
CSIT 301 (Blum)
PC, MAR,
MBR,
Registrador
interno (D0), IR,
ALU, UC e
Memória:
UC
Todos juntos !

12
Fetch Cycle
• Address State: o valor do program counter (linha de endereço do
programa a ser executada) é colocada no memory address register (MAR)
• Increment State: o program counter é incrementado, tornando-se pronto
(ready) para o próximo ciclo.
• Memory State: a linha corrente do programa é colocada no instruction
register e o Controle então sabe o que fazer em seguida (ciclo de
execução).

CSIT 301 (Blum) 13


Instruction Operand Operand
fetch fetch store

Multiple Multiple
results
operands

Instruction Instruction Operand Operand


Data
address operation address address
Operation
calculation decoding calculation calculation

Return for string


Instruction complete, or vector data
fetch next
instruction

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights


reserved.
0 3 4 15
Opcode Address

(a) Instruction format

0 1 15
S Magnitude

(b)Integer format

Program Counter (PC) = Address of instruction


Instruction Register (IR) = Instruction being
executed Accumulator (AC) = Temporary storage

(c)Internal CPU registers

0001 = Load AC from Memory


0010 = Store AC to Memory
0101 = Add to AC from Memory

(d)Lita Parcial de Opcodes


Figure 3.4 Characteristicsof a Hypothetical M achine

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights


reserved.
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 0 PC 300 1 9 4 0 3 0 1 PC
Exemplo de 301 5 9 4 1
302 2 9 4 1 1 9 4 0 IR
AC 301 5 9 4 1
302 2 9 4 1
0 0 0 3 AC
1 9 4 0 IR
Execução de •

940 0 0 0 3

940 0 0 0 3
Instrução 941 0 0 0 2 941 0 0 0 2
Step 1 Step 2
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 1 PC 300 1 9 4 0 3 0 2 PC
• 0001 (Hex 1) Load AC from memory 301 5 9 4 1 0 0 0 3 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 5 9 4 1 IR 302 2 9 4 1 5 9 4 1 IR
• 0101 (Hex 5) Add to AC from •



940 0 0 0 3 940 0 0 0 3 3+2=5
memory 941 0 0 0 2 941 0 0 0 2
• 0010 (Hex 2) Store AC to memory Step 3 Step 4
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 2 PC 300 1 9 4 0 3 0 3 PC
301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 2 9 4 1 IR 302 2 9 4 1 2 9 4 1 IR
• •
• •
940 0 0 0 3 940 0 0 0 3
941 0 0 0 2 941 0 0 0 5
Step 5 Step 6
Portas de Saída (Output Ports)
• Output port é a conexão com o mundo externo
• Usualmente inclui buffers
• Envolve circuitos e controladores especializados, ou outros dispositivos
computacionais, a fim de realizar uma determinada tarefa (display em
vídeo, comunicação com e sem fio, armazenamento externo, etc.)

CSIT 301 (Blum) 17


Objetivo do Laboratório
• Observar, analisar e correlacionar os exercícios propostos pelo tutorial com os
elementos de uma Arquitetura e Organização de Computadores até então
apresentados em teoria.
• Observar e descrever o ciclo de busca (Fetch) de Dados e Instruções, identificar os
elementos MAR, Acumulador, barramento de sistema, decodificação de instrução,
leitura e escrita em memória, segmento de dados e instruções em memória e a
relacionamento dos elementos observados com a Arquitetura de Von Neumann
• Entender o Conjunto de instruções e o Opcode
• Apresentação do Relatório do LMC
• Descrição dos códigos (dividir o trabalho pelos membros da equipe)
• Envolve comentar o código (o “algoritmo” em outras palavras...)
Little Man Computer (Lab)

https://peterhigginson.co.uk/LMC/
O conjunto de Instruções
Little Man Computer (Próximo Lab)

PC

IR

MAR

BARRAMENTO DE SISTEMA
“Câmera Lenta” ou “Câmera Rápida”
Little Man Computer (Próximo Lab)

PC

IR

MAR

ALU

O “robozinho” indica o que está acontecendo e alerta para a necessidade de entrar algum dado !
Primeiro “Código” – O que ocorre ?
• INP
STA 20
OUT
HLT
“Segundo Código a ser inserido, executado e analisado”
INP
STA A
INP
STA B
LDA A
ADD B
OUT
HLT
A DAT
B DAT
“Segundo Código a ser inserido, executado e analisado”
INP
STA A
INP
STA B
LDA A
ADD B
OUT
HLT
A DAT
B DAT
Exercícios para a Sala da Ala

• Adicionar dois números


• Subtrair dois números
• Implementar um contador negativo
• Elevar um número ao quadrado
• Mutiplicar dois números
Adição de Dois Números
INP
STA A
INP
STA B
LDA A
ADD B
OUT
HLT
A DAT
B DAT
Subtração de Dois Números
INP
STA A
INP
STA B
LDA A
SUB B
OUT
HLT
A DAT
B DAT
Contagem Regressiva
INP
STA A
LOOP LDA A
OUT
SUB ONE
STA A
BRZ ETH
BRA LOOP
ETH LDA A
SUB A
OUT
HLT
A DAT
ONE DAT 1
Mutiplicação
INP
STA FIRST
INP
STA SECOND
LOOP LDA SECOND
BRZ ENDTHIS
SUB ONE
STA SECOND
LDA ANS
ADD FIRST
STA ANS
BRA LOOP
ENDTHIS LDA ANS
OUT
SUB ANS
STA ANS
HLT
FIRST DAT
SECOND DAT
ONE DAT 1
ANS DAT 0
Obrigado(a)!
Prof. Arivaldo Ferreira – digital / virtual / remoto
arivaldo.ferreira@unifacs.br
Prof. Paulo Sampaio – ambiente físico / presencial
paulo.sampaio@unifacs.br
Profa. Priscila Doria – ambiente físico / presencial
priscilla.doria@unifacs.br
Profa. Sérgio Spinola– ambiente físico / presencial
sergio.spinola@unifacs.br
Dinâmica Sugerida
• Apresentar o Desafio para os Alunos
• Conceder 15 minutos para, em grupo, pensarem sobre a questão a ser
resolvida.
• Após 15 minutos apresentar a solução e solicitar que analisem e descrevam
a solução apresentada (prévia do relatório); conceder 15 minutos.
• O tempo pode variar, a fim de acomodar as 4 práticas em sala de aula.
• Solicitar o relatório sobre a atividade, valendo 10 pontos.
• Na próxima aula apresentar o Tutorial e os demais exercícios, debater as
relações observadas entre a arquitetura de Von Neumann e o LMC
• Um desafio opcional e adicional (melhorar o código de divisão).
Material de Apoio
• Conforme a dinâmica e o entendimento da turma, em um
determinar o melhor momento para apresentar o link com o
tutorial referente a estas atividades propostas:
https://www.vivaxsolutions.com/web/lmc.aspx

Você também pode gostar