apostila 2 conceitos de hardware e software
TRANSCRIPT
Conceito de Hardware e Software 1
Arquitetura de Sistemas Operacionais
Paulo Fonseca
Conceitos de Hardware e Software
Conceito de Hardware e Software 2
Sumário
• Hardware– Processador, memória principal, cache e
memória secundária– Dispositivos de E/S e barramento– Pipelining e arquiteturas RISC e CISC– Análise de desempenho
• Software– Tradutor, interpretador e linker– Loader e depurador– Interpretador de comandos e linguagem de
controle– Ativação/desativação do sistema
Conceito de Hardware e Software 3
Arquitetura do Sistema
Sistemas
de
Banco
Navegadores
Web
Reserva
de
Passagens
Compiladores
Interpretadores
de
Comando
Editores
SISTEMA OPERACIONAL
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
HARDWARE
APLICATIVOS
PROGRAMAS
DO
SISTEMA
Conceito de Hardware e Software 4
Processador / UCP
Registradores
Unidade Lógica
e Aritmética
(ULA)
Unidade de
ProcessamentoMemória
Principal
Dispositivos
de E/S
Conceito de Hardware e Software 5
Processador
• Unidade Central de Processamento
(UCP)
• Unicade de Controle (UC)
• Unidade Lógica e Aritmética (ULA)
• Clock
• Registradores
• CI ou PC
•AP ou SP
• PSW (registrador de status)
Conceito de Hardware e Software 6
Memória Principal
Memória principal - ou primária, ou real, é o local onde são
armazenados instruções e dados. A memória é composta por
unidades de acesso chamadas células que, por sua vez, são
compostas de um conjunto de bits. Atualmente, usa-se o byte
(com oito bits) como tamanho da célula porém, anteriormente, já
foram utilizados tamanhos de 16, 32 e até 60 bits.
O acesso ao conteúdo de uma célula é realizado através da
especificação de um número chamado endereço. O endereço é
uma referência única que se pode fazer a uma célula de memória.
Para se acessar uma célula deve-se primeiro especificar qual
deverá ser o endereço desejado para depois realizar a operação
respectiva (leitura ou escrita).
Conceito de Hardware e Software 7
10
2
2n -1
célula
Memória PrincipalA memória principal, primária ou secundária é o local onde
são armazenados instruções e dados.
A memória é composta por unidades de acesso chamadas
células, sendo que cada célula é composta por um determinado
número de bits.
1 2 3 4 5 6 7 8
bits
A quantidade de bits determina o tamanho da palavra
(ex. 8 bits, 16 bits, 32 bits e até mesmo 60 bits)
Endereços
O acesso ao conteúdo de uma
célula é realizado através da
especificação de um número
chamado endereço.
Conceito de Hardware e Software 8
Memória Principal
A especificação do endereço é feito através do registrador de endereço
de memória (memory address register - MAR). Pelo conteúdo deste
registrador, a UC sabe qual a célula de memória a ser acessada.
Outro registrador usado em operações com memória é o registrador de
dados da memória (memory buffer register - MBR), usado para
guardar o conteúdo de uma ou mais células de memória.
O número de células endereçadas na memória principal é limitado pelo
tamanho do MAR.
Se o MAR possuir n bits, só se poderá endereçar, no máximo, 2n
células.
A memória pode ser classificada em função de sua volatilidade, que é a
capacidade da memória preservar o seu conteúdo mesmo sem uma
fonte de alimentação ativa.
Conceito de Hardware e Software 9
Memória Cache
Memória cache – é uma memória volátil de alta velocidade, porém
com pequena capacidade de armazenamento.
O tempo de acesso a um dado nela contido é muito menor que se
estivesse na memória principal.
A memória cache armazena uma pequena parte do conteúdo da
memória principal.
Toda vez que o processador faz referência a um dado armazenado na
memória, é verificado, primeiramente, se ele se encontra na memória
cache.
Caso positivo (cache hit) não há necessidade de acesso à memória
principal, diminuindo assim o tempo de acesso.
Se o dado não está na cache, o acesso à memória principal é
obrigatório (cache miss).
Neste caso, o processador, a partir do endereço especificado transfere
um bloco de dados da memória principal para a cache.
Conceito de Hardware e Software 10
Memória secundária
Memória secundária – é um meio permanente, isto é, não-
volátil de armazenamento de programas e dados.
O acesso à memória secundária é lento, se comparado com o
acesso à memória principal, porém seu custo é baixo e sua
capacidade de armazenamento é bem superior.
Enquanto a unidade de acesso à memória secundária é da ordem
de milissegundos, o acesso à memória principal é de
nanossegundos.
Na figura seguinte, ilustra-se a relação entre os diversos tipos de
memória apresentados, comparando custo, velocidade e
capacidade de armazenamento.
Conceito de Hardware e Software 11
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
Registradores
Rápidos: 1nseg.
Componentes internos à
CPU
Capacidade: < 1Kb
Controlados por software
Conceito de Hardware e Software 12
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
RegistradoresRápida: 2nseg
Capacidade: <8Mb
Controlada por hardware
Conceito de Hardware e Software 13
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
RegistradoresRandom Access Memory
Rápida: 10nseg
Capacidade: 512MB-8GB
Volátil
Conceito de Hardware e Software 14
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
Registradores
Mais lento: 10mseg
Capacidade: 320GB – 1TB
Velocidades: 5400, 7200 ou
10800 rpm
Conceito de Hardware e Software 15
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
Registradores Backup
Capacidade: 20-100Gb (fita);
750Mb (disco ótico)
Conceito de Hardware e Software 16
Memória
Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico
Disco Rígido
RAM
Cache
Registradores
Velocidade
de Acesso
Capacidade
de armazenamento
Conceito de Hardware e Software 17
Dispositivos de E/S
• Memória secundária
• Discos
• Fitas magnéticas
• Interface usuário-máquina
• Teclados
• Monitores
• Impressoras
• Plotters
Conceito de Hardware e Software 18
Barramentos
Um barramento de sistema consiste, tipicamente, de 50 a 100
linhas separadas.
A cada linha é atribuído um significado ou função particular.
Embora haja muitos tipos de barramentos, em qualquer
barramento as linhas podem ser classificadas em três grupos
funcionais (:): dados,
Dados
Endereços
Controle
Conceito de Hardware e Software 19
Alguns tipos de barramentos
• CPU-Memória– geralmente específicos
– curtos
– alta velocidade
• Barramentos de I/O– longo
– muitos dispositivos
– não tem interface direta com a memória
– pode ser padronizado
• Backplane– objetivo: barramento padrão para permitir a
interconexão de vários tipos de dispositivos
– pode ser padronizado
Conceito de Hardware e Software 20
Barram
en
tos
• aspectos de importância
• baixo custo
• flexibilidade
• gargalos
Conceito de Hardware e Software 21
Barramentos - exemplos
BarramentoCapacidade de transferência Velocidade de transferência Taxa de transferência
ISA XT 8 bits 8 MHz 8 MB/s
ISA AT 16 bits 8 MHz 8 MB/s*
VLB 32 bitsClock externo da CPU (Local
Bus)4 x Clock externo
PCI 64 bits 33 MHz 132 MB/s
Conceito de Hardware e Software 22
Diversos tipos de barramentos
– Cache
– Local
– Memória
– ISA (Industry Standard Architecture)
• Velocidade de 8,33Mhz;
• Taxa de Transferência de 2bytes (16 bits) por ciclo – 16,67Mb/seg
– PCI (Peripheral Component Interconnect)
• Sucessor do ISA;
• Intel;
• Velocidade de 66Mhz;
• Taxa de Transferência de 8bytes (64 bits) por ciclo – 528Mb/seg;
Conceito de Hardware e Software 23
Barramento
– SCSI (Small Computer System Interface);
• Alta performance – servidores;
• Taxa de Transferência de 160Mb/seg;
• Comum em máquinas Macintosh;
– IDE (Integrated Drive Eletronics);
• Usado para discos e CDROMs;
– USB (Universal Serial Bus);
• Taxa de Transferência de 1,5Mb/seg;
– AGP (Accelerated Graphics Port);
• Alta taxa de transferência;
• 3-D;
– VESA (Video Electronics Standards Association)
• usado para vídeo;
Conceito de Hardware e Software 24
Pipeline é Natural!
Exemplo da Lavanderia:
A B C DAna, Bernardo, Cátia e Davi têm cada um uma trouxa de roupas para lavar, secar e dobrar;
Lavagem leva 30 minutos;
Secagem leva 40 minutos;
Dobragem leva 20 minutos.
Conceito de Hardware e Software 25
Lavanderia Seqüencial
Lavanderia seqüencial: 6 horas para 4 cargas
Se aprendessem pipeline, quanto tempo levaria?
O
r
d
e
m
d
a
s
t
a
r
e
f
a
s
A
B
C
D
30 40 20 30 40 20 30 40 20 30 40 20
18 19 20 21 22 23 Meia noite
Tempo
Conceito de Hardware e Software 26
Lavanderia Seqüencial
Lavanderia seqüencial: 6 horas para 4 cargas
Se aprendessem pipeline, quanto tempo levaria?
O
r
d
e
m
d
a
s
t
a
r
e
f
a
s
A
B
C
D
30 40 20 30 40 20 30 40 20 30 40 20
18 19 20 21 22 23 Meia noite
Tempo
Conceito de Hardware e Software 27
Definições para Pipelines• Pipeline = em inglês, tubo, oleoduto
instruções entram numa ponta e são processadas na ordem de entrada
• Tubo é dividido em:
estágios ou segmentos
• Tempo que uma instrução fica no tubo:
latência
• Número de instruções executadas na unidade de tempo
desempenho ou “throughput”.
• Tempo que uma instrução permanece em um estágio
ciclo de máquinanormalmente, igual a um ciclo de relógio (excepcionalmente dois);
Conceito de Hardware e Software 28
Pipelining
Pipelining é uma técnica que permite ao processador
executar múltiplas instruções paralelamente em
estágios diferentes.
Se assemelha muito ao de uma linha de produção.
É empregado em sistemas com um ou mais
processadores, em diversos níveis, e tem sido a
técnica de paralelismo mais utilizada para aumentar o
desempenho dos sistemas computacionais.
Conceito de Hardware e Software 29
Arq. Pipeling em 4 estágios
tempo
Instr.1P1
Unidade de
Busca da
instrução
t0
Instr.2
Instr.1P2
Analisador
Da
instrução
t1
Instr.3
Instr.2
Instr.1P3
Unidade de
Busca dos
dados
t2
Instr.4
Instr.3
Instr.2
Instr.1P4
Unidade de
Execução da
instrução
t3
Instr.5
Instr.4
Instr.3
Instr.2
t4
Instr.6
Instr.5
Instr.4
Instr.3
t5
Instr.7
Instr.6
Instr.5
Instr.4
t6
Conceito de Hardware e Software 30
Linguagem de máquina
A linguagem de máquina de um computador é a linguagem de
programação entendida pelo processador.
Cada processador possui um conjunto definido de instruções de
máquina, definido pelo seu fabricante.
As instruções de máquinas fazem referências a detalhes, como
registradores, modos de endereçamento e tipos de dados, que
caracterizam um processador e suas funcionalidades.
Um programa escrito em linguagem de máquina para
um determinado processador não pode ser executado
em outra máquina com uma arquitetura diferente,
O conjunto de instruções de um processador é característica
específica da arquitetura.
Conceito de Hardware e Software 31
Arquitetura RISC
Um processador com arquitetura RISC ( Reduced Instruction
Set Computer) se caracteriza por:
possuir poucas instruções de máquinas, em geral
bastante simples, executadas diretamente pelo hardware.
Arquitetura CISC
Os processadores com arquitetura CISC (Complex Instruction
Set Computers) se carcteriza por:
possuir instruções complexas que são interpretadas
por microprogramas.
Conceito de Hardware e Software 32
Arquitetura RISCxCISCArquitetura RISC Arquitetura CISC
Poucas Instruções Muitas Instruções
Instruções executas pelo
hardware
Instruções executadas por
microcódigos
Instruções com formato
fixo
Instruções com diversos
formatos
Instruções utilizam poucos
ciclos de máquinas
Instruções utilizam
múltiplos ciclos
Instruções com pouco
modos de endereçamento
Instruções com diversos
modos de endereçamento
Arquitetura com muitos
registradores
Arquitetura com poucos
registradores
Arquitetura pipeling Pouco uso da técnica de
pipelinigEx.
SP
AR
C (
Su
n),
RS
-60
00 (
IBM
), P
A-R
ISC
(H
P),
Alp
ha
AX
P (
Co
mp
aq
) e
Rx
00
0 (
MIP
S).
Ex
. V
AX
(D
EC
), P
enti
um
(In
tel)
e 6
8xx
x
(Mo
toro
la).
Conceito de Hardware e Software 33
Máquinas de Níveis?
Linguagem de máquina
Linguagem de máquina
Microprogramação
Circuitos Eletrônicos Circuitos Eletrônicos
Utilitários Utilitários
Sistema Operacional Sistema Operacional
Aplicações Aplicações
Arquitetura RISC Arquitetura CISC
Conceito de Hardware e Software 34
Software
Para que o hardware tenha utilidade pública, deve
existir um conjunto de programas, utilizado como
interface entre as necessidades do usuário e as
capacidades do hardware. O uso de softwares
adequados às diversas tarefas e aplicações torna o
trabalho dos usuários muito mais simples e eficiente.
Usaremos o termo utilitário para fazer referência a
softwares relacionados mais diretamente com serviços
complementares do SO, como compiladores, linkers e
depuradores. Softwares desenvolvidos por usuários
serão denominados aplicativos ou aplicações.
Conceito de Hardware e Software 35
Tradutor
Tradutor: montador e compilador
programa fonte programa objetoTradutor
Compilador
Conceito de Hardware e Software 36
Interpretador
Tradutor que não gera módulo-
objeto
Traduz cada comando e executa
Desvantagem: tempo na tradução
Vantagem: dados dinâmicos
Exemplos: Basic e Perl
Conceito de Hardware e Software 37
Linker
Linker
Conceito de Hardware e Software 38
Loader
• Carregar na memória principal um
programa para ser executado
• Loader absoluto
• Loader relocável
Conceito de Hardware e Software 39
Depurador
• Permite acompanhar a execução de
um programa e detectar erros
• Visualização e alteração de variáveis
• Breakpoints
• Watchpoints
Conceito de Hardware e Software 40
Interpretador de comandos ou SHELL
• Interpretador de comandos ou shell
permite ao usuário interagir com o
sistema
• Linguagem de controle são os
comandos disponíveis pelo
interpretador
Conceito de Hardware e Software 41
Ativação/Desativação do SO
•Ativação do sistema - inicialmente, todo o código do
SO reside na memória secundária, como disco e fitas.
• Toda a vez que um computador é ligado, o SO tem que ser carregado na
memória principal.
• Esse procedimento, denominado ativação do sistema (boot), é realizado por
um programa localizado em um bloco específico do disco (boot block). O
procedimento de ativação varia em função do equipamento, podendo ser
realizado através do telcado, de um terminal ou no painel do gabinete do
processador .
Além da carga do SO, a ativação do sistema também consiste na execução de
arquivos de inicialização. Nestes arquivos são especificados procedimentos de
customização e configuração de hardware e software específicos para cada
ambiente.
Na maioria dos sistemas, também existe o processo de desativação
(shutdown). Este procedimento permite que as aplicações e componentes do
SO sejam desativados de forma ordenada, garantindo sua integridade.
Conceito de Hardware e Software 42
Ativação/Desativação do SO
• Ativação do sistema
Disco MemóriaPrincipal
boot
SistemaOperacional
Área doSistema
Operacional
Conceito de Hardware e Software 43
Colaborações?
Críticas??
Dúvidas???
Sugestões????
Xingamentos?????