Buscar

Aula2-1 - Introdução a Arquitetura de Computador

Prévia do material em texto

Análise e Desenvolvimento de Sistemas 
Material desenvolvido: 
• Prof. Luis H. V. Nakamura 
1 
ROTEIRO 
 Processadores 
 
2 
Processadores 
 
 Processador 
 Unidade Central de Processamento (UCP): 
○ “É o componente vital do sistema de computação” 
(Monteiro, 2007) 
○ Responsável por realizar operações, como: 
 Cálculos aritméticos; 
 Mover um dado de um local de armazenamento para 
outro; 
 Transferir um valor (dado) para um dispositivo; 
 Controlar a execução de programas; 
 
3 
Processadores 
  Instrução de Máquina: 
 Tais tipos de operações realizadas pela UCP 
podem receber uma identificação formal, 
contendo um grupo de bits que identifica a 
operação a ser realizada e outro grupo de bits que 
permite a localização e o acesso aos dados que 
serão manipulados na referida operação. 
○ Um programa é formado por uma série de instruções de 
máquina que devem ser armazenadas em células sucessivas 
na memória principal. 
○ O endereço da primeira instrução do programa deve estar 
armazenado no processador, para que ele possa iniciar o 
processo de buscar (ler) essa primeira instrução. 
 4 
Processadores 
  Função da UCP : 
Ciclo de Instrução 
a) Buscar uma instrução na memória (endereço 
armazenado em um registrador da própria UCP); 
b) Interpretar/Decodificar que operação a instrução está 
explicitando; 
c) Buscar dados onde estiverem armazenados (se houver); 
d) Executar efetivamente a operação com o(s) dado(s). 
e) Guardar o resultado (se houver) no local definido na 
instrução; 
f) Reiniciar o processo buscando uma nova instrução; 
 5 
Isso ocorre desde início (ligar) até o termino (desligar) do sistema (computador) 
Processadores 
  Função da UCP: 
Ciclo de Instrução Básico 
 
 
 
 
 Pipelining: 
 Múltiplas instruções sendo executadas concorrentemente ou 
até mesmo simultaneamente. 
 Instruções em estágios diferentes 
6 
Buscar 
 Instrução 
Decodificar 
Instrução 
Executar a 
operação indicada 
pela Instrução 
Figura baseada no Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores 
  Pipelining: 
7 
Clock: 1 2 3 4 5 6 7 
Busca A B 
Decodifica A B 
Executa A B 
Clock: 1 2 3 4 5 6 7 
Busca A B 
Decodifica A B 
Executa A B 
Sem 
Pipelining 
Com 
Pipelining 
Processadores 
  Composição de um processador 
 Diagrama em bloco básico (Monteiro,2007): 
 
 Funções: 
○ Processamento; 
○ Controle; 
 
 Barramento Interno 
8 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores 
  Esquema simplificado de uma UCP (Intel 8080) 
(Monteiro,2007): 
9 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores 
  Composição de um processador 
 Processamento: 
○ Cálculos: 
 Aritméticos e 
 Lógicos 
 
10 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores 
  Composição de um processador 
 Processamento: 
○ UAL (Unidade Aritmética e Lógica) ou ALU (Arithmetic Logic 
Unit): é principal dispositivo de processamento. 
○ Registradores* de dados: armazenam dados (resultados) 
utilizados pela UAL; 
○ Registrador especial de controle/estado (ou flags): 
armazenam conjuntos de bits, cada um deles com funções 
especificas, decorrentes de operações aritméticas 
realizadas; 
○ Barramento interno: é a interligação entre estes 
componentes é efetuada pelo barramento interno do 
processador (caminhos dos dados – data path) 
 
 
11 
*registradores: que são memórias extremamente rápidas, caras e pequenas (bits) que 
armazenam dados e instruções correntes. 
 
Processadores 
  Processamento: 
12 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores 
  Composição de um processador 
 Controle: 
○ Busca, decodifica 
○ Controle das instruções 
○ Controle de ação: 
 Memória 
 Entrada e Saída (E/S) 
Figura do Livro: Introdução à 
Organização de computadores 
(Monteiro,2007) 
13 
Processadores 
  Composição de um processador 
 Controle: 
○ UC (Unidade de Controle): gera os sinais de controle 
internos e externos a UCP. 
○ DI: Decodificador de Instrução: recebe o código da 
instrução na sua entrada, decodifica e gera uma saída 
com as ativações necessárias para a realização da 
instrução. 
○ RI (Registrador de Instrução): armazena o código binário 
referente à instrução que está sendo executada. 
○ CI (Contador de Instrução) ou PC (Program Counter): é 
um registrador que armazena o endereço de memória que 
contém a próxima instrução a ser executada pela UCP. 
14 
Processadores 
  Composição de um processador 
 Controle: 
○ REM (Registrador de Endereços de Memória) ou MAR 
(Memory Address Register) e 
○ RDM (Registrador de Dados de Memória) ou MBR 
(Memory Buffer Register): são registradores utilizados 
pelo processador e memória para comunicação e 
transferência de informações. 
○ Barramento interno: é a interligação entre estes 
componentes. 
○ Relógio: produz pulsos cuja duração é chamada de ciclo. 
Responsável pelo sincronismo e controle (da velocidade) 
das ações. 
15 
Processadores 
  Controle: 
16 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - UAL 
  Função Processamento: 
 UAL é o dispositivo do processador que 
efetivamente executa as operações matemáticas 
com os dados: 
○ Soma, subtração, multiplicação, divisão 
○ Operações lógicas: AND, OR, XOR 
○ Operação de complemento 
○ Operação de deslocamento à direita e esquerda 
○ Incremento ou Decremento de 1 a um valor 
 
 A UAL recebe sinais de controle da UC pelo barramento 
e que vão determinar qual a operação que será 
realizada. 
 
17 
Processadores - UAL 
  Função Processamento: 
 A UAL recebe (entrada) os operandos dos registradores 
de entrada e após realizar as operações armazena 
(saída) os resultados nos registradores de saída e no 
registrador especial de controle (flags). 
 
 
18 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - UAL 
  Função Processamento: 
 UAL é formada internamente por um aglomerado 
de circuitos lógicos e componentes eletrônicos 
simples, que, integrados realizam as operações 
mencionadas. 
 Processadores mais modernos possuem co-
processadores matemáticos, que são outras UAL 
para executarem cálculos com números inteiros ou 
com números fracionários (ponto flutuante) – FPU 
(Floating Point Unit) ou Unidade de Ponto 
Flutuante. 
 
19 
Processadores – Registradores de Dados 
  Função Processamento: 
 Registradores de dados são utilizados para 
armazenar dados temporariamente que precisam 
ser transferidos para a UAL ou para armazenar os 
dados resultantes (de operação Lógica ou 
Aritmética) que foi executado na UAL. 
 Os dados resultantes podem ser utilizados por 
outras operações ou serem transferidos para a 
memória (cache e/ou principal) do computador. 
 
20 
 Função Processamento: 
 Em sistemas mais antigos (intel 8080) tinha um 
registrador especial denominado acumulador (ACC) 
que além de armazenar dados, servia como 
elemento de ligação da UAL com os dispositivos 
restantes do processador. 
 Nos sistemas de segunda geração da intel 
(8086/8088), o ACC desapareceu e optou-se por 
inserir registradores especializados no 
armazenamento de dados, endereços e de 
segmentos. 
 
21 
Processadores – Registradores de Dados 
 
 Função Processamento: 
 Os registradores de dados de alguns 
processadores têm uma largura (quantidade de bits 
que podem armazenar) igual ao tamanho 
estabelecido pelo fabricante para a palavra do 
referido processador. 
○ Para valores de ponto flutuante, em geral, a largura é o 
dobro. 
○ A largura dos registradores de dados é igual ao tamanho 
da palavra, portanto, se a palavra é de 32 ou 64bits então 
os registradores de dados também possuem, 
respectivamente, largurade 32 ou 64 bits. 
 
22 
Processadores – Registradores de Dados 
 
Processadores – Reg. Esp. Estado – Flags - PSW 
 
 Função Processamento: 
 Registradores especiais de estado (flags) ou 
registradores PSW (Program Status Word) 
armazenam o estado informações que auxiliam e 
complementam a realização das operações 
matemáticas pela UAL. 
 Estes registradores não armazenam um único valor 
(único dado), eles dividem os bits (flags) para que cada 
um tenha um significado diferente após uma operação 
aritmética. Exemplos: 
○ Sinal – contém o sinal resultante da última operação 
realizada no processador; 
23 
○ Overflow – quando setado (=1) indica que a última 
operação aritmética realizada resultou em estouro do 
valor, um erro. 
○ Zero – quando setado (=1) indica que a última operação 
aritmética realizada resultou no valor zero. 
○ Vai 1 (Carry) – indica que ocorreu “vai 1” para o bit mais à 
esquerda na última operação de soma realizada. Pode 
indicar, também, overflow em operações com números 
sem sinal. 
○ Paridade – é setado (=1) ou não (=0), dependendo da 
quantidade de bits 1 no byte recebido. 
24 
31 30... ... ... ... ... ... 1 0 
0 ... SF OF ZF CF PF ... 0 
Processadores – Reg. Esp. Estado – Flags - PSW 
 
Processadores 
  Função Controle: 
 É a parte funcional do processador que realiza as 
atividades de: 
○ Busca da instrução que será executada, armazenando-a 
em um registrador especialmente projetado para esta 
finalidade; 
○ Interpretação das ações a serem realizadas de acordo 
com a execução da instrução; 
○ Geração de sinais de controle (internos ou externos) 
adequados que ativem as atividades requeridas para a 
execução propriamente dita da instrução. 
 
 Ciclo de Instrução Básico 
 
25 
F
e
t
c
h
 
c
y
c
l
e
 
E
x
e
c
u
t
e
 
c
y
c
l
e
 
Processadores - UC 
  Função Controle: 
 Unidade de Controle (UC) é o dispositivo mais 
complexo do processador. Ela possui a lógica 
necessária para realizar a movimentação de dados 
e de instruções de e para o processador, através 
dos sinais de controle que emite em instantes de 
tempo determinados conforme uma programação 
prévia. 
 A UC se conecta a todos os principais elementos do 
processador e ao barramento externo de controle. 
 
26 
Processadores - UC 
 
 UC: 
27 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - UC 
  Função Controle: 
 Os sinais de controle da UC ocorrem em vários 
instantes durante o período de realização de um 
ciclo de instruções e, de modo geral, todos 
possuem uma duração fixa e igual controlada pelo 
relógio (clock). 
 Dessa forma, uma instrução do ciclo de instruções 
que conhecemos (busca-decodifica-executa) 
consiste em diversas microoperações (ou 
microinstruções) que devem ser realizadas. Essas 
microoperações são a menor parte individualmente 
executável pelo processador. Exemplo: 
 28 
Processadores - UC 
 
29 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - UC 
  Exemplo da instrução de busca (fetch): 
○ Trazer uma cópia da instrução da MP para o processador (RI): 
 É preciso realizar as seguintes microoperações, que ocorrem a cada 
pulso da UC em decorrência de uma prévia programação (via hardware 
ou via microprogramação): 
30 Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - UC 
  Função Controle: 
 Portanto, o funcionamento da UC tem influência no 
modo pelo qual o sistema conduz a execução das 
instruções, sendo possível ter diversos tipos de 
arquiteturas de processadores, tais como: 
1. Processadores que executam instruções de modo 
exclusivamente sequencial ou serial (SISD); 
2. Processadores que executam instruções de modo 
concorrente, ou tipo pipeline (linha de montagem); 
3. Processadores que executam várias instruções 
simultaneamente (processamento paralelo); 
4. Processadores que realizam processamento vetorial. 
31 
Processadores - Clock 
  Função Controle: 
 O Relógio (clock) é o dispositivo com a finalidade 
de sincronização. Ele gera pulsos cuja a duração é 
denominada ciclo. 
 
32 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
Processadores - Clock 
 
 Função Controle: 
 O Relógio (clock) também cadencia as ações 
(microoperações), ou seja, ele controla a 
velocidade com que elas ocorrem. 
 Ele é como se fosse um maestro de um orquestra 
que sincroniza e cadencia a ação dos músicos. 
 O relógio possui uma frequência (frequency ou 
clock rate) que é a quantidade de ciclos por 
segundo. Ela é o inverso do período e vice-versa 
(Hertz – Hz, onde 1Hz = 1 ciclo/s). 
○ 1000Hz = 1kHz; 1000kHz = 1MHz; 1000MHz = 1GHz 
33 
Processadores - Clock 
  Um ciclo pode ainda ser subdivido em ciclos 
menores ou sub-ciclos, que defasados no tempo, 
podem acionar um passo diferente da operação 
elementar (microoperação). 
 Se as operações para realizar um ciclo de 
instrução, duram um tempo definido por um ou 
mais pulsos do relógio, e se estes pulsos tiverem 
curta duração, mais operações podem ser feitas na 
mesma unidade de tempo (MIPS, Mflops). 
○ Contudo, um frequência de clock maior de um 
processador para outro não indica necessariamente que 
ele tenha maior desempenho. Isso pode depender de 
vários fatores das arquiteturas dos processadores (Ex: 
Pentium 66MHz X 486 de 80 ou 100MHz). 34 
Processadores – Reg. Instrução 
  Função Controle: 
 Registrador de Instrução (RI) ou Instruction 
Register (IR): é um registrador que tema função 
específica de armazenar a instrução a ser 
executada. 
 A UC emite sinais de controle em sequencia no 
tempo para que se processe o ciclo de leitura 
buscando a instrução na memória, após o término 
deste ciclo de leitura a instrução desejada será 
armazenada no RI, via barramentos externo de 
dados, barramento interno e RDM (Registrador de 
Dados de Memória) (vide slides 13 e 16 ou 9). 
 35 
 Função Controle: 
 Em algumas arquiteturas o RI armazena apenas o 
código da operação/instrução. Atualmente, o 
processo é ainda mais complexo, para atender um 
maior desempenho (pipelining, etc.) utiliza-se 
buffers para armazenar instruções em fila antes 
mesmo de sua execução. 
 
36 
Processadores – Reg. Instrução 
 
 Função Controle: 
 O Contador de Instrução (CI) ou Program 
Counter (PC) é um registrador que armazena o 
endereço da próxima instrução a ser executada. O 
sistema automaticamente efetiva a modificação do 
conteúdo do CI de modo que ele passe a 
armazenar o endereço da próxima instrução na 
sequencia (“armazena o endereço da próxima 
instrução”). 
 Geralmente, o conteúdo do PC é atualizado logo 
após uma instrução de busca. 
 
37 
Processadores – Contador Instrução ou 
Program Counter (PC) 
 
 Função Controle: 
 O CI ou PC sofre alteração de conteúdo nas 
seguintes possibilidades: 
1. Sistematicamente, por meio do incremento automático em 
um ciclo de instrução feito pelo hardware (PC := PC + n, 
sendo n uma quantidade em bytes da instrução corrente). 
2. Sempre que o sistema precisa reiniciar (ou iniciar), o 
hardware é programado para inserir no CI/PC o endereço 
da primeira instrução do programa de inicialização. 
3. Eventualmente, quando há no programa uma instrução de 
desvio (Jump ou Branch). Ex. IF-THEN-ELSE ou 
DOWHILE. Ou quando o Sistema Operacional (SO) decide 
mudar de programa em execução. 
38 
Processadores – Contador Instrução ou 
Program Counter (PC) 
 
 Função Controle: 
 O Decodificador de Instrução é um dispositivo 
utilizado para identificar qual operação será 
realizada. Essa operação está correlacionada à 
instrução cujo código de operação foi decodificado 
(veremos que a instrução tem um código de 
operação). 
 O Decodificador de Instrução recebe na sua 
entrada um conjunto de bits (cód. de operação)e 
possui 2N saídas, onde N é a quantidade de 
algarismos binários do valor da entrada. 
 
39 
Processadores – Decodificador de Instrução 
 
 Função Controle: 
 O Decodificador de Instrução de exemplo a 
seguir possui uma entrada de 4bits e saída de 
16bits. 
○ Cada linha de saída aciona de modo diferente a UC e 
esta, por sua vez, emite sinais de controle por diferentes 
caminhos, conforme a linha de saída decodificada. 
 Veja a figura com um exemplo de Decodificador de 
Instrução no próximo slide e volte para ver o 
decodificador e a UC no slide 16 e/ou 9. 
 
40 
Processadores – Decodificador de Instrução 
 
41 
Processadores – Decodificador de Instrução 
 
Figura do Livro: Introdução à Organização de computadores (Monteiro,2007) 
 Entrada: 0010 (E0=0, E1=0, E2=1, E3=0) Saída: linha S2 
 Função Controle: 
 
 O Registrador de Dados de Memória (RDM) ou 
Memory Buffer Register (MBR) é também o 
Registrador de Endereços de Memória (REM) ou 
Memoy Address Register (MAR) são 
registradores utilizados pelo processador e 
memória para transferência e comunicação de 
informações. 
42 
Processadores – RDM (MBR) e REM (MAR) 
 
 Função Controle: 
 
 O (RDM) ou (MBR): registrador que armazena 
temporariamente a informação que está sendo transferida 
da MP para o processador (leitura) ou do processador para 
a MP (escrita). Permite armazenar a mesma quantidade de 
bits do barramento de dados (BD). O BD tem sido 
construído com largura (bits) múltipla do tamanho da palavra 
do processador. Assim, se o processador possui a palavra 
de 32bits, o BD tem sido inserido com largura de 64bits ou 
128bits, etc. 
43 
Processadores – RDM (MBR) e REM (MAR) 
 
 Função Controle: 
 
 O (REM) ou (MAR): registrador que armazena 
temporariamente o endereço de acesso a uma posição de 
memória, ao se iniciar uma operação de leitura ou escrita. 
Permite armazenar a mesma quantidade de bits do 
barramento de endereço (BE). Por essa definição do 
tamanho em bits do REM podemos calcular qual o espaço 
máximo de endereçamento da memória principal (MP) de 
um computador. Exemplo: 
○ Endereços de 32bits = 232 = 4G (giga) endereços 
○ Endereços de 64bits = 264 = 16E (exa) endereços 
 
44 
Processadores – RDM (MBR) e REM (MAR) 
 
45 
BIBLIOGRAFIA 
 MONTEIRO, M. A.. Introdução à organização de computadores. 5. ed. Rio de Janeiro: 
LTC, 2007. 720p. 
 PANNAIN, R.; BEHRENS, F. H.; PIVA JUNIOR. D.. Organização básica de computadores 
e linguagem de montagem. 1. ed. Rio de Janeiro: Elsevier, 2012. 424p. 
 STALLINGS, W.. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson, 
2010. 640p. 
 MORIMOTO, C. E.. Hardware II: o guia definitivo. 1. ed. Porto Alegre: GDH Press e Sul 
Editores, 2010. 1088p. 
 MURDOCCA, M. J.; HEURING, V. P.. Introdução a arquitetura de computadores. 1. ed. 
Rio de Janeiro: Campus, 2001. 536p. 
 TANENBAUM, A. S.; VAN STEEN, M.. Organização estruturada de computadores. 5. ed. 
São Paulo: Pearson, 2007. 464p. 
 TORRES, G.. Montagem de micro: para autodidatas, estudantes e técnicos. 1. ed. Rio 
de Janeiro: Nova Terra, 2010. 368p. 
 WEBER, R. F.. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: 
Bookman, 2012. 424p. (Série livros didáticos informática UFRGS, v. 8)

Continue navegando