Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo
Compreender a lacuna existente entre o ser
humano e o computador.
Assimilar o que são compiladores,
interpretadores, as suas vantagens e
desvantagens.
Compreender o funcionamento da arquitetura
multiníveis.
Arquitetura de Computadores
Conceitos Básicos
3 4
1
13/05/2011
Código Programa
Compilador
Fonte Executável Hardware
L1 L0
5 6
Compilador Interpretador
Código Código Máquina Vantagens
Fonte
Gerador
Objeto Virtual
Vantagens
Hardware Programa executável é mais rápido.
Torna mais difícil visualizar o Código objeto
código fonte original. extremamente pequeno.
L1 Permite a otimização do código Grande portabilidade
L0 (compilador)
Desvantagens (capacidade de executar o
Gerador: Transforma o código fonte em um código objeto, O processo de compilação pode código em diferentes
ser demorado. hardware e softwares).
verificando a sintaxe e a semântica da linguagem e indexando O programa executável está
variáveis. limitado a um determinado Desvantagens
hardware e sistema operacional. Execução mais lenta.
Máquina Virtual: Software que pega um a um os comandos Programa executável é muito
do código objeto e o transforma em instruções para o grande. Acesso ao código fonte
hardware. relativamente fácil.
7 8
2
13/05/2011
Programador de Aplicação
Linguagens de alto nível (C, C++, Java, Linguagem Orientado a Prob.
...
um computador onde cada Pascal, etc.) que visam a solução de
camada se utiliza de um problema específico Tradução (compilador)
ferramentas primitivas Linguagem de Montagem
disponibilizadas por uma n+1 Linguagem Assembler
camada inferior para Tradução (assembler)
implementar ferramentas Comandos do sistema
mais poderosas que por sua Sistema Operacional
operacional.
vez são utilizadas por uma n Interpretação parcial
camada superior. Conjunto de instruções que
Programador de Sistemas
podem ser interpretadas pela Arq. Conjunto de Instruções
As camadas inferiores são microarquitetura.
mais simples e rápidas, Microprograma
enquanto que as superiores n-1 Registradores, ALU e caminho de
são cada vez mais complexas dados. Microarquitetura
e lentas.
...
Hardware
Portas lógicas constituídas por
transistores (AND, OR, NOT) Lógica Digital
9 10
Resumo:
Os computadores são projetados com uma série de
níveis, cada um construído sobre o seu antecessor.
Cada nível possui diferentes objetos e operações e
possui um determinado nível de abstração.
Isso reduz a complexidade do estudo e torna o
computador algo mais fácil de entender. Marcos da Arquitetura de
O conjunto de tipos de dados, operações e Computadores
características de cada nível é denominado
Como ocorreu a evolução do hardware
arquitetura.
Arquitetura de computadores é o estudo de como
projetar as partes de um computador que sejam
visíveis a um determinado programador.
11 12
3
13/05/2011
Objetivo
Identificar as diferentes gerações do hardware.
Compreender como chegamos ao atual estágio de
avanço tecnológico.
Compreender as consequências do avanço
vertiginoso da tecnologia para o desenvolvedor Marcos da Arquitetura de
de sofware. Computadores – Geração Zero
1642 - 1945
13 14
15 16
4
13/05/2011
Tear Programável
• Tear mecânico controlado
por grandes cartões
perfurados.
• Era capaz de produzir
tecidos com padrões bonitos
e intrincados.
• Sete anos após a sua
invenção, já havia 11 mil
teares desse tipo operando
na França.
17 18
19 20
5
13/05/2011
21 22
23 24
6
13/05/2011
25 26
Mark II
• Ao terminar o projeto os relês já estavam obsoletos.
27 28
7
13/05/2011
29 30
8
13/05/2011
33 34
35 36
9
13/05/2011
37 38
10
13/05/2011
43 44
11
13/05/2011
45 46
Marcos da Arquitetura de
Computadores – Segunda Geração
1955 - 1965
47 48
12
13/05/2011
49 50
51 52
13
13/05/2011
IBM - 1401
Marcos da Arquitetura de
Computadores – Terceira Geração
1965 - 1980
53 54
55 56
14
13/05/2011
57 58
Marcos da Arquitetura de
Computadores – Quarta Geração
1980 - ????
59 60
15
13/05/2011
63 64
16
13/05/2011
Computadores Invisíveis
A quinta geração será mais uma mudança de paradigma
do que de arquitetura.
No futuro os computadores estarão em toda parte e
embutidos em tudo – invisíveis.
Marcos da Arquitetura de Computação Ubíqua ou Computação Pervasiva
Computadores – Quinta Geração
???? -
65 66
Lei de Moore
Gordom Moore O ciclo evolutivo dos
“o número de transistores de transistores está próximo
um processador duplica a do fim.
cada 18 meses” Atualmente estamos
Comparando a indústria da migrando dos gates de 0.18
aviação com a de
para os 0.13 mícrons, ainda
Situação Atual computadores:
restam pelo menos mais 5
“se a tecnologia de aviação
progredisse tão rápido quanto gerações pela frente:
a de computadores hoje 0.10 mícron.
teríamos um avião de 500
0.07 mícron.
dólares que daria volta a terra
em 20 minutos. O único 0.05 mícron.
problema é que ele seria do 0.03 mícron.
tamanho de uma caixa de
sapatos.”
0.02 mícron.
Aprox. uma década.
67 68
17
13/05/2011
71 72
18
13/05/2011
Resumo:
Até hoje estão documentadas 4 gerações de
computadores. Cada geração é criada a partir de
uma invenção revolucionária que afeta todas as
criações a seguir.
Não se sabe ao certo qual seria a nova geração Modelo Hipotético de um
de computadores, especula-se a partir da
computação ubíqua. Computador
As memórias e os processadores a partir da Adaptado do Profº Aristides
tecnologia de silício estão a beira da
estagnação. Só poderemos manter a Lei de Moore
por aproximadamente 10 anos.
73 74
Conjunto de escaninhos
75 76
19
13/05/2011
Exercício 1:
Obs.: Utilizaremos a notação (E10) significando "o conteúdo do escaninho E10", isto
é, o valor que está agora armazenado no escaninho E10 (ou, mais formalmente, o
valor corrente daquela posição de memória).
E1 : armazene o valor 1 no E10
E2 : leia o conteúdo de E11 (externo - a caixa de entrada)
E3 : multiplique E10 com E11 (usando a máquina de calcular) e armazene o
resultado em E10
E4 : subtraia o valor 1 de E11
E5 : se o valor de E11 > 0, volte para E3, senão continue
E6 : imprima o conteúdo de E10 (usando a máquina de escrever)
E7 : PARE
E8 :
E9:
A partir de um sinal externo do tipo COMECE
COMECE, este modelo inicia do E1 daí por
diante prossegue até E8 (o final).
Resolva o exercício; o que faz este algorítmo?
77 78
Este programa calcula o FATORIAL de um número
20
13/05/2011
PROGRAMA é uma sequência de instruções (no modelo hipotético, os cartões); MEMÓRIA – (os escaninhos) - Dispositivo físico para armazenar programas
O programa deve ser escrito numa LINGUAGEM DE PROGRAMAÇÃO - as e dados;
linguagens naturais têm ambiguidades e podem dar margem a diferentes PROCESSADOR – (operador e máquina de calcular) - Dispositivo que
interpretações; realiza o processamento;
HARDWARE (significa originalmente "ferragens“, em inglês - hardware store significa
DISPOSITIVOS DE ENTRADA E SAÍDA – (caixa de entrada, caixa de saída,
originalmente "loja de ferragens") é o conjunto de dispositivos físicos do
computador,o equipamento; máquina de escrever) - Formas de comunicação entre o usuário e o
computador;
SOFTWARE (em analogia a hardware, a parte "soft", macia, são os programas que
permitem que o equipamento saiba o que realizar, que ele funcione; SISTEMA - Um conjunto interligado de programas (e, eventualmente,
Depois surgiram outros termos, aproveitando as mesmas analogias, tais como também de equipamentos);
firmware (indicando programação gravada em dispositivos físicos e não modificável LINGUAGEM DE MÁQUINA - é a linguagem que o computador entende,
pelo usuário); cujo "alfabeto" é composto apenas de "1
1's" e "0
0's" (linguagem binária);
PROCESSAMENTOAUTOMÁTICO
PROCESSAMENTO AUTOMÁTICO DE DADOS
DADOS:: LINGUAGEM DE PROGRAMAÇÃO - é uma linguagem formal, utilizando
Um computador é capaz de executar um programa sozinho, desde que o programa termos que se aproximam da linguagem humana, que pode ser traduzida
seja previamente armazenado nele, de forma que ele tenha as indicações de onde por programas especiais em linguagem de máquina.
procurar as instruções.
81 82
Componentes do Computador
83 84
21
13/05/2011
85 86
Clock Processador
Dispositivo que dá ritmos aos trabalhos da UCP, a UC, a Um microprocessador, ou simplesmente processador, é
ULA e até mesmo uma parte da memória conhecida por um circuito integrado (ou chip), que é considerado o
cache. "cérebro" do computador.
É um circuito oscilador que tem a função de sincronizar e
ditar a medida de velocidade de transferência de dados
no computador, por exemplo, entre o processador e a
memória principal. Esta frequência é medida em ciclos
por segundo, ou Hertz.
87 88
22
13/05/2011
Processador Processador
Pode-se dizer que a CPU realiza as seguintes tarefas: A CPU é composta basicamente de três elementos: unidade
Busca e executa as instruções existentes na memória. Os programas de controle, unidade lógica e aritmética e registradores.
e os dados que ficam gravados no disco (disco rígido ou disquetes),
são transferidos para a memória. Uma vez estando na memória, a Unidade Lógica e Aritmética (ALU) - Assume todas as
CPU pode executar os programas e processar os dados. tarefas relacionadas às operações lógicas (ou, e, negação, etc.)
Comanda todos os outros chips do computador. e aritméticas (adições, subtrações, etc...) a serem realizadas no
contexto de uma tarefa.
89 90
Processador Processador
Unidade de Controle (UC) - assume toda a tarefa de
controle das ações a serem realizadas pelo computador,
comandando todos os demais componentes de sua
arquitetura.
Registradores - são utilizados para assegurar o
armazenamento temporário de informações importantes para
o processamento de uma dada instrução.
91 92
23
13/05/2011
Barramentos
Um barramento, ou bus, nada mais é do que
um caminho comum pelo qual os dados
trafegam dentro do computador.
O tamanho de um barramento é importante
Barramentos pois ele determina quantos dados podem ser
transmitidos em uma única vez. Por exemplo,
um barramento de 16 bits pode transmitir
Apresentar as vidas de comunicação existentes dentro do
computador, estas vias são conhecidas como barramentos, 16 bits de dado, e um barramento de 32 bits
quando estes barramentos tem saídas para o meio externo a pode transmitir 32 bits de dados a cada vez.
placa-mãe ganham o nome de interfaces, que devem seguir um
padrão bem definido para que os periféricos conectados sejam
capazes de se comunicar com a UCP.
95 96
24
13/05/2011
97 98
99 100
25
13/05/2011
101 102
103 104
26
13/05/2011
105 106
107 108
27
13/05/2011
Dispositivos de Entrada/Saída
109 110
Teclado Mouse
Um dos primeiros dispositivos;
Maior número de versões devido a região onde é usado;
Definição:
É um conjunto de chaves elétricas cada uma acionada por uma
tecla. A cada chave dessas corresponde um código binário que
é enviado para a placa-mãe e esta sabe como tratar esse
código de acordo com o modelo do teclado ou com o
software que está em uso.
Códigos de caracteres:
EBCEDIC (computadores de grande porte da IBM), ou
ASCII (padrão mais utilizado hoje);
111 112
28
13/05/2011
113
29
13/05/2011
30
13/05/2011
124
31
13/05/2011
Scanner Scanner
32
13/05/2011
Scanner Impressora
129 130
Microfone Webcam
Promove comunicação entre usuário-software-
usuário, como uma maneira alternativa ao teclado Câmera de vídeo
1. Ondas sonoras são convertidas em vibrações Baixo custo
mecânicas de um diafragma fino e flexível
Captura imagens e as transfere para o computador
2. Estas vibrações mecânicas são de seguida convertidas
utilizada em videoconferências e bate-papos
em sinais elétricos
Aparecem embutidos em alguns computadores
33
13/05/2011
Modem
Dispositivos de Armazenamento
133 134
136
34
13/05/2011
Desvantagens principais
Facilidade no aparecimento de defeitos
Vida útil curta
35
13/05/2011
36
13/05/2011
Memória
148
37
13/05/2011
149 150
• Extremamente rápidos
• Pouca capacidade de armazenamento.
151 152
38
13/05/2011
Processador
Dados
Controle
Computadores incorporam uma pequena porção
de memória cache
Memória
Localizada entre a CPU e a Memória Principal Principal
Funciona como um espelho de parte da MP
sub-sistema de memória
155 156
39
13/05/2011
157 158
40
13/05/2011
161 162
Uso da Memória
• O 8088 só podia enxergar 1 MB de memória que é dividida Área de Memória Endereços Conteúdo
em áreas menores de 64KB. – 64KB x 16 = 1 MB. Banco 0 ao banco 9
0 a 640 KB 00000h a 9FFFFh Memória convencional
• Por motivos de compatibilidade, os micros atuais mantém a 640 a 704 KB A0000h a AFFFFh Banco 10: Mem. De vídeo
mesma estrutura dos micros antigos no primeiro megabyte de
memória. Essa área é dividida da seguinte forma: 704 a 768 KB B0000h a BFFFFh Banco 11: Mem. De vídeo
768 a 832 KB C0000h a CFFFFh Banco 12: ROM da interface
de vídeo
832 a 896 KB D0000h a DFFFFh Banco 13: Firmware de
interfaces
896 a 960 KB E0000h a EFFFFh Banco 14: Firmware de
interfaces
960 a 1.024 KB F0000h a FFFFFh Banco 15: BIOS (e Basic
residente, caso haja)
163 164
41
13/05/2011
165 166
167 168
42
13/05/2011
169 170
171 172
43
13/05/2011
173 174
Unidade Central de
ACC
Processamento ULA
REGs
Barramento Interno
Unidade de
175 Barramento de Controle Controle 176
44
13/05/2011
Funcional da UCP CI
RI • Na ULA - ACC Acumulador (em inglês:ACC - Accumulator) -
armazena os dados (de entrada e resultados) para as operações
DECODER
INST. na ULA; o acumulador é um dos principais elementos que
definem o tamanho da palavra do computador - o tamanho da
ULA UC palavra é igual ao tamanho do acumulador.
CLOCK
177 178
Unidade Lógica e Aritmética Unidade de Controle
45
13/05/2011
As estratégias de implementação de
Conjunto de Instruções processadores são:
Quando se projeta um hardware, define-se o seu conjunto ("set") de instruções - o • CISC - Complex Instruction Set Computer
conjunto de instruções elementares que o hardware é capaz de executar. O projeto
de um processador é centrado no seu conjunto ("set") de instruções. Quanto Exemplo: PC, Macintosh; um conjunto de instruções maior e mais
menor e mais simples for este conjunto de instruções, mais rápido pode ser o ciclo complexo, implicando num processador mais complexo, com ciclo
de tempo do processador. de processamento mais lento; ou
Um processador precisa possuir instruções para:
• operações matemáticas: • RISC - Reduced Instruction Set Computer
1. aritméticas: +, - , × , ÷ ...; Exemplo: Power PC, Alpha, Sparc; um conjunto de instruções menor
2. lógicas: and, or, xor, ...; e mais simples, implicando num processador mais simples, com ciclo
3. de complemento; de processamento rápido.
4. de deslocamento.
• operações de movimentação de dados:
Obs.: adotaremos o termo instrução para as instruções de máquina
ou em linguagem Assembly e comando para linguagens de alto nível.
(memória <--> UCP, reg <--> reg);
• operações de entrada e saída (R/W em dispositivos de E/S);
• operações de controle (desvio de sequência de execução,parada).
181 182
Ciclo de Instruções
O projeto de um processador poderia ser resumido em
em:: As instruções são executadas INICIO
sequencialmente uma a uma. (a não ser
a) Definir o conjunto de instruções (todas as possíveis instruções que o Buscar próxima
processador poderá executar): pela ocorrência de um desvio). Instrução
O CI indica a sequência de execução,
• definir formato e tamanho das instruções;
isto é, o CI controla o fluxo de Interpretar a
• definir as operações elementares. Instrução
execução das instruções.
b) Projetar os componentes do processador (UAL, UC, registradores,
Buscar os Dados
barramentos,...) Descrição do processamento de uma
instrução na UCP: Executar a
Duas estratégias são possíveis na construção do decodificador de
instruções da UC
UC:: Instrução
• a UC lê o endereço da próxima instrução
• wired logic - as instruções são todas implementadas em circuito); no CI;
TÉRMIO
• Microcódigo - apenas um grupo básico de instruções são • a UC transfere o endereço da próxima
implementadas em circuitos; as demais são “montadas” através de instrução, através do barramento interno,
microprogramas que usam as instruções básicas. 183 184
para o REM.
46
13/05/2011
Gerenciamento E/S
de Processos Arquivos
Gerenciamento E/S
de Memória Dispositivos
Drivers de Dispositivos
HARDWARE
185
47