Buscar

Aula 02 16%2F07%2F17 (Cont.) (2016)

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 30 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 30 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 30 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

Organização de 
Computadores
Aula 02
Prof.ª Larissa
2016
Sumário
• Organização estruturada de computador:
– Máquinas multiníveis contemporâneas: 
• nível de lógica digital
• nível de microarquitetura
• nível de arquitetura de conjunto de instruções
• nível de máquina de sistema operacional
• nível de linguagem Assembly
• nível de linguagem orientada ao problema
OEC: Máquina multinível genérica
Programas em L0 podem ser
executados diretamente pelos
circuitos eletrônicos
Máquina virtual Mn, com 
linguagem de máquina Ln
Máquina virtual M2, com 
linguagem de máquina L2
Máquina virtual M1, com 
linguagem de máquina L1
Máquina real M0, com 
linguagem de máquina L0Nível 0
Nível 2
Nível 1
Nível n
Programas em L1 são interpretados
por um interpretador que roda em M0
ou traduzidos para L0
Programas em L2 são interpretados
por interpretadores que rodam em M1
ou M0 ou traduzidos para L1 ou L0
Programas em Ln são interpretados
por interpretadores que rodam em
nível inferior ou traduzidos para
linguagem de máquina de nível inferior
OEC: Máquinas multiníveis contemporâneas
• Como são estas máquinas multiníveis?
• A maioria das máquinas contemporâneas possuem dois ou mais
níveis de abstração, para que a comunicação homem-máquina seja
eficiente.
• Uma máquina real, que possui C, C++ ou Java como sua linguagem
de máquina, é possível de ser construída com a tecnologia atual,
mas há um grande motivo para que não seja:
OEC: Máquinas multiníveis contemporâneas
• Como são estas máquinas multiníveis?
• Uma máquina sem abstrações não teria um custo viável comparado
a outras técnicas, que utiliza circuitos com poucas instruções.
• No mercado, ser possível não significa ser vantajoso, e o método de
abstrações se mostrou o mais viável.
• Na prática, são consideradas máquinas com até 6 níveis de
abstração, como veremos a seguir.
• No entanto, outros níveis adicionais poderiam ser considerados.
OEC: Máquinas multiníveis contemporâneas
Instruções de máquina
Nível de Linguagem Orientada a 
Problemas
Nível de Linguagem de 
Montagem (Assembly)
Nível de Máquina de Sistema 
Operacional
Nível de Arquitetura de Conjunto 
de Instruções
Nível de Microarquitetura
Nível de Lógica DigitalNível 0
Nível 2
Nível 1
Nível 3
Instruções para permitir
multitarefa e organização
diferente de memória
Mnemônicos para as
instruções de máquina
C, C++, Java, LISP, Prolog,
Basic...
Nível 4
Nível 5
Memória local e ULA
Portas lógicas > Flip-Flops >
Registadores
Hardware
Interpretação (μP) ou hardware
Interpretação (SO)
Tradução (assembler)
Tradução (compilador)
OEC: Máquinas multiníveis contemporâneas
• Níveis “negativos”:
• Poderiam existir ainda níveis abaixo do Nível 0.
• “Nível -1”: Nível de Dispositivos –
enxergamos transistores individualmente,
que são as “células” formadoras das portas
lógicas que compõem nosso hardware.
• Poderíamos baixar ainda mais o nível (no
bom sentido!) e chegar ao “Nível -2”: Nível
de Física do Estado Sólido – enxergaríamos o
funcionamento interno de um transistor.
Disponível em: <http://blog.laptopmag.com/intel-announces-22nm-ivy-bridge-cpus-with-new-3d-transistors>
Transistor Tri-Gate 14 nm,
tecnologia atual dos
processadores Intel Core M
Porta Inversora CMOS
OEC: Máquinas multiníveis contemporâneas
• Nível 0 – Nível de Lógica Digital:
• Objetos de interesse são as portas lógicas, que,
mesmo construídas por componentes analógicos
(transistores), podem ser precisamente
modeladas como dispositivos digitais.
Funcionam com impulsos elétricos.
• Cada porta tem uma ou mais entradas digitais (sinais representados
por 0 ou 1) e devolve como saída funções simples destas entradas,
como as operações lógicas E (AND) ou OU (OR).
• Cada porta lógica é composta por alguns transistores.
Disponível em: <http://www.autoshop101.com/trainmodules/logicgate/106.html>
OEC: Máquinas multiníveis contemporâneas
• Nível 0 – Nível de Lógica Digital:
• Portas lógicas combinadas podem formar
memórias de 1 bit (flip-flops).
• Memórias de 1 bit podem ser combinadas em
grupos de, por exemplo, 16, 32 ou 64 para
formar registradores.
• Cada registrador é uma unidade de memória capaz de armazenar
n bits, e estão no topo da hierarquia da memória (são o meio mais
rápido e mais caro de se armazenar um dado).
Disponível em: <https://pt.wikipedia.org/wiki/Flip-flop>
• Registradores são memória temporária utilizada pelo processador
no processamento das instruções.
OEC: Máquinas multiníveis contemporâneas
• Nível 0 – Nível de Lógica Digital:
• Portas lógicas também são combinadas para formar circuitos
digitais combinacionais, utilizados no próprio mecanismo de
processamento.
• Os circuitos combinacionais não armazenam bits de estados
anteriores, e portanto não funcionam como memória.
Disponível em: <http://www.cearaagora.com.br/site/2014/12/tech-como-funcionam-os-chips-de-computador/>
Meio somador Somador completo Multiplexador
OEC: Máquinas multiníveis contemporâneas
• Nível 1 – Nível de Microarquitetura:
• Neste nível, enxergamos uma memória local (formada por um
conjunto de registradores) e a Unidade Lógica e Aritmética (ULA).
• A ULA é um circuito digital que executa
operações lógicas e aritméticas, sendo a peça
central do processador.
Disponível em: <https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica>
• A memória local é conectada à ULA para formar o caminho de
dados, pelo qual os dados transitam.
• Caminho de dados, portanto, é a parte da CPU que contém a ULA,
suas entradas e suas saídas.
OEC: Máquinas multiníveis contemporâneas
• Nível 1 – Nível de Microarquitetura:
• A operação básica do caminho de dados
consiste em selecionar registradores, deixar
a ULA operar sobre eles (por exemplo,
somá-los) e armazenar o resultado em
algum registrador.
• A operação do caminho de dados pode ser
controlada por um microprograma, ou
controlada direto por hardware.
Disponível em: <http://www.cearaagora.com.br/site/2014/12/tech-como-funcionam-os-chips-de-computador/>
• Microprograma é um interpretador que
interpreta as instruções oriundas do Nível 2.
OEC: Máquinas multiníveis contemporâneas
• Nível 2 – Nível de Arquitetura de Conjunto de Instruções (ISA):
• O nível ISA é a interface entre o software e o hardware.
• Neste nível, enxergamos o principalmente a descrição do conjunto
de instruções suportadas pelo processador.
• O conjunto de instruções corresponde às tarefas que o processador
pode realizar e é determinado pelo projeto do processador, e
normalmente não pode ser alterado.
• O conjunto de instruções é comum entre os processadores de uma
mesma família, permitindo assim a compatibilidade de programas e
sistemas operacionais dentro dessa família.
Exemplos de famílias: x86, ARM, SPARC, MIPS
OEC: Máquinas multiníveis contemporâneas
• Nível 3 – Nível de Máquina de Sistema Operacional:
• Não é possível existir um sistema multitarefa sem que exista um
elemento arbitrando o acesso ao hardware – essa função é do
sistema operacional.
• Em sistemas computacionais modernos, todo acesso ao hardware é
feito por meio do sistema operacional.
• O SO fornece uma plataforma
que possibilita que os
programas não tenham que
interagir diretamente com o
hardware.
Disponível em: <http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2011/08/saiba-o-que-e-um-navegador-e-um-sistema-operacional.html>
OEC: Máquinas multiníveis contemporâneas
• Nível 4 – Nível de Linguagem de Montagem (Assembly):
• Assembly language = Linguagem de montagem
• Programa que realiza essa tradução é chamado de montador
(assembler).
• Contém palavras e abreviações cujas pessoas entendem, que
representam instruções de nível mais baixo, facilitando a vida do
programador.Substitui padrões de bits por mnemônicos.
• Programas nessa linguagem são primeiro traduzidos para as
linguagens dos níveis inferiores e depois interpretados pela máquina
virtual apropriada ou pela própria máquina real.
OEC: Máquinas multiníveis contemporâneas
• Nível 4 – Nível de Linguagem de Montagem (Assembly):
• A maioria das pessoas pode se lembrar de que as abreviaturas para
somar, subtrair, multiplicar e dividir são ADD, SUB, MUL e DIV,
mas poucas conseguem se lembrar dos valores numéricos
correspondentes que a máquina usa.
• O programador Assembly só precisa se lembrar dos nomes
simbólicos, pois o assembler os traduz para instruções de máquina.
• Como Assembly é uma notação legível por humanos para as
instruções de máquina que uma arquitetura de
computador específica utiliza, processadores de famílias diferentes
possuem linguagens de montagem incompatíveis entre si.
OEC: Máquinas multiníveis contemporâneas
• Nível 5 – Nível de Linguagem Orientada a Problemas:
• Este é o nível no qual trabalham os a maioria
dos programadores de aplicação: com
linguagens de alto nível. São mais amigáveis a
humanos do que Assembly.
• Programas escritos nesta linguagem são geralmente traduzidos para
níveis subjacentes por compiladores.
• Esse tipo de linguagem independe da plataforma em que for usada;
ela geralmente é traduzida (compilada) para um formato que o
sistema operacional consiga interpretar e enviar para os níveis mais
baixos da máquina multiníveis.
Disponível em: <https://code4coders.wordpress.com/2012/03/12/qual-linguagem-de-programacao-devo-aprender-primeiro/>
OEC: Máquinas multiníveis contemporâneas
• Programadores de sistema x aplicação:
• Programadores de sistema trabalham essencialmente nos níveis
mais baixos.
• Focam no desenvolvimento de programas que proveem serviços ao
próprio sistema computacional: tradutores, interpretadores,
sistemas operacionais, ferramentas de otimização do sistema, etc.
• Programadores de aplicação trabalham principalmente no nível 5.
• Focam no desenvolvimento de programas que proveem serviços
diretamente ao usuário: processadores de texto, editores de
planilhas, aplicativos de entretenimento, etc.
Sumário
• História da Computação:
– Geração zero: computadores mecânicos (1642 – 1945)
– Primeira geração: válvulas (1945 – 1955)
– Segunda geração – transistores (1955 – 1965)
– Terceira geração – circuitos integrados (1965 – 1980)
– Quarta geração – integração em larga escala (1980 – 2000)
– Quinta geração – computação ubíqua (2000 em diante)
História da Computação
• Geração zero: computadores mecânicos (1642 – 1945)
• No início, os equipamentos para realização de cálculos eram
puramente mecânicos, já que os dispositivos eletromecânicos
surgiriam no século XX.
• O primeiro dispositivo do tipo foi construído
por Blaise Pascal (1623 – 1662) em 1642
para auxiliar seu pai. Podia executar apenas
somas e subtrações.
• 30 anos depois, Gottfried Leibniz (1646 -
1716) construiu um equipamento que
realizava as quatro operações básicas.
História da Computação
• Geração zero: computadores mecânicos (1642 – 1945)
• A evolução dos equipamentos mecânicos foi proposta em 1822, por
Charles Babbage (1792 – 1871).
• Ele propôs a Máquina Diferencial, desenhada
para executar um algoritmo útil para
navegação naval. Posteriormente, propôs a
Máquina Analítica, um dispositivo
programável, para o qual Ada Lovelace (1815
- 1852) desenvolveu um algoritmo.
• No século XIX, diversas máquinas diferenciais foram construídas
com base nos documentos de Babbage, mas ele próprio nunca
chegou a produzi-las.
História da Computação
• Geração zero: computadores mecânicos (1642 – 1945)
• Na década de 1930, Konrad Zuse (1910 - 1995) construiu uma série
de equipamentos para executar cálculos utilizando relés, que são
dispositivos eletromecânicos.
• Em 1944, Howard Aiken (1900 -
1973) construiu o computador
eletromecânico Harvard Mark I,
que era programável e foi
financiado pela IBM. Aiken
baseou-se nos conceitos de
Babbage.
Disponível em: <http://ds-wordpress.haverford.edu/bitbybit/bit-by-bit-contents/chapter-four/4-2-aiken-and-the-mark-i/>
Harvard-IBM Mark I
História da Computação
• Primeira geração: válvulas (1945 – 1955)
• Os primeiros computadores eletrônicos surgiram na fase final da
Segunda Guerra Mundial. O interesse dos militares por
computadores se dava em quebra de códigos criptográficos e
cálculos de artilharia.
• Para o segundo propósito, John Mauchly
(1907 - 1980) propôs a construção de
uma máquina para o Exército Americano,
o ENIAC. O projeto foi conduzido por ele
e J. Presper Eckert (1919 - 1995), mas
entrou em operação apenas em 1946.
ENIAC, antes considerado o primeiro 
computador eletrônico da história, era 
composto por quase 18.000 válvulas 
Disponível em: <http://www.columbia.edu/cu/computinghistory/eniac.html>
História da Computação
• Primeira geração: válvulas (1945 – 1955)
• Somente décadas após o final da guerra, o projeto Colossus,
trabalho do governo britânico, veio à tona, devido ao sigilo. Criado
para quebra de códigos criptográficos da Alemanha nazista, as ideias
de Alan Turing (1912 - 1954) contribuíram com o projeto.
• Colossus tomou o lugar do ENIAC como o
primeiro computador eletrônico da
história, pois entrou em operação em 1943.
Disponível em: <http://www.turing.org.uk/scrapbook/electronic.html>
Colossus em operação, em 1944
• Turing é considerado por muitos como o
pai da computação por seus feitos e ideias
sobre inteligência artificial.
História da Computação
• Primeira geração: válvulas (1945 – 1955)
• Um cientista envolvido no projeto do ENIAC, John von Neumann
(1903 - 1957), apontou a vantagem de usar os dados armazenados
em forma binária em vez de decimal e propôs que os programas
fossem gravados na memória do computador.
• O projeto que ele concebeu na década
de 1940 foi utilizado na construção da
máquina IAS. Essa arquitetura,
batizada de máquina de Von
Neumann, é até hoje a estrutura
básica dos computadores.
História da Computação
• Segunda geração – transistores (1955 – 1965)
• O transistor, inventado em 1948, apresentava grandes vantagens em
relação à válvula: era menor e tinha vida útil infinitamente maior.
• O primeiro computador a usufruir da nova tecnologia foi o TX-0
(Transistored Experimental Computer 0), construído no MIT. Foi
seguido pelo TX-2.
• Em 1961, foi lançado o PDP-1, pela DEC. Estava criado o conceito de
minicomputadores.
• Em 1964, foi lançado o CDC 6600, voltado para aplicações
científicas. Ele introduziu conceitos de paralelismo.
• Nesta época, a IBM produzia equipamentos de alto desempenho
para aplicações científicas, como o 7090 e 7094.
História da Computação
• Terceira geração – circuitos integrados (1965 – 1980)
• A invenção do circuito integrado de silício por Robert Noyce, em
1958, permitiu que dezenas de transistores fossem colocados em
uma única pastilha (ou chip).
• A IBM lançou a família System/360, dando início ao conceito de
compatibilidade entre máquinas da mesma série. Esta família
também introduziu o conceito de multiprogramação, que foi um dos
primeiros passos ao conceito multitarefa.
• O sistema operacional, figura desconhecida até então, se torna
importante.
• O mercado de minicomputadores também evoluiu, e o lançamento
mais significativo foi o PDP-11 da DEC.
História da Computação
• Quarta geração – integração em larga escala (1980 – 2000)
• Na década de 1980, a VLSI possibilitou colocar até milhões de
transistores em um único chip. Esse desenvolvimento levou a
computadores menores e mais rápidos.
• Era o início da era do computador
pessoal, o microcomputador.
• Uma das mais bem-sucedidas empresas
foi a Apple, fundada por Steve Jobs e
Steve Wozniak, cujo microcomputador
Apple II (lançado em 1977)foi um
sucesso comercial.
História da Computação
• Quarta geração – integração em larga escala (1980 – 2000)
• A IBM relutou, mas decidiu entrar no mercado do computador
pessoal, mas preferiu utilizar componentes de mercado, em vez de
desenvolver todo o projeto. Como microprocessador foi escolhido o
8088 da Intel, e o IBM PC foi lançado em 1981.
• A IBM não patenteou seu projeto, o que
resultou numa indústria de “PC-Clones”.
• A IBM se associou à Microsoft para o
desenvolvimento do sistema operacional
de seu PC, o PC-DOS, que foi baseado no
QDOS (adquirido pela Microsoft).
História da Computação
• Quinta geração – computação ubíqua (2000 em diante)
• Ao contrário das gerações anteriores, os equipamentos com
capacidade de processamento não são mais necessariamente
“computadores completos”.
• Além do barateamento do hardware, o
desenvolvimento de várias tecnologias,
como redes locais, Bluetooth e WiFi, e a
popularização da Internet permitiram o
desenvolvimento de equipamentos que se
apoiem em redes e recursos localizados
em outros computadores
Smartphone Samsung Galaxy On 7
	Organização de Computadores
	Sumário
	OEC: Máquina multinível genérica
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	OEC: Máquinas multiníveis contemporâneas
	Sumário
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação
	História da Computação

Continue navegando