Você está na página 1de 4

Ficha de Arquitetura

Autores: Wemmerson Albuquerque e Anderson Cavalcante


Pix: wemmerson.albuquerque@gmail.com e dinho.gbc@gmail.com

Atenção
A ficha a seguir consiste em resumos feitos por meio de fontes levantadas após consulta de
anotações e pesquisas no google. Devido a não disponibilização dos slides por parte do
professor, este material pode se encontrar em desarmonia com o conteúdo da prova.

Funcionamento de Processadores
Conceitos Básicos

Modelo de Von Neumann


O modelo de Von Neumann consiste em uma memória principal que armazena dados e
instruções. Esta estará conectada em um barramento que o liga ao processador onde existe
uma Unidade de Controle (que comanda o funcionamento), a Unidade Lógica Aritmética
(que é responsável pela execução de comandos lógicos e aritméticos) e registradores que
propiciam a manipulação assertiva desses dados. Saindo do processador temos ainda os
dispositivos de entrada e saída conectados ao barramento, servindo de interface entre o
usuário e o sistema.

Barramento
No modelo de Von Neumann, o barramento existe em três trilhas:
● Controle: Serve para a UC determinar que tipo de comportamento o sistema deve
adotar e em qual momento fazer isso;
● Dados: Serve para conduzir os dados da memória para o processador e para os
dispositivos de entrada e saída;
● Endereçamento: Serve para informar a localização de uma instrução, ou operando,
ou ainda informar onde determinado dado será armazenado.

UC
A Unidade de Controle é responsável por toda a lógica de execução do processador,
cabendo a ela o gerenciamento das operações de processamento e transferência de dados,
seja na memória, no datapath ou nos periféricos.
ULA
A Unidade Lógica Aritmética é quem de fato processa os dados, sejam eles operações
lógicas (AND, OR, XOR, NOT, etc.) ou operações aritméticas (adição, subtração, divisão,
multiplicação, incremento, módulo, etc.). A ULA, ao receber dados de entrada, processa-os
e então entrega um resultado.

Registradores
De maneira resumida, um registrador é um elemento digital, uma unidade de memória
temporária dentro de um processador. Podem ser de uso geral (servem de slots temporários
para a manipulação de dados pela ULA ou transferência de dados do processador com
outras partes do sistema (memória e periféricos)) ou finalidade específica (seja para
armazenar uma instrução ou guardar um endereço na memória). Seguem os principais
registradores específicos:

● PC (Program Counter): Responsável por guardar o endereço de memória da


próxima instrução;
● IR (Instruction Register): Responsável por armazenar a instrução que está em
execução no momento;
● MAR (Memory Adress Register): Responsável por armazenar endereços de
memória que serão utilizados pela UC, seja para requerer o conteúdo deste
endereço ou ordenar a escrita de algo neste endereço;
● MBR (Memory Buffer Register): Responsável pela coleta do conteúdo de um
endereço da memória, é quem recepciona o barramento de dados no processador;
● SP (Stack Pointer): Responsável por apontar o endereço do topo de uma pilha de
dados. Na execução de um programa, quando uma sub-rotina é executada, o SP
serve para indicar o endereço de memória do programa principal, para que desta
maneira a sub-rotina consiga retornar seus resultados. O programa principal estaria
numa pilha de dados, e o SP é o endereço do topo desta pilha.
Ciclo Básico do Processador
O processador funciona de maneira
cíclica, seguindo sempre os mesmos
procedimentos, sendo eles: Busca de
instruções, Decodificação, Busca de
operandos, Execução e Escrita.

Busca de Instruções
Nesta etapa o processador busca
instruções a serem executadas da
memória. O registrador PC tem em seu
interior o endereço de memória da
próxima instrução a ser executada. Este
endereço é copiado para o MAR (MAR é o
responsável por procurar os endereços na
memória principal), então, através do
barramento de endereços, ele vai na
memória principal achar sua localização. A
UC, através do barramento de controle,
determina o que será feito com a
informação deste endereço. No caso, será
feita a leitura por se tratar da etapa de
busca de instruções. Então a instrução
localizada neste endereço é copiada para
a MBR, através do barramento de dados. Após isso, a instrução será copiada para a IR (isto
é feito para que caso a MBR precise armazenar um outro dado, a instrução não se perca).

Decodificação
Quando desenvolvemos um programa em linguagem de alto nível, durante a compilação ele
é convertido em assembly. O assembly consiste num conjunto de mnemônicos que podem
ou não possuir operandos (cada processador possui seu próprio conjunto de mnemônicos),
então o Assembler (Montador) converte em opcode. A UC verifica o opcode e então
determina a busca dos operandos para realizar a operação, mesmo que o opcode não
necessite de operando, a UC manda buscar, retornando nenhum operando (um dos motivos
pelo qual o professor chama o Computador de máquina burra).

Busca de Operandos
Após a UC interpretar a instrução, coloca o endereço de memória do operando em questão
no MAR, que através do barramento de endereços localiza onde está armazenado, então a
UC informa através do barramento de controle o que deve ser feito, no caso, leitura. O dado
em questão retorna pelo barramento de dados e é colado no MBR.
Execução
De posse do operando e do que deve ser feito a ele, o valor do operando é colocado em um
registrador específico de nome Accumulator. A ULA pega este valor e faz a operação que é
requerida na instrução, sobrescrevendo o Accumulator com o resultado.

Escrita
Caso seja requerido pelo programa em uma instrução (que segue as etapas de
interpretação anteriores), a UC coloca no MAR o endereço de memória em que deve ser
armazenado o novo dado. Então a MAR localiza o endereço em questão através do
barramento de endereços. A UC armazena na MBR o valor do Accumulator, que então ,
através do barramento de dados, é colocado no endereço de memória localizado pela MAR.
A UC informa pelo barramento de controle o que deve ser feito com este endereço, no caso
em questão deve ser escrito.

Essas etapas são cíclicas, ocorrem de maneira sequencial e repetida até que o PC seja
informado que o programa em questão não possui mais instruções a serem executadas.

Para um melhor entendimento, é recomendado assistir o seguinte vídeo a partir de 7:37.

Ciclo de Busca, Decodificação e Execução de Instruções pela CPU - em Detalhes - PC, IR,
MAR e MBR

OBS¹: Clock é o tempo necessário para o processador fazer uma consulta na memória
principal;

OBS²: Cada processador tem seu próprio conjunto de opcodes, o que faz com que um
programa codado em uma arquitetura não consiga ser executado em outra arquitetura.

Fontes

FUNDAMENTOS E PRÁTICAS EM ARQUITETURA E ORGANIZAÇÃO DE


COMPUTADORES Estudos de Caso com o Simulador CompSim.pdf

MI1022806 2020 1 AULA03 - MediaWiki do Campus São José

stack pointer

Você também pode gostar