Académique Documents
Professionnel Documents
Culture Documents
Assembly
Tipos de Arquiteturas (RISC e
CISC)
Tipos de computadores
Assembly
Difcil de aprender?
Difcil de debugar ou manter?
Consome mais tempo?
Os compiladores eliminam a necessidade de
programar em Assembly?
Os computadores j so rpidos?
Melhor usar algoritmos mais rpidos?
No porttil!
Assembly
Vantagens
Rapidez
Espao
Capacidade
Conhecimento
Arquitetura
Hardware tem evoludo rpido
Velocidade dos processadores
Tecnologia de processamento (pipelining,
superescalar, processamento paralelo)
Aumento da largura da palavra (de 32 para 64
bits)
Capacidade de armazenamento (caches e
registradores)
Arquitetura
Novas e poderosas linguagens de alto nvel
surgiram
Conceitos de programao mais sofisticados:
Buscam atender o raciocnio humano
Mas, se afastam cada vez mais da simplicidade e do
primitivismo do hardware, ou seja, das instrues que
a mquina entende
Arquitetura
Um nico comando de uma linguagem de alto
nvel pode gerar muitas instrues de mquina
Os compiladores so complexos
Semantic gap (espao semntico)
CISC
Complex Instruction Set Computers
Capazes de executar centenas de instrues complexas
diferentes (famlia x86)
Microprogramao
conjunto de cdigos de instrues so gravados no
processador
as instrues, j em baixo nvel, so quebradas em
diversas instrues mais prximas do hardware (as
instrues contidas no microcdigo do processador)
Cacterstica: conjunto grande de instrues, a maioria delas
em um elevado grau de complexidade.
Caractersticas
Formato de 2 operandos mais comum
Usos de modo registrador para registrador,
registrador para memria, memria para
registrador
Instrues de largura varivel
Instrues com mltiplos ciclos (de tamanho
varivel)
Poucos registradores
Registradores especializados
RISC
Reduced Instruction Set Computer
Otimizao do emprego das instrues que consomem
mais tempo de execuo
Soluo: utilizar arquiteturas simples
Caractersticas
Conjunto pequeno de instrues baixo nvel de
complexidade.
No h micro-programao, as instrues so
executadas diretamente pelo hardware
Conjunto simples de instrues que levam a mesma
quantidade de tempo para serem executadas
Uso intenso de pipelining
A maioria dos microprocessadores modernos so RISCs
DEC Alpha, SPARC, MIPS, e PowerPC
O tipo de microprocessador mais largamente usado em desktops,
o x86, mais CISC do que RISC, embora chips mais novos
traduzam instrues x86 baseadas em arquitetura CISC em
formas baseadas em arquitetura RISC mais simples, utilizando
prioridade de execuo.
Consequncias
Menor quantidade de transistores no chip
Reduo da complexidade do decodificador de
instrues, reduzindo o tempo de decodificao
Menor quantidade de bits no campo de cdigo
de operao da instruo, reduzindo o tamanho
dos programas
VAX: 300 instrues com larguras de 4 a 57 bytes
SPARC: 65 instrues com 32 bits
Consequncias
Como sobra espao no chip mais
registradores
Uso de registradores na passagem de
rotinas e funes reduzindo o tempo gasto
Lembrando que estas so as funes que
gastam mais tempo em alto nvel;
Se usarmos acesso memria, o programa
fica mais lento.
Pipelining Paralelismo
Consideraes
Caractersticas
CISC
MIPS
R4000
RS/6000
VAX11/
780
Intel 486
Quant. de instrues
94
183
303
235
Modos de
endereamento
22
11
Largura de cada
instruo
2-57
1-12
Quantidade de
registradores
32
32
16
O Computador
O 1 computador tinha Processador, Entrada e Sada
John Von Neumann adicionou a memria
Serve para guardar dados e instrues
Torna o processo mais rpido e eficiente.
entrada
Processador
Memria Principal
ou Primria
sada
Memria secundria
Dentro do PC
Processador
CPU ou UCP
Unidade Cental
de Processamento
Memria
DRAM (Dynamic Random Access Memory)
Guardam as instrues e dados do programa
RAM -> acesso aleario e, portanto, mais rpido
Memria Cache
Buffer para DRAM (dento do processador)
SRAM (Static Random Access Memory)
Mais rpida, menos densa, mais cara
Tipos de Computadores
Computadores pessoais (desktop)
Forma mais conhecida e de baixo custo;
Bom desempenho para um nico usurio;
30 anos.
Servidores
Antigos Mainframes;
Grandes cargas de trabalhos e Caros.
Tipos de Computadores
Computadores Embutidos
Computador dentro de outro dispositivo;
Execuo de uma aplicao determinada;
Desempenho mnimo e limitaes rgidas;
Minimiza custo e potncia;
O crescimento do nmero de computadores
embutidos bem maior que os dos desktops.
Computadores Embutidos
Sistemas Embarcados
Desafio
Processamento
Consumo
Calor
25