Disciplina: Arquitetura de Computadores

Propaganda
Disciplina: Arquitetura
de Computadores
Profa. Carla Katarina de Monteiro
Marques
UERN
Programa do curso

Modelo de um Sistema de Computação:


Conceitos Básicos de Arquitetura:





Unidade de Controle e Unidade de Processamento,
Organização de Memória, Memória Auxiliar, Entrada e Saída,
Barramento
Modo de Endereçamento, Tipo de Dados, Representação de
Instruções, Conjunto de Instruções e Chamada de Subrotina,
Tratamento de Interrupções, Exceções.
Linguagem de máquina e linguagem assembly
Execução de Programas;
Arquiteturas RISC.
Computação paralela.
2
Metodologia, Técnicas de
Ensino
Aulas expositivas.
 Atividades individuais e em grupo.

3
Avaliações

1ª, 2a e 3ª aval.: avaliação teórica
4
Bibliografia

Tanenbaum, A., Organização Estruturada de
Computadores, 4a Edição, 1999.


Monteiro, Introdução à Organização de Computadores,
4a Edição, 1996.



capítulos 1, 2 e 5.
capítulos 1, 2, 5, 6, 7, 8 e 9.
Stallings, W., Arquitetura e Organização de
Computadores, 8a Edição, Prentice Hall, 2010. (Leitura
complementar)
Notas de Aula
5
Arquitetura de Computadores
Estudo sobre como projetar as partes de
um sistema de computador que são
visíveis para os programadores.
 Atributos que têm impacto direto sobre a
execução lógica de um programa.

Arquitetura de Computadores

Exemplos de atributos:
 Conjunto
de instruções;
 Número de bits usados para representar os
vários tipos de dados (caracteres 2B ou 4B);
 Mecanismos de E/S;
 Técnicas de endereçamento à memória.
Organização de Computadores
Refere-se às unidades operacionais e
suas interconexões que implementam as
especificações da sua arquitetura.
 Inclui detalhes de hardware transparentes
ao programador.
 Deve ser projetada para implementar uma
especificação particular de arquitetura

Organização de Computadores

Exemplos:
 Sinais
de controle;
 Interfaces entre o computador e os
periféricos;
 Tecnologia de memória utilizada.
Organização e Arquitetura

Exemplos Práticos:
 Projeto

de arquitetura:
Decisão de definir se um computador deve ou não
ter uma instrução de multiplicação;
 Organização

Decisão de definir se essa instrução será
implementada por uma unidade especial de
multiplicação ou por um mecanismo que utiliza
repetidamente sua unidade de soma.
Organização e Arquitetura

Na prática, arquitetura e organização
significam a mesma coisa.
Projeto de computadores atuais
Base no modelo de John Von Neumann;
 Formado pelos componentes: memória,
CPU, E/S, barramentos;
 CPU dividida em ULA e unidade de
controle.

Projeto de computadores atuais

John Von Neumann - Conceitos Básicos:
 Dados/Instruções
são armazenados em uma
única memória de leitura/escrita;
 Conteúdo da memória é endereçado pela
posição;
 Execução de instruções de modo seqüencial
(salvo exceções).
Família de Computadores
Todos os modelos possuem a mesma
arquitetura, mas com diferença de
organização;
 Assim, os modelos têm diferentes preços
e características de desempenho distintos
 A arquitetura pode sobreviver por muito
tempo, mas a organização muda ao longo
dos anos!

Família de Computadores
Entretanto, a alteração da organização
geralmente afeta a arquitetura.
 Mudanças na tecnologia influenciam a
organização e a arquitetura!

Computador Digital

Máquina que pode resolver problemas
executando uma série de instruções que lhe
são fornecidas.

Executa Programas – conjunto de instruções
que descrevem a maneira de realizar
determinada tarefa.
Circuitos de um computador
(Hardware)

Reconhecem e executam um conjunto
limitado e simples de instruções
(linguagem de máquina- binária).
 Exemplo:
soma, comparação,
transferência de dados de uma parte da
memória para outra parte.

Instruções da linguagem de máquina (decidida
pelos projetistas de computadores) devem:
 ser
simples
 ser compatíveis com o uso da máquina
 ser compatíveis com o desempenho requerido
 ter custo e complexidade da eletrônica reduzidos
(aplicação)
A linguagem de máquina (binária-baixo nível)
está muito distante de uma linguagem natural
(humana-alto nível)
Problema:
Complexidade do que as pessoas precisam fazer
versus
simplicidade do conjunto de instruções do computador


Exemplo: o usuário quer calcular a trajetória de um
foguete até a lua.
Como o usuário pode fazer isso em linguagem de
máquina? Trabalho difícil e tedioso para os humanos
Solução:
Criar uma hierarquia de abstrações de níveis mais
altos baseados nos níveis mais baixos.
Criar uma organização estruturada de computadores
para facilitar a comunicação homem-máquina
Sistema hierárquico

Constituído de um conjunto de subsistemas
inter-relacionados, cada qual, possuindo
também uma estrutura hierárquica, contendo,
em seu nível mais baixo, subsistemas
elementares.

O comportamento de cada nível depende
apenas de uma caracterização abstrata e
simplificada do sistema de nível imediatamente
inferior.
Considerações do projetista

Estrutura – modo como os componentes estão
inter-relacionados.

Função – a operação de cada componente
individual como parte da estrutura.
Computador – Estrutura
interna
 Unidade Central de
Processamento (CPU)
 Memória Principal
 Entrada/Saída
 Sistema de interconexão
Computador - Funções
básicas

Processamento de dados

Armazenamento de dados

Transferência de dados

Controle

Como solucionar:
As pessoas devem fazer X, mas os
computadores só podem fazer Y
Linguagens, Níveis e
Máquinas Virtuais

Supor a existência das linguagens:
 L1:
linguagem natural, do usuário (alto nível e
complexa)
 L0: linguagem da máquina (baixo nível e simples)

Como compatibilizar L1 com L0? Existem 2
soluções (tradução e interpretação)
 usar
um tradutor
 usar um interpretador
Pode ser utilizada uma
metodologia híbrida:
tradutor + interpretador
Tradutor:
 Cada
instrução de L1 é substituída por um conjunto
de instruções equivalentes de L0 .
 Processador executa programa em L0.
 Todo programa em L0 é carregado em memória e é
executado.
 Programa pode ser traduzido uma única vez e
executado várias vezes.
Alguns autores usam o termo tradução em sentido genérico,
englobando os conceitos de compilação e interpretação. Aqui, ele
está sendo empregado como sinônimo de compilação.
Interpretador:

Cada instrução de L1 é substituída por um conjunto
de instruções equivalentes de L0 .
 Processador executa uma instrução de L1
(transformada para L0) antes de executar próxima
instrução.
 Cada instrução de L1, transformada para L0, é
carregada na memória e executada.
 Não é criado um programa em L0.
 Programa deve ser novamente interpretado para ser
executado.
Outra solução:

É possível não pensar em tradução ou
interpretação, imaginando-se a existência de
um computador hipotético, ou de uma máquina
virtual M1, cuja linguagem de máquina seja L1
(e uma máquina real M0 com linguagem L0)

Os programas poderiam ser escritos em L1,
para a máquina M1 e:
1.
2.
serem executados diretamente em M1 se esta
máquina fosse de custo de construção baixo ou
serem traduzidos ou interpretados para L0 e
executados em M0.
Outra solução:

Na prática se implementa a solução 2.

As pessoas escrevem programas para
máquinas virtuais como se elas realmente
existissem.

Muitos níveis de máquinas virtuais podem ser
implementados.

Cada linguagem usa a sua linguagem
antecessora como base, de modo que um
computador que use essa técnica pode ser visto
como um conjunto de camadas ou níveis.
Máquina de vários níveis
Máquinas Multiníveis Modernas
Computador
com 6 níveis
Método por
meio do qual
cada nível que é
suportado é
indicado abaixo
do nível (junto
com o nome do
programa que o
suporta).
Obs.: Existe um outro nível situado abaixo do Nível 0 – nível dos dispositivos. Nesse
nível o projetista trabalha com os elementos básicos do projeto (transistores).
Nível 0: Nível da Lógica
Digital

Nível mais baixo da estrutura.

Objetos de interesse são conhecidos como portas
lógicas.

Cada porta lógica possui 1 ou mais entradas digitais
(aceitam 0 ou 1) e calculam funções lógicas simples
sobre essas entradas. Exemplos: AND, OR, XOR,...

Portas lógicas são combinadas para formar
memórias de um bit  registradores  o
processador - principal dispositivo do computador.
Nível 1: Nível da Microarquitetura

Uma memória local (8 a 32 registradores) e a UAL
(Unidade Aritmética Lógica) que realiza operações
aritméticas muito simples.

Registradores - conectados a UAL formando o
caminho dos dados.

Operações são controladas por um microprograma
ou diretamente por hardware.

Microprograma - interpretador para as instruções do
Nível 2. Busca, decodifica e executa as instruções,
uma a uma, usando o caminho de dados para a
realização desta tarefa.
Nível 2: Nível da Arquitetura
do Conjunto de Instruções





Nível ISA - Instruction Set Architecture.
Definida pelo fabricante e dependente da arquitetura
da máquina.
Fabricantes disponibilizam “Manual de Referência da
Linguagem de Máquina” ou “Princípios de operação
do Computador Modelo XYZW” (ou algo similar).
Manuais descrevem como as instruções são
executadas interpretativamente pelo microprograma
ou como são executadas diretamente pelo hardware.
Essas informações são necessárias para os
desenvolvedores de sistemas operacionais.
Nível 3: Nível do Sistema
Operacional






Instruções da linguagem deste nível também podem
conter instruções do nível ISA.
Suporta uma organização diferente de memória.
Suporta capacidade de rodar 2 ou mais programas
simultaneamente.
Suporta sistemas de comandos ou de janelas
(windows).
Programadores deste nível, e também dos níveis
mais baixos, são conhecidos como programadores
de sistema.
Os programadores dos níveis mais altos que este
são chamados programadores de aplicação.
Nível 4: Nível da linguagem
do montador ou de montagem
(Assembly language)

Linguagem de montagem: forma simbólica de
representação das linguagens do nível mais baixo.

Programas nessa linguagem são, inicialmente,
traduzidos para as linguagens dos níveis 1, 2 e 3 e
depois interpretados pela máquina virtual
apropriada ou pela própria máquina real.

Programa que realiza a tradução - montador.
Nível 5: Nível das linguagens
orientadas para solução dos
problemas

Conhecidas como linguagens de alto nível.
Exemplos: Basic, C, Pascal, Java, LISP, ....

Programas são geralmente traduzidos para os
níveis 3 e 4 por compiladores.

Alguns são interpretados: Exemplos: programas em
Java, MatLab, ...
Observações finais
importantes:

Computadores são projetados como uma série de
níveis, cada um deles construído em cima de seus
precursores.

Cada nível representa uma abstração distinta, com
diferentes objetos e operações.

A abstração permite ignorar, "abstrair",
temporariamente detalhes irrelevantes, de níveis
mais baixos, reduzindo uma questão complexa a
algo muito mais fácil de ser entendido.
Observações finais
importantes:
 Conjunto
de tipos de dados, operações
e características de cada um dos
níveis - arquitetura do nível.
 Partes
da arquitetura - as
características que um programador do
nível deve enxergar, por exemplo, a
disponibilidade de memória.
Evolução das máquinas de
vários níveis
Primeiros computadores – fronteira
entre o hardware e o software era
muito clara.
– muito difícil separar o
hardware do software.
 Atualmente
Evolução das máquinas de
vários níveis
Hardware e software são
equivalentes logicamente.

Qualquer operação realizada por software pode ser
realizada diretamente por hardware.

Qualquer instrução executada por hardware pode
ser simulada em software.
“O hardware é simplesmente o software petrificado”
Evolução das máquinas de
vários níveis

Fatores que influenciam na decisão de se colocar
funções em hardware ou software:
 Custo
 Velocidade
 Confiabilidade
 Freqüência

esperada de mudanças
A decisão muda com a evolução da tecnologia e da
própria utilização do computador.
A invenção da
Microprogramação

Década de 40 - Primeiros computadores:
2

níveis - Nível ISA + Nível da Lógica Digital
Década de 50
de construção de um computador de 3 níveis –
simplificação de hardware
 Acoplar à máquina um interpretador (microprograma)
para executar programas do nível ISA (por
interpretação). Conseqüências:
 Idéia
número de circuitos (hardware + simples)
confiabilidade da máquina (circuitos à válvula)

Década de 1960 - surgiram muitas máquinas com a
filosofia de 3 níveis.

Década de 1970 - uso do nível ISA interpretado por
microprograma, ao invés de executado diretamente
por circuitos eletrônicos, tornou-se uma prática
comum.
Invenção do Sistema Operacional

Primórdios:
 Computadores
eram operados e gerenciados pelo
próprio programador .
 Computadores executavam apenas um programa
por vez (disponível para um único usuário).
Mecanismo de
entrada de
dados
Exemplo de execução de um
programa em FORTRAN
1.
2.
3.
4.
5.

Colocar cartões do compilador FORTRAN na leitora +
mandar executar (botão de início de operação da leitora);
Colocar cartões do programa na leitora (1a vez) + executar;
Colocar cartões do programa na leitora (2a vez) + executar
(compilador de 2 passos);
Se programa não tem erro, o compilador perfurava cartões
com código de máquina. Senão, corrige programa e volta ao
passo 1;
Colocar programa em linguagem de máquina + cartões da
biblioteca Fortran e executar;
Programa é executado. Se há erro de lógica,
corrige e volta ao passo 1.
Invenção do Sistema
Operacional

Por volta de 1960, foi criado o Sistema
Operacional (SO).

Objetivo: facilitar a operação do computador.

O Sistema operacional era mantido na memória
do computador durante todo o tempo de
utilização.

Cartões de controle comandavam instruções do
SO.
Exemplo de um Job para o
Sistema Operacional FMS
(FORTRAN Monitor System)
Cartões de controle:
*JOB - identifica o usuário.
Programa
FORTRAN
*FORTRAN - carrega
compilador.
*DATA - executa o programa
com os dados que seguem.
Programa é executado em
sistema BATCH.
Cartões de
dados
Invenção do Sistema
Operacional
Unidade
de Fita
Entrada
Sistema
da Fita
de Fitas
Saída
de Fita
Leitora de
Impressora
cartões
1401
7094
1401
Um sistema “batch” antigo. ( a ) Programadores levam cartões ao
1401. ( b ) 1401 lê batch de jobs em fita. ( c ) A operadora acopla fita
de entrada no 7094. ( d) O 7094 faz o processamento. ( e ) A
operadora acopla fita de saída no 1401. ( f ) O 1401 imprime a saída.
Invenção do Sistema
Operacional
Evolução do SO - incorpora, além de algumas
instruções do ISA, tratamento de Entrada/Saída.

As instruções do SO eram conhecidas por macros
do SO ou chamadas ao supervisor (atualmente:
chamadas ao sistema).

1960 (MIT) - SO com compartilhamento de vários
usuários (terminais ligados ao computador por
linhas telefônicas) - Sistemas de Tempo
Compartilhado.
Migração de funcionalidades
para o Microcódigo

1970 - explosão nos conjuntos de instruções das
máquinas, expandindo-se o microprograma –
Adicionar “hardware” (novas instruções de máquina)
por meio de programação.

Exemplos de novas funcionalidades, instruções para:
 multiplicação
e divisão de inteiros
 aritmética em ponto flutuante
 chamada e retorno de procedimentos
 acelerar a execução de loops
 manipulação de strings (cadeias) de caracteres
Migração de funcionalidades
para o Microcódigo

Facilidade da microprogramação  incorporação de
novas funcionalidades para:

acelerar o processamento de programas envolvendo cálculo
matricial (indexação e endereçamento indireto);
 permitir que os programas pudessem ser deslocados de
posição de memória, após o início da execução (realocação);
 tratar interrupções que enviam um sinal para o processador
logo que uma operação de E/S termine;
 suspender a execução de um programa e iniciar a execução
de outro (troca de contexto entre processos).
A eliminação da
Microprogramação

Décadas de 1960 a 1970
 Microprogramas
cresceram muito.
 Conseqüência: tornaram-se lentos.

Retorna a idéia:
 instruções
e funcionalidades executadas por hardware.
Conclusões:



Fronteira entre o hardware e o software pode ser
arbitrária e está sempre mudando.
O que hoje está implementado em software poderá
em breve estar implementado em hardware, e viceversa - O software de hoje pode ser o hardware de
amanhã e vice-versa.
As fronteiras entre os demais níveis não estão bem
definidas e podem também ser alteradas.
Conclusões:

Do ponto de vista do programador, não tem
muita importância a maneira como uma
instrução é realmente implementada.

Programador de um nível, em geral, não deve se
preocupar com implementações de níveis
inferiores.
Computador

É uma máquina cuja função é resolver problemas
através da execução de instruções fornecidas.

É constituída basicamente por um conjunto de
dispositivos eletrônicos e eletromecânicos que permitem
transmitir, guardar e manipular informações.

Computadores digitais x computadores analógicos
Processamento de dados

tradução do termo inglês Data Processing.

Consiste em uma série de atividades ordenadamente
realizadas, com o objetivo de produzir um arranjo
determinado de informações a partir de outras obtidas
inicialmente.

Etapas básicas de um processamento de dados
Dados
Processamento
Resultado:
informação
Dado x informação
Dado:.
 Conjunto de fatos ou valores medidos (numéricos ou
não) sem significado próprio. Consiste na etapa inicial do
processamento.
 Tipos de dados:




Numéricos: inteiro, real, etc.
Alfanuméricos: nomes, endereços, etc.
gráficos: mapas, desenhos, etc.
sonoros: música, voz, etc.
Dado x informação

Informação:
 Representa o dado devidamente “tratado”. É a etapa final
do processamento.
 A informação é o significado que se confere aos dados,
que pode ser diferente conforme o contexto de aplicação
dos mesmos.

Exemplo:
Dado
Elefante
Processamento
Resultado:
Processando
o dado elefante
É um mamífero,
de grande porte,
e que se alimenta
de vegetais.
Programa

Formado por um conjunto de instruções, as quais
executadas passo a passo realizam uma determinada
ação.

Exemplo:
 operação
aritmética;
 transferência de dados;
 etc.
Algoritmo

“É uma descrição de um padrão de comportamento
expresso em termos de um repertório bem definido e
finito de ações ‘primitivas’, as quais damos por certo que
podem ser executadas”. (Guimarães/Lages)

O computador necessita de instruções precisas,
completas e finitas sobre cada passo a executar.

Exemplo:
Fazer um algoritmo que calcule
a área de uma circunferência:
1. Ler o valor numérico para o raio do circulo
e armazenar na memória;
2. Calcular o valor da área utilizando da
fórmula indicada e também armazená-lo
na memória;
3. Imprimir e/ou mostrar no vídeo os valores
dos raios e áreas correspondentes;
4. Parar.
Linguagem de
Máquina x Linguagem
de alto nível
Quando o pastor
rechaça o lobo, o
rebanho chama o
pastor de libertador
mas o lobo chama-o
de tirano
Da-da
Linguagem de Máquina ou de baixo nível

A linguagem de um computador é baseado
em impulsos elétricos (0 = desligado, 1 =
ligado);

É uma linguagem de difícil manipulação e
entendimento pelo ser humano.
Linguagem de alto nível

Foram desenvolvidas linguagens de programação
próximas do estilo de linguagem humana (Pascal,
Fortran, C);

Estas linguagens apresentam uma sintaxe rígida sobre a
qual são construídas as descrições de cada passo de um
algoritmo.

Linguagens de alto nível são transformadas em
linguagem de computador (linguagem de baixo nível ou
de máquina) por programas interpretadores ou
tradutores.
Exemplos de programas:

Linguagem Delphi
Procedure Tform1.TesteAsm;
Var I, Total: integer;
Begin
Total :=0;
For i :=0 to 5 do
Total :Total + 10;
end;
Linguagem Assembly
Push ebp
Mov ebp, esp
Add esp, -$0c
Mov [ebp-$04],eax
Xor eax, eax
Mov [ebp-$0c], eax
Add dword ptr [ebp-$0c], $0a
Mov [ebp-$08], $00000001
Inc dword ptr [ebp-$08]
Cmp dword ptr [ebp-$08], $06
Jnz Tform1.testAsm + $15
Mov esp, ebp
Pop ebp
ret
Linguagem de Máquina
01010101
000101111101100
100000111100010011110100
100010010100010111111100
0011001111001101
100010010100010111111100
1100011101000101111100001000000
10000011010001011111010000001010
111111110100010111111000
10000011011111011111100000000110
0111010111110011
1000101111100101
01011101
11000011
Software x Hardware
Hardware

Conjunto formado pelos circuitos eletrônicos e
partes eletromecânicas de um computador.

Ainda não há uma tradução adequada para o
termo hardware.

Constitui a parte física, visível do computador.

Os principais componentes de hardware de um
sistema computacional podem ser agrupados
nas seguintes categorias:
 Dispositivos
de entrada;
 CPU e memória principal;
 Dispositivos de armazenamento ou memória
auxiliar;
 Dispositivos de saída;
CPU
Cache
MP
E/S
Memória
Auxiliar
Barramentos de dados, endereços e controle
Processador
 Também conhecido como CPU (Central Processing
Unit - Unidade Central de Processamento). Nos
computadores pessoais o processador é um único chip,
chamado microprocessador.
 O Processador é considerado o componente vital de um
sistema computacional.
 Além de executar as ações finais (operações aritméticas
com os dados) controla quando e o que deve ser
realizado pelos demais componentes, emitindo os sinais
de controle.
Memória


Tem como função armazenar dados e/ou
informações que são (ou serão) manipuladas
por esse sistema, para que possam ser
prontamente recuperadas, quando necessário.
É dividida em duas categorias:
 A memória principal, que está conectada
diretamente ao processador.
 A memória secundária ou de massa, responsável
pelo armazenamento de um grande volume de
dados.
Memória Principal
 Utilizada para guardar dados/informações que estão
sendo utilizados pela CPU em alguma fase de
processamento.
 Essas informações são representadas eletronicamente
no chip da memória e, enquanto estão na nela, o
computador pode acessá-los diretamente.
 Tipos: Memória RAM; Memória ROM; Memória
CACHE.
Memória RAM
 Significa Random Access Memory ou Memória de
Acesso Aleatório.
 É a memória de trabalho da CPU.
 São fabricadas em forma de Circuitos Integrados.
 A informação armazenada nessa memória é apenas
temporária  memória volátil
 Quanto mais memória RAM o computador possuir,
mais ele poderá fazer ou maior será a velocidade de
processamento.
Memória ROM
 Significa Read Only Memory ou memória somente de
leitura.
 Nela estão contidos os códigos básicos de operação do
equipamento, suas rotinas de inicialização e auto-teste
 Forma o sistema básico de entrada e saída (BIOS) da
máquina.
 A informação armazenada nessa memória é
permanente  memória não volátil.
Memória CACHE
 É uma memória de alta velocidade (comparável à da
CPU) e de capacidade menor que a MP.
 Está localizada, logicamente, entre a CPU e a MP para
armazenar dados e instruções que deverão ser
imediatamente utilizados pela CPU.
 Tem por finalidade acelerar o processamento do
sistema CPU/MP.
 Esta memória passou a existir a partir das placas 386
DX de 25MHz.
Memória Secundária
• Também conhecida como memória auxiliar ou memória de
massa.
• É um tipo de memória utilizada para um armazenamento mais
permanente de toda a estrutura de dados e programas do usuário.
• Possui uma capacidade maior que a da MP, com tempo de
acesso mais elevado.
• Ex.: disquetes, disco rígido, fitas magnéticas, CD-ROM, etc.
Disco rígido (Hard Disk ou Winchester)
• São discos magnéticos formados por várias chapas de alumínio
que giram em altíssima velocidade.
• Cada chapa de alumínio tem um cabeçote de leitura que faz a
leitura e a gravação de dados.
• Permite um acesso rápido e o armazenamento de uma grande
quantidade de Informações.
• É importante lembrar que estes discos podem ser danificados por
excesso de trepidação no local de instalação.
CD
• Os discos ópticos utilizam a tecnologia do raio-laser.
• Podem ser divididos em:
• CD-ROM
• ROM é a sigla de Read Only Memory - Memória apenas de
leitura;
• Não nos permite gravar nada em seu interior, apenas
consultar seus dados.
• CD-WORM
• WORM é a sigla de Write Once Memory - Memória de
apenas uma gravação - os CDs regraváveis.
• Utilizam um drive de CD diferente do de CD-ROM.
• CD-R/W
• Utilizam um drive de CD diferente do de CD-ROM.
• Os CDs possuem grande capacidade de armazenamento (acima
de 650 MB)
DVD
• Inicialmente era chamado Digital Video Disk.
• Atualmente, Digital Versatile Disk
• Por ser mais compacto que os CD´s, pode alcançar a marca dos
4.7 GB de armazenamento.
• Opera a velocidades mais elevadas que os CD´s (1,4 MB/s contra
150 KB/s, para a velocidade 1x).
Dispositivos de Entrada/Saída
 Entrada/Saída (E/S) compreende todas as maneiras como o
computador se comunica com os usuários e outras máquinas ou
dispositivos.
 Sem E/S, o computador ficaria isolado do mundo. Ele não
conseguiria receber instruções e, mesmo que tivesse instruções
permanentemente inseridas em sua memória, não teria como
comunicar os resultados de seu trabalho.
•
Exemplos de dispositivo de entrada: Teclado, mouse, leitores ópticos
ou leitores a laser (leitores para códigos de barras), scanners,
sensores, light pen, mesas digitalizadoras, câmaras CCD (charge
coupled device), filmadoras, WEB câmaras e outros.
•Exemplos de dispositivo de saída: Impressoras (matricial, laser, jato
de tinta), Monitor (CGA, SVGA)
•
Portas Paralelas
•
É uma interface de comunicação entre o computador e um periférico.
•
Foi inicialmente concebido pela IBM para conectar impressoras.
•onhecendo-se um pouco de eletrônica e dominando uma linguagem
C
de programação como: C/C++/C++ Builder, Pascal/Delphi ou mesmo
o Visual Basic, é possível desenvolver um programa que controle um
aparelho conectado à Porta paralela, ou um programa de transferência
de arquivos entre dois computadores, utilizando um cabo paralelo
como meio de transmissão.
Barramento (Bus)

É o caminho de comunicação entre a CPU e os demais
componentes de um computador, ou sistema
computacional.

Todo computador tem três tipos de barramentos:
 O barramento de endereço;
 O barramento de dados;
 O barramento de controle.

Outra Classificação:
 Barramento Local;
 Barramento do Sistema;
 Barramento de Expansão.
Software

É considerado a parte lógica de um sistema de computação;

O hardware sozinho não funciona sem instruções (software)
sobre o que e quando fazer.

O software consiste em programas, de qualquer tipo e em
qualquer linguagem, que são introduzidos na máquina para
fazê-la trabalhar, passo a passo, e produzir algum resultado.
• Divide-se em dois grupos básicos:
•
•
Softwares aplicativos.
Softwares básicos.
• Software básico
• É uma coleção de programas escritos para dar apoio a outros
programas.
• Características:
• forte interação com o hardware do computador;
• intenso uso por múltiplos usuários;
• compartilhamento de recursos e sofisticada administração do
processo;
• estruturas de dados complexas;
• múltiplas interfaces externas.
• Exemplos: sistemas operacionais, compiladores.
• Softwares Aplicativos:
• São programas desenvolvidos pelo usuário ou por terceiros, que
são dedicados a uma aplicação.
• Algumas categorias:
• Aplicações comerciais (editores de texto, planilhas
eletrônicas, banco de dados, aplicações gráficas, etc);
• Utilitários (ampliam os recursos de um sistema operacional,
ex.: Norton Utilities)
• Aplicações pessoais (destinados a simplificar as tarefas
pessoais. Ex.: agendas pessoais, “internet”)
• Aplicações de entretenimento
A máquina de Von Neumann
MEMÓRIA
UNIDADE
DE
CONTROLE
UNIDADE
ARITMÉTICA
E
LÓGICA
ACC
ACC = Acumulador
ENTRADA
SAÍDA
Download