aula 02 – conceitos de hardware e...

40
Aula 02 - Conceitos de Hardware e Software Por Sediane Carmem Lunardi Hernandes 1

Upload: phungthuan

Post on 05-Jan-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Aula 02 - Conceitos de

Hardware e Software Por Sediane Carmem Lunardi Hernandes

1

1. Hardware

Unidades funcionais

2

MemóriaPrincipal

Dispositivosde E/ S

Processador / UCP

Unidade Lógicae Aritmética

Registradores

Unidade deControle

UCP (Unindade Central de Processamento) = CPU (Central Processing Unit)

1.1 Processador

É o cérebro do computador e é nele que as informações são processadas

Controla e executa instruções presente na memória principal, através de operações básicas como somar, subtrair, comparar e movimentar dados

Composto por:

◦ Unidade de Controle (UC): Acessa sequencialmente as instruções do programa, decodificando-as, e

coordena o fluxo de dados de entrada e saída da unidade lógica e aritmética, registradores, armazenamento primário e até armazenamento secundário e vários dispositivos de saída

Ou seja, gerencia as atividades de todos os componentes do computador, como a gravação de dados em disco ou a busca de instruções na memória

◦ Unidade Lógica e Aritmética (ULA): Realiza cálculos matemáticos e faz comparações lógicas

◦ Registradores São áreas de armazenamento de alta velocidade utilizadas para o

armazenamento temporário de instruções e dados imediatamente antes, durante e depois da execução pelo processador (CPU) 3

1.1 Processador (cont.)

Registradores de destaque: ◦ Contador de instruções (Program Counter – PC)

Contem endereço da próxima instrução que o processador deve buscar e executar

Toda vez que o processador busca uma nova instrução, este registrador é atualizado com o endereço de memória da próxima instrução a ser executada

◦ Apontador de Pilha (Stack Pointer – SP) Contém o endereço de memória do topo da pilha (estrutura

de dados onde o sistema mantém informações sobre programas que estavam sendo executados e tiveram que ser interrompidos)

◦ Registrador de Status (Program Status Word - PSW) Armazenam informações sobre a execução das instruções

Estouro de pilha (Overflow)

Sinal

Zero

4

1.1 Processador (cont.)

A execução de qualquer instrução

envolve (Ciclo de fetch-decode-execute):

1) Busca da instrução

2) Decodificação da instrução

3) Execução da instrução

5

Busca instrução na

memória

Executa instrução no

processador

Decodifica instrução da

memória

1.1 Processador (cont.)

Completar a fase de busca, decodificação e execução da instrução Ciclo de máquina

◦ Computador executa uma instrução durante um ciclo de máquina

Tempo em que ocorre ciclo de máquina

Nanossegundos (1 bilionésimo de segundo)

Picossegundos (1 trilionésimo de segundo)

Também, pode ser medido pelo número de instruções executadas em um segundo

MIPS = milhões de instruções por segundo

Entretanto, CPU produz sério de pulsos eletrônicos a uma taxa predeterminada (velocidade de relógio)

◦ Afeta o tempo do ciclo de máquina

6

1.1 Processador (cont.)

Pulsos eletrônicos são gerados pelo clock

◦ O clock é um dispositivo localizado na UCP que gera pulsos elétricos síncronos em um determinado intervalo de tempo (sinal de clock)

◦ A quantidade de vezes que este pulso se repete em um segundo define a frequência do clock

A frequência do clock (velocidade de relógio) de um processador é muitas vezes medida em

◦ Megahertz (MHz – milhões de ciclos por segundo, ou seja, em um segundo são buscadas, decodificadas e executadas milhões de instruções)

◦ Gigahertz (GHz – bilhões de ciclos por segundo)

7

Curiosidade

Intel 8080 (1982): velocidade de relógio

de 2MHz

Pentium 4 (2002): velocidade de relógio

de 3.2 GHz

8

Quanto mais rápida a velocidade

de relógio do processador, mais

calor é gerado, e esse calor deve

ser dissipado para evitar

corromper dados e instruções que

o computador está tentando

processar

2006 Dell ,Apple, Toshiba, Lenovo (recall de baterias)

1.1 Processador (cont.)

Exemplificando: ◦ Processador de 500 MHz – 500.000 KHz –

500.000.000 Hz Quinhentos milhões de ciclos de máquina por segundo,

ou seja, 500 milhões de instruções são executadas (buscadas e decodificadas) a cada ciclo de clock (velocidade de relógio)

◦ Processador de 2.5 GHz – 2.500 MHz – 2.500.000 KHz – 2.500.000.000 Hz Dois bilhões e 500 milhões de ciclos de máquina por

segundo, ou seja, dois bilhões e 500 milhões de instruções sendo buscadas, decodificadas e executadas por ciclo de clock

◦ E um processador de 2.26 GHz?

9

1.1 Processador (cont.)

Qual processador apresenta maior velocidade de processamento?

◦ 900 MHz ou

◦ 1.0 GHz?

Resposta:

◦ 900 MHz – 900.000 KHz – 900.000.000 Hz, ou seja, 900 milhões de instruções sendo executadas a cada ciclo de clock (velocidade de relógio)

◦ 1.0 GHz – 1.000 MHz – 1.000.000 KHz – 1.000.000.000 Hz, ou seja, 1 bilhão de instruções sendo executadas em um único clico de clock

10

1.1 Processador (cont.)

Exercite

◦ Quantos ciclos de máquina por segundo

apresentam os seguintes processadores?

a) Processador de 2.5 GHz

______________________________

b) Processador de 3.0 GHz

______________________________

c) Processador de 3.2 GHz

______________________________

11

1.2 Memória principal Local onde são

armazenados dados e instruções

Composta por células, sendo que cada célula é composta por um número determinado de bits

A maioria dos computadores utiliza células de 8 bits (1 byte)

Acesso ao conteúdo de uma célula (leitura ou gravação) é realizado através da especificação do endereço da célula

Classifica-se em: RAM, ROM e Cache

12

célula = 8 bits

en

dere

ços

0

2 -116

2

1

instrução ou dado

Memória com 64Kbytes

1.2 Memória principal (cont.)

RAM (Random Access Memory – Memória de Acesso Aleatório) ◦ localiza-se fisicamente perto da CPU, mas não no

próprio chip da CPU

◦ é a área de trabalho do computador

◦ é volátil, porque todo o seu conteúdo é perdido ao se desligar o computador

◦ Variedades: SRAM (Static Random Access Memory): usada em caches e em

registradores

DRAM (Dynamic Random Access Memory): utilizada em uma memória principal

DDR RAM: forma aperfeiçoada de DRAM que dobra a taxa na qual os dados podem ser movidos para fora e para dentro da memória principal

13

1.2 Memória principal (cont.)

ROM (Read Only Memory - Memória apenas

para leitura)

◦ é menor do que a RAM e seu conteúdo já vem

gravado de fábrica

não pode ser alterado pelo usuário

◦ na ROM estão gravadas algumas informações

básicas que são executadas sempre que o

computador é ligado (instruções que dizem ao

computador como iniciar quando a energia é

ligada)

é não-volátil, porque o seu conteúdo é preservado

mesmo quando o computador for desligado

16

1.2 Memória principal (cont.)

Memória Cache

◦ Memória volátil de alta velocidade com pequena capacidade de armazenamento

◦ Armazena pequena parte do conteúdo da memória principal

◦ Toda vez que processador faz referência a dado armazenado na memória é verificado primeiro se ele se encontra na cache Cache hit

Processador encontra dado na cache

Cache miss

Processador não encontra dado na cache

17

1.3 Memória secundária

Meio permanente de

armazenamento de

programas e dados

18

maiorcapacidade de

armazenamento

maior custo evelocidadede acesso

Memória Secundária

Memória Cache

Memória Principal

Registradores

1.4 Dispositivos de entrada e saída

Utilizados para comunicação entre o hardware e o mundo externo

Categorias

◦ Memória secundária Discos

Fitas magnéticas

◦ Interface usuário-máquina

Teclados

Monitores

Impressoras

Plotters

19

1.5 Barramento

Meio físico de comunicação entre as unidades funcionais do computador

Dados, endereços e sinais de controle trafegam entre processadores, memórias e dispositivos de Entrada e Saída (E/S)

Barramento possui: ◦ Linhas de controle

Trafegam informações de sinalização (o tipo de operação que esta sendo realizada)

◦ Linhas de dados Trafegam informações como instruções e operandos que são

transferidos entre as unidades funcionais

◦ Linhas de endereço Trafegam endereços

20

1. 6 Pipelining

Técnica que permite ao processador

executar múltiplas instruções

paralelamente em estágio diferentes

Semelhante a uma linha de montagem

◦ Enquanto uma instrução se encontra na fase

de execução, uma outra instrução pode estar

na fase de busca simultaneamente

23

1.6 Pipelining (cont.)

Pipeline em quatro estágios

24

Unidade de busca dainstrução

P1 P4P3P2

Analisadorda

instrução

Unidade de busca dos

dados

Unidade de execução da

instrução

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 Instr.7

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6

Instr.1 Instr.2 Instr.3 Instr.4 Instr.5

Instr.1 Instr.2 Instr.3 Instr.4

P1

P2

P3

P4

tempo

2. Software

Para que o hardware tenha utilidade

prática é necessário um conjunto de

programas que realizem a interface entre

as necessidades do usuário e as

capacidades do hardware

Tipos de software:

1. Software básico

2. Software aplicativo

25

2.1 Software básico

São programas que definem o padrão do equipamento, sendo necessários para o funcionamento do computador, ou seja, são necessários para o funcionamento correto do equipamento. São eles:

a) Sistema Operacional

b) Utilitários

c) Ambiente operacional

d) Linguagens de programação

e) Tradutores

26

a) Sistema Operacional

O Sistema Operacional (SO) é essencial

para o funcionamento de um computador.

Sem ele, grande parte dos recursos do

sistema não estaria disponível, ou se

apresentaria de uma forma complexa para

utilização pelos usuários. O SO nada mais

faz do que controlar e coordenar todas as

operações básicas do sistema de

computação (E/S, memória, processos).

27

b) Utilitários

São programas que ampliam os recursos

do sistema facilitando o uso e auxiliando a

manutenção de programas

Podem ser vistos como softwares de

apoio à solução de problemas de disco,

memória, entre outros

◦ Compactadores e descompactadores de

arquivos, programas anti-virus, são exemplos

28

c) Ambiente Operacional

Adicionam recursos ao SO para permitir

uma interface gráfica com o usuário. É

um SO com recursos gráficos

◦ Exemplo: Windows 7

29

d) Linguagens de Programação

É um conjunto de símbolos, os quais

fazem parte de um vocabulário e regras

(gramática) que especificam como

transmitir informações entre os desejos

do usuário e o computador

São divididas em:

◦ linguagem de máquina;

◦ linguagem de baixo nível;

◦ linguagem de alto nível.

30

d) Linguagens de Programação

Linguagem de máquina: é baseada em código binário, isto é, em 0s e 1s. É a linguagem de programação que o processador realmente consegue entender. É uma linguagem muito mais voltada para a máquina do que para o usuário. Por exemplo, a soma do conteúdo de um registrador 1 com o conteúdo de um registrador 2 colocando o resultado no registrador 1, o que resultaria em 0001 0001 0010 em linguagem de máquina.

31

d) Linguagens de Programação

Linguagem de baixo nível: é uma

simplificação da linguagem de máquina.

Faz uso de códigos mnemônicos (conjunto

de símbolos) associados a instruções

escritas em linguagem de máquina.

Utilizando o mesmo exemplo dado acima,

a linguagem de máquina 0001 0001 0010

ficaria ADD R1 R2.

32

d) Linguagens de Programação

Linguagem de alto nível: é uma

linguagem que não exige conhecimento

do código de máquina. Utiliza combinação

de um conjunto de símbolos de acordo

com certas regras de sintaxe (escrita)

para expressar uma sequência de

operações de máquina.

33

d) Linguagens de Programação

34

Linguagem de

máquina

Linguagem de

baixo nível

Linguagem de alto

nível

0010 0001 1110 LOAD R1, val1

0010 0010 1111 LOAD R2, val2 val 2 = val1 + val2

0001 0001 0010 ADD R1, R2

0011 0001 1111 STORE R1, val2

e) Tradutores

Leem código escrito em alguma linguagem de programação e a transformam para linguagem de máquina.

Existem 3 tipos de tradutores: ◦ Montador: lê código escrito em linguagem de baixo nível

e transforma em linguagem de máquina.

◦ Interpretador: lê código escrito em linguagem de alto nível e transforma em linguagem de máquina.

◦ Compilador: lê código escrito em linguagem de alto nível e transforma em linguagem de máquina.

A diferença entre o compilador e o interpretador é que o interpretador interpreta cada comando e executa. O compilador analisa todo o programa, gera um arquivo intermediário em linguagem de máquina e depois executa.

35

2.2 Software aplicativo

São os programas voltados para a solução de problemas do usuário e que se valem das facilidades oferecidas pelo software básico. Podem ser de:

◦ Uso geral: são programas que podem ser utilizados em vários tipos de aplicações. Ex: editores de texto, gráficos, planilhas, SGBD, etc.

◦ Uso específico: se destinam exclusivamente a um único tipo de aplicação. Ex: folha de pagamento, crediário, imposto de renda, entre outras.

36

3. Arquiteturas RISC e CISC

Linguagem de máquina (0s e 1s) é a linguagem de programação que o computador realmente entende

Cada processador possui o seu próprio conjunto de instruções definido pelo fabricante

Programa em linguagem de máquina é executado diretamente pelo processador

37

Utiltários

Circuitos Eletrônicos

Microprogramação

Linguagem de Máquina

Arq

uitetu

raRIS

C

Sistema Operacional

Aplicativos

3.1 Arquiteturas RISC (Reduced

Instruction Set Computer) Processador com arquitetura RISC possui

poucas instruções de máquina (simples e executadas diretamente pelo hardware)

Instruções executadas rapidamente

Exemplo de processadores

◦ SPARC(Sun)

◦ RS-6000 (IBM)

◦ PA-RISC(HP)

◦ Alpha AXP (Compaq)

◦ Rx000(MIPS)

38

3.2 Arquiteturas CISC (Complex

Instruction Set Computers ) Instruções complexas interpretadas por

microprogramas

Número pequeno de registradores

Qualquer instrução pode referenciar a memória principal

Implementação do pipelining é mais difícil

Exemplos de processadores

◦ VAX (DEC)

◦ Pentium (Intel)

◦ 68xxx (Motorola)

39

Curiosidade

Processadores com mais de um núcleo

◦ Contam com dois ou mais núcleos distintos no mesmo circuito integrado, como se houvesse dois (ou mais) processadores dentro de um chip

dispositivo pode lidar com dois processos por vez (ou mais), um para cada núcleo, melhorando o desempenho do computador como um todo

◦ Vantagem: podem realizar duas ou mais tarefas ao mesmo;

um núcleo pode trabalhar com uma velocidade menor que o outro, reduzindo a emissão de calor;

ambos podem compartilhar memória cache;

entre outros.

40

Exercícios

1. Observe atentamente o anúncio abaixo e indique qual é o processador envolvido e qual a velocidade de relógio do ciclo busca-decodificação -execução

a) Vende-se computador: Intel® Celeron® Processor 500 MHz, 128K Cache, 66 MHz FSB (velocidade do barramento que liga CPU e memória)

Processador: ____ Velocidade do Ciclo: ____

a) Vende-se computador: Intel® Celeron® D Processor 2.26 GHz (256K Cache, 533 MHz FSB)

Processador: ____ Velocidade do Ciclo: ____

41

Exercícios

2. Indique qual é a capacidade do disco rígido, da memória RAM e a velocidade de processamento dos computadores abaixo:

I. Notebook Sony Vaio Fit SVF15213CBW com Intel® Core™ i5-3337U, 1.8 GHz, 4GB, 750GB, Gravador de DVD, Bluetooth, LED 15.5" e Windows 8 + Headphone Sony ZX300

HD: _______ RAM: _____

Velocidade de processamento: _________

1) Notebook Touch Sony Vaio Fit com Intel® Core™ i5, 2.7GHz, 6GB, 1TB, Gravador de DVD, Bluetooth, LED 14" e Windows 8 + Pasta para Notebook até 13“

HD: _______ RAM: _____

Velocidade de processamento: _________

42

Exercícios

3. Escolha, a partir dos anúncios abaixo, o notebook que possui o melhor desempenho global:

a) Notebook Positivo Unique S1991 3D com Intel® Dual Core™, 1.1GHz, 2GB, 250GB, Gravador de DVD, Leitor de Cartões, Webcam, LED 14"

b) Notebook Positivo Unique TV S2065i/2560 com Intel® Dual Core, 1.1GHz, 4GB, 500GB, Gravador de DVD, Leitor de Cartões, HDMI, TV Digital, LED 14"

43

Bibliografia

• SILBERSCHATZ, Abraham, GALVIN, Peter,

GAGNE, Greg. Fundamentos de

Sistemas Operacionais. 8ª. Ed. Rio de

Janeiro : LTC, 2010.

• MACHADO, Francis B.; MAIA, Luiz Paulo.

Arquitetura de Sistemas

Operacionais. 3ª ed. Rio de Janeiro :

LTC, 2002.

44