Buscar

379909-aoc1_aula04_introducao_sistemas_computacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO AOS SISTEMAS 
COMPUTACIONAIS OU DE COMPUTAÇÃO 
Celso Alberto Saibel Santos, Dr.
Dep. de Informática
UFES
Sala 08 do CT-VII
saibel@inf.ufes.br
6 
O que é um Sistema? 
• Sistema: conjunto de componentes que trabalham de maneira 
coordenada para realizar alguma atividade 
– “Tecnológicos”: sistema de TV digital, sistema de controle 
de freios, sistema de injeção eletrônica, sistema de reserva 
de passagens, sistema de controle de tráfego aéreo, 
sistema de atendimento automático, sistema distribuído,... 
– “Não-tecnológicos”: sistema circulatório, sistema 
respiratório, sistema nervoso, sistema de venda de 
bilhetes, ... 
• Abordagem “sistêmica” 
– Facilita a compreensão do funcionamento como um todo e 
a participação de cada uma das partes envolvidas 
7 
Ex: Abordagem Sistêmica – Sistema de Impressão 
• Por que não está imprimindo? 
– A impressora está ligada? 
– A impressora está funcionando e está imprimindo outros 
documentos ? 
– Olhar a fila de impressão: 
• O seu doc está na fila? 
• Há muitos docs. na fila? 
– A impressora está instalada? 
– A impressora está na rede 
8 
Sistema Nervoso 
 
“CÉREBRO” 
 
Sistema 
Sensações e 
Conhecimento 
Estímulos 
(percepção) 
Usuário 
(pode ser outro sistema ou 
componente) 
9 
O que é um Sistema de Computação? 
• Sistema que realiza algum tipo de processamento de informações de 
entrada para gerar algum tipo de saída 
– O processamento (i.e., a computação) é especificado (a) através 
de um conjunto de instruções (um programa) que definem o que, 
quando e como deve ser feito 
• Sistema (ou máquina) que tem como finalidade processar 
informação e que suporta alterações à sua funcionalidade através da 
sua programação 
– Processar informação (ou realizar computação) significa, 
abstratamente, transformar elementos de entrada com o objetivo 
de produzir elementos na saída, de uma forma coerente, 
desejável e previsível. 
– O processamento da informação deve produzir resultados úteis a 
um usuário do sistema. 
 
10 
Sistema de Computação 
“COMPUTADOR” 
OU 
“PROCESSADOR” 
Sistema 
Saída Entrada 
Usuário 
11 
Sistema Computacionais: Outro nível de abstração 
12 
Primeiros problemas a vista... 
• Entrada: 
– Como consigo interagir com o sistema? 
– Qual a linguagem que ele entende? 
– Quanto de conhecimento preciso ter para “inserir coisas” no 
sistema? 
– Qual o formato ou modalidade devo usar? 
– ... 
• Saída: 
– Qual a linguagem que o usuário entende? 
– Qual o resultado esperado pelo usuário? 
– Quanto de conhecimento preciso para entender os resultados 
produzidos? 
– Qual o formato, linguagem e modalidade a ser utilizada? 
– ... 
13 
Sistemas Computacionais 
• Um sistema computacional pode ser visto como uma estrutura 
dividida em 3 componentes: 
 
 
• Hardware e seus Componentes 
 
 
• Software 
 
 
• Dados 
14 
Sistemas Computacionais 
• Sistemas computacionais: compostos por subsistemas 
 
• Hardware e seus Componentes 
– Infraestrutura eletrônica-digital para o processamento 
• Dispositivos de Entrada/Saída 
• Unidade Central de Processamento 
• Memória RAM 
• Interconexões (barramentos) 
 
15 
Estudo de Sistemas (Computacionais) 
• Os sistemas (incluindo os computacionais) são 
extremamente complexos se forem estudados em todos 
seus detalhes 
SOLUÇÃO  Diferentes níveis de ABSTRAÇÃO 
 
• Abstração: distinção entre as propriedades externas de 
um componente e os detalhes internos de sua construção. 
• Ex: 
• Utilizamos dispositivos elétricos sem entender a sua 
tecnologia 
• Beneficiamo-nos de serviços de terceiros sem conhecer com 
detalhes suas atividades 
• Ubiquidade é um desejo ainda não atingido para sistemas 
computacionais 
16 
17 
Sistemas de Numeração: binário e hexadecimal 
18 
Sistemas de Numeração 
• Nosso curso: 
 Base binária (base 2) e hexadecimal (base 16) 
 
• Representação de Inteiros e Operações Básicas 
– Soma, subtração e multiplicação 
 
• Implementações em hardware 
[http://www.inf.ufsc.br/ine5365/clteoria.html] 
 
• Transformações entre bases de representação 
 
• Representação de racionais 
19 
Sistemas de Numeração 
• Notação em ponto fixo 
– Menos utilizada 
• Notação em ponto flutuante 
– Nos computadores atuais: 
– É impossível a representação de números reais em 
computadores binários digitais porque a representação binária é 
discreta. 
– Em qualquer linguagem de programação utilizamos 
representações que prevêem algum grau de arredondamento. 
– Notação IEEE 754 (padrão) 
20 
Por que o uso de notação binária? 
• Variáveis Booleanas 
• Podem assumir apenas 2 valores: 0 e 1 
• Abstrações: 
– Lâmpada: acesa (1) ou apagada (0) 
– Chave: fechada (1) ou aberta (0) 
– Verdadeiro (1) ou Falso(0) 
• Representação: 
– Expressão Lógica 
– Tabela Verdade 
– Símbolos (portas lógicas) 
21 
22 
Anotações da Parte 1 
OBS: Essas anotações são adaptações do material 
suplementar (apresentações PPT) ao Livro do Hennessy e 
Patterson, complementado com material de suporte do 
Livro do Stallings. Supõe-se que os estudantes tenham 
noções de lógica digital e linguagem assembly para o 
entendimento das aulas. 
23 
Introdução 
• Campo com mudanças rápidas: 
– Tubo de vácuo -> transistor -> CI -> VLSI (ver seção 1.4) 
– Dobrando a cada 1.5 anos: 
Capacidade de memória 
 Velocidade do processador (Avanços tecnológicos & organização) 
• Coisas que serão aprendidas: 
– Como computadores funcionam: fundamentação básica 
– Como analisar seus desempenhos (ou como não se fazer isso!) 
– Questões que influenciam computadores recentes (caches, pipelines) 
• Por que aprender isso? 
– Você quer ser um “cientista da computação” 
– Você quer construir softwares (necessidade de desempenho) 
– Você precisa tomar decisões ou oferecer “expertise” na área 
24 
O que é um computador? 
• Componentes: 
– Entrada (mouse, teclado, USB) 
– Saída (monitor, impressora) 
– Memória (disk drives, DRAM, SRAM, CD, DVD, flash memory) 
– Rede 
• Foco inicial: o processador (controle e via de dados) 
– Implementado usando milhões de transistores 
– Impossível entender “olhando cada transistor” 
– Precisamos de... 
 
 
25 
Abstração 
• Removendo camadas 
temos mais informação 
 
• Uma abstração omite detalhes 
desnecessários, ajudando a reduzir 
a complexidade 
 
 
 
 
 Quais detalhes nos parecem familiares 
nessas abstrações ao lado? 
swap(int v[], int k)
{int temp;
 temp = v[k];
 v[k] = v[k+1];
 v[k+1] = temp;
}
swap:
 muli $2, $5,4
 add $2, $4,$2
 lw $15, 0($2)
 lw $16, 4($2)
 sw $16, 0($2)
 sw $15, 4($2)
 jr $31 
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Binary machine
language
program
(for MIPS)
C compiler
Assembler
Assembly
language
program
(for MIPS)
High-level
language
program
(in C)
Como são executados códigos Java e Android? Máquinas virtuais? 
http://www.differencebetween.com/difference-between-android-and-vs-java/ 
26 
Instruction Set Architecture 
• Instruction Set Architecture = Conjunto de Instruções 
• Uma abstração muito importante 
– Interface entre nível de hardware e software de baixonível 
– Padroniza instruções, padrões de bits da linguagem de máquina, etc. 
– Vantagem: Implementãções diferentes da mesma arquitetura 
– Desvantagem: As vezes dificulta o uso de “novas invenções” 
 
True OU False: Compatibilidade binária é fundamental? 
 
• Conjunto de Instruções relativamente recentes: 
– 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP 
 
27 
O que é tratado no Livro 
• Questões de desempenho (Cap. 2) vocabulário e motivação 
• Um conjunto de instruções específico (Cap. 3) 
• Aritmética e construção de uma ULA (Cap. 4) 
• Construir um processador para executar nossas instruções (Cap. 5) 
• Pipelining para ganhar desempenho (Cap. 6) 
• Memória: caches e memória virtual (Cap. 7) 
• Entrada e Saída - I/O (Cap. 8) 
 
 
 
Chave para uma boa nota na disciplina: guie-se pelos slides, mas 
LEIA o Livro texto! 
28 
Arquitetura Básica dos Computadores Atuais 
CPU: ALU 
(datapath) 
+ control 
Cache 
I/O 
Controller 
I/O 
Controller 
I/O 
Controller 
Main 
Memory 
Graphics 
display 
Keyboard 
main bus 
interrupts 
I/O 
Controller 
Network 
29 
Mas nem sempre foi assim ... 
• Da onde surgiram os computadores atuais? 
• Já ouviu falar em ábaco e hollerith? 
• Ábaco 
– Original do oriente médio 
– Calculador decimal manual 
• Herman Hollerith (1860-1929) 
– Funcionário do Departamento de Recenseamento dos Estados 
Unidos 
– Construiu sua Máquina de Recenseamento ou Máquina 
Tabuladora - 1866 
• Utilizava cartão perfurado 
• Reduziu de 10 para 3 anos o período de realização de censo de 
1890 
30 
Um breve histórico 
• MARK I – 1944 
– Primeiro computador eletromecânico 
– Desenvolvido pela Universidade de Harvard, com apoio da IBM 
– Medidas: 
• 700.000 peças 
• 800.000 metros de fios 
• 17 metros de comprimento por 2 metros de altura 
• 70 toneladas 
• Soma – 0,3 segundos 
• Multiplicação – 6 segundos 
31 
Um breve histórico 
• ENIAC – 1945 
• Primeiro computador eletrônico. 
• Desenvolvido na Universidade de Pensilvânia. 
• Projeto do exército dos Estados Unidos para o cálculo da 
trajetória de projéteis. 
• Alguns números: 
– 17.000 válvulas. 
– 50.000 comutadores. 
– 70.000 resistências. 
– Soma – 0,0002 segundos. 
– Multiplicação – 0,003 segundos. 
– 111 m3. 
– 30 toneladas. 
– Consumo – 100.000 a 200.000 watts. 
• Programação – conexão de fios tipo painel de telefonista. 
 
32 
Um breve histórico 
Máquina de von Neumann 
– Proposta em 1946 
– Máquina composta por: 
• Memória (MEM) 
– Armazena dados, onde alguns destes dados são interpretados como 
instruções de um programa a ser executado pela CPU 
– A característica fundamental da máquina de von Neumann é que 
dados e programas estão armazenados numa mesma memória! 
• Unidade Central de Processamento (CPU) 
– Unidade de controle (UC) 
– Unidade de cálculos aritméticos e lógicos (UAL) 
– Registrador de instrução (IR) 
– Ponteiro de instrução (IP) 
– Registrador de uso geral (acumulador - ACC) 
• Dispositivos de Entrada e Saída 
– Base para a maioria das arquiteturas atuais 
 
 
33 
Máquina de von Neumann 
34 
Voltando à arquitetura Básica Atual... 
CPU: ALU 
(datapath) 
+ control 
Cache 
I/O 
Controller 
I/O 
Controller 
I/O 
Controller 
Main 
Memory 
Graphics 
display 
Keyboard 
main bus 
interrupts 
I/O 
Controller 
Network 
35 
Como se fazer entender pelo computador? 
• “Linguagem” do computador : 100011000001 (bits) 
– Números binários: base da teoria computacional 
1. Primórdios: uso da linguagem nativa em binário!!! 
2. Linguagem de Montagem (Assembly) 
• Montador: traduz uma versão simbólica das instruções 
para sua representação binária na arquitetura 
 add A, B  montador  100011000001 
3. Linguagem de Programação de alto-nível 
• Compilador: traduz instruções de alto-nível para 
instruções binárias diretamente ou via um montador 
 A + B  compilador  add A, B  montador 
100011000001 ou 
 A + B  compilador  100011000001 
36 
Mas é só isso? 
• Existe ainda um programa que gerencia os recursos da máquina 
durante a execução dos programas: o SISTEMA 
OPERACIONAL (SO) 
• Operações de Entrada/Saída (E/S), “carga” do programa na 
memória, exceções, etc. 
• O SO funciona como um gerente dos recursos, escondendo o 
acesso direto ao hardware dos usuários 
• Mais ainda: multiprocessamento, gerência de arquivos, 
processamento distribuído, ... 
• Assim, existem diversas camadas e serviços disponíveis para 
auxiliar nossa comunicação com a máquina: 
– Um modelo em camadas e serviços é uma forma 
interessante de abstração para a comunicação 
37 
Uma questão importante!!! 
• O que é isto? 
00000000001000100100000000100000 
• Pode ser lido como: 
25 + 214 + 217 + 221 
= 32 + 16384 + 131072 + 2097152 
= 2244640 
 214 
15o. bit 6o. bit 
 25 ... 20 
38 
Diálogo com o computador... 
• Melhor assim? 
00000001 00000001 00000010 00001000 0000000 00100000 
00000001 00000011 00000100 00001001 0000000 00100000 
00000010 00001000 00001001 00000101 0000000 00100010 
• O que é isto? 
00000001000000010000001000001000000000000100000 
00000001000000110000010000001001000000000100000 
000000100000100000001001000001010000000 00100010 
39 
Traduzindo... 
• E assim? 
1 1 2 8 0 32 
1 3 4 9 0 32 
2 8 9 5 0 34 
• Melhorando... 
add $8, $1, $2 
add $9, $3, $4 
sub $5, $8, $9 
40 
Traduzindo mais um pouco... 
• Melhorando ainda mais... 
$8 = $1 + $2 
$9 = $3 + $4 
$5 = $8 - $9 
• Claro agora? 
u = a + b 
v = c + d 
x = u - v 
• Sim, é claro: x = (a+b) - (c+d) 
41 
Níveis de Representação 
 Programa em 
Linguagem de Alto-Nível 
Programa em Linguagem 
de Montagem 
 Programa em 
 Linguagem de Máquina 
 Especificação do 
controle de sinais 
Compilador 
Montador ou 
Assembler 
Interpretação da Máquina 
x = (a+b) 
x = x – (c+d) 
lw $15, 0($2) 
lw $16, 4($2) 
sw $16, 0($2) 
sw $15, 4($2) 
0000 1001 1100 0110 1010 1111 0101 1000 
1010 1111 0101 1000 0000 1001 1100 0110 
1100 0110 1010 1111 0101 1000 0000 1001 
0101 1000 0000 1001 1100 0110 1010 1111 
° 
° 
ALUOP[0:3] <= InstReg[9:11] & MASK 
Compilador / 
Interpretador 
Arquitetura Conjunto de Instruções 
42 
Implementação em Circuitos 
Lógica Binária 
43 
Tecnologia  Desempenho e Integração 
Transistores 
Lógica de portas CMOS 
Ligações 
Célula Complexa 
44 
Transistor MOS : Base do Funcionamento 
I 
ig 
V+ X 
45 
Tecnologia básica: CMOS 
• CMOS: Complementary Metal Oxide Semiconductor 
– Transistors NMOS (N-Type Metal Oxide Semiconductor) 
– Transistors PMOS (P-Type Metal Oxide Semiconductor) 
• Transistor NMOS 
– Uma tensão alta (HIGH = Vdd) no gate 
torna o transistor um “condutor” 
– Uma tensão baixa (LOW = GND) no gate 
“abre” o circuito 
 
• Transistor PMOS 
– Uma tensão baixa (LOW = GND) no gate 
 torna o transistor um “condutor” 
– Uma tensão alta (HIGH = Vdd) no gate 
 “abre” o circuito 
Vdd = 5V 
GND = 0v 
Vdd = 5V 
GND = 0v 
46 
NOT 
• Porta Lógica NOT 
– É a porta Inversora 
– Operador: Barra, Apóstrofo 
 
 
– Símbolo 
A , A’ 
0 1 
1 0 
F = A’ A 
Tabela da Verdade 
47 
Componentes básicos: Inversor CMOS 
Operação do Inversor 
Out In 
Símbolo 
Vdd 
Open 
Carga 
Vin 
Vout 
Vdd 
Vdd 
Vdd 
Circuito 
Out In 
PMOSNMOS 
Vdd 
Vdd 
Saída = 0 
Open 
Descarga 
Saída = 1 
48 
Componentes básicos: Portas Lógicas CMOS 
Vdd 
A 
B 
Out 
Vdd 
A 
B 
Out 
Porta NOR 
A 
B 
Out 
Porta NAND 
Out A 
B 
A B Out 
0 0 1 
0 1 1 
1 0 1 
1 1 0 
A B Out 
0 0 1 
0 1 0 
1 0 0 
1 1 0 
49 
Circuitos Lógicos 
• Circuito Combinacional: saídas refletem o estado instantâneo das 
entradas (ex. somador) 
• Circuito Seqüencial: progressão de estado em estado ma medida 
que ocorrem mudanças nas entradas (ex. contador) 
• Requisitos: 
– Armazenam estado parcial (memória) 
– Uso de sinais para promover a transição de um estado a outro 
(relógios ou clocks). 
– Exemplo: 
• Aluno está em determinado estado (na escola) 
• Move para outro estado (dirige p/ casa) quando a aula termina 
(evento) às 18:00 horas. 
50 
Circuitos Seqüenciais: Máquina de Estados 
• Máquina de estados: progressão do sistema  estado atual e 
função próximo estado 
• Controle de operações em uma CPU 
• Mudanças de estados pelo clock: síncronas 
Estado 
Corrente 
Função próximo 
estado 
Função 
 saída 
Entradas 
Saídas 
Próximo 
Estado Clock 
51 
Armazenando um Programa 
• Instruções armazenadas como binários 
• Dados (obviamente??) também armazenados como números 
binários 
• Programas e dados são armazenados numa mesma memória: 
arquitetura von Neumann 
ULA 
Registradores 
M
em
ó
ria
 P
rin
cip
a
l 
CPU 
Dados e 
instruções 
armazenados 
na mesma 
memória … 
... então, quando eles 
são carregados para a 
CPU, os dados vão 
para os registradores e 
as instruções são 
executadas. 
52 
Memória na Arquitetura MIPS (Patterson) 
• Arranjo de palavras 
– cada palavra contém 32 bits 
– ... isto é, quatro bytes de 8 bits 
• Endereços de memória referem-se a palavras ao invés de bytes 
diretamente 
• Os endereços podem ser armazenados em palavras 
• Portanto, cada posição endereçada contém 8 bits 
– Em geral, as arquiteturas não acessam bits diretamente, mas 
blocos ou conjuntos de bits 
– O tamanho dos blocos variam de acordo com os níveis de 
memória endereçados... 
 
53 
Outra possível interpretação!?!? 
• Uma palavra de memória contém: 
– Hexadecimal: 41424344 
– Binário: 0100 0001 0100 0010 0100 0011 0100 0100 
 
 
• O que representa? 
• Código ASCII (ANSI): 
– ex. ‘A’=65 (0x41), ‘a’= 97, ‘B’=66, ‘C’=67, ... 
– ‘0’=48, ‘1’=49, ... 
 
• Então qual é a resposta? 
msb lsb 
54 
...Resposta 
• Depende da forma como o endereçamento aos bytes é organizado: 
– ‘ABCD’ se byte + significativo está no < endereço: big-
endian 
– ‘DCBA’ se byte + significativo está no > endereço: little-
endian 
 
• Algumas Arquiteturas: 
• SPARC – big-endian (compatibilidade com a linha 68K usada 
pela SUN) 
• MIPS – configura-se em big ou little-endian (interoperabilidade) 
• IBM – big-endian 
• Intel 80x86 e VAX – little-endian 
55 
Exemplo 
• Implementação little-endian 
• Endereço do byte = Endereço da palavra + offset (deslocamento) 
+0 +1 +2 +3 
0 1 2 3 
4 5 6 7 
Palavra 
0 
4 
8 
12 
16 
Endereços 
de Bytes 
Offset 
‘A’ ‘B’ ‘C’ ‘D’ 
41 42 43 44 
(Conteúdo em 
 Hexadecimal) 
ls ms 
56 
Instruções Básicas de Programas 
• Conjunto de instruções = linguagem de máquina 
• Formato da Instrução: opcode [operandos] 
 
• Tipos de instrução: 
– Instruções aritméticas e lógicas (add, sub, AND, OR) 
– Referência à memória ou Load&store 
– Desvios Condicionais: if + goto / if-then-else 
– Desvios Incondicionais ou saltos (jumps) 
• Conjunto de instruções complexo: CISC 
– Lógica de controle complexa, microprogramas 
• Conjunto de instruções reduzido: RISC 
– Lógica de controle mais simples, muitos registradores, tipos 
de endereçamento simples 
57 
Desempenho x Tecnologia 
• Poder da Tecnologia – Ganho: 1.2 x 1.2 x 1.2 = 1.7 x / ano 
– Tamanho: miniaturização do transistor ganha 10%/ ano  
velocidade de chaveamento ganha 1.2 / ano. 
– Densidade: aumenta 1.2x / ano. 
– Área da pastilha (die): 1.2x / ano. 
 
• A lição da abordagem RISC é deixar o conjunto de instruções 
(ISA) o mais simples possível: 
– Ciclo de projeto curto  explora de maneira otimizada a 
tecnologia (~3 anos) 
– Técnicas de pipeline e previsão de desvios (branches) 
– Caches on-chip maiores e mais sofisticados 
58 
Filosofia RISC [Tanembaum]... 
1. Regra de base: Simplificar a via de dados – 
registradores, ULA e barramentos de interconexão; 
 
2. Minimizar tempo de ciclo da via de dados: 
• Faça o comum executar mais rápido 
• A simplicidade favorece a regularidade 
 
 “A perfeição é atingida, não quando não existe nada 
mais a acrescentar, mas quando não existe nada mais 
a jogar fora!” [St. Exupéry]

Continue navegando