Você está na página 1de 154

OAC - Organização e Arquitetura

de Computadores

“Fundamentos de Computação”

Ricardo Zelenovsky
zelen2005@yahoo.com.br

OAC - CPUs - Ricardo Zelenovsky Módulo 01-1


Organização e Arquitetura
de Computadores
Módulos.

1. Arq. de processadores 2. Memórias


3. Integração 4. Processamento Paralelo
5. I/O 6. Programação (ASM)
7. Numeração 8. Questões CESPE

Aula 1 – Módulos 1 e 2.
Observação:
Há uma grande quantidade de
Aula 2 – Módulos 2, 3 e 4.
exercícios. Nem todos serão
vistos em sala. Dependerá da
Aula 3 – Módulos 5 e 6.
dinâmica das aulas.
Aula 4 – Módulos 7 e 8.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-2
Organização e Arquitetura de Computadores

Bibliografia

PC: Um Guia Prático de Organização Estruturada


Hardware e Interfaceamento. de Computadores.
4ª Edição 5ª Edição
Ricardo Zelenovsky
Andrrew S. Tanenbaum
Alexandre Mendonça
MZ Editora
Pearson
OAC - CPUs - Ricardo Zelenovsky Módulo 01-3
Módulo 01
Arquiteturas de Processadores:
1) Org Estruturada (Tanenbaum)

2) 8086, 286, 386, ...

3) Pipeline.

4) CISC x RISC.

5) CPUs atuais (mercado).

OAC - CPUs - Ricardo Zelenovsky Módulo 01-4


Computador VGA
HD Vídeo

Processador DVI

SATA PCIe HDMI

Dispositivos
USB
E/S
PS2
Memória
OAC - CPUs - Ricardo Zelenovsky Módulo 01-5
O Computador em 6 Níveis
5: Ling. orientada problemas
Tradução Compilador
4: Linguagem Assembly
Tradução Assembler (Montador)
3: Sistema Operacional
Interpretação Parcial Sistema Operacional
2: Arquitetura Conj. Instr.
Exec. Direta ou Interpret Microprograma
1: Microarquitetura
Hardware

OAC - CPUs - Ricardo Zelenovsky 0: Lógico Digital Módulo 01-6


Nível 0: Lógico Digital

Portas Lógicas, Latchs, Flip-Flops, etc.

PRE

CLR

OAC - CPUs - Ricardo Zelenovsky Módulo 01-7


Nível 1: Microarquitetura

• Conjunto de registradores;
• ALU;
• Caminho de Dados (data path);
• Microprograma (CISC)

• CISC AH
BH
AL
BL
AX
BX CS
IP
0000

Interpretador (Microprograma). CH CL CX DS 0000


DH DL DX SS 0000
SP ES 0000

• RISC BP
SI 6
Execução direta pelo HW. DI 5
4
Fila
ALU 3 de
2 6
Bytes
Reg Instr 1
EU BIU Módulo 01-8
OAC - CPUs - Ricardo Zelenovsky
Registradores 8088
Somador de Barramento Interno
Endereços de Endereços B. Endereços

Fila de Instr.
B. Dados
Reg. de Interf.
Segmentação Barr.
B. Controle
Controle

Reg.
Barramento
Principais
Interno
de Dados

ALU Flags

OAC - CPUs - Ricardo Zelenovsky Módulo 01-9


Nível 2: Arquitetura do Conjunto de Instruções
(ISA = Instruction Set Architecture)

• Manual de Referência da Linguagem;

• Indica quais são as instruções da CPU


e o que elas fazem.

• Instruções Nível 2 são executadas pelo

CISC: Interpretador (microprograma)


OU
RISC: Diretamente pelo Hardware

OAC - CPUs - Ricardo Zelenovsky Módulo 01-10


(8051)

OAC - CPUs - Ricardo Zelenovsky Módulo 01-11


Nível 2: Arquitetura do Conjunto de Instruções
(ISA = Instruction Set Architecture)

Modos de Endereçamento (veremos no Módulo 7):


• Endereçamento Imediato
• Endereçamento Direto
• Endereçamento de Registrador
• Endereçamento Indireto de Registrador
• Endereçamento Indexado
• Endereçamento de Base Indexador
• Endereçamento de Pilha

OAC - CPUs - Ricardo Zelenovsky Módulo 01-12


Nível 3: Sistema Operacional

• Híbrido: Usa instruções do Nível 2 e 3


Instr. Nível 2 (ISA);
Instr. Nível 3 p/ Gerenciar Memória e Processos.

• Instruções Nível 3 são executadas pelo


S.O. (Interpretador).

• Instruções Nível 2 executadas pelo


Interpretador de Microcódigos (CISC) ou
Diretamente pelo Hardware (RISC).

OAC - CPUs - Ricardo Zelenovsky Módulo 01-13


Nível 4: Linguagem de Montagem (Assembly)
• Ruptura
• Níveis 1, 2 e 3  Programadores de Sistemas;
• Níveis 4 e 5  Programadores corriqueiros.
• Precisam resolver um problema.
• Níveis 2 e 3 são interpretados;
• Níveis 4 e 5 são compilados (tradução) em geral.
• Níveis 1, 2 e 3: linguagem numérica;
• Níveis 4 e 5: linguagem com palavras/mnemônicos.

• Níveis 4: Linguagem Assembly  permite ao


usuário uma forma mais agradável de programar
os Níveis 1, 2 e 3.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-14
Nível 4: Linguagem de Montagem (Assembly)

; ALO.ASM - Programa exemplo


; Imprime Alo Mamae.
; Montar com NASM -f bin -o alo.com -l alo.lst alo.asm

org 100h ;endereco de inicio


mov dx,msg ;dx aponta para mensagem
mov ah,9 ;funcao imprimir string
int 21h ;int do DOS
mov ah,4ch ;funcao terminar programa
int 21h ;int DOS
;
; mensagem a ser impressa
msg db 'Alo Mamae!',0dh,0ah,'$'

OAC - CPUs - Ricardo Zelenovsky Módulo 01-15


Nível 4: Linguagem de Montagem (Assembly)

1 ; ALO.ASM - Programa exemplo


2 ; Imprime Alo Mamae.
3 ; Montar com NASM -f bin -o alo.com -l alo.lst alo.asm
4
5 Op-Codes org 100h ;endereco de inicio
6 00000000 BA[0B00] mov dx,msg ;dx aponta para mensagem
7 00000003 B409 mov ah,9;funcao imprimir string
8 00000005 CD21 int 21h ;int do DOS
9 00000007 B44C mov ah,4ch ;funcao terminar programa
10 00000009 CD21 int 21h ;int DOS
11 ;
12 ; mensagem a ser impressa
13 0000000B 416C6F204D616D6165- msg db 'Alo Mamae!',0dh,0ah,'$'
14 00000014 210D0A24
15

OAC - CPUs - Ricardo Zelenovsky Módulo 01-16


Nível 5: Linguagem de Orientada a Problemas

• Linguagens projetadas para que programadores


resolvam problemas.
• Linguagens C, C++, Pascal, Java, etc.

• A tradução para níveis 4 ou 3 é feita com o uso de


Compiladores.

• Java é traduzido para linguagem chamada


“bytecode Java” e depois interpretada.

• Aqui estão Word, Excel, Matlab, etc.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-17


FCC – Jan/2012 – TRT 11– Tecnologia da Informação
(Prova 09, Tipo 01)
26. Segundo Andrew S. Tanenbaum, numa conjugação de hardware,
linguagens interpretadas e linguagens traduzidas, o computador pode ser
dividido em uma máquina de seis níveis. Em um desses níveis, os objetos
mais interessantes são denominados PORTAS, cada uma, contendo uma
ou mais entradas para sinais digitais (representando 0 ou 1) e computando
como saída alguma função simples dessas entradas, como AND ou OR .
Trata-se do nível de arquitetura

(A) lógico digital.

(B) de microarquitetura.

(C) de conjunto de instruções.

(D) do sistema operacional da máquina.

(E) de linguagem de montagem.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-18


FCC – Jul/2011 – TRT 19 – Tecnologia da Informação
(Prova A01, Tipo 01)
44. No contexto do nível ISA (Instruction Set Architecture) está
INCORRETO:

(A) ISA é o nível que define a interface entre os compiladores e o hardware.

(B) A maioria das máquinas tem um único espaço de endereço linear que se
estende a partir do endereço 0.

(C) Algumas máquinas têm espaços de endereços separados para


instruções e dados.

(D) Em máquinas com espaços de endereços separados para instruções e


dados, todas as escritas vão automaticamente para o espaço de dados,
impossibilitando, dessa forma, sobrescrever o programa.

(E) Todos os registradores visíveis no nível de microarquitetura também são


visíveis no nível ISA.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-19


(43) 28 – Diagrama de Blocos Simplificado de uma CPU

UC
Re Unidade PC
gis de
Ende
tra Controle
reços Me
do MAR
res mó
MDR ria
Dados
ALU IR

Acumulador Flags (status)

OAC - CPUs - Ricardo Zelenovsky Módulo 01-20


(43) 28 – Explicações

UC  Unidade de controle: controla toda CPU.


• busca instrução na memória
• decodifica (interpreta) a instrução e
• executa (envia comandos para).

IR  Reg. de Instrução : armazena a instrução que


está em execução, disponibilizando-a para a UC.

PC  Contador de Programa : indica a próxima


instrução a ser executada.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-21


CESGRANRIO – BR – PETROBRAS – Mar 2010 - (Prova 04)
Analista de Sistemas Júnior – Infraestrutura
(43) 28 A CPU é responsável pelo funcionamento sincronizado de todos
os dispositivos de um sistema de computação, a fim de que eles
contribuam adequadamente para a execução de uma instrução de
máquina. Para cumprir seu papel, uma CPU possui diversos componentes
como a unidade de controle (UC), o contador de instrução (CI) e o
registrador de instrução (RI). Nessa perspectiva, analise as funções a
seguir.
I - Buscar e transferir para a CPU a instrução de máquina a ser
executada.
II - Interpretar a instrução de modo a identificar qual a operação a ser
realizada pela unidade aritmética e lógica (UAL).
III - Emitir os sinais de controle e de sincronismo necessários à execução
da operação que acabou de ser interpretada.
É(São) função(ões) da UC
(A) I, apenas. (B) II, apenas.
(C)
OAC I e II,- Ricardo
- CPUs apenas. Zelenovsky (D) II e III, apenas. Módulo 01-22
(43) 28 – Solução [Arquitetura]
CPU possui diversos componentes como a unidade de controle (UC), o
contador de instrução (CI) e o registrador de instrução (RI). Nessa
perspectiva, analise as funções a seguir.
I - Buscar e transferir para a CPU a instrução de máquina a ser
executada.
II - Interpretar a instrução de modo a identificar qual a operação a ser
realizada pela unidade aritmética e lógica (UAL).
III - Emitir os sinais de controle e de sincronismo necessários à execução
da operação que acabou de ser interpretada.
É(São) função(ões) da UC (A UC é responsável por buscar a instrução,
interpretá-la e comandar sua execução, enfim, tudo o que foi descrito
acima.)
(A) I, apenas. (B) II, apenas.
(C) I e II, apenas. (D) II e III, apenas.
(E) I, II e III.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-23
CESGRANRIO – BR – PETROBRAS – Mai 2010 - (Prova 06)
Analista de Sistemas Júnior – Infraestrutura
(56) 33 No que tange à organização básica de um processador,
a função do registrador relacionado abaixo é armazenar
(A) RDM (Dados da Memória) - os dados que trafegam entre a
memória secundária e o processador.
(B) REM (Endereços da Memória) - os endereços de células da
memória cache que são necessários aos processos internos ao
processador.
(C) ACC (Acumulador) - a próxima instrução do programa que
deverá ser executada pelo processador.
(D) RI (Instrução) - o endereço de memória principal da
instrução que é executada no momento pelo processador.
(E) CI (Contador de Instrução) - o endereço de memória
principal da próxima instrução a ser executada pelo
processador.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-24
(56) 33 – Solução [Arquitetura]
Função do registrador relacionado abaixo é armazenar
(A) RDM (Dados da Memória) - os dados que trafegam entre a memória
secundária e o processador. Errado, RDM mantém o dado para fazer
escrita ou que foi lido da memória.
(B) REM (Endereços da Memória) - os endereços de células da memória
cache que são necessários aos processos internos ao processador.
Errado, REM mantém o endereço da posição de memória a ser
acessada.
(C) ACC (Acumulador) - a próxima instrução do programa que deverá ser
executada pelo processador. Errado, Acc usualmente recebe o resulta
das operações da ALU.
(D) RI (Instrução) - o endereço de memória principal da instrução que é
executada no momento pelo processador. Errrado, o RI recebe o código
da instrução a ser executada.
(E) CI (Contador de Instrução) - o endereço de memória principal da
próxima instrução a ser executada pelo processador. Correto.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-25
(56) 33 – Diagrama de Blocos Simplificado de uma CPU

CI
UC
Re Unidade PC REM
gis de
Ende
tra Controle
reços Me
do MAR
res mó
MDR ria
Dados
ALU IR
RDM

Acumulador Flags (status) RI

OAC - CPUs - Ricardo Zelenovsky ACC Módulo 01-26


(56) 33 – Explicações

ACC  Normalmente é o registrador que recebe o


ACC
resultado de uma operação realizada pela ULA.

PC (CI)  Contador de Programa : indica a próxima


CI
instrução a ser executada.
IR (RI)  Reg. de Instrução : armazena a instrução
RI
que está em execução.

MDR (RDM) Envia ou recebe o dado nas


RDM
operações com a memória.

MAR (REM)  Mantém o endereço durante as


REM
operações com a memória.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-27
CESGRANRIO – Petrobrás – Mai 2006 - (Prova 26)
Analista de Sistemas Pleno – Infraestrutura
(133) 37 Uma UCP tem como funções básicas o processamento das instruções e o
controle do sistema computacional. Dentre os procedimentos executados pela
função de controle, está a execução de cada instrução. A execução de uma
instrução se divide em ciclo de busca (fetch) e ciclo de execução.
Dessa forma, é possível afirmar que:
(A) os registradores CI (contador de instruções), RI (registrador de instruções) e
RDM (registrador de dados) sempre são atualizados no ciclo de busca da
instrução.
(B) os registradores CI (contador de instruções), RI (registrador de instruções) e
ACC (Acumulador) são atualizados somente no ciclo de execução da instrução.
(C) o RI (registrador de instruções) sempre é atualizado no ciclo de execução da
instrução.
(D) no ciclo de execução das instruções o registrador CI (contador de instruções)
nunca é alterado.
(E) toda instrução, ao ser executada, altera o registrador CI (contador de
instruções).

OAC - CPUs - Ricardo Zelenovsky Módulo 01-28


(133) 37 – Solução – [Arquitetura]
A execução de uma instrução se divide em ciclo de busca (fetch) e
ciclo de execução. É possível afirmar que:
(A) os registradores CI (contador de instruções), RI (registrador de
instruções) e RDM (registrador de dados) sempre são atualizados no ciclo
de busca da instrução. Sim.
(B) os registradores CI (contador de instruções), RI (registrador de
instruções) e ACC (Acumulador) são atualizados somente no ciclo de
execução da instrução. Não, o CI é atualizado antes da execução da
instrução.
(C) o RI (registrador de instruções) sempre é atualizado no ciclo de
execução da instrução. Não, ele á atualizado durante o ciclo de busca.
(D) no ciclo de execução das instruções o registrador CI (contador de
instruções) nunca é alterado. Não, o CI pode ser alterado, por exemplo,
por instruções de desvio (salto), chamada de subrotina e retorno.
(E) toda instrução, ao ser executada, altera o registrador CI (contador de
instruções). Não, só as de salto, chamada de subrotina e retorno.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-29


Estudo da Família x86 Core 2 Duo
Dual Core
Xeon
Pentium D
Itanium
Pentium 4
Core i7
Pentium III
Core i5
Pentium II
Core i3
Pentium
Pentium
80486
Celeron
80386
Atom
80286
8086
8080
8008
4004
OAC - CPUs - Ricardo Zelenovsky Módulo 01-30
8086/8088 – Dois módulos: EU e BIU

AH AL AX IP EU =
BH BL BX CS 0000 Execution
CH CL CX DS 0000 Unit
DH DL DX SS 0000
SP ES 0000 BUS 8086
BP
SI 6
DI 5
4
Fila
BIU =
ALU 3 de Bus
2 6
Bytes
Interface
Reg Instr 1
Unit
EU BIU
OAC - CPUs - Ricardo Zelenovsky Módulo 01-31
O que é Pipeline ?

OAC - CPUs - Ricardo Zelenovsky Módulo 01-32


Linha de Produção (Pipeline)

OAC - CPUs - Ricardo Zelenovsky Módulo 01-33


4 Estados de um Processador CPU (simplificação)

B
Busca

X Estados de um D
Executa Processador Decodifica

O
Operando

OAC - CPUs - Ricardo Zelenovsky Módulo 01-34


Sem Pipeline
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12
B I1 I2 I3
D I1 I2 I3
O I1 I2 I3
X I1 I2 I3

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12


B I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12
D I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11
O I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
X I1 I2 I3 I4 I5 I6 I7 I8 I9

Com Pipeline
OAC - CPUs - Ricardo Zelenovsky Módulo 01-35
5 Estados de um Processador CPU (Tanenbaum)
B
Busca

G D
Grava Decodifica
Estados de um
Processador

X O
Executa Operando

OAC - CPUs - Ricardo Zelenovsky Módulo 01-36


5 Estados de um Processador CPU e
Um Pipeline de 5 Estágios
10ns 10ns 10ns 10ns 10ns
B D O X G
Busca Decodifica Operandos Executa Grava

Tempo para executar uma instrução = 50 ns.


(latência)

Uma instrução executada a cada = 10 ns.

Taxa de execução de instruções = 1/10 ns = 100 M.


Largura de Banda do Processador = 100 MIPS
OAC - CPUs - Ricardo Zelenovsky Módulo 01-37
Arquitetura Superescalar

D O X G
B Decodifica Operandos Executa Grava

Busca D O X G
Decodifica Operandos Executa Grava

Busca 2 instruções por vez, 1 para cada pipeline.


Não pode haver conflito (dependência) entre instr.

Compilador é responsável por arrumar instruções.


OU
Hardware detecta e resolve conflitos.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-38
Arquitetura Superescalar
Paralelismo a nível de instrução. X
ALU
As instruções não são mais
X
executadas na sequência.
ALU
B D O X G
Busca Decodifica Operandos STORE Grava

X
LOAD
Compilador é responsável por
arrumar instruções de forma a X
obter desempenho. P.F.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-39


O Problema das Instruções de Desvio
Uma instrução de desvio inviabiliza o pipeline.

B D O X
Busca Decodifica Operandos Executa
(103) (102) (101) (100)

E se a instrução de endereço 100 for um salto?


100 JUMP 500 ;desvia para o endereço 500

Todo trabalho do pipeline será perdido.


Quanto maior o pipeline, maior será o prejuízo.

Usamos muitos desvios? 1 em cada 6 (15 a 30%).


OAC - CPUs - Ricardo Zelenovsky Módulo 01-40
Solução: Busca inteligente
A Unidade de Busca pode reconhecer as instruções
de desvio e fazer a busca na nova sequência

PB D O X
Pré-Busca Decodifica Operandos Executa
(502) (501) (500) (100)

A unidade de Pré-Busca reconheceu o


desvio incondicional e fez a carga do endereço 500.

E se o desvio for condicional?


100 JUMPC 500 ;desvia de carry=1

OAC - CPUs - Ricardo Zelenovsky Módulo 01-41


Solução: Preditor de Desvios
A Unidade de Busca faz uma “aposta” e
mantém uma estatística do quanto acertou.

Estratégia Estática: predição é feita pelo compilador.


Não altera durante a execução.
Predição a priori.

Estratégia Dinâmica: predição é feita pelo HW


durante a execução.
É alterada dinamicamente durante a execução.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-42


Predição Dinâmica de Desvios
Manter uma tabela com a estatística do que
aconteceu com a predição dos desvios.

Um “pedaço” do endereço da instrução de desvio


é usado para acessar a tabela.
Tabela
endereço da instrução
1001010 011010010110

OAC - CPUs - Ricardo Zelenovsky Módulo 01-43


Preditor de 1 bit
Se bit=0 não “apostar” no desvio.
Se bit =1 “apostar” no desvio.

Se a predição for errada, Tabela


inverter o bit. (1 bit)

endereço da instrução
1001010 011010010110

OAC - CPUs - Ricardo Zelenovsky Módulo 01-44


Preditor de 2 bits
É um contador (CT) de 2 bits.
Se desvio é tomado: incrementa.
Se desvio não é tomado: decrementa.
Tabela
Se CT≥2 “apostar” no tomar
(2 bits)
Se CT <2 “apostar” não tomar
endereço da instrução
1001010 011010010110

OAC - CPUs - Ricardo Zelenovsky Módulo 01-45


Preditor de 2 bits T
T
Predito Predito
Tomado Tomado
10 NT 11

T NT
T
Predito Predito
Não Tomado Não Tomado
01 NT 00

OAC - CPUs - Ricardo Zelenovsky


NTMódulo 01-46
FCC – Jan/2010 – TC SP – Suporte Técnico
(Prova A01, Tipo 01)
52. Pipeline é um processo pelo qual duas ou mais instruções podem ser
executadas paralelamente, cada uma manipulada por uma parte dedicada do
hardware, de forma que a saída da execução de uma constitui entrada para
a próxima. A figura abaixo apresenta um pipeline de 5 estágios e o estado de
cada um em função do tempo:
Considerando que o tempo de execução (ciclo de relógio) de cada estágio
(E1 a E5) é de 2 nanosegundos, a máquina funcionará à velocidade de
(A) 500 MIPS.
(B) 100 MIPS.
(C) 200 MIPS.
(D) 400 MIPS.
(E) 300 MIPS.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-47


FCC – Mai/2009 – TJ PA – Análise de Sistema
(Prova C, Tipo 01)
35. A tecnologia de hardware denominada pipeline executa, na
sequência, o encadeamento dos processos em
(A) 5 estágios: busca de instruções, decodificação, execução,
acesso à memória e gravação em registradores.
(B) 5 estágios: acesso à memória, busca de instruções,
decodificação, gravação em registradores e execução.
(C) 4 estágios: acesso à memória, busca de instruções,
decodificação e execução.
(D) 3 estágios: acesso à memória, busca de instruções e
execução.
(E) 3 estágios: busca de instruções, execução e acesso à
memória.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-48
CESGRANRIO – BNDES - Jan 2008 - (Prova 3)
Profissional Básico – Análise de Sistemas – Suporte

(001) 41 Seja A uma máquina hipotética com tempo de ciclo de


5 ns e sem paralelismo no nível de instrução. Assumindo-se
que cada estágio demora um ciclo de relógio, qual opção indica
uma latência e um número de estágios no pipeline de uma
máquina hipotética B suficientes para que B tenha uma largura
de banda de processador superior ao da máquina A?
(A) 12 ns de latência e 2 estágios.
(B) 14 ns de latência e 2 estágios.
(C) 20 ns de latência e 5 estágios.
(D) 24 ns de latência e 3 estágios.
(E) 28 ns de latência e 4 estágios.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-49
(001) 41 Solução [Arquitetura]
A  ciclo de 5 ns e sem paralelismo no nível de instrução.
B  uma largura de banda de processador > máquina A?
Construindo-se o pipeline para cada opção:
(A) 126 ns
ns de latência
6 ns e 2 estágios.
1 Instr/6 ns

(B) 147 ns
ns de latência
7 ns e 2 estágios.
1 Instr/7 ns
1 Instr/4 ns
(C) 204 ns
ns de latência
4 ns e 5 estágios.
4 ns 4 ns 4 ns

(D) 248 ns
ns de latência
8 ns e 3 estágios.
8 ns 1 Instr/8 ns

(E) 287 ns
ns de latência
7 ns e 4 estágios.
7 ns 7 ns 1 Instr/7 ns
OAC - CPUs - Ricardo Zelenovsky Módulo 01-50
*BE0 E12
*BE1 C13
H12 D0 *BE2 B13

80386
H13 D1 *BE3 A13
H14 D2 A2 C4
J14 D3 A3 A3
K14 D4 A4 B3
K13 D5 A5 B2
L14 D6 A6 C3
K12 D7 A7 C2
L13 D8 A8 C1
N14 D9 A9 D3
M12 D10 A10 D2
N13 D11 A11 D1
N12 D12 A12 E3
P13 D13 A13 E2
P12 D14 A14 E1
M11 D15 A15 F1
N11 D16 A16 G1
N10 D17 A17 H1
P11 D18 A18 H2
P10 D19 A19 H3
M9 D20 A20 J1
N9 D21 A21 K1
P9
N8
P7
D22
D23 80386 A22
A23
K2
L1
L2
D24 A24

80387
N6 D25 A25 K3
P5 D26 A26 M1
N5 D27 A27 N1
M6 D28 A28 L3
P4 D29 A29 M2
P3 D30 A30 P1
M5 D31 A31 N2
E14 *ADS W/*R B10
D13 *NA D/*C A11
C14 *BS16 M/*IO A12
G13 *READY *LOCK C10
D14 HOLD PEREQ C8
M14 HOLDA *BUSY B9
*ERROR A8
B7 INTR
B8 NMI
C9 RESET
F12 CLK2

OAC - CPUs - Ricardo Zelenovsky Módulo 01-51


Unidade de Unidade de

80386 Segmentação
Somador de
3 Entradas
Paginação

Somador

Registradores Cache de
de Segmento Página
Unidade de
Interface com
PLA de Limites PLA de Controle
Barramento HOLD, HLDA
Unidade de e Atributos e Atributos NMI, BUSY
Execução Priorizador ETC.
de Pedidos
"Shifter" Unidade de
Somador Proteção/Teste Driver de A0-A31
Endereço
Decodificador
Multiplicador Controlador
Seqüencializador
Divisor Tamanho
Barramento
Banco de ROM de
Registradores Controle Mux e D0-D31
Transceivers
Pré-Busca
Decodificador
Verificação de
de
Limites
Instruções

Fila de Fila de
Instruções Códigos
Decodificadas (16 bytes)

Unidade de Unidade de
Decodificação Pré-Busca
de Instrução

OAC - CPUs - Ricardo Zelenovsky Módulo 01-52


FCC – Abr /2010 – TRF 4 – Especialidade Informática
(Prova G, Tipo 01)
32. Sobre os processadores, é correto afirmar:
(A) Não é função dos processadores oferecer mecanismos para proteção e
gerenciamento da memória.
(B) Não é função dos processadores informar aos sistemas operacionais
sobre eventos, como erros na execução de programas e mudanças no
estado de dispositivos.
(C) A maioria dos sistemas operacionais depende de processadores para
implementar seus mecanismos de proteção, impedindo processos de
acessar instruções privilegiadas ou memórias que não lhe foram alocadas.
(D) Se os processos tentarem violar os mecanismos de proteção de um
sistema, o processador alerta os dispositivos de entrada/saída para que
eles possam reagir.
(E) A maioria dos dispositivos envia continuamente ao processador um sinal
denominado interrupção, mesmo sem a ocorrência de eventos.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-53


486
P1 D0 *BE0 K15
N2 D1 *BE1 J16
N1 D2 *BE2 J15
H2 D3 *BE3 F17
M3 D4 A2 Q14
J2 D5 A3 R15
L2 D6 A4 S16
L3 D7 A5 Q12
• Integra Proc Aritmético 387 F2
D9
E3
D8
D9
D10
A6
A7
A8
S15
Q13
R13

• Integra memória cache (8 KB)


C1 D11 A9 Q11
G3 D12 A10 S13
D2 D13 A11 R12
K3 D14 A12 S7
• Gerenciador de memória F3
J3
D3
D15
D16
D17
A13
A14
A15
Q10
S5
R7
C2 D18 A16 Q9
B1 D19 A17 Q3
A1 D20 A18 R5
B2 D21 A19 Q4
A2 D22 A20 Q8
A4 D23 A21 Q5
A6 D24 A22 Q7
B6 D25 A23 S3
C7
C6
C8
D26
D27
D28
80486 A24
A25
A26
Q6
R2
S2
A8 D29 A27 S1
C9 D30 A28 R1
B8 D31 A29 P2
A30 P3
S17 *ADS A31 Q1
F16 *RDY
W/*R N17
D/*C M15
A16 INTR M/*IO N16
B15 NMI *LOCK N15
C16 RESET *PLOCK Q16
C3 CLK
HOLD E15
A17 AHOLD P15
B17 *EADS HLDA
*BOFF D17
BREQ Q15
F15 *KEN
C15 *FFLUSH *BRDY H15
*BLAST R16
L15 PWT *BS8 D16
J17 PCD *BS16 C17

C14 *FERR DP3 A5


A15 *IGNNE DP2 H3
DP1 F1
AD15 *A20M DP0 N3
PCHK Q17

OAC - CPUs - Ricardo Zelenovsky Módulo 01-54


Unidade de
Inteiros
Unidade de
Segmentação
486
"Shifter" Somador de
Somador 3 Entradas
Unidade de Unidade de
Paginação Unidade de Interface com
Cache Barramento
Registradores
Multiplicador Somador 32
de Segmento Memória Driver de A2-A31
Divisor de 8 KB Endereço
32
Banco de PLA de Limites PLA de Controle 2 KB 2 KB D0-D31
Transceivers
Registradores e Atributos e Atributos 32
2 KB 2 KB Dados
HOLD, HLDA
Priorizador NMI, BUSY
de Pedidos ETC.
128
Controlador *BRDY *BLAST
Modo Burst

Controlador *BS8 *BS16


Unidade de Pré-Busca
Aritmética Decodificador Tamanho Bus
Proteção/Teste Verificação de *KEN *FLUSH
de Ponto de
Limites Controle AHOLD *EADS
Flutuante Instruções
Decodificador Cache
Seqüencializador *PCHK
Fila de Códigos Controlador DP0-3
Registradores Fila de
de Paridade
de Ponto- ROM de Instruções 32 bytes
Flutuante Controle Decodificadas (2 x 16 bytes)

Unidade de Unidade de Decodificação Unidade de


Ponto-Flutuante de Instrução Pré-Busca

OAC - CPUs - Ricardo Zelenovsky Módulo 01-55


Pentium Cache
Códigos
Predição
Decisão
256

Buffer
Pré-fetch
64
Via V Via U
32 32
Unidade
ALU ALU Matemática
64 Interface Inteiros Inteiros
64 bits Soma

Multiplicação
32 32
Divisão
Registradores
64 Gerais
32 32
64

Cache
de Dados

OAC - CPUs - Ricardo Zelenovsky Módulo 01-56


Fronteira CISC x RISC

OAC - CPUs - Ricardo Zelenovsky Módulo 01-57


CISC RISC

Instruções complexas, cada uma Instruções simples, cada uma


executada em vários ciclos. executada em um único ciclo.
Qualquer instrução pode referenciar a A memória só é acessada com
memória. instruções LOAD/STORE.
Usa pipeline pequeno e complexo. Usa Pipeline simples e grande.
(Complexidade impede pipeline com (Uso intenso do pipeline )
grande N0 de estágios) (Grande quantidade de estágios) )
Há uma ROM de microcódigos para As instruções são executadas
interpretar as instruções. diretamente pelo hardware.
Instruções com grande variedade de Instruções com formato fixo.
formato.
Complexidade está no microcódigo. Complexidade foi transferida para o
compilador.
Um único conjunto de registradores. Vários conjuntos de registradores.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-58


UNIVERSA – Fev/2010 – CEB – Analista de Sistemas
 35 RISC e CISC são dois tipos distintos de arquitetura de computadores
desenvolvidos pela indústria da computação. Apesar de terem aplicações distintas, os
computadores com arquitetura RISC apresentam desempenho superior aos de
arquitetura CISC, quando utilizam tecnologia equivalente de semicondutores e mesma
frequência de clock. É correto afirmar, a respeito das arquiteturas CISC e RISC, que
(A) os computadores de arquitetura CISC são mais lentos por executarem instruções
menos complexas que os computadores de arquitetura RISC.
(B) o hardware de um processador com arquitetura RISC é muito mais complexo e de
fabricação mais cara que o de um processador que utiliza arquitetura CISC.
(C) as instruções executadas por um processador CISC são mais simples e
pequenas, se comparadas com o RISC, o que aumenta o seu desempenho.
(D) a conversão de códigos de programas de uma arquitetura CISC para a arquitetura
RISC leva a uma redução de código, por conta de esta última utilizar instruções mais
simples.
(E) computadores CISC são capazes de executar várias centenas de instruções
complexas diferentes enquanto os RISC executam apenas algumas.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-59


FCC – Fev/2011 – TRT 24 – Tec. da Informação
(Prova G07, Tipo 01)
31. Considere:
I. O objetivo da máquina RISC é executar, em média, uma instrução por ciclo.
II. Compiladores para máquinas CISC fazem uso intenso de registradores, o
que incrementa o tráfego de memória.
III. As máquinas CISC possuem substancialmente mais registradores do que
as máquinas RISC.
É correto o que consta em
(A) I, apenas.
(B) II, apenas.
(C) III, apenas.
(D) II e III, apenas.
(E) I, II e III.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-60


FCC – Mai/2009 – TJ PA – Análise de Sistema
(Prova C, Tipo 01)

34. Comparativamente com CISC, são características da


arquitetura de computadores RISC ocupar

(A) menos espaço na memória e exigir programação mais fácil.

(B) menos espaço na memória e exigir programação mais difícil.

(C) mais espaço na memória e exigir programação mais difícil.

(D) mais espaço na memória e exigir programação mais fácil.

(E) menos espaço na memória e não influir no tipo de


programação.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-61


CESGRANRIO – BR – PETROBRAS – Mai 2010 - (Prova 06)
Analista de Sistemas Júnior – Infraestrutura

(54) 31 Uma das características fundamentais das


arquiteturas RISC é o(a)
(A) pequeno conjunto de instruções, todas com tamanho
variável.
(B) uso eventual de grades computacionais na execução de
tarefas vetoriais.
(C) formato de endereçamento idêntico ao utilizado nas
arquiteturas CISC, a fim de manter a compatibilidade de
endereçamento dos programas.
(D) execução otimizada de chamadas de funções.
(E) execução de cada instrução em dois ciclos de relógio do
processador.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-62
(54) 31 – Solução [Arquitetura]
Uma das características fundamentais do arquiteturas RISC
(A) pequeno conjunto de instruções, todas com tamanho
variável. Não, o conjunto de instruções tem tamanho fixo.
(B) uso eventual de grades computacionais na execução de
tarefas vetoriais. Não, grade é para processamento paralelo.
(C) formato de endereçamento idêntico ao utilizado nas
arquiteturas CISC, a fim de manter a compatibilidade de
endereçamento dos programas. Não, o CISC tem o formato
de endereçamento variável, enquanto no RISC ele é fixo.
(D) execução otimizada de chamadas de funções. Dúvida?
Sai por exclusão! Na chamada de funções os parâmetros e
variáveis são passados via registrador. Situação ótima!
(E) execução de cada instrução em dois ciclos de relógio do
processador. Não, cada instrução é executada em um ciclo.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-63
CESGRANRIO – BR – Distrib.– Fev 2012 - (Prova 11)
Prof. Jr. – Analista de Sistemas - Ênfase JAVA, CRM e Web
(83) 57 Processadores RISC implementam instruções complexas, porém
paralelizáveis, que levam, aproximadamente, a mesma quantidade de
tempo para serem executadas pelos processadores.
PORQUE
Arquiteturas RISC têm como princípio otimizar o desempenho de uma
máquina reduzindo o número de ciclos por instrução, mesmo que isso
acarrete um maior número de instruções por programa.
Analisando-se as afirmações acima, conclui-se que
(A) as duas afirmações são verdadeiras, e a segunda justifica a primeira.
(B) as duas afirmações são verdadeiras, e a segunda não justifica a
primeira.
(C) a primeira afirmação é verdadeira, e a segunda é falsa.
(D) a primeira afirmação é falsa, e a segunda é verdadeira.
(E) as duas afirmações são falsas.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-64
(83) 57 – Solução [Arquitetura]
Processadores RISC implementam instruções complexas, porém
paralelizáveis, que levam, aproximadamente, a mesma quantidade de
tempo para serem executadas pelos processadores. Falsa.
PORQUE
Arquiteturas RISC têm como princípio otimizar o desempenho de uma
máquina reduzindo o número de ciclos por instrução, mesmo que isso
acarrete um maior número de instruções por programa. Verdadeira.
Analisando-se as afirmações acima, conclui-se que
(A) as duas afirmações são verdadeiras, e a segunda justifica a primeira.
(B) as duas afirmações são verdadeiras, e a segunda não justifica a
primeira.
(C) a primeira afirmação é verdadeira, e a segunda é falsa.
(D) a primeira afirmação é falsa, e a segunda é verdadeira.
(E) as duas afirmações são falsas.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-65
CESGRANRIO – BR – Transpetro – Jun 2012 - (Prova 3)
Analista de Sistemas Jr. – Área de Infraestrutura
(105) 49 As arquiteturas de conjunto de instruções RISC e
CISC valorizam parâmetros diferentes, presentes na
equação clássica de cálculo de desempenho:
Tempo de CPU = segundos por programa = M * T * I , onde:
M = média de ciclos por instrução
T = segundos por ciclo
I = instruções por programa
As arquiteturas RISC e CISC priorizam, respectivamente, a
minimização dos seguintes fatores:
(A) M e T (B) M e I (C) T e I
(D) I e M (E) I e T

OAC - CPUs - Ricardo Zelenovsky Módulo 01-66


(105) 49 – Solução [Arquitetura]
Arquiteturas RISC e CISC valorizam parâmetros diferentes.
E quação clássica de cálculo de desempenho:
Tempo de CPU = segundos por programa = M * T * I , onde:
M = média de ciclos por instr. T = segundos por ciclo
I = instruções por programa
RISC e CISC priorizam, respectivamente, a minimização de
(A) M e T (B) M e I (C) T e I
(D) I e M (E) I e T
RISC instruções que consomem poucos ciclos (usualmente
1 ciclo por instrução), e programas longos (muitas instr.).
CISC instruções que consomem vários ciclos, e programas
compactos (poucas instruções).
OAC - CPUs - Ricardo Zelenovsky Módulo 01-67
OAC - CPUs - Ricardo Zelenovsky Módulo 01-68
NexGen

AMD - K6

OAC - CPUs - Ricardo Zelenovsky Módulo 01-69


Intel – Pentium Pro

OAC - CPUs - Ricardo Zelenovsky Módulo 01-70


Intel – Pentium Pro

CPU P5-Pro CACHE L2


2 Barramento 2
306 mm 202 mm
Back Side
5,5 milhões 15,5 milhões
de transistores de transistores

• Ano de 1995

• Clock = 133 ou 150 MHz

• Cache L1 = 16 KB
(I = 8 KB + D = 8KB)

• Cache L2 = 256 / 512 KB

OAC - CPUs - Ricardo Zelenovsky Módulo 01-71


Intel – Pentium II – Cartucho Sec 1

• Ano de 1997

• Clock = 233 ou 400 MHz

• Cache L1 = 16 KB
(I = 8 KB + D = 8KB)

• Cache L2 = 512 KB

OAC - CPUs - Ricardo Zelenovsky Módulo 01-72


Intel – Pentium II – Cartucho Sec 1

OAC - CPUs - Ricardo Zelenovsky Módulo 01-73


Intel – Pentium II (P6)

Cache L2
Instruções/Dados

FSB BSB

Unidade de Interface com o Barramento (BIU)

Cache L1 Cache L1
Instruções Dados

Busca Carga
(fetch) (load) Armazenamento
(store)
Unidade de Unidade de Unidade de
Busca/Decodificação Despacho/Execução Retirada

Banco de Instruções
(ROB)
OAC - CPUs - Ricardo Zelenovsky Módulo 01-74
Intel – Pentium II – Arquitetura de 6ª Geração (P6)

Porta 4 Unidade de Buffer de


Armazenamento
Unidade Ordenação
Cache L1: Dados
Porta 3 Unidade de de Memória
de
Armazenamento 8 KB
Reserva 12 armazenamentos
Porta 2 Unidade de
16 cargas
Carga
Unidade
Fila de 20 micro-ops Unidade de Unidade de Unidade
Porta 1 Cache L2
prontas para Inteiros Ponto Flutuante MMX Barramento
Segundo Chip
execução Trazeiro
Porta 0 Unidade de Unidade de Unidade de
256 KB 64 bits
Inteiros Saltos MMX
Barramento
Interface
Preditor de Desvios Frontal
Próxima Instrução
Estático Dinâmico (Next IP) 64 bits
com

Decodificador de Barramento
ROB
RAT Instruções x86 Cache L1:
Instruções
Unidade Buffer
Decodificador
Tabela 8 KB
Simples
de de
1 m -op
Unidade
Retirada Reodenação de Enfileirador p/ período
de Busca de
Decodificador Instruções
de
Apelidos Simples
Decodificador
14 40 1 m -op
Micro-ops de Tamanho
de p/ período
Registradores Registradores de Instruções
Decodificador
de Retirada Físicos Registradores Alinhador
Complexo
de Instruções
1 a 4 m -op
p/ período

Pipeline de 12 estágios Seqüenciador de Instru-


ções de Microcódigo
Módulo 01-75
OAC - CPUs - Ricardo Zelenovsky (mais de 4 micro-ops)
Intel – Pentium III – Cartucho SEC 2

• Ano de 1999

• Clock = 450 ou 500 MHz

• Cache L1 = 12K Ops


+ 8KB

• Cache L2 = 512 KB

OAC - CPUs - Ricardo Zelenovsky Módulo 01-76


Intel – Pentium III – Cartucho SEC2

OAC - CPUs - Ricardo Zelenovsky Módulo 01-77


Intel – Pentium III – “Placa”

OAC - CPUs - Ricardo Zelenovsky Módulo 01-78


Intel – Pentium 4 Ano = 2.000

Arquitetura NetBurst (pipeline com 20 estágios)


Clock = 1,4 GHz

Cache L1 = 12 k Ops + 8KB (dados).


Cache L2 = 256 KB a 2 GB.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-79


Intel – Pentium 4 FSB Arq. Netburst – 20 Estágios
Barramento Frontal

Unidade de Interface com o Barramento (BIU)


Cache L2 (ATC/256 KB) TLB
Preditor de Desvios: 4096 DBP
Decodificador de Instruções
ROM Microcódigo Trace Cache BTB
Sequenciador 12.000 mOPs 4096

Alocação de Recursos / Renomeação de Registradores


Fila de mOP Inteiros e Ponto-Flutuante Fila de mOP Memória

Escalador de Inteiros Escalador PF


Int. Lento Int. Rápido Int. Rápido Memória PF PF Mem.
Arquivo de Registradores Inteiros Arquivo Registradores PF

1xALU 2xALU 2xALU 2xAGU 2xAGU FP Armaz. Fmul / FAdd


Complex Simples Simples Armaz. Carga FP Carga SSE2 / MMX

OAC - CPUs - Ricardo Zelenovsky Cache de Dados L1 (8 KB) Módulo 01-80


S.O. Monotarefa e S.O. Multitarefa
(monotasking e multitasking)

Processo = Programa
P1 P2

S.O. Monotarefa = programas em sequência

P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

S.O. Multitarefa faz o compartilhamento da CPU.


Chaveamento temporal (time-sharing).
Cada processo tem a “ilusão” de ser o único presente.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-81


Threads ?

OAC - CPUs - Ricardo Zelenovsky Módulo 01-82


Thread = “Linha de execução”
Processo = programa

Processo “dividido” em threads

T1 T2 T3 T4 T5 T6 T7

S.O. Monothread: T4 parou esperando recurso


Parou

T1 T2 T3 T4 T5 T6 T7

S.O. Multihread: escalou T5 para rodar

T1 T2 T3 T4 T5 T4 T6 T7
OAC - CPUs - Ricardo Zelenovsky Módulo 01-83
Thread = “Linha de execução”
• Num computador com 2 CPUs, o S.O. pode
despachar ao mesmo tempo 2 threads
do mesmo programa.
• A execução termina “mais cedo”.
• Há problemas com dependência de dados.

T2 T4 T6
CPU 1

T1 T3 T5 T7
CPU 2

OAC - CPUs - Ricardo Zelenovsky Módulo 01-84


OAC - CPUs - Ricardo Zelenovsky Módulo 01-85
Processos x Threads

Processos são independentes.


Threads são subconjuntos de um processo.

Processos têm espaço de endereços separados.


Threads compartilham o espaço de endereços.

Chaveamento de Threads é muito mais simples e


rápido que chaveamento de Processos.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-86


Sobre as Threads

Threads compartilham:
Espaço de endereçamento e tudo que está
associado a este espaço tais como descritores de
arquivo, variáveis ambientais e temporizadores..

Cada Threads tem em particular:


• contador de programa
• registradores e
• pilha.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-87


FCC – Jan/2010 – TRE AM – Operação de Comput.
(Prova K11, Tipo 04)

42. O processador Pentium 4 que se apresenta ao sistema


operacional como um sistema dual-core, utilizando recursos não
usados anteriormente, podendo executar duas operações de
forma paralela, uma de cada aplicativo diferente, foi
desenvolvido com a tecnologia denominada
(A) Hyper-Threading.
(B) Enhanced Intel SpeedStep.
(C) Extended Memory 64.
(D) Front Side Bus.
(E) Excute Disable Bit.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-88


FCC – Mar /2012 – TER SP – Análise de Sistemas
(Prova G07, Tipo 01)
51. Assinale a alternativa INCORRETA:
(A) O fato de transferir complexidade do software para o hardware confere à
arquitetura CISC a capacidade de facilitar o trabalho do programador.
(B) Peer-to-peer pode ser entendida como uma arquitetura tipicamente
distribuída, tendo em vista seu objetivo de explorar recursos, tanto de
hardware quanto de software, de um grande número de computadores para
cumprimento de uma tarefa ou atividade.
(C) O suporte a threads num sistema operacional tem como propósito
permitir que um processo decomposto em vários threads seja executado em
menos tempo.
(D) O desempenho de um sistema de arquivos pode ser melhorado de várias
maneiras, dentre as quais, a leitura antecipada e a colocação cuidadosa dos
blocos de um arquivo próximos uns dos outros.
(E) Determinar como um recurso é compartilhado é tarefa do sistema
operacional, por meio do gerenciamento do tempo e do espaço.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-89
FCC – Mar /2012 – TRE SP – Programação de
Sistemas (Prova J10, Tipo 01)
63. Nos conceitos de ciência da computação, um processo é um
módulo executável que pode conter threads. Um conceito
importante sobre threads que estão contidas no mesmo
processo é que
(A) podem compartilhar a memória do processo.
(B) evitam que processos concorrentes acessem recursos do
processo principal.
(C) acessam a memória estática ao contrário de processos
convencionais.
(D) controlam o acesso da memória dinâmica (heap) dos
processos externos.
(E) possuem proteção contra problemas comuns de processos,
como vazamento e acessos inválidos da memória. Módulo 01-90
OAC - CPUs - Ricardo Zelenovsky
CESGRANRIO – BR – PETROBRAS – Jan 2012 - (Prova 12)
Prof. Jr. – Analista de Sistemas – Ênfase em Telecom.
(103) 33 Em sistemas operacionais, quais partes de um
processo são compartilhadas por suas threads (modelo
multithread)?

(A) Espaço de endereçamento do usuário e Pilha de usuário

(B) Bloco de controle de processo e Pilha de Kernel

(C) Bloco de controle de processo e Espaço de


endereçamento do usuário

(D) Pilha de usuário e Pilha de Kernel

(E) Bloco de controle de processo e Pilha de Kernel

OAC - CPUs - Ricardo Zelenovsky Módulo 01-91


(103) 33 – Solução [Gerenciamento de Processos]
Quais partes de um processo são compartilhadas por suas
threads (modelo multithread)? (Threads não compartilham
contador de programa, registradores e pilha. Assim, a única
opção é a (C)).

(A) Espaço de endereçamento do usuário e Pilha de usuário

(B) Bloco de controle de processo e Pilha de Kernel

(C) Bloco de controle de processo e Espaço de


endereçamento do usuário, correto.

(D) Pilha de usuário e Pilha de Kernel

(E) Bloco de controle de processo e Pilha de Kernel


OAC - CPUs - Ricardo Zelenovsky Módulo 01-92
Virtualization Techology (VT)
• Incluído nos Pentium 4

• A ideia é fazer uma CPU trabalhar como se


fossem várias CPUs em paralelo.

• Permitir vários S.O. rodarem ao mesmo tempo,


na mesma máquina.

• Existem vários Software que já fazem isso


o VMware talvez seja o mais conhecido.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-93


Virtualization Techology (VT)
P1 P2 ... Pn P1 P2 ... Pn
S.O. S.O.
CPU CPU CPU
Multitasking Hyper-Threading

P1 P2 ... Pn P1 P2 ... Pn P1 P2 ... Pn

S.O. 1 S.O. 2 ... S.O. n

VCPU1 VCPU2 VCPUn

CPU
Virtualization (VT)
OAC - CPUs - Ricardo Zelenovsky Módulo 01-94
Virtualization Techology (VT)
• Se a CPU tiver o recurso HT, ela aparecerá
como duas CPUs para cada S.O.
• Se já existem programas (VMware) para isso,
por que fazer virtualização na CPU ?
• Numa CPU comum, o VMware tem de fazer tudo!

• Já uma CPU com recurso VT, tem novas instruções


para facilitar a virtualização.
• VMX = Virtual Machine Extensions.
• A virtualização fica mais simples, rápida e eficiente.

• Isto já aconteceu com o modo Virtual86 (V86)!

OAC - CPUs - Ricardo Zelenovsky Módulo 01-95


Intel – Pentium D – Dual Core

• Ano de 2005

• Clock = 2,66 GHz

• Cache L1 = 12K Ops


+ 16KB

• Cache L2 = 1 MB

OAC - CPUs - Ricardo Zelenovsky Módulo 01-96


Intel – Pentium D - Dual Core

230 X 106 transistors, 206 mm2 die size, 90 nm 95/130 W


OAC - CPUs - Ricardo Zelenovsky Módulo 01-97
FSB x QPI x DMI RAM Vídeo RAM
8,2
GB/s

Contr. PCIe Contr.


RAM 16x RAM
CPU CPU CPU
FSB e.g. 8,5 GB/s QPI 25,6 GB/s DMI 40 Gb/s

Chip Set Chip Set Peripheral


PCIe Contr. PCIe Controller
16x RAM 16x Hub
8,2 8,2
GB/s GB/s AMD: FSB  HTT A-Link
Vídeo RAM Vídeo
QPI = QuickPath Interconnect DMI = Direct Media Interface
OAC - CPUs - Ricardo Zelenovsky Módulo 01-98
Banda Passante de Barramentos

Qual barramento é
mais “rápido”?

B1: 8 bits a 20 MHz

B2: 16 bits a 8 MHz?

Comparamos usando a Banda Passante (MB/s, Mb/s)

Bus 1  8 bits x 20 MHz = 160 Mb/s ou 20 MB/s


Bus 2  16 bits x 8 MHz = 128 Mb/s ou 16 MB/s
OAC - CPUs - Ricardo Zelenovsky Módulo 01-99
Banda Passante de um FSB

Qual a banda passante em MB/s


CPU do FSB do P4 HT que tem largura
de 64 bits, clock de 266 MHz e faz
FSB e.g. 8,5 GB/s
4 transferências por ciclo ?
Chip Set
PCIe Contr.
16x RAM
8,2 64 ×266 × 4
𝐵𝑃 = =8,5 𝐺𝐵 / 𝑠
GB/s
8
Vídeo RAM

OAC - CPUs - Ricardo Zelenovsky Módulo 01-100


Intel
QPI

Qual a Banda
OAC - CPUs - Ricardo Zelenovsky
Passante do QPI? Módulo 01-101
Banda Passante do QPI
RAM
QPI trabalha com 20 linhas (bits)
para cada direção, usa clock de
Contr. 3,2 GHz, faz 2 transferências por
RAM ciclo e usa um codificador de 8/10?
CPU
codificador 8/10
QPI 25,6 GB/s
2 transf. por ciclo
Chip Set 2 direções
PCIe 20 ×2 ×3,2 ×2 8
16x 𝐵𝑃 = ×
8 10
8,2
GB/s
Vídeo 𝐵𝑃=25,6 𝐺𝐵/𝑠
OAC - CPUs - Ricardo Zelenovsky Módulo 01-102
Banda Passante do DMI
DMI trabalha com 4 (bits) para
cada direção, usa clock de 5 GHz.
Vídeo RAM
8,2
GB/s 𝐵𝑃=4 ×5 × 2=40 𝐺𝑏 /𝑠
PCIe Contr.
16x RAM 𝐵𝑃=5 𝐺𝐵/ 𝑠
CPU
DMI 40 Gb/s DMI 2.0 usa 4 (bits) para cada
direção, usa clock de 10 GHz.
Peripheral
Controller 𝐵𝑃=4 ×10 × 2=80 𝐺𝑏/ 𝑠
Hub
𝐵𝑃=10 𝐺𝐵/ 𝑠
OAC - CPUs - Ricardo Zelenovsky Módulo 01-103
• Ano de 1999 AMD – K7 - Athlon
• Clock = 166 a 233 MHz

• Cache L1 = 32KB + 32KB

• Cache L2 = 256 KB / 2 MB

• Slot A

OAC - CPUs - Ricardo Zelenovsky Módulo 01-104


Cache L1: Instruções TLB L1 = 24 posições Cache de Tabela de Predição
64 KB TLB L2 = 256 posições Predecodificação de Desvios

Controle de Decodificador Decodificador Decodificador


Busca/Decodificação x86 x86 x86

Unidade de Controle de Instruções (ICU)


72 posições (ROB)

FPU: Pilha Mapeamento/Renomeação

Escalador de Inteiros (18 posições) FPU: Escalador (36 posições)

Unidade FPU: Arquivo de Registradores (88 posições)

Controlador
de
FADD FMUL
IEU0 AGU0 IEU1 AGU1 IEU2 AGU0 MMX MMX FSTORE
Interface 3DNow 3DNow de

com Cache

Unidade (Fila) de Carregamento / Armazenamento (Load / Store) L2


Barramento

(BIU)
Cache L1: Instruções TLB L1 = 32 posições
64 KB TLB L2 = 256 posições

FSB BSB

Athlon Cache L2
Módulo 01-105
OAC - CPUs - Ricardo Zelenovsky
AMD – Athlon 64 X2
• Ano de 2005

OAC - CPUs - Ricardo Zelenovsky Módulo 01-106


AMD – Athlon 64 X2

• Ano de 2005

OAC - CPUs - Ricardo Zelenovsky Módulo 01-107


Modos 16 / 32 / 64 bits

CS.L=0 CS.L=0 CS.L=1 CS.L=1


CS.D=0 CS.D=1 CS.D=0 CS.D=1

LMA=0 Modo Padrão Modo Padrão Modo Padrão Modo Padrão


Modo Legal 16 bits 32 bits 16 bits 32 bits
LMA=1 Compatibilidade Compatibilidade Modo
Modo Longo Modo 16 bits Modo 32 bits 64 bits Reservado
Ativado

OAC - CPUs - Ricardo Zelenovsky Módulo 01-108


Modos 16 / 32 / 64 bits

AX

RAX EAX AH AL
63 31 15 8 7 0

OAC - CPUs - Ricardo Zelenovsky Módulo 01-109


CPUs Atuais

Xeon FX
Itanium
Série-A
Core i7
Core i5 Phenom II
Core i3
Athlon II
Pentium
Celeron Sempron
(omitido)
Atom
OAC - CPUs - Ricardo Zelenovsky Módulo 01-110
Processadores na Página da Intel

Processadores
Intel® Core™ i7 Extreme Edition
Intel® Core™ i7 de terceira geração
Intel® Core™ i5 de terceira geração
Intel® Core™ i3 de terceira geração
Intel® Core™ vPro™ de segunda geração
Família Intel® Xeon® E7
Família Intel® Xeon® E5
Família Intel® Xeon® E3
Itanium®
Intel® Atom™
Embarcado

OAC - CPUs - Ricardo Zelenovsky Módulo 01-111


Arquitetura multi-core da Intel

Pentium 4
(NetBurst)

Pentium II e III Core i3, i5, i7


(P6) (P6)

Arquitetura NetBurst com hyper-pipeline


de 20 estágios não foi usada.

Usou-se a arquitetura P6 que surgiu com Pentium II.


OAC - CPUs - Ricardo Zelenovsky Módulo 01-112
3ª Geração

OAC - CPUs - Ricardo Zelenovsky Módulo 01-113


DDR3
Cache L3 Contr. RAM
de
RAM DDR3
CPU 2 RAM
CPU 1
CLK xn (nCLK)
HT xn (nCLK) HT GPU
Cache Cache Cache Cache
PCIe Placa
L1 L2 L1 L2
16X Vídeo

2 x 1 GB/s DMI
2 x 2 GB/s Bus Todo Core i3 tem HT
Chipset

DMI= Digital Media Interface


GPU = Graphics Processing Unit
OAC - CPUs - Ricardo Zelenovsky Módulo 01-114
2 cores + HT = 4 CPUs

Cache L1 = 32 KB Instruções
32 KB Dados

Cache L2 = 256 KB

Cache L3 = 3 MB

1ª G 2ª G 3ª G
Nehalem Sandy Bridge Ivy Bridge
32 nm 32 nm 22 nm

OAC - CPUs - Ricardo Zelenovsky Módulo 01-115


Codename Ivy Bridge Ivy Bridge Ivy Bridge
Modelo 31xx 32xx 32xx
Processo 22 nm 22 nm 22 nm
GHz 2,40 1,60 2,80
1,80 3,40
DT/Mob Móvel Móvel Desktop
DMI/QPI DMI DMI DMI
Memória DDR3 DDR3 DDR3
Canais 2 Ch 2 Ch 2 Ch
Cache L1 2x32 KB 2x32 KB 2x32 KB
Cache L2 256 KB 256 KB 256 KB
Cache L3 4 MB 4 MB 4 MB
OAC - CPUs - Ricardo Zelenovsky Módulo 01-116
3ª Geração

OAC - CPUs - Ricardo Zelenovsky Módulo 01-117


DDR3
Cache L3 Contr. RAM
de
RAM DDR3
RAM
Cache Cache Cache Cache
L2 L2 L2 L2 GPU
Cache Cache Cache Cache Placa
PCIe
L1 L1 L1 L1 Vídeo
16X
CPU 1 CPU 2 CPU 3 CPU 4

DMI
Sem HT Bus Não é o padrão
Chipset
para todos core i5
North-Bridge

OAC - CPUs - Ricardo Zelenovsky Módulo 01-118


Quad-Core Ivy Bridge “Quad”

OAC - CPUs - Ricardo Zelenovsky Módulo 01-119


2 cores + HT = 4 CPUs ou
4 cores = 4 CPUs

Cache L1 = 32 KB Instruções
32 KB Dados

Cache L2 = 256 KB

Cache L3 = 3 a 6 MB
1ª G 1ª G 2ª G 3ª G
Nehalem Nehalem Sandy Bridge Ivy Bridge
45 nm 32 nm 32 nm 22 nm

OAC - CPUs - Ricardo Zelenovsky Módulo 01-120


Codename Nehalem Nehalem Nehalem
Modelo 31xx 32xx 33-36/xx
Processo 32 nm 32 nm 45 nm
Core 2 2 4
HT HT HT Ñ HT
GHz 2,40 1,80 a 3,40 2,30 a 3,40
DMI/QPI DMI DMI DMI
Memória DDR3 DDR3 DDR3
Canais 2 Ch 2 Ch 2 Ch
Cache L1 2x32 KB 2x32 KB 2x32 KB
Cache L2 256 KB 256 KB 256 KB
Cache L3 3 MB 3 MB 6 MB
OAC - CPUs - Ricardo Zelenovsky Módulo 01-121
3ª Geração

OAC - CPUs - Ricardo Zelenovsky Módulo 01-122


DDR3
Cache L3 Contr. RAM
de
RAM DDR3
RAM
Cache Cache Cache Cache
L2 L2 L2 L2 GPU
Cache Cache Cache Cache Placa
PCIe
L1 L1 L1 L1 Vídeo
16X
CPU 1 CPU 2 CPU 3 CPU 4

DMI
Todas com HT Bus
Chipset
North-Bridge

OAC - CPUs - Ricardo Zelenovsky Módulo 01-123


4 cores + HT = 8 CPUs

Cache L1 = 32 KB Instruções
32 KB Dados

Cache L2 = 256 KB

Cache L3 = 8 MB

1ª G 2ª G 3ª G
Nehalem Sandy Bridge Ivy Bridge
32 nm 32 nm 22 nm

OAC - CPUs - Ricardo Zelenovsky Módulo 01-124


Codename Ivy Bridge Ivy Bridge
Modelo 3770x 3770x
Processo 22 nm 22 nm
Core 4/HT 4/HT
DT/Mb DT Mb
GHz 3,10 a 3,50 1,90 a 2,90
DMI/QPI DMI DMI
Memória DDR3 DDR3
Canais 2 Ch 2 Ch
Cache L1 2x32 KB 2x32 KB
Cache L2 256 KB 256 KB
Cache L3 8 MB 4 a 6 MB
OAC - CPUs - Ricardo Zelenovsky Módulo 01-125
Processadores para Servidores
Xeon E7 (Sandy Bridge 32 nm)
Cores: 6/8/10, com HT: 12/16/20
CLK: 1,7  2,4 GHz
Cache L3 = 18/24/30 MB Xeon E7-8870
DDR3-1333 com 4 canais U$ 4.616,00
Xeon 5000
Cores: 2/4/6, com HT: 4/8/12
CLK: 1,6  3,6 GHz Banda Passante do E7?
Cache L3 = 4/8/12 MB 4x8x1333 = 42,7 GB/s

Xeon E3 Itanium
Cores: 2/4, com HT: 4/8 Cores: 1/2/4, com HT: 4/8
CLK: 2,2  3,6 GHz CLK: 1,33  1,73 GHz
Cache
OAC - CPUsL3 = 3/8
- Ricardo Zelenovsky Cache L3 = 6/8/12/16/18/24
Módulo 01-126
Demais Processadores da Intel
Pentium
Cores: 2 maioria sem HT
CLK: 1,0  3,46 GHz
Cache L3 = 1/2/3 MB

Celeron
Cores: 1/2 sem HT
CLK: 1,2  2,4 GHz
Cache = 0,256/0,512/1/2 MB
Neste slide
Atom não foi feita
Cores: 1/2, com HT: 2/4 distinção entre
CLK: 1,6  2,13 GHz desktop e móvel
Cache
OAC - CPUs= 0,512/1
- Ricardo MB
Zelenovsky Módulo 01-127
Evolução das Tecnologias de Integração
(Previsão para a Intel)
Nehalem Sandy Bridge Haswell

Nehalem  Westmere Sandy Bridge  Ivy Bridge Haswell  Broadwell

45 nm 32 nm 22 nm 14 nm
Futuro

Transistores 3D

OAC - CPUs - Ricardo Zelenovsky Módulo 01-128


OAC - CPUs - Ricardo Zelenovsky Módulo 01-129
Tecnologia Bulldozer

Core = Exec Inteiros

Compartilha:
Busca (fetch)
Decodificação
Ponto flutuante
OAC - CPUs - Ricardo Zelenovsky Módulo 01-130
OAC - CPUs - Ricardo Zelenovsky Módulo 01-131
Codename Zambezi Zambezi Zambezi
Modelo FX 81xx FX 61xx FX 41xx
Processo 32 nm 32 nm 32 nm
Core 8 6 4
GHz 3,1 a 3,6 GHz 3,3 GHz 3,6 a 4,2 GHz
DT/Mob Desktop Desktop Desktop
HTT HTT HTT HTT
Memória DDR3 DDR3 DDR3
Canais 2 Ch 2 Ch 2 Ch
Cache L1 8x2x64 KB 6x2x64 KB 4x2x64 KB
Cache L2 8 x 1MB 6 x 1MB 4 x 1MB
Cache L3 8 MB 8 MB 8 MB
OAC - CPUs - Ricardo Zelenovsky Módulo 01-132
Codename Llano Thuban, etc. Propus, etc.
Modelo A8/A6/A4 Phenom II Athon II
Processo 32 nm 45 nm 32/45 nm
Core 4/3/2 + GPU 6/4/3/2 2/3/4
GHz 2,5 a 3,0 GHz 2,5 a 3,7 GHz 1,9 a 3,4 GHz
DT/Mob Móvel Desktop DT/Mob
HTT HTT HTT HTT
Memória DDR3 DDR2/3 DDR2/3
Canais 2 Ch 2 Ch 1 Ch
Cache L1 64 KB 2x64 KB? 2/3/4x(2x64) KB
Cache L2 4/3/1MB 1,5/2/4 MB 4 x 1MB
Cache L3 Ñ 6 MB Ñ
OAC - CPUs - Ricardo Zelenovsky Módulo 01-133
FCC – Ago/2009 – TRE PI – Análise de Sistema
(Prova D04, Tipo 01)

37. Os processadores Intel que possuem 4 núcleos de


processamento pertencem às famílias de modelos

(A) Core 2 Duo e Atom.

(B) Pentium 4 e Core 2 Duo.

(C) Core 2 Quad e Core i7.

(D) Core 2 Duo e Core 2 Quad.

(E) Pentium 4, Core 2 Duo e Core 2 Quad.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-134


FCC – Out/2009 – TRT SP – Tec. da Informação III
(Prova S, Tipo 05)
23. (?) Em relação aos processadores multinúcleos ou multicore, considere as
afirmativas abaixo.
I. O sistema operacional trata cada núcleo como um processador diferente.
II. Independente da quantidade de núcleos, cada núcleo possui seu próprio cache,
podendo processar várias instruções simultaneamente.
III. A capacidade de processamento de um processador de dois núcleos com clock de
1.5 GHz equivale a um processador de um núcleo com clock de 3.0 GHz.
IV. Processadores multinúcleos têm maior capacidade de resfriamento se comparados
aos singlecore.
É correto o que se afirma APENAS em
(A) II, III e IV.
(B) I, II e III.
(C) II e III.
(D) I e IV.
(E) I, III e IV.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-135


FCC – Ago/2009 – TER PI – Prog. de Sistemas
(Prova L12, Tipo 04)
36. São características dos microprocessadores atuais:
I. Comparados a modelos anteriores, têm velocidade de clock menor, porém
desempenho maior, graças à existência de mais de um núcleo.
II. Levando em conta as configurações de clock e cache, processadores com 2
núcleos podem ter melhor desempenho que alguns processadores de 4 núcleos.
III. Existência de até 3 caches de memória (L1, L2 e L3) interagindo com o
processador..
IV. Tamanhos menores (32 nanômetros), entretanto, maior poder de processamento
que processadores de 90 nm.
Está correto o que se afirma em
(A) II, III e IV, apenas.
(B) II e IV, apenas.
(C) I, II, III e IV.
(D) I, II e IV, apenas.
(E) I e III, apenas.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-136
FCC – Mar/2012 – MP RN – Tecnologia da Informação
(Prova L11, Tipo 01)
34. Sobre os computadores multicore é correto afirmar:
(A) Combinam dois ou mais processadores (chamados núcleos – core)
em uma ou mais peças de silício (chamada pastilhas – die).
(B) No Intel Core Duo, todos os núcleos compartilham a mesma cache
L1. Cada núcleo tem a sua própria cache L2 dedicada de 2 MB.
(C) Apesar de possuírem vários núcleos os chips multicore atuais não
incluem cache L2 e L3.
(D) Normalmente, cada núcleo consiste de todos os componentes de
um processador independente, como registradores, ALU, hardware de
pipeline e unidade de controle, mais caches L1 de dados e de
instruções.
(E) O Intel Core i7 implementa sete processadores x86 SMT, cada um
com uma cache L2 compartilhada e com uma cache L3 dedicada.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-137
FIM
E mais alguns exercícios...

OAC - CPUs - Ricardo Zelenovsky Módulo 01-138


FCC – Nov/2009 – TRT 3 – Tecnologia da Informação
(Prova X22, Tipo 01)
31. (??) Em relação à organização e à arquitetura de computadores, os
elementos básicos da máquina estão distribuídos em memória,
aritmética/lógica, controle, canais de comunicação e dispositivos que
devem ser capazes de localizar cada instrução, identificar a ação que deve
ser realizada e executar a ação, possivelmente, obtendo, transformando e
armazenando dados.

Obter e transformar dados estão associados, respectivamente, a

(A) canais de comunicação e aritmética/lógica.

(B) controle e aritmética/lógica.

(C) controle e memória.

(D) canais de comunicação e controle.

(E) controle e dispositivos.


OAC - CPUs - Ricardo Zelenovsky Módulo 01-139
FCC – Abr/2011 – TRT 1 – Tecnologia da Informação
(Prova H08, Tipo 01)
35. (?) Em relação às arquiteturas CISC e RISC, é INCORRETO afirmar:
(A) Em RISC, a execução dos comandos é mais rápida e isso tem um preço,
pois um processador RISC exige um conjunto de circuitos mais complexos e
um número maior de transistores.
(B) Muitas máquinas RISC não possuem instruções para multiplicação ou
divisão e, por isso, uma operação de multiplicação, por exemplo, é
executada por meio de sucessivas somatórias e deslocamentos.
(C) CISC possui instruções complexas, o que contrasta com a simplicidade
das instruções RISC.
(D) Na CISC, qualquer instrução pode referenciar a memória; na RISC, a
referência é restrita a Load e Store.
(E) Processadores híbridos são essencialmente processadores CISC (para
cuidar das instruções mais complexas) com núcleo RISC (para cuidar das
instruções mais simples).

OAC - CPUs - Ricardo Zelenovsky Módulo 01-140


CESGRANRIO – PETROBRAS – BR – Mar 2010 - (Prova 03)
Analista de Sist. Jr. – Engenharia de Software
(38) 1 Considere as características dos decodificadores de
instruções microprogramados a seguir, comparados aos
decodificadores de instruções implementados em hardware.
I - Maior velocidade na execução da instrução
II - Facilidade de gerenciar um conjunto grande de instruções
III - Maior utilização da memória ROM
IV - Utilização tipicamente em microprocessadores RISC
São corretas APENAS as características
(A) I e II. (B) I e III.
(C) II e III. (D) III e IV.
(E) I, II e IV.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-141


(38) 1 – Solução [Arquitetura]
Características dos decodificadores de instruções
microprogramados a seguir, comparados aos decodificadores
de instruções implementados em hardware.
I - Maior velocidade na execução da instrução – Não, por serem
microprogramados, são mais lentos.
II - Facilidade de gerenciar um conjunto grande de instruções –
Sim, os microcódigos facilitam o trabalho de criar novas
instruções.  neste ponto já é possível selecionar a opção 
III - Maior utilização da memória ROM – Sim, os microcódigos
ficam armazenados em ROM.
IV - Utilização tipicamente em microprocessadores RISC – Não
os microcódigos são típicos de CISC.
(A) I e II. (B) I e III. (C) II e III. (D) III e IV. (E) I, II e IV.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-142


CESGRANRIO – BR – PETROBRAS – Ago 2011 - (Prova 04)
Analista de Sistemas Júnior – Engenharia de Software
(70) 53 Considerados o limiar entre o hardware e o software de uma máquina, os
Modelos de Conjuntos de Instruções especificam

(A) as arquiteturas de computadores que diferem essencialmente quanto ao


número de operandos de suas instruções, como, por exemplo, RISC (Reduced
Instruction set Computers) e CISC (Complex Instruction Set Computers).

(B) os conceitos relacionados a programação, como tipos abstratos de dados,


instanciação de hierarquia de objetos e coleta automática de lixo.

(C) os modelos de execução de programas, cuja implementação em diferentes


tipos de hardware pode não ser capaz de permitir a execução dos mesmos
programas.

(D) os mecanismos de controle de fluxo a serem implementados no hardware da


Unidade Aritmética e Lógica associada ao microprocessador.

(E) um conjunto de códigos de instrução e os comandos nativos implementados


por um processador, microcontrolador ou UCP (Unidade Central de
Processamento).
OAC - CPUs - Ricardo Zelenovsky Módulo 01-143
(70) 53 – Solução [Arquitetura]
Considerados o limiar entre o hardware e o software de uma máquina, os Modelos
de Conjuntos de Instruções especificam
(A) as arquiteturas de computadores que diferem essencialmente quanto ao
número de operandos de suas instruções, como, por exemplo, RISC (Reduced
Instruction set Computers) e CISC (Complex Instruction Set Computers). Afirmação
sem sentido.

(B) os conceitos relacionados a programação, como tipos abstratos de dados,


instanciação de hierarquia de objetos e coleta automática de lixo. Nível muito alto.

(C) os modelos de execução de programas, cuja implementação em diferentes


tipos de hardware pode não ser capaz de permitir a execução dos mesmos
programas. Não.

(D) os mecanismos de controle de fluxo a serem implementados no hardware da


Unidade Aritmética e Lógica associada ao microprocessador. Não.
(E) um conjunto de códigos de instrução e os comandos nativos implementados
por um processador, microcontrolador ou UCP (Unidade Central de
Processamento). Correto.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-144


CESGRANRIO – BR – PETROBRAS – Ago 2011 - (Prova 05)
Analista de Sistemas Júnior – Infraestrutura

(73) 42 Computadores de alto desempenho podem ser construídos segundo


diferentes arquiteturas. Uma dessas opções é a utilização de processadores
RISC, que apresentam características distintas dos processadores com
arquiteturas CISC.
As características descritas a seguir são de arquiteturas RISC, EXCETO
(A) apresentar execução otimizada de funções pela utilização dos registradores
do processador para armazenar parâmetros e variáveis em chamadas de
instruções.
(B) empregar o uso de pipelining, atingindo com isso o objetivo de completar a
execução de uma instrução pelo menos a cada ciclo de relógio.
(C) possuir instruções que são diretamente executadas pelo hardware e não por
um microprograma, como acontece nas arquiteturas CISC.
(D) ter uma quantidade de instruções maior do que as das máquinas CISC,
flexibilizando e complementando o processamento dessas instruções.
(E) utilizar uma quantidade menor de modos de endereçamento, evitando assim
o aumento do tempo de execução de suas instruções.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-145
(73) 42 – Solução [Arquitetura]
As características descritas a seguir são de arquiteturas RISC, EXCETO
(A) apresentar execução otimizada de funções pela utilização dos
registradores do processador para armazenar parâmetros e variáveis em
chamadas de instruções. Correto.
(B) empregar o uso de pipelining, atingindo com isso o objetivo de
completar a execução de uma instrução pelo menos a cada ciclo de
relógio. Correto.
(C) possuir instruções que são diretamente executadas pelo hardware e
não por um microprograma, como acontece nas arquiteturas CISC.
Correto.
(D) ter uma quantidade de instruções maior do que as das máquinas
CISC, flexibilizando e complementando o processamento dessas
instruções. Errado, a arquitetura RISC possui uma quantidade menor de
instruções.
(E) utilizar uma quantidade menor de modos de endereçamento, evitando
assim o aumento do tempo de execução de suas instruções. Correto.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-146
CESGRANRIO – BR – Distribuidora – Fev 2012 - (Prova 12)
Prof. Jr. – Analista de Sistemas - Ênfase Telecomunicações
(92) 67 Arquiteturas RISC e CISC diferem essencialmente quanto a seus
modelos de conjunto de instruções.
PORQUE
A arquitetura RISC segue o princípio de que as instruções devem
suportar, diretamente, programação de alto nível, enquanto a filosofia
CISC diz que cada instrução deve ser de rápida execução.
Analisando-se as afirmações acima, conclui-se que
(A) as duas afirmações são verdadeiras, e a segunda justifica a primeira.
(B) as duas afirmações são verdadeiras, e a segunda não justifica a
primeira.
(C) a primeira afirmação é verdadeira, e a segunda é falsa.
(D) a primeira afirmação é falsa, e a segunda é verdadeira.
(E) as duas afirmações são falsas.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-147


(92) 67 – Solução [Arquitetura]
Arquiteturas RISC e CISC diferem essencialmente quanto a seus
modelos de conjunto de instruções. Verdadeira.
PORQUE
A arquitetura RISC segue o princípio de que as instruções devem
suportar, diretamente, programação de alto nível, enquanto a filosofia
CISC diz que cada instrução deve ser de rápida execução. Falsa.
Analisando-se as afirmações acima, conclui-se que
(A) as duas afirmações são verdadeiras, e a segunda justifica a primeira.
(B) as duas afirmações são verdadeiras, e a segunda não justifica a
primeira.
(C) a primeira afirmação é verdadeira, e a segunda é falsa.
(D) a primeira afirmação é falsa, e a segunda é verdadeira.
(E) as duas afirmações são falsas.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-148


CESGRANRIO – Petrobrás – Mai 2006 - (Prova 26)
Analista de Sistemas Pleno – Infraestrutura
(134) 38 Para resolver o problema de hierarquia de processos, foi criado o
conceito “thread”, no qual um processo pode efetuar várias operações
concorrente ou simultaneamente, sem o consumo de espaço de
endereçamento. Neste caso, o processo é dividido no número de threads
sem que haja necessidade de ser criado um outro processo concorrente.
Baseado nesta idéia, indique a afirmativa INCORRETA.
(A) Mudanças feitas por um thread a um recurso compartilhado do sistema
serão vistas por todos os outros threads.
(B) Threads podem compartilhar os recursos do processo com outros
threads igualmente independentes.
(C) Threads não podem ser escalonados pelo sistema operacional e nem
rodar como entidades independentes dentro de um processo.
(D) Cada thread tem seu próprio conjunto de registr.adores, mas todos
eles compartilham o mesmo espaço de endereçamento, pois o processo é
um só.
(E) Os threads criados por um processo morrem quando esse processo
pai morre.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-149
(134) 38 – Solução [S.O. Gerenciamento de Processos]

Conceito “thread”, o processo é dividido no número de threads sem que


haja necessidade de ser criado um outro processo concorrente.
Baseado nesta idéia, indique a afirmativa INCORRETA.
(A) Mudanças feitas por um thread a um recurso compartilhado do sistema
serão vistas por todos os outros threads. Correto.
(B) Threads podem compartilhar os recursos do processo com outros
threads igualmente independentes. Correto.
(C) Threads não podem ser escalonados pelo sistema operacional e nem
rodar como entidades independentes dentro de um processo. Errado, os
threads podem ser escalonados pelo S.O. e rodam com entidades
independentes, compartilhando espaço de endereçamento com os demais
threads do processo pai.
(D) Cada thread tem seu próprio conjunto de registradores, mas todos eles
compartilham o mesmo espaço de endereçamento, pois o processo é um
só. Correto.
(E) Os threads criados por um processo morrem quando esse processo
pai morre. Correto.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-150
CESGRANRIO – PETROBRAS – Jun 2008 - (Prova 29)
Analista de Sistemas Jr – Engenharia de Software
(27) 22 Alguns sistemas operacionais permitem que seus
processos criem múltiplos threads de execução. Em
operação normal, o que é previsto que os threads de um
mesmo processo do sistema operacional compartilhem?

(A) Arquivos abertos

(B) Registradores

(C) Pilha (stack)

(D) Variáveis locais de cada thread

(E) Contador de instrução (program counter)

OAC - CPUs - Ricardo Zelenovsky Módulo 01-151


(27) 22 – Solução [S.O. - Threads]
Em operação normal, o que é previsto que os threads de
um mesmo processo do sistema operacional compartilhem?
(A) Arquivos abertos (B) Registradores
(C) Pilha (stack)
(D) Variáveis locais de cada thread
(E) Contador de instrução (program counter)
A solução fica mais simples por exclusão.
Lembrando que threads são trechos de um programa
executados separadamente, então os threads não podem
compartilhar: registradores, pilha, variáveis locais e
contador de instrução.
Assim, só sobra a opção (A).
Os threads têm de acessar os arquivos abertos pelo
processo original.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-152
FCC – Jan/2010 – TRE AM – Operação de Comput.
(Prova K11, Tipo 04)
43. (Obsoleta) A terceira geração de processadores Pentium 4,
com o núcleo Prescott, inaugurou os modelos de alto
desempenho baseados na tecnologia de

(A) 45 nm.
1) Willamette = 180 nm
(B) 90 nm. 2) Northwood = 130 nm
3) Prescott = 90 nm
(C) 130 nm.
4) Cedar Mill = 65 nm
(D) 135 nm.

(E) 180 nm.

OAC - CPUs - Ricardo Zelenovsky Módulo 01-153


FCC – Abr/2011 – TRT 1 – Tecnologia da Informação
(Prova H08, Tipo 01)
32. (Obsoleta) É um processador que pode ser utilizado em
notebooks e dispositivos móveis. Uma de suas principais
diferenças, em relação aos processadores atuais, está na
execução de microinstruções em ordem, reduzindo, dessa
forma, o consumo, já que os componentes necessários para
controlar as microinstruções a serem executadas foram
removidos. Trata-se de
(A) Celeron.
(B) Athlon.
(C) Turion.
(D) Atom.
(E) Centrino.
OAC - CPUs - Ricardo Zelenovsky Módulo 01-154

Você também pode gostar