SlideShare uma empresa Scribd logo
1 de 134
O Hardware constitui a parte
imediatamente visível do
computador
O Software não se vê, mas sem
ele o computador seria uma
máquina completamente inerte
sem qualquer funcionalidade
prática.
Firmware E o software que é
integrado nos componentes de
hardware no seu momento de
fabricação.
Noção de Computador
Os computadores são equipamentos com capacidade para receber, armazenar,
processar e transmitir informação. A informação processada pelos computadores e
transmitida através das redes pode assumir natureza diversa (texto, jogos, sons, etc).
Todo o funcionamento dos computadores e das redes é comandado por programas que
actuam sobre a informação, transformando-a.
2
Os componentes físicos do computador constituem o hardware. Mas o hardware é
um simples conjunto potencial de recursos. São os programas, isto é, o software,
que transforma esse potencial de recursos de hardware, numa máquina funcional,
capaz de executar operações de interesse prático.
Noção de Computador
3
O processador ou CPU é o componente do hardware que descodifica e executa
as instruções dos programas. Por isso todos os programas, todas as instruções
dos programas, têm de pertencer ao conjunto das instruções que esse
processador pode executar. O conjunto de instruções que um processador pode
executar designa-se por Instruction Set.
Noção de Computador
4
Os programas são sistemas de elevadíssima complexidade, contendo milhões de
instruções (ex sistema operativo windows ou linux, processadores de texto, folhas de
cálculo, etc). Independentemente da sua complexidade, o que todos esses
programas têm em comum é o facto de serem sequências de instruções em código
binário, instruções essas que são descodificadas e executadas pelo CPU (Central
Processing Unit), qué é o orgão que num computador tem por função executar a
tarefa fundamental que é executar os programas.
CPU
11001001
10110110
11001001
10110110
11011100
11001001
11011100
Programas
Noção de Computador
5
Alguns dispositivos de
hardware contêm software
que é gravado de forma
permanente quando o próprio
de hardware é fabricado.
Nesses casos, é tão intima a
ligação entre o hardware e o
software que só
conceptualmente se pode
distinguir uma coisa da outra.
O Firmware de um computador está inscrito na memória permanente designada pela sigla
ROM (Read Only Memory). Esse Firmware contém os programas de arranque que
começam imediatamente a ser executados quando o computador é ligado. Esses
programas executam um conjunto de operações de iniciação (ex. carregar o SO para a
memória RAM) e de testes (autodiagnóstico do sistema) designados pela sigla POST
(Power On Self Test).
O Firmware de um computador contém igualmente um conjunto de rotinas de software
designadas por BIOS (Basic Input Output System). Este software estabelece a comunicação
com alguns periféricos básicos do computador.
Noção de Computador
Arquitectura e Organização
A arquitectura de um computador corresponde ao desenho lógico das funcionalidades
do computador. Um computador apresenta um interface lógico, um conjunto de
funcionalidades e, particularmente, um instruction set, que definem aquilo que
constitui o potencial do hardware do sistema.
Technology
Technology
Technology
Technology
AMD INTEL
Architecture
Logical
Interface
Structure
and
Organization
Technology
Se a arquitectura define as funcionalidades do computador e como elas podem ser
vistas pelo programador, a organização e a estrutura definem os componentes e as
tecnologias que são usadas para implementar essa arquitectura.
Do ponto de vista de um processador, a sua
arquitectura ISA (Instruction Set Architecture)
define o conjunto de instruções (Instruction Set)
desse processador, assim como o numero e tipo de
registos internos que o computador deve possuir.
No entanto, essa arquitectura pode ser
implementada de muitas formas diferentes, usando
diferentes tecnologia
Arquitectura de um Sistema Computacional
CPU: o CPU
recebe dados e
Interrupts de
periféricos
através dos
módulos de Input
/ Output
CPU: o CPU
envia dados
para os
periféricos
através dos
módulos de I /
O
CPU-Memória: o CPU
acede à memória para
leitura
DMA (Direct
Memory Access):
Sistema que permite
a troca directa de
dados entre a
memória e os
módulos de I/O
através de um
controlador auxiliar
que funciona como
um Bus Master.
Um interrupt é um sinal que pode ser gerado por um
dispositivo de hardware ou pelo próprio software. Esse sinal
“pede” ao processador para executar um código associado a
esse interrupt é designado por interrupt handler ou
interrupt service routine (ISR).
A execução de um programa consiste na sistematica
repetição Instrution Cycle, que consiste na recolha da
próxima instrução (fetch cycle) seguido da execução da
instrução (execute cycle). No entanto, antes de iniciar um
fetch cycle o processador pode ter de executar um
interrupt. Nesse caso, os dados dos registos internos são
guardados e o processador executa um interrupt handler.
O DMA é uma característica essencial dos computadores modernos. Normalmente o
único componente que acessa a memória RAM da máquina é o processador. O recurso
DMA permite que outros componentes também acessem a memória RAM
diretamente, como discos rígidos, o que aumenta o desempenho na transferência de
grande quantidade de dados. De outra maneira, a CPU teria que copiar todos os dados
da fonte até o destino. Isto é tipicamente mais lento do que copiar blocos de dados
dentro da memória, já que o acesso a dispositivo de I/O através de barramentos
periféricos é mais lento que a RAM. Durante a cópia dos dados a CPU ficaria
indisponível para outras tarefas.
Uma transferência por DMA essencialmente copia um bloco de memória de um
dispositivo para outro. A CPU inicia a transferência, mas não executa a transferência.
Para os chamados third party DMA, como é utilizado normalmente nos barramentos
ISA, a transferência é realizada pelos controladores DMA que são tipicamente parte do
chipset da placa mãe. Projetos mais avançados de barramento, como o PCI,
tipicamente utilizam bus-mastering DMA, onde o dispositivo toma o controle do
barramento e realiza a transferência de forma independente.
Dados versus Informação
 Dados: Representação de
factos, conceitos ou
instruções de um modo
convencional e adequado à
comunicação, interpretação
ou tratamento por meios
humanos ou automáticos
 Informação: Significado atribuído
aos dados através de convenções
a eles aplicadas, portanto
articulados entre si
9
 Um facto ou um dado susceptível de transportar conhecimento é informação
 Toda a informação capaz de ser reduzida a um conjunto de dados sujeitos a
operações repetitivas é automatizável (por contraponto com a informação não
automatizável)
Informação
automatizável
DADOS
Operações sobre dados
PROCESSAMENTO
Resultados
INFORMAÇÃO
Dados versus Informação
10
A representação de qualquer tipo de informação num computador é um valor que
pode ser numericamente representado por um dígito binário, o bit (do inglês binary
digit).
Para que a troca de informação entre diferentes equipamentos computacionais seja
uma realidade, é necessário que todos “falem” a mesma linguagem, por forma a
não haver distorções na informação enviada e recebida . Para isso, a informação
deve ser codificada por um código comum aos diferentes equipamentos
computacionais.
Representação de caracteres
11
Para que os computadores possam processar e transmitir a informação é necessário
que essa informação seja codificada em dígitos binários, ou seja, é necessário que
essa informação se possa materializar em bits.
Dados versus Informação
CPU
12
Instruction
Set
Memória
1011011
0101101
Sequência de
Bits
Sequências de
Bits
transformadas
Embora cada processador possa executar um diversificado nº de instruções, o
resultado da execução dessas instruções consiste apenas na transformação de
sequências de bits em outras sequências de bits
Dados versus Informação
O que caracteriza a informação digital não é apenas o facto de ela poder ser quantificada e
representada através de bits, mas sim o facto de a mesma tecnologia que serve para
representar a informação de forma estática poder ser usada sob a forma de software para
transformar, isto é, para de forma “inteligente” processar e interpretar essa informação.
13
Representação
Interna de
Caracteres
Código de 6 bits – foram os 1ºs códigos a serem utilizados e
permitiam a representação de 64 caracteres repartidos da
seguinte forma: 26 letras maiúsculas, 10 algarismos e 28
caracteres especiais.
Código de 7 bits (ASCII - American Standard Code for
Information Interchange) – com o desenvolvimento das
linguagens de programação de alto nível começaram a ser
utilizados os códigos de 7 bits que perimitiam a representação
de maiúsculas e de caracteres cujo significado são ordens de
controle para periféricos. O ASCII apesar de ser um código de 7
bits, na realidade utiliza 8 bits (1 byte) sendo o bit mais
significativo igual a zero. O bit extra é, por vezes utilizado para
fins específicos, dependendo da aplicação. Por exemplo, certas
impressoras reconhecem um ASCII estendido com os
caracteres adicionais iniciados pelo bit mais significativo igual a
1. Estes caracteres habilitam a impressora a imprimir símbolos
adicionais, como o alfabeto grego ou fontes do tipo itálico.
Representação de caracteres
14
Representação
Interna de
Caracteres
ASCII Estendido – é um conjunto de códigos que estende o
ASCII básico. O ASCII Estendido utiliza 8 bits para representar
os caracteres. Este código é actualmente utilizado na
generalidade dos computadores e pode ser dividido em duas
partes. Uma que podemos designar por parte básica (standard
ASCII) compreende os primeiros 128 símbolos e tem
características praticamente universais.
Os restantes 128 símbolos, que constituem aquilo que se
designa por extended ASCII, podem apresentar diferenças que,
em muitos casos, se destinam a representar caracteres
específicos de determinada língua (como por exemplo
caracteres acentuados).
ISO Latin-1 – é uma codificação de caracteres padronizada
pela Organização Mundial de Padronização. Trata-se de um
conjunto de caracteres ASCII Estendido e é muito similar aos
caracteres ANSI usado pelo Windows, embora não sejam
idênticos. A linguagem HTML adopta esta representação de
caracteres.
Representação de caracteres
15
Representação
Interna de
Caracteres
Caracteres ANSI (American National Standards Institute) – é uma
representação de 8 bits (256 caracteres) numerados de 0 a 255. Os
valores de 0 a 127 são os mesmos dos caracteres ASCII. Os valores
entre 128 e 255 são semelhantes ao conjunto de caracteres ISO Latin-
1, mas naturalmente tem extensões e incompatibilidades.
UNICODE – O UNICODE utiliza 16 bits para a representação dos
caracteres. Este novo sistema de codificação tornará possível
representar caracteres russos, hebraicos, gregos e de muitos outros
tipos de escrita, facilitando o processo de transmissão de informação
entre computadores.
A adopção generalizada de um novo sistema de codificação coloca
vários problemas de compatibilidade e de conversão além de exigir
recursos de hardware adicionais.
EBCDIC (Extended Binary Coded Decimal Interchange Code) –
Constitui um sistema de codificação de caracteres utilizado
actualmente em alguns grandes computadores (designados por
mainframes). Para que a comunicação de dados entre esses
mainframes e os computadores pessoais (que utilizam o código ASCII)
se possa efectuar é necessário um sistema de tradução que transforma
um código no outro.
Representação de caracteres
16
O Byte e os múltiplos do Byte
Um Byte é um conjunto de 8 bits e constitui a unidade básica utilizada para medir a
capacidade de armazenamento dos dispositivos de um computador, designadamente a
capacidade da memória principal e a capacidade das memórias externas. Quando
estamos a medir grandes volumes de informação, torna-se bastante útil socorrermo-nos
de alguns múltiplos do Bit. A saber:
- uma seqüência de 4 bits é chamada de nibble.
- uma seqüência de 8 bits são chamados de byte
- um grupo de 16 bits é chamado de word.
- um grupo de 32 bits é chamado de double word.
- um grupo de 64 bits é chamado de quad word.
Por razões de simplificação de hardware, o número 1024 foi o escolhido para representar
o "k" da computação. Na vi da quotidiana e na física, o "k" vale 1000.
- 1 Kilobyte (KB) = 1024 Bytes
- 1 Megabyte (MB) = 1024 KB
- 1 Gigabyte (GB) = 1024 MB
- 1 Terabyte (TB) = 1024GB
…..
Representação de caracteres
MEMÓRIA
PC
IR
ALU
MAR
MBR
IO AR
IO BR
ACUMULATOR
INP / OUT
.
.
INST
INST
DATA
DATA
CPU
Os três componentes fundamentais de um computador: o processador, a
memória e o Subsistema de I/O interagem entre si e comunicam através do
sistema de BUS.
O processador é o componente que executa os programas. Em sistemas
multiprocessador (Multiprocessing Systems - MPS) o computador pode possuir
mais do que um CPU. Os computadores mais recentes implementam a técnica
designada por Chip Multiprocessing (CMP) onde duas ou mais cópias da mesma
arquitectura de processador (cores) são integradas num único chip. Estes
processadores são designados por Multi Core Processors
A função do processador é executar as instruções e cada processador possui um
conjunto finito de instruções que reconhece, interpreta e pode executar: esse
conjunto de instruções designa-se por instrution set e as instruções que fazem parte
do instrution set constituem a linguagem máquina do processador.
Os processadores baseados numa arquitectura CISC (Complex Instruction Set
Computer) contêm um relativamente elevado número de instruções máquina
(várias centenas).
Uma característica fundamental do funcionamento destes processadores é o
sistema de micro código, contido em dispositivos de memória ROM, dentro do
próprio processador. As instruções do Instruction Set do processador têm de ser
descodificadas numa sequência de instruções mais elementares, que serão
executadas com recurso ao micro código. É como se as instruções tivessem de
sofrer um processo adicional de “interpretação” dentro do processador.
AC / AFC
Os modelos baseados na arquitectura RISC (Reduced Instruction Set Computer)
possuem um número de instruções menor do que os computadores de
arquitectura CISC.
Uma das principais características dos processadores baseados na arquitectura
RISC consiste no facto de as suas instruções não necessitarem de um processo de
descodificação, nem do recurso à execução através de micro código, podendo, por
esse facto ser imediatamente executadas.
AC / AFC
A Velocidade do Processador - Num computador tudo é feito de forma sincronizada. O
tempo é dividido em pequeníssimos intervalos. Esses intervalos de tempo
correspondem aos ciclos gerados por um relógio que sincroniza actividade do sistema.
A duração de qualquer actividade é medida num determinado número de ciclos de
relógio. Cada processador funciona internamente a uma velocidade que é medida em
ciclos de relógio.
Um processador que funcione a 200 Mhz gera internamente, em cada segundo, 200
milhões de ciclos de relógio, tendo cada ciclo de relógio uma duração que, em
segundos, é de 0,000000002 (1/50000000).
AC / AFC
Processamento – é o conjunto de procedimentos através dos quais os dados são
relacionados e transformados, permitindo extrair deles uma nova informação, ou
informações sob outras formas. Este processamento é feito através de programas que
são executados pelo processador.
PC
IR
ALU
MAR
MBR
IO AR
IO BR
ACUMULATOR
CPU
Processadores – A função do processador é a de interpretar e executar os programas. Ora
como tudo o que os computadores fazem é obedecer às instruções dos programas o
processador acaba por ser o elemento nuclear que controla directa ou indirectamente
toda a actividade do sistema.
 Unidades Funcionais de um processador ou Data Path (Lógica e Aritmética...) –
Executam as tarefas básicas necessárias para execução de uma instrução:
– Fetch – Recolhe a instrução a executar da memória
– Decode – Interpreta e descodifica a instrução
– Execute – Executa as operações da instrução
– Write - Coloca o resultado num registo interno ou na memória
CPU
Fetch
Decode
ALU
Execute
Write
Memória
Address
BUS
Data
BUS
Front
End
Back
End
O processamento de uma instrução é designado por instrution Cycle e de uma forma
simplificada cada Instrution Cycle pode ser dividido em duas etapas: Fetch Cycle e
Execution Cycle
PC
MAR
MBR
CPU
PC (Program Counter / Controlador de
instruções) - Contém o endereço da
próxima instrução que deve ser procurada
na memória.
MAR (Memory Addres Register) - Contém
o endereço da próxima localização de
memória a aceder.
MBR (Memory Buffer Register) - Contém
a informação recebida da memória ou a
informação a enviar para a memória.
O conceito de registrador surgiu da necessidade da UCP armazenar temporariamente
dados intermediários durante um processamento. São dispositivos de armazenamento
temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas
um dado (uma palavra) e são voláteis.
PC IR
MAR
MBR
IO AR
IO BR
CPU IR (Instruction Register) - Contém a
instrução que mais recentemente foi
recolhida da memória.
IO AR (I/O Addres Register) - Contém o
endereço que identifica um determinado
dispositivo periférico
IO BR (I/O Buffer Register) - Contém os
dados que resultam da comunicação do
processador com os periféricos.
PC IR
MAR
MBR
IO AR
IO BR
CPU
ALU (Arithmetic and Logic Unit) - tem por
função a efectiva execução das instruções ou
seja, é a responsável pela realização das
operações lógicas (E, OU, etc) e aritméticas
(somar, etc).
ALU
PC IR
MAR
MBR
IO AR
IO BR
CPU
FPU (Floating Point Unit ) - co-processador
especializado na execução de certas
operações matemáticas.
ALU
FPU
PC IR
MAR
MBR
IO AR
IO BR
CPU
ACC Acumulador (ACC - Accumulator) -
armazena os dados (de entrada e resultados)
para as operações na UAL; o acumulador é
um dos principais elementos que definem o
tamanho da palavra (unidade de
processamento da UCP e deve representar
um dado ou uma instrução, que pode ser
processada, armazenada ou transferida
numa única operação) do computador - o
tamanho da palavra é igual ao tamanho do
acumulador
ALU
ACUMULATOR
 Unidade de Controle (UC ou control Path) - que emite a sequência de sinais
adequados ao funcionamento do processador e para actuação noutros
componentes do computador.
Bus de Endereços
Bus de Dados
Bus
Interno
Unidade de Controlo - tem
por funções a busca,
interpretação e controle de
execução das instruções, e
o controle dos demais
componentes do
computador. Dito de outra
forma, envia sinais de
controle para toda a
máquina, de forma que
todos os circuitos e
dispositivos funcionem
adequada e
sincronizadamente.
Diagrama Funcional
da UCP
Bus de Endereços
Bus de Dados
Bus
Interno
Diagrama Funcional
da UCP
A Unidade de Controle
da UCP envia a todos os
componentes do
computador um sinal
elétrico regular - o pulso
de "clock" - que fornece
uma referência de
tempo para todas as
actividades e permite a
sincronização das
operações internas. O
clock é um pulso
alternado de sinais de
tensão, gerado pelos
circuitos de relógio.
MEMÓRIA
.
.
.
INST
INST
INST
DATA
DATA
DATA
Memória – A memória pode ser vista como
um conjunto de localizações , cada uma
delas identificada por um endereço. Cada
uma dessas localizações pode conter uma
sequência de bits sendo que essa sequência
pode ser um dado ou uma instrução.
BUFFERS
I NP / OUT
Módulo Input / Output - estabelece a comunicação com o processador e com
a memória. Para além da lógica necessária ao processamento das operações ,
pode igualmente conter buffers para armazenamento temporário da
informação.
Buffer (retentor) é uma região de memória temporária utilizada para escrita e leitura de
dados. Os dados podem ser originados de dispositivos (ou processos) externos ou
internos ao sistema. Os buffers podem ser implementados em software (mais usado) ou
hardware. Normalmente são utilizados quando existe uma diferença entre a taxa em
que os dados são recebidos e a taxa em que eles podem ser processados, ou no caso
em que essas taxas são variáveis.
34
Aplicação
Aplicação
Aplicação
Sistema
Operativo
Device
Drivers
Hardware
O Software de Sistema tem como finalidade fazer com que o computador funcione
de modo integrado, permitindo e facilitando o desenvolvimento e a execução das
aplicaçõess.
Software de sistema
BIOS
O BIOS (conjunto de rotinas básicas inscritas no hardware), o SO e os Device
Drivers (programas que auxiliam o SO na comunicação com os periféricos)
constituem o que se designa por Software de Sistema.
ROM
35
Interface Processos
Sistemas
Ficheiros
Memória
Imp. Sist.
Segurança
API
Sistema
Operativo
BIOS
Hardware
BIOS Firmware
A finalidade básica do sistema Operativo é a gestão dos recursos de equipamento
nomeadamente:
S
O
F
T
W
A
R
E
S
I
S
T
E
M
A
Criação de um ambiente de trabalho
(Interface) que permita aos utilizadores
rentabilizar os recursos da máquina
Gestão da execução dos programas –
um programa em execução é um Processo.
O SO tem de fazer a gestão dos processos
em memória atribuindo-lhes, por exemplo,
tempo de processador
Memória
Sistema Ficheiros
Implementação Sistema Segurança
API – Application Programming Interface
conjunto de funções para os
programadores de
aplicações e para os compiladores
Ao nível do hardware, pode ser necessário criar uma placa de expansão, integrável
num das ranhuras de expansão da motherboard do sistema. Essa placa poderá incluir
o seu próprio BIOS, que passa a constituir uma extensão do BIOS do sistema.
Ao nível do software, pode ser necessário criar um programa especial que seja o
interlocutor do SO no seu “diálogo” com esse periférico. Esse programa é designado
por Device Driver. Os Device Drivers são programas que actuam como complementos
do BIOS e do sistema operativo, na ligação a certos periféricos de I/O.
Quando o construtor de um equipamento informático cria um novo periférico para
um computador, tem igualmente de criar interfaces lógicos necessários para que
esse periférico se possa integrar no sistema.
O SO requisita serviços aos periféricos através de um conjunto de comandos genéricos. No
entanto, cada dispositivo, poderá implementar esses serviços através de vários comandos que
são específicos desse dispositivo. Um programa device driver actua assim como um “tradutor”:
recebe e interpreta os comandos genéricos do sistema operativo e transforma esses comandos
genéricos nos comandos específicos que o periférico reconhece.
ROM
Interface Processos
Sistemas
Ficheiros
Memória
Imp. Sist.
Segurança
API
Sistema
Operativo
BIOS
Hardware
BIOS Firmware
S
O
F
T
W
A
R
E
S
I
S
T
E
M
A
Comandos
Genéricos
Device
Drives
Específicos
A cada um dos dispositivos com os quais o processador pode estabelecer contacto (a RAM, a ROM, o
Teclado, os Discos, etc.) corresponde um determinado conjunto de endereços.
Quando o processador coloca um sinal no BUS de endereços e identifica, através da linha M (-memória) /
Input / Output, se se trata de um endereço de memória ou de um endereço de I/O é necessário que cada
dispositivo possa reconhecer se o sinal do bus aponta para algum endereço do conjunto dos endereços
que lhe estão associados.
A unidade encarregue de interpretar e descodificar os sinais do bus designa-se por descodificador de
endereços (address decoder ). Cada dispositivo tem associado um descodificador de endereços. A
missão do descodificador de endereços de cada dispositivo é analisar o sinal colocado no bus e verificar
se o endereço está situado dentro dos limites da zona de endereçamento do seu dispositivo.
Existem basicamente dois tipos de sistemas multiprocessador:
O sistema de Multiprocessamento Simétrico (Symmetric multiprocessing) – neste
sistema o código do sistema operativo pode ser executado em qualquer dos
processadores presentes no sistema e, até, partilhar o seu código entre vários
processadores simultaneamente.
Este modelo apresenta a vantagem de permitir uma mais eficiente distribuição do
trabalho entre os vários processadores e, ainda, um elemento adicional de
segurança: em caso de falha de um dos processadores, o código do sistema
operativo pode ser executado noutro processador, mantendo o sistema em
funcionamento.
AC / AFC
AC / AFC
Num sistema de multiprocessamento assimétrico (Asymmetric multiprocessing),
um dos processadores é escolhido para executar o código do sistema operativo,
enquanto os restantes processadores se ocupam dos threads das restantes
aplicações. Do ponto de vista da concepção este sistema é relativamente mais fácil
de implementar, visto que se trata fundamentalmente de ampliar o modelo de
sistema operativo concebido para trabalhar com um único processador. Apresenta
no entanto algumas desvantagens uma vez que, em condições normais de
exploração, a partilha dos recursos não é tão eficiente como num sistema de
multiprocessamento simétrico.
Thread, ou linha de execução em português, é uma forma de um
processo dividir a si mesmo em duas ou mais tarefas que podem ser
Executadas simultaneamente. O suporte à thread é fornecido
pelo próprio sistema operacional (SO) ou implementada através de
uma biblioteca de uma determinada linguagem
Memória principal - onde é armazenada toda a informação que o CPU vai
necessitar de manusear; encontra-se organizada em células que podem ser directa e
individualmente endereçadas pelo CPU (ou por outro componente que também
possa aceder directamente à memória); cada célula tem normalmente 8 bits de
dimensão (todos os processadores disponíveis comercialmente lidam com esta
dimensão de célula); a dimensão máxima de memória física que um computador
pode ter está normalmente associada à largura n de BUS de endereços (2n).
Processador / UCP
Registadores - são dispositivos de armazenamento temporário, localizados na UCP,
extremamente rápidos, com capacidade para apenas um dado (uma palavra). Devido a sua
tecnologia de construção e por estarem localizados como parte do próprio "chip" da UCP,
são muito caros.
O conceito de registador surgiu da necessidade da UCP de armazenar temporariamente
dados intermediários durante um processamento. Por exemplo, quando um dado resultado
duma operação precisa ser armazenado até que o resultado de uma busca da memória
esteja disponível para com ele realizar uma nova operação.
A Memória Principal não é o único dispositivo de armazenamento dum computador. Em
função de características como tempo de acesso, capacidade de armazenamento, custo,
etc., pode estabelecer-se a seguinte hierarquia de dispositivos de armazenamento em
computadores
Memória Cache
Com o desenvolvimento da tecnologia de construção dos processadores, o
diferencial de velocidade dos processadores e da memória foi-se acentuando.
Desta forma, os tempos de acesso às memórias foram-se tornando insatisfatórios,
pelo que a UCP ao procurar um dado na memória precisa ficar à espera muitos
ciclos até que a memória retorne o dado procurado ("wait states"), configurando
um “estrangulamento” ("bottleneck") ao desempenho do sistema.
A arquitectura da memória cache é muito diferente da arquitectura da memória
principal e o acesso a ela é muitas vezes mais rápido (p.ex: 5 ns contra 70 ns).
Memória Cache
O custo de fabricação da memória cache é muito maior que o da MP. Desta
forma, não é económico construir um computador somente com tecnologia de
memória cache. Criou-se então um artifício, incorporando-se ao computador
uma pequena porção de memória cache, localizada entre a UCP e a MP, e que
funciona como um espelho de parte da MP
Desenvolveram-se ainda algoritmos que fazem com que, a cada momento, a
memória cache armazene a porção de código ou dados (por exemplo, uma
sub-rotina) que estão a ser usados pelas UCP. Esta transferência (MP <==>
Cache) é feita pelo hardware
Memória Cache
A memória cache opera em função de um princípio estatístico comprovado: em
geral, os programas tendem a referenciar várias vezes pequenos trechos de
programas, como loops, sub-rotinas, funções, etc. Desta forma, os denominados
algoritmos de cache podem controlar qual parte do código ficará copiado na
cache, a cada momento.
Quando o processador procura um determinado trecho de código e o encontra
na cache, dá-se um "cache hit" , enquanto se o dado não estiver presente na
cache será necessário requisitar o mesmo à MP, originando um atraso no
processamento e dá-se um "cache miss" ou "cache fault". O índice de cache hit
ou taxa de acerto da cache é geralmente acima de 90%.
Memória Principal
Conforme definimos anteriormente, Memória Principal é a parte do
computador onde programas e dados são armazenados para processamento.
A informação permanece na memória principal apenas enquanto for
necessário para seu emprego pela UCP, sendo então a área de MP ocupada
pela informação disponibilizada para ser posteriormente sobregravada por
outra informação. Quem controla a utilização da memória principal é o Sistema
Operacional.
Estrutura Memória Principal - Células e Endereços
A memória precisa estar organizada de forma a permitir ao computador guardar e
recuperar informações quando necessário. Não faria sentido armazenar informações
que não fosse possível recuperar posteriormente. Portanto, não basta transferir
informações para a memória. É preciso ter como encontrar essa informação mais
tarde, quando ela for necessária, e para isso é preciso que haja um mecanismo que
registre exactamente a localização onde a informação foi armazenada.
A memória principal é organizada em células. A célula é a menor unidade da
memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e
tem um tamanho fixo (para cada máquina). As memórias são compostas por um
determinado número de células ou posições, sendo cada célula composta por um
determinado número de bits. Todas as células de um dado computador tem o
mesmo tamanho, isto é, todas as células daquele computador terão o mesmo
número de bits.
Estrutura Memória Principal - Células e Endereços
Cada célula é identificada por um endereço único, pela qual é referenciada pelo
sistema e pelos programas. As células são numeradas sequencialmente, uma a
uma, de 0 a (N-1), defnindo-se esta numeração por endereço da célula. Endereço
é o localizador da célula, que permite identificar univocamente uma célula. Assim,
cada célula pode ser identificada pelo seu endereço.
A estrutura da memória principal é um problema do projecto de hardware:
- mais endereços com células menores ou
-menos endereços com células maiores?
O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células
contendo vários bytes.
Memória Principal - Capacidade
A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por
célula.
T = N x M
T = capacidade da memória em bits
N = nº de endereços (N=2x sendo x = nº de bits do endereço)
M = nº de bits de cada célula
Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e
depois dividir por 8 (cada byte contém 8 bits) ou então converter o tamanho da
célula para bytes e depois multiplicar pelo número de células.
O último endereço na memória é o endereço N-1 ( os endereços começam em zero
e vão até N-1).
Memórias Auxiliares
Memórias auxiliares resolvem problemas de armazenamento de grandes
quantidades de informações. A capacidade da MP é limitada pelo seu relativamente
alto custo, enquanto as memórias auxiliares tem maior capacidade e menor custo;
portanto, o custo por bit armazenado é muito menor.
Outra vantagem importante é que as memórias auxiliares não são VOLÁTEIS, isto
é, não dependem de estar energizadas para manter gravado seu conteúdo.
Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), drives de
disquete, unidades de fita, CD-ROM, DVD, unidades óptico-magnéticas, etc
A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na
hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém
menor capacidade de armazenamento.
FUNCIONAMENTO – Pode aceder-se à Memória Principal através de duas
operações seguintes:
a) Acesso Tipo LER
b) Acesso Tipo ESCREVER
O acesso à MP é aleatório, portanto qualquer que seja o endereço (a posição) de
memória que se queira acessar, o tempo de acesso é o mesmo (constante).
Obs.: Embora a MP seja endereçada por célula, a UCP em geral acessa a MP por
palavra (unidade de processamento da UCP e deve representar um dado ou uma
instrução, que pode ser processada, armazenada ou transferida numa única
operação) .
O endereçamento por célula dá maior flexibilidade de armazenamento, em
compensação o número de acessos é em geral maior.
a) Acesso Tipo Ler
Ler da Memória - Significa requisitar à MP o conteúdo de uma determinada célula
(recuperar uma informação). Esta operação de recuperação da informação
armazenada na MP consiste na transferência de um conjunto de bits (cópia) da MP
para a UCP e é não destrutiva, isto é, o conteúdo da célula não é alterado.
Sentido: da MP para a UCP
Passos Executados Pelo Hardware:
a.1) a UCP armazena no REM (registo de Endereços de Memória) o
endereço onde a informação requerida está armazenada;
a.2) o conteúdo da posição identificada pelo endereço contido no REM é
transferido para o RDM (Registo Dados de Memória) e fica disponível para
a UCP.
b) Acesso Tipo Escrever
Escrever na Memória - Significa escrever uma informação numa célula da MP
(armazenar uma informação). Esta operação de armazenamento da informação na
MP consiste na transferência de um conjunto de bits da UCP para a MP e é
regravável.
Sentido: da UCP para a MP
Passos Executados Pelo Hardware:
b.1) a UCP armazena no REM o endereço de memória da informação a
ser gravada e no RDM a própria informação;
b.2) a informação armazenada no RDM é transferida para a posição de
memória cujo endereço está contido no REM
Quanto à leitura e escrita, as memórias podem ser classificadas como:
R/W - Read and Write (memória de leitura e escrita), vulgarmente (e
impropriamente) chamada de RAM (Random Access Memory ou memória de
acesso aleatório), embora não seja a única RAM.
Esta memória permite operações de escrita e leitura pelo usuário e pelos
programas. O seu tempo de acesso é da ordem de 70ns e não depende do
endereço acessado. É construída com tecnologia de semicondutores, pode ser
estática (SRAM) ou dinâmica (DRAM) e é volátil.
A MP é construída com memória R/W.
Quanto à leitura e escrita, as memórias podem ser classificadas como:
ROM - Read Only Memory ou memória apenas de leitura
Esta memória permite apenas a leitura e uma vez gravada não pode mais ser
alterada. Também é de acesso aleatório (isto é, é também uma RAM), mas não é
volátil. É utilizada geralmente por fabricantes para gravar programas que não se
deseja permitir que o usuário possa alterar ou apagar acidentalmente (tal como por
ex..a BIOS - Basic Input Output System e microprogramas de memórias de
controle).
Quando se liga uma máquina, é da ROM que vem os programas que são
carregados e processados no "boot" (na inicialização o hardware aponta
automaticamente para o primeiro endereço da ROM). Desta forma, parte do espaço
de endereçamento da MP é ocupado por ROM. A ROM é mais lenta que a R/W e é
barata, porém o processo produtivo depende de ser programada por máscara
("mask programmed") em fábrica e devido ao alto custo da máscara somente se
torna económica em grandes quantidades.
Obs.: Boot (ou bootstrap loader) é o processo de inicialização e carregamento
dos programas básicos de um computador, automático (sem intervenção externa).
ROM – Read Only Memory
Memória
ROM
Características
Permanente – o conteúdo da memória
mantém-se mesmo quando o computador é
desligado da corrente
Read Only (só de leitura) – o processador
pode ler e executar os programas da ROM,
mas não pode alterar o conteúdo das suas
células.
ROM – Read Only Memory
Memória
ROM
Características
Permanente – o conteúdo da memória
mantém-se mesmo quando o computador é
desligado da corrente
Read Only (só de leitura) – o processador
pode ler e executar os programas da ROM,
mas não pode alterar o conteúdo das suas
células.
Os circuitos da ROM são produzidos através de uma tecnologia que torna impossível a
alteração dos programas gravados nesses dispositivos. Uma vez produzido um circuito de
ROM não pode sofrer qualquer alteração, qualquer que seja o processo utilizado.
Nalguns casos, os construtores criam dispositivos do tipo ROM, que podem ser
programados através de dispositivos especiais. Trata-se de separar o processo de
produção dos chips, do processo de programação desse chip. Desta forma, os
construtores podem criar chips que não ficam definitivamente ligados aos programas
introduzidos na fase de produção do chip.
Nesses chips todos os bits são colocados a 1. A introdução dos programas é feita através
de dispositivos que, de acordo com os programas a introduzir, colocam a 0 os bits
necessários.
Tecnologias
ROM – Read Only Memory
Memória
ROM
Características
Permanente – o conteúdo da memória
mantém-se mesmo quando o computador é
desligado da corrente
Read Only (só de leitura) – o processador
pode ler e executar os programas da ROM,
mas não pode alterar o conteúdo das suas
células.
Tecnologias
PROM
Programmable Read Only Memory - Esta memória é uma ROM programável (em condições e
com máquinas adequadas, chamadas queimadores de PROM) e geralmente é comprada
"virgem" (sem nada gravado), sendo muito utilizada no processo de testar programas no lugar
da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Todavia, a
programação inscrita nos circuitos PROM é irreversível, isto é, não podem ser reprogramados
ROM – Read Only Memory
Memória
ROM
Características
Permanente – o conteúdo da memória
mantém-se mesmo quando o computador é
desligado da corrente
Read Only (só de leitura) – o processador
pode ler e executar os programas da ROM,
mas não pode alterar o conteúdo das suas
células.
Tecnologias
PROM
EPROM
Erasable Programmable Read Only Memory ou memória apenas de leitura, programável (com
queimadores de PROM) e apagável (com máquinas adequadas, à base de raios ultra-violeta). Esta
memória é uma PROM apagável. Tem utilização semelhante à da PROM, para testar programas
no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a
vantagem de poder ser apagada e reutilizada.
Esta tecnologia permite uma flexibilidade adicional, uma vez que os circuitos não são inutilizados,
no caso de se detectar um erro de programa que necessite de correcção ulterior
ROM – Read Only Memory
Memória
ROM
Características
Permanente – o conteúdo da memória
mantém-se mesmo quando o computador é
desligado da corrente
Read Only (só de leitura) – o processador
pode ler e executar os programas da ROM,
mas não pode alterar o conteúdo das suas
células.
Tecnologias
PROM
EPROM
Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura,
programável e electronicamente alterável. Também chamada EAROM (Electrically Alterable ROM).
Esta memória é uma EPROM apagável por processo electrónico, sob controle da UCP, com
equipamento e programas adequados. É mais cara e é geralmente utilizada em dispositivos aos
quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de
programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas
de um determinado programa, geralmente relativas ao hardware (p.ex., a reconfiguração de
teclado ou de modem, programação de um terminal, etc).
EEPROM e
Flash Memory
O processador acede à memória para recolher instruções. Mas, como os
circuitos da RAM são mais lentos do que o processador, ocorrem estados de
espera, isto é, o processador tem de aguardar até que os circuitos da RAM
possam executar as operações solicitadas.
Para minimizar essa situação, é introduzida nos sistemas uma pequena parcela
de RAM, designada por Cache. A memória Cache é constituída com circuitos
muito rápidos, capazes de executar operações a uma velocidade compatível
com a velocidade do processador.
É com base na tecnologia da DRAM que é constituída a memória RAM de
sistema que equipa a generalidade dos PC. Esta tecnologia de construção dos
circuitos da RAM é a mais económica, mas possui a desvantagem de os seus
condensadores necessitarem de ser recarregados periodicamente e a intervalos de
tempo muito curtos.
Este processo, que se designa por memory refresh torna mais lento o processo de
acesso à informação contida na RAM.
A SRAM é uma tecnologia de construção de circuitos de memória RAM que
dispensa o processo de memory refresh. É uma tecnologia mais cara mas
também muito mais rápida, sendo por isso utilizada nos dispositivos de
memória cache.
Trata-se de um tipo particular de memória DRAM que contém uma zona de
armazenamento intermédio (buffer) que regista os pedidos do processador
enquanto processa o acesso às células da RAM. Este mecanismo torna mais
eficiente e mais rápida a resposta da RAM aos pedidos do processador.
É a memória RAM mais utilizada nos adaptadores de vídeo. Baseia-se numa tecnologia
que permite a leitura e a escrita simultânea de informação (designada por porta dupla ou
Dual Port). Esta tecnologia permite uma mais rápida passagem da informação para o
ecrã do monitor.
A memória RAM existente nos computadores actuais é fundamentalmente
constituída por dispositivos do tipo DRAM. Estes circuitos são relativamente
lentos quando comparados com a velocidade do processador, provocando
estados de espera nos ciclos de bus de acesso à memoria.
Para evitar estes estados de espera poderia utilizar-se a tecnologia SRAM para
toda a RAM do sistema, mas esta solução é inviável do ponto de vista
económico.
A maior parte da memória RAM (designada por main memory) é constituída
por circuitos do tipo DRAM. Uma pequena parte da memória funciona como
cache e é criada com circuitos do tipo SRAM.
Os sistemas de memória CACHE representam um compromisso. A memória cache,
como foi referido, é uma memória com circuitos de acesso mais rápido do que os
da memória RAM. Uma parte da memória cache faz parte integrante do
processador e é designado por cache L1. Outra parte fica no exterior, entre o
processador e a memória e designa-se por cache L2. A situação ideal do ponto de
vista da velocidade de processamento, é aquela em que o processador não necessita
de ir ao exterior, à cache L2 ou à memória RAM, para obter dados ou instruções
O Controlador de Cache tem como função gerir o funcionamento do sistema, sendo a sua
principal função manter na cache a informação a que, com maior probabilidade, o
processador necessite de aceder em determinado momento.
De um modo geral, os controladores de cache utilizam um algoritmo que consiste em
manter na cache a informação mais recentemente usada pelo processador. Esta técnica
baseia-se numa constatação prática importante e que é a seguinte: os programas
funcionam frequentemente através de ciclos (loops), com instruções situadas em
localizações de memórias contíguas. Quando executa um ciclo, o programa acede
repetidamente a um mesmo conjunto de instruções.
Controlador de Cache
Embora, no início do ciclo, as instruções tenham de ser recolhidas da memória
RAM para a cache, em todas as sucessivas iterações de ciclo, a informação
necessária poderá já estar toda ela residente na cache.
O Controlador da Cache mantém permanentemente um registo de todos os
endereços de memória que se encontram na cache em cada momento. Essa
informação é guardada numa tabela designada por cache memory directory. A
cada entrada nessa tabela corresponde uma zona de armazenamento na cache.
Cada zona de armazenamento da cache designa-se por Set.
Os programas que são imediatamente executados quando o computador é
ligado (rotinas de arranque e diagnóstico) estão permanentemente inscritos na
ROM. Esses programas de arranque, depois de efectuado o diagnóstico do
sistema, iniciam o processo de carregamento do sistema operativo para a
memória RAM.
Em regra, o sistema operativo é carregado de um dos discos rígidos para a
memória RAM.
BIOS (Basic Input Output System)
Trata-se de um conjunto de rotinas, inscritas em dispositivos de memória ROM
ou em memória Flash EEPROM, que estabelecem uma “ponte” entre o
software e os vários periféricos. Quando novos periféricos são incorporados no
sistema, através das ranhuras (slots) da motherboard, as respectivas placas de
expansão contêm a sua própria ROM e o seu próprio BIOS que amplia as
funcionalidades do BIOS original do sistema.
As rotinas do BIOS estão inscritas na ROM. Todavia, a memória ROM possui
o inconveniente de ser mais lenta que a memória RAM. Por esse motivo, em
alguns computadores é utilizada a técnica de, no arranque do sistema, carregar
para a memória RAM o conteúdo do BIOS.
Esta técnica permite que os acessos às rotinas do BIOS passem a ser mais
rápidas. Essa técnica é designada por Shadow ROM. Nalguns casos é utilizada
a técnica de carregar o BIOS para a cache, o que torna ainda mais rápido o
acesso às rotinas do BIOS.
Os diversos componentes dos computadores comunicam através dos diferentes tipos
de BUS presentes no computador. Estes BUS não são mais do que um conjunto de
condutores eléctricos que interligam os diversos componentes do computador e de
circuitos electrónicos que controlam o fluxo de bits.
Para um dado ser transportador de um componente para outro é preciso emitir os
sinais de controle necessários para o componente – origem colocar o dado no BUS e
para o componente –destino ler o dado no bus.
Como um dado é composto por bits (geralmente um ou mais bytes) o BUS deverá ter
tantas linhas condutoras quantos forem os bits a serem transportados de cada vez
O sistema de interligação dos diversos componentes presentes num computador
designa-se genericamente por barramentos (bus); estes barramentos são constituídos
por um elevado número de ligações físicas,podendo estar agrupados de forma
hierárquica.
As principais categorias de barramentos (BUS) são normalmente designadas por:
• Bus de dados, que têm por função transportar a informação (códigos dos
programas e dados) entre os blocos funcionais dum computador; quanto maior a
sua "largura", maior o número de bits que é possível transportar em simultâneo;
• Bus de endereços, que têm por função transportar a identificação/localização
("endereço") dos sítios onde se pretende ler ou escrever dados (por ex., o
endereço de uma célula de memória ou de um registo de estado de um
controlador);
• Bus de controlo, que agrupa todo o conjunto de sinais eléctricos de controlo
do sistema, necessários ao bom funcionamento do computador como um todo
(por ex., sinais para indicar que a informação que circula no barramento de
dados é para ser escrita e não lida da célula de memória cuja localização segue
no barramento de endereços; sinais para pedir o bus; sinal de reset; ...).
A eficiência do sistema de
comunicações decresce se o mesmo
bus tiver de ser partilhado por todos
os dispositivos.
Uma solução poderia consistir no aumento da velocidade de
transmissão de dados do bus, mas a opção tecnológica
adoptada pela indústria consiste na criação de uma
hierarquia de buses.
A necessidade de uma hierarquia de buses.
Dispositivos de Entrada/Saída (I/O) e respectivos controladores, incluindo:
• dispositivos que fazem interface com o ser humano: monitor, teclado, rato, impressora,
colunas de som, ...
• dispositivos que armazenam grandes quantidades de informação, também designados por
memória secundária: disco, banda magnética, CD-ROM, ...
• dispositivos de interface para comunicação com outros equipamentos: interfaces vídeo,
placas de rede local, modems, interface RDIS, ...
• dispositivos internos auxiliares, como um temporizador, um controlador de interrupções,
um controlador de acessos directos à memória (DMA), ...
Processador / UCP
Dispositivos de Entrada/Saída (I/O)
Os dispositivos de ENTRADA são: teclado, mouses, scanners, leitoras ópticas,
leitoras de cartões magnéticos, câmeras de vídeo, microfones, sensores,
transdutores, etc ...
As funções destes dispositivos são reunir e introduzir as informações na máquina,
converter informações do homem para a máquina e vice-versa, e recuperar
informações dos dispositivos de armazenamento.
Processador / UCP
Dispositivos de Entrada/Saída (I/O) - Teclado
O teclado é um dispositivo de entrada de dados composto de um conjunto de
teclas, associadas aos caracteres utilizados para escrita e para controle (letras,
algarismos, sinais de pontuação, teclas de movimentação de cursor, teclas de
função, etc).
A parte visível do teclado é o conjunto de teclas. Por baixo das teclas, existe uma
matriz de condutores que, quando uma tecla é pressionada, fecha contacto entre
dois de seu condutores, de forma que um processador (processador de teclado)
possa identificar qual tecla foi pressionada. Uma vez identificada a tecla, esta
informação é codificada e enviada para o processador principal do computador.
Processador / UCP
Dispositivos de Entrada/Saída (I/O)
Os dispositivos de SAÍDA são: impressoras, monitores de vídeo, plotters,
actuadores, chaves, etc ...
As funções destes dispositivos são exibir ou imprimir os resultados do
processamento, ou ainda controlar dispositivos externos.
Processador / UCP
Dispositivos de Entrada/Saída (I/O) - Monitor de Vídeo
O monitor de vídeo é um dispositivo de saída que utiliza uma tela semelhante à de
TV como meio de visualização das informações processadas pelo computador.
Também são utilizados monitores com tela de cristal líquido em
microcomputadores portáteis (laptops, notebooks, hand-helds, etc).
A informação relativa à imagem que deve ser exibida é gerada no computador e
transmitida (em formato digital, isto é, bits) para a interface de vídeo, onde os
sinais analógicos de vídeo que vão formar a imagem propriamente dita são
produzidos.
Processador / UCP
Dispositivos de Entrada/Saída (I/O) - Impressoras
São dispositivos de saída que tem por finalidade imprimir em papel ou filme
plástico os resultados do processamento. Da mesma forma que os monitores, a
imagem impressa é resultado de muitos pontos impressos individualmente que no
conjunto formam o texto ou a imagem desejados. Também de forma semelhante
aos monitores, as impressoras evoluíram a partir de dispositivos que imprimiam
apenas caracteres em uma única cor para as modernas impressoras capazes de
reproduzir imagens sofisticadas, de alta resolução gráfica, em milhares de cores
Processador / UCP
O Instruction Set (ou linguagem máquina) é o conjunto de instruções que o
CPU consegue reconhecer, interpretar e executar. Qualquer que seja a
linguagem em que o programa esteja escrito, quando chegar à fase de
execução tem de ser constituído por instruções que façam parte do Instruction
Set do processador que as vai executar.
As Linguagens de Programação são conjuntos de
instruções que obedecem a uma gramática
específica, usadas para fazer programas de
computador.
Excepto se os programas forem escritos directamente em linguagem
máquina, qualquer programa escrito noutra linguagem tem de ser objecto
de um processo de transformação até estar expresso em instruções de
linguagem máquina.
Na utilização de um computador é possível identificar vários níveis de abstracção,
sendo os mais relevantes, no âmbito desta temática:
• Nível da linguagem máquina (em binário): instruções e variáveis totalmente
codificadas em binário, sendo a codificação das instruções sempre associada a um
dado processador e tendo como objectivo a execução eficiente e rápida dos
comandos; a sua utilização é pouco adequada para seres humanos;
• Nível da linguagem assembly (tradução literal do inglês: "de montagem"):
equivalente ao nível anterior, mas em vez da notação puramente binária, esta
linguagem usa mnemónicas (EX: add, mov, jump, etc) para especificar as operações
pretendidas, bem como os valores ou localizações dos operandos; embora este nível
seja melhor manuseado por seres humanos, ele ainda é inteiramente dependente
do conjunto de instruções dum dado processador, isto é, não é portátil entre
processadores de famílias diferentes, e as estruturas que manipula, quer de
controlo, quer de dados, são de muito baixo nível;
• Nível das linguagens HLL (High Level Languages, como o C, Pascal, FORTRAN, ...):
linguagens mais poderosas e mais próximas dos seres humanos, que permitem a
construção de programas para execução eficiente em qualquer processador.
Dado que o processador apenas "entende" os comandos em linguagem máquina, é
necessário converter os programas escritos em linguagens dos níveis de abstracção
superiores para níveis mais baixos, até eventualmente se chegar à linguagem
máquina. Estes tradutores ou conversores de níveis são normalmente designados
por:
• Assemblers : programas que traduzem os textos escritos em assembly
language para linguagem máquina, onde cada comando compreendido pelo
processador se encontra codificado em binário de acordo com um formato
definido pelo fabricante do processador;
O processo de Montagem traduz um programa escrito em linguagem Assembly num
programa equivalente em linguagem de máquina, passível de ser executado pelo
computador.
No processo de montagem, o código fonte (programa em linguagem simbólica escrito pelo
programador) é examinado, instrução a instrução, e é feita a tradução, gerando o código que
será executado (código objecto)
Os passos executados pelo programa montador são:
a) Verificar a correcção do código de instrução e substituir as mnemónicas pelos códigos
numéricos binários equivalente. Qualquer erro do código implica a interrupção do
processo e a emissão de uma mensagem de erro;
b) Resolver as referências de memória. Os nomes simbólicos adoptados pelo programador
são convertidos para endereços reais de memória;
c) Reservar o espaço em memória para o armazenamento das instruções e dados;
d) Converter valores de constantes em binário
• Compilação: é o processo de tradução de um programa escrito em linguagem de
alto nível ( Source code) para código em linguagem de máquina (Object code).
Apesar da analogia ao processo de montagem, a compilação é um processo de
maior complexidade. No processo de montagem há uma relação de 1:1 ou seja,
cada instrução do código fonte resulta numa instrução de código de máquina,
enquanto que na compilação a relação é múltipla isto é, cada instrução do código
fonte origina várias instruções de máquina.
• Compiladores: são programas que traduzem os programas escritos em HLL para
um nível de abstracção inferior, i.e., para assembly; a maioria dos compiladores
existentes incluem já os dois passos da tradução para linguagem máquina, isto é,
traduzem de HLL directamente para linguagem máquina binária, sem necessitarem
de um assembler;
Um Compilador
funciona como um
tradutor que a partir da
“linguagem fonte”, isto
é do código fonte (alto
nível), cria um novo
programa em código
objecto (linguagem
máquina)
• Linkagem – A tarefa de examinar o código objecto, procurar as referências a
rotinas e obter os parâmetros para incluí-los no código objecto é executada por um
programa chamado Ligador (LinkEditor). O resultado da execução do ligador é o
código final pronto para ser executado pelo computador, chamado módulo de carga
ou código executável.
O módulo de carga, após testado, é armazenado em memória para ser executado
quando necessário. O processo de compilação e ligação é executado apenas pelo
programador na fase de desenvolvimento.
A Linkagem é um processo necessário para que ao código objecto gerado na
compilação sejam acrescentadas rotinas complementares, disponibilizadas
pelo próprio compilador, isto para que o programa objecto se possa
efectivamente tornar num programa executável.
O processo de linkagem permite que vários módulos objecto sejam
agregados para produzir um único programa executável.
 Em resumo: vimos que um programa - em HLL ou em assembly - pode ser criado com
um editor de texto, traduzido para um nível de abstracção inferior por um compilador
(se for HLL) ou por um assembler (se estiver em assembly), ligado a outros módulos para
formar um todo usando um linker, e carregado na memória e executado com a ajuda
dum loader. A figura que se segue ilustra esta sequência.
•Interpretação – consiste num método alternativo ao processo descrito até agora
( código fonte => compilação => ligação => montagem => código máquina) uma vez
que, a partir do código fonte realiza as três fases (compilação, ligação e montagem)
comando por comando, em tempo de execução. Não existem fases distintas nem se
produzem códigos intermediários. Todo o processo de conversão é efectuado em
tempo de execução e imediatamente executado. Ou seja, cada comando é lido,
verificado, convertido em código executável e imediatamente executado, antes que o
comando seguinte seja sequer lido.
•Interpretação - com um interpretador, as instruções de HLL são analisadas uma a
uma, e o interpretador gera código em linguagem máquina e executa de imediato
esse código, sem o guardar. Não há propriamente uma tradução de um programa
noutro, mas sim a análise dum programa seguida de geração e execução do código
máquina associado.
Um Interpretador funciona como
um “intérprete” transformando as
instruções de alto nível em
linguagem máquina no momento
de execução do programa.
 Amanhã há mais
105
A Digitalização – A digitalização não é mais do que o processo que transforma grandezas
analógicas em informação digital. Os dígitos binários, que não são mais do que a representação
simbólica dos bits, constituem um meio adequado para representar letras, números, etc.
Mas as capacidades de processamento através dos bits (ou dos dígitos binários, se se pretende
observar o processo do seu ponto de vista lógico) não se limitam aos textos. É possível através
do sistema binário representar e gravar, por exemplo, um som, uma imagem ou uma sequência
de vídeo.
A Digitalização e o Interface com o Utilizador – Os computadores receberem, processarem,
armazenarem e transmitirem a informação exclusivamente através da forma digital. Todavia, é
evidente que o utilizador não opera directamente com símbolos binários. O computador possui
interfaces de ligação com o exterior que permitem transformar o código binário em sinais
analógicos que são aqueles que os seres humanos podem facilmente interpretar. Quando o
utilizador carrega numa tecla do teclado, o computador transforma internamente esse impulso
físico ou analógico no código binário correspondente à tecla pressionada. Os impulsos internos
do computador são enviados para o monitor em código binário mas o sistema de vídeo possui
a capacidade para transformar esse código em sinais analógicos interpretáveis pelas pessoas e
que são apresentados sob a forma de letras, gráficos, animações ou vídeos.
Digitalização
106
Cada tecla tem associado um código numérico que se designa por scan code. Em cada
teclado existe um pequeno processador que detecta quando uma tecla é premida e envia
o scan code correspondente para uma zona de armazenamento intermédia (buffer do
teclado). Quando existe um carácter no buffer, o controlador envia um interrupt ao
processador.
Em certas ocasiões pode acontecer que o utilizador seja mais rápido a digitar as teclas do
que o processador a atender aos pedidos de interrupt do controlador do teclado.
Para processar cada tecla digitada pelo utilizador, o processador executa um programa
designado por keiboard driver. A função do Keyboard Driver é transformar cada scan code
no carácter correspondente.
Digitalização
107
Na digitalização de imagens, o scanner cria um mapa de bits (bitmap)
correspondente à estrutura da imagem detectada. A superfície do papel é
dividida em pixels ou unidades básicas de análise. Quanto maior for a
densidade de pixels por área, maior é a resolução da digitalização.
Os sensores do scaner atribuem a cada pixel analisado um determinado nº de
bits. É através desses bits que se define a cor atribuída ao pixel. Por exemplo,
se forem atribuídos 8 bits, a imagem digitalizada pode registar um máximo de
256 cores diferentes. Se forem utilizados 24 bits por cada pixel, a imagem
permite distinguir 16 777 216 cores.
Digitalização
108
A tecnologia de digitalização e reprodução do som no computador é constituída
por placas de expansão que podem estar interligadas ou ser associadas à
motherboard através de um slot de expansão.
A digitalização do som é o processo que consiste em quantificar as ondas sonoras
produzidas pela fonte de som, através do processo de amostragem.
Digitalização
109
AC / AFC
110
Representação Digital de
Áudio, Imagem e Vídeo
AC / AFC
111
Informações Multimédia na Forma Analógica
 Informações percebidas e variáveis físicas
– Informações detectadas pelos sentidos humanos podem ser
descritas como variáveis físicas cujos valores são funções do
tempo e espaço
 Descrevendo sons como formas de onda
– O som, que atravessa o ar, é uma onda de ar comprimido ou
expandido cuja pressão se altera no tempo e espaço
Digitalização
112
 Descrevendo sons com formas de onda
– Padrão de oscilação é chamado de forma de onda (waveform)
caracterizado por:
 período é o tempo necessário para a realização de um ciclo
 freqüência é definida como o inverso do período
– representa o número de períodos num segundo
– medida em Hz (Hertz) ou ciclos por segundo (cps)
 amplitude do som define um som leve ou pesado
período
amplitude
Digitalização
113
Imagens e Vídeos Digitais
 Descrevendo imagens monocromáticas com variáveis físicas
– Imagens refletem radiações eletromagnéticas (luz) incidentes que
estimulam os olhos do observador
 imagem pode ser descrita pelo valor de intensidade de luz que é
função de duas coordenadas espaciais (ou três)
I(x,y) = intensidade luminosa
Olho humano:
3000x3000
Digitalização
114
 Descrevendo imagens coloridas com formas de onda
– Imagem colorida reflete diferentes comprimentos de onda
– Qualquer sensação de cor pode ser reproduzida pela mistura em
proporções apropriadas de três luzes coloridas básicas: vermelho,
verde e azul
 uma imagem colorida pode ser representada por um conjunto
de 3 funções bidimensionais
Digitalização
115
 Descrevendo imagens coloridas com formas de onda
– Imagem colorida reflete diferentes comprimentos de onda
 função simples não é suficiente para descrever imagens coloridas
Pontos de cor
Digitalização
Imagens e Vídeos Digitais
116
Para que Digitalizar Informações?
 Vantagens da Digitalização
– Universalidade de representação – os sistemas computacionais
manipulam apenas dados digitais. Uma vez que os dados são codificadas
numa única forma podemos dizer que :
 são manipuladas de uma mesma forma e pelo mesmo tipo de
equipamento
 são facilmente integradas com outros tipos de dados
– Processamento - tratamento ou cruzamento de dados com vista à
obtenção de resultados
 Informações digitais são processadas, analisadas, modificadas,
alteradas, ou complementadas por programas de computador tal qual
outros dados
– Qualidade
 Sistemas digitais são mais confiáveis uma vez que os sinais digitais são
mais tolerantes a ruídos e interferências que os analógicos
Digitalização
117
Para que Digitalizar Informações?
– Segurança
 Criptografia de sinais digitais é possível
– Armazenamento - garantir a persistência dos dados de modo a
que não se degradem e que possam futuramente ser acedidos de
um modo eficiente
 Dispositivo único de armazenamento para todas as medias
– Transmissão - troca de dados entre agentes (ex. computadores)
que processam ou interpretam a informação. Pode ser de âmbito
local, regional ou mesmo inter-continental (ex. através da
Internet)
 Qualquer sistema de comunicação de dados pode ser
(potencialmente) utilizado para a transmissão de informação
multimédia
Digitalização
118
Digitalização: processo envolvido na transformação de sinais
analógicos em sinais digitais
Digitalização, Amostragem e Quantificação
 Sinal analógico
– Medida física que varia continuamente com
o tempo e/ou espaço
– Descritos por s=f(t), s=f(x,y,z), s=f(x,y,z,t)
– Em informática:
– medida toma a forma de uma corrente ou tensão elétrica
– precisão definida pelas características dos sensores
 Sinais digitais
– Seqüências de valores dependentes do tempo ou do espaço
codificados no formato binário
Digitalização
119
Conversão analógico para digital
 Passos para conversão de sinal analógico em digital:
– Amostragem
 conjunto discreto de valores (analógicos) é amostrado em
intervalos temporais (para sons) ou espaciais (para imagens) em
periodicidade constante.
 Cada observação constitui uma amostra
Amostragem
Freqüência de
amostragem
(HZ)
Digitalização
120
Conversão analógico para digital
 Passos para conversão de sinal analógico em digital:
– Quantificação
 o sinal amostrado é quantificado (descontinuidade de valores)
Passo de
quantificação
8
7
6
5
4
3
2
1
0
Amostragem
Freqüência de
amostragem
AC / AFC
121
Conversão analógico para digital
 Passos para conversão de sinal analógico em digital:
– Codificação
 um conjunto de bits, chamado de code-word, é associado
com cada valor quantificado
Passo de
quantificação
8
7
6
5
4
3
2
1
0
0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011
Amostragem
Freqüência de
amostragem
AC / AFC
122
Passo de
quantificação
8
7
6
5
4
3
2
1
0
0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011
Amostragem
Freqüência de
amostragem
Conceito Importante
 Taxa de bits
– Produto entre taxa de amostragem e o número de bits
 exemplo: rádio
– supondo uma freqüência de 8 kHz e 8 bits por amostra
– taxa de bits necessária é igual a 8000x8 = 64 kbps
AC / AFC
123
Problemas da Representação digital
 Distorção de codificação
– Digitalização introduz distorção (perda de informação)
 sinal gerado após a conversão D/A não é idêntico ao original
 aumentando a taxa de amostragem e número de bits usado
para codificação reduz a distorção
– problema: capacidade de armazenamento limitado
– Solução: escolher um balanço apropriado entre a precisão da
digitalização e a distorção percebida pelo usuário
AC / AFC
124
Representação Digital de Áudio
 Áudio é causado pelo distúrbio da pressão de ar que alcança o
tímpano
– Faixa de freqüência de som audível:
 20 Hz a 20.000 Hz
 Onda sonora é uma onda contínua no tempo e amplitude
 sinal elétrico deve ser convertido em um sinal digital
AC / AFC
 Para a apresentação do áudio digitalizado
– é necessário realizar a transformação de uma representação
artificial do som numa forma de onda física audível pelo ouvido
humano
 utilizados Conversores Digital para Analógico (CDA)
 Placas de áudio
– Conversores CAD e CDA são implementados numa única placa
125
Representação Digital de Áudio
AC / AFC
126
Imagens Digitais
 Formatos de Imagens
– Imagens no computador são representadas por bitmaps
 bitmap = matriz espacial bidimensional de
elementos de imagem chamados de pixels
 pixel é o menor elemento de resolução da
imagem
 tem um valor numérico chamado amplitude:
– define ponto preto e branco, nível de cinza,
ou atributo de cor (3 valores)
 profundidade de amplitude (ou de pixel): o números de bits
para codificar um pixel (Resolução de cor)
– 1 para imagens P&B, 2, 4, 8, 12, 16 ou 24 bits
AC / AFC
127
Imagens Digitais
 Resolução de Imagem
– Resolução vertical
 número de linhas da matriz de pixeis (m)
– Resolução horizontal
 número de colunas (n)
– Resolução espacial (geométrica)
 produto m x n
 estabelece a freqüência de amostragem final da imagem
 quanto maior a resolução mais detalhe da imagem podem ser
captadas na representação matricial
 resolução espacial não fornece muita informação sobre a
resolução real da imagem quando realizada em dispositivo
físico
– ficamos na dependência do tamanho físico do pixel do
dispositivo
AC / AFC
128
Sistema RGB
 Imagens Binárias
– São imagens com dois níveis (como preto e branco)
 muito usadas por dispositivos de impressão e para
representar imagens de documentos monocromáticos
– Para representar um pixel de uma imagem binária é necessário
apenas 1 bit
 informação extra sobre a cor de cada informação, a cor para o
bit com valor 0 (zero) e a cor para o bit de valor 1
– informação de cor é geralmente é representada em 24
bits/cor no padrão RGB
AC / AFC
129
Sistema RGB
 Imagens em Tons de Cinza
– Representação é feita discretizando a informação de luminância
de cada ponto da imagem
 cada pixel contém a intensidade de luminosidade
representada por um certo número de bits
 uma imagem com resolução de cor de 8 bits, pode
representar até 256 níveis de cinza (variando do preto ao
branco)
– Padrões mais usados são os de 16 (4 bits/pixel) e 256 (8 bits/pixel)
– representações com mais que 256 tons-de-cinza não são
percebidas pela vista humana
AC / AFC
130
Sistema RGB
 True Color
– Cada pixel da imagem é representado por um vetor de 3
componentes de cores (RGB) com um certo número de bits para
representar cada componente de cor
 quanto maior for a resolução de cor maior a qualidade
– Geralmente o número de bits para cada componente RGB é igual
 ex.: 9 bits/pixel (3-3-3)
– Pode ser feito uma representação com diferentes valores para as
componentes
 ex.: 8 bits/pixel (3-3-2)
AC / AFC
131
Especificação da Cor
 Propriedades da cor
– luz visível: radiação eletromecânica que tem um comprimento de
onda variando de 400 nm a 780 nm
 propriedades: luminância (brilho), nuança (cor), saturação
 Sistema RGB
– Cor é representada pela intensidade de três cores primárias:
vermelho, verde e azul, com cada valor variando de 0 a 255:
 Branco = 255,255,255 Vermelho = 255,0,0 Verde = 0,255,0
 Azul = 0,0,255 Preto = 0,0,0
AC / AFC
132
Sistema RGB
 True Color
– Número de bits por pixel fornece a quantidade de níveis que
podem ser representados
 se n é a resolução de cor então a quantidade de níveis
possíveis é de 2n níveis
Bits/pixel Máximo de Cores
Componente de
cor RGB
Padrão
15 bits/pixel 32.768 cores
5 bits/pixel,
32 níveis por comp.
High Color (15 bits)
16 bits/pixel 65.535 cores
5/6 bits/pixel,
32/64 níveis por comp.
High Color (16 bits)
24 bits/pixel 16.777.216 cores
8 bits/pixel,
256 níveis por comp.
True Color (24 bits)
AC / AFC
133
Imagens e Vídeos Digitais
 Captura: Teoria Tristimulus
– Qualquer cor pode ser reproduzida com a mistura das
três cores primárias
 cores primárias padronizadas: vermelho, verde e azul
134
Imagens e Vídeos Digitais
R(x,y)
G(x,y)
B(x,y)

Mais conteúdo relacionado

Mais procurados

Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisLuciano Crecente
 
Apresentação - sistemas operacionais
Apresentação - sistemas operacionaisApresentação - sistemas operacionais
Apresentação - sistemas operacionaisEduardo Macedo
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Evandro Júnior
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoJoeldson Costa Damasceno
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
 
Como instalar o processador
Como instalar o processadorComo instalar o processador
Como instalar o processadorsergiocef96
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Sistema Operacional Windows (versão 11)
Sistema Operacional Windows (versão 11)Sistema Operacional Windows (versão 11)
Sistema Operacional Windows (versão 11)DaviMatos25
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoSuzana Viana Mota
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorSuzana Viana Mota
 

Mais procurados (20)

Aula de Informática Básica
Aula de Informática BásicaAula de Informática Básica
Aula de Informática Básica
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
Apresentação - sistemas operacionais
Apresentação - sistemas operacionaisApresentação - sistemas operacionais
Apresentação - sistemas operacionais
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014
 
Aula 12 - Processador
Aula 12 - ProcessadorAula 12 - Processador
Aula 12 - Processador
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - Introdução
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de Computadores
 
SO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: HardwareSO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: Hardware
 
Como instalar o processador
Como instalar o processadorComo instalar o processador
Como instalar o processador
 
Memórias
MemóriasMemórias
Memórias
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Sistema Operacional Windows (versão 11)
Sistema Operacional Windows (versão 11)Sistema Operacional Windows (versão 11)
Sistema Operacional Windows (versão 11)
 
Aula01- Informática Básica
Aula01- Informática BásicaAula01- Informática Básica
Aula01- Informática Básica
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 
Modelo de von neumann
Modelo de von neumannModelo de von neumann
Modelo de von neumann
 

Semelhante a Arquitectura de Computadores

Semelhante a Arquitectura de Computadores (20)

conhecer o computador
conhecer o computadorconhecer o computador
conhecer o computador
 
computador
computadorcomputador
computador
 
Infomática básica para concursos hardware e software
Infomática básica para concursos   hardware e softwareInfomática básica para concursos   hardware e software
Infomática básica para concursos hardware e software
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Informática 1
Informática 1Informática 1
Informática 1
 
Hardware
HardwareHardware
Hardware
 
Trabalho
TrabalhoTrabalho
Trabalho
 
....
........
....
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computador
 
Estrutura Básica de um
Estrutura Básica de um Estrutura Básica de um
Estrutura Básica de um
 
Partes do Computador
Partes do ComputadorPartes do Computador
Partes do Computador
 
INFORMÁTICA BÁSICA.
INFORMÁTICA BÁSICA.INFORMÁTICA BÁSICA.
INFORMÁTICA BÁSICA.
 
1aulaintroduoainformtica-100929151413-phpapp01.pdf
1aulaintroduoainformtica-100929151413-phpapp01.pdf1aulaintroduoainformtica-100929151413-phpapp01.pdf
1aulaintroduoainformtica-100929151413-phpapp01.pdf
 
Aula Noções de Informatica
Aula Noções de InformaticaAula Noções de Informatica
Aula Noções de Informatica
 
1aulaintroduoainformtica 100929151413-phpapp01
1aulaintroduoainformtica 100929151413-phpapp011aulaintroduoainformtica 100929151413-phpapp01
1aulaintroduoainformtica 100929151413-phpapp01
 
Construção do computador
Construção do computadorConstrução do computador
Construção do computador
 
Aula
AulaAula
Aula
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
PROF HIGOR
PROF HIGORPROF HIGOR
PROF HIGOR
 

Mais de Mariana Hiyori

Templo de Zeus Olímpico
Templo de Zeus OlímpicoTemplo de Zeus Olímpico
Templo de Zeus OlímpicoMariana Hiyori
 
Base de Dados - Normalização e Desenho de Base de Dados Relacionais
 Base de Dados - Normalização e Desenho de Base de Dados Relacionais Base de Dados - Normalização e Desenho de Base de Dados Relacionais
Base de Dados - Normalização e Desenho de Base de Dados RelacionaisMariana Hiyori
 
Base de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalBase de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalMariana Hiyori
 
Base de Dados - Conversão E-A para Esquema Relacional
Base de Dados - Conversão E-A para Esquema RelacionalBase de Dados - Conversão E-A para Esquema Relacional
Base de Dados - Conversão E-A para Esquema RelacionalMariana Hiyori
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Mariana Hiyori
 
Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - IntroduçãoMariana Hiyori
 
Base de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularBase de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularMariana Hiyori
 
Redes e Comunicações 2
Redes e Comunicações 2Redes e Comunicações 2
Redes e Comunicações 2Mariana Hiyori
 
Redes e Comunicações 2 - Resumo
Redes e Comunicações 2 - ResumoRedes e Comunicações 2 - Resumo
Redes e Comunicações 2 - ResumoMariana Hiyori
 
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)Mariana Hiyori
 
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)Mariana Hiyori
 
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)Mariana Hiyori
 
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)Mariana Hiyori
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)Mariana Hiyori
 
R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)Mariana Hiyori
 
R&c 05 14_1 - Protocolo IP (Parte 1)
R&c 05 14_1 - Protocolo IP (Parte 1)R&c 05 14_1 - Protocolo IP (Parte 1)
R&c 05 14_1 - Protocolo IP (Parte 1)Mariana Hiyori
 
R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)Mariana Hiyori
 
R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)Mariana Hiyori
 
Resumo - Memorial do Convento
Resumo - Memorial do ConventoResumo - Memorial do Convento
Resumo - Memorial do ConventoMariana Hiyori
 
SQL - Operações Relacionais
SQL - Operações RelacionaisSQL - Operações Relacionais
SQL - Operações RelacionaisMariana Hiyori
 

Mais de Mariana Hiyori (20)

Templo de Zeus Olímpico
Templo de Zeus OlímpicoTemplo de Zeus Olímpico
Templo de Zeus Olímpico
 
Base de Dados - Normalização e Desenho de Base de Dados Relacionais
 Base de Dados - Normalização e Desenho de Base de Dados Relacionais Base de Dados - Normalização e Desenho de Base de Dados Relacionais
Base de Dados - Normalização e Desenho de Base de Dados Relacionais
 
Base de Dados - Álgebra Relacional
Base de Dados - Álgebra RelacionalBase de Dados - Álgebra Relacional
Base de Dados - Álgebra Relacional
 
Base de Dados - Conversão E-A para Esquema Relacional
Base de Dados - Conversão E-A para Esquema RelacionalBase de Dados - Conversão E-A para Esquema Relacional
Base de Dados - Conversão E-A para Esquema Relacional
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)
 
Base de Dados - Introdução
Base de Dados - IntroduçãoBase de Dados - Introdução
Base de Dados - Introdução
 
Base de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade CurricularBase de Dados - Apresentação da Unidade Curricular
Base de Dados - Apresentação da Unidade Curricular
 
Redes e Comunicações 2
Redes e Comunicações 2Redes e Comunicações 2
Redes e Comunicações 2
 
Redes e Comunicações 2 - Resumo
Redes e Comunicações 2 - ResumoRedes e Comunicações 2 - Resumo
Redes e Comunicações 2 - Resumo
 
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 01 14_1 - A Internet e Conceitos Basicos (Parte 1)
 
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)
R&c 01 14_2 - A Internet e Conceitos Basicos (Parte 2)
 
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)
R&c 01 14_3 - A Internet e Conceitos Basicos (Parte 3)
 
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)
R&c 02 14_1 - A Internet e Conceitos Basicos (Parte 1)
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
 
R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)R&c 03 14_1 - Protocolos (Parte 1)
R&c 03 14_1 - Protocolos (Parte 1)
 
R&c 05 14_1 - Protocolo IP (Parte 1)
R&c 05 14_1 - Protocolo IP (Parte 1)R&c 05 14_1 - Protocolo IP (Parte 1)
R&c 05 14_1 - Protocolo IP (Parte 1)
 
R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)R&c 05 14_2 - Protocolo IP (Parte 2)
R&c 05 14_2 - Protocolo IP (Parte 2)
 
R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)
 
Resumo - Memorial do Convento
Resumo - Memorial do ConventoResumo - Memorial do Convento
Resumo - Memorial do Convento
 
SQL - Operações Relacionais
SQL - Operações RelacionaisSQL - Operações Relacionais
SQL - Operações Relacionais
 

Arquitectura de Computadores

  • 1. O Hardware constitui a parte imediatamente visível do computador O Software não se vê, mas sem ele o computador seria uma máquina completamente inerte sem qualquer funcionalidade prática. Firmware E o software que é integrado nos componentes de hardware no seu momento de fabricação. Noção de Computador Os computadores são equipamentos com capacidade para receber, armazenar, processar e transmitir informação. A informação processada pelos computadores e transmitida através das redes pode assumir natureza diversa (texto, jogos, sons, etc). Todo o funcionamento dos computadores e das redes é comandado por programas que actuam sobre a informação, transformando-a.
  • 2. 2 Os componentes físicos do computador constituem o hardware. Mas o hardware é um simples conjunto potencial de recursos. São os programas, isto é, o software, que transforma esse potencial de recursos de hardware, numa máquina funcional, capaz de executar operações de interesse prático. Noção de Computador
  • 3. 3 O processador ou CPU é o componente do hardware que descodifica e executa as instruções dos programas. Por isso todos os programas, todas as instruções dos programas, têm de pertencer ao conjunto das instruções que esse processador pode executar. O conjunto de instruções que um processador pode executar designa-se por Instruction Set. Noção de Computador
  • 4. 4 Os programas são sistemas de elevadíssima complexidade, contendo milhões de instruções (ex sistema operativo windows ou linux, processadores de texto, folhas de cálculo, etc). Independentemente da sua complexidade, o que todos esses programas têm em comum é o facto de serem sequências de instruções em código binário, instruções essas que são descodificadas e executadas pelo CPU (Central Processing Unit), qué é o orgão que num computador tem por função executar a tarefa fundamental que é executar os programas. CPU 11001001 10110110 11001001 10110110 11011100 11001001 11011100 Programas Noção de Computador
  • 5. 5 Alguns dispositivos de hardware contêm software que é gravado de forma permanente quando o próprio de hardware é fabricado. Nesses casos, é tão intima a ligação entre o hardware e o software que só conceptualmente se pode distinguir uma coisa da outra. O Firmware de um computador está inscrito na memória permanente designada pela sigla ROM (Read Only Memory). Esse Firmware contém os programas de arranque que começam imediatamente a ser executados quando o computador é ligado. Esses programas executam um conjunto de operações de iniciação (ex. carregar o SO para a memória RAM) e de testes (autodiagnóstico do sistema) designados pela sigla POST (Power On Self Test). O Firmware de um computador contém igualmente um conjunto de rotinas de software designadas por BIOS (Basic Input Output System). Este software estabelece a comunicação com alguns periféricos básicos do computador. Noção de Computador
  • 6. Arquitectura e Organização A arquitectura de um computador corresponde ao desenho lógico das funcionalidades do computador. Um computador apresenta um interface lógico, um conjunto de funcionalidades e, particularmente, um instruction set, que definem aquilo que constitui o potencial do hardware do sistema. Technology Technology Technology Technology AMD INTEL Architecture Logical Interface Structure and Organization Technology Se a arquitectura define as funcionalidades do computador e como elas podem ser vistas pelo programador, a organização e a estrutura definem os componentes e as tecnologias que são usadas para implementar essa arquitectura. Do ponto de vista de um processador, a sua arquitectura ISA (Instruction Set Architecture) define o conjunto de instruções (Instruction Set) desse processador, assim como o numero e tipo de registos internos que o computador deve possuir. No entanto, essa arquitectura pode ser implementada de muitas formas diferentes, usando diferentes tecnologia
  • 7. Arquitectura de um Sistema Computacional CPU: o CPU recebe dados e Interrupts de periféricos através dos módulos de Input / Output CPU: o CPU envia dados para os periféricos através dos módulos de I / O CPU-Memória: o CPU acede à memória para leitura DMA (Direct Memory Access): Sistema que permite a troca directa de dados entre a memória e os módulos de I/O através de um controlador auxiliar que funciona como um Bus Master. Um interrupt é um sinal que pode ser gerado por um dispositivo de hardware ou pelo próprio software. Esse sinal “pede” ao processador para executar um código associado a esse interrupt é designado por interrupt handler ou interrupt service routine (ISR). A execução de um programa consiste na sistematica repetição Instrution Cycle, que consiste na recolha da próxima instrução (fetch cycle) seguido da execução da instrução (execute cycle). No entanto, antes de iniciar um fetch cycle o processador pode ter de executar um interrupt. Nesse caso, os dados dos registos internos são guardados e o processador executa um interrupt handler. O DMA é uma característica essencial dos computadores modernos. Normalmente o único componente que acessa a memória RAM da máquina é o processador. O recurso DMA permite que outros componentes também acessem a memória RAM diretamente, como discos rígidos, o que aumenta o desempenho na transferência de grande quantidade de dados. De outra maneira, a CPU teria que copiar todos os dados da fonte até o destino. Isto é tipicamente mais lento do que copiar blocos de dados dentro da memória, já que o acesso a dispositivo de I/O através de barramentos periféricos é mais lento que a RAM. Durante a cópia dos dados a CPU ficaria indisponível para outras tarefas. Uma transferência por DMA essencialmente copia um bloco de memória de um dispositivo para outro. A CPU inicia a transferência, mas não executa a transferência. Para os chamados third party DMA, como é utilizado normalmente nos barramentos ISA, a transferência é realizada pelos controladores DMA que são tipicamente parte do chipset da placa mãe. Projetos mais avançados de barramento, como o PCI, tipicamente utilizam bus-mastering DMA, onde o dispositivo toma o controle do barramento e realiza a transferência de forma independente.
  • 8. Dados versus Informação  Dados: Representação de factos, conceitos ou instruções de um modo convencional e adequado à comunicação, interpretação ou tratamento por meios humanos ou automáticos  Informação: Significado atribuído aos dados através de convenções a eles aplicadas, portanto articulados entre si
  • 9. 9  Um facto ou um dado susceptível de transportar conhecimento é informação  Toda a informação capaz de ser reduzida a um conjunto de dados sujeitos a operações repetitivas é automatizável (por contraponto com a informação não automatizável) Informação automatizável DADOS Operações sobre dados PROCESSAMENTO Resultados INFORMAÇÃO Dados versus Informação
  • 10. 10 A representação de qualquer tipo de informação num computador é um valor que pode ser numericamente representado por um dígito binário, o bit (do inglês binary digit). Para que a troca de informação entre diferentes equipamentos computacionais seja uma realidade, é necessário que todos “falem” a mesma linguagem, por forma a não haver distorções na informação enviada e recebida . Para isso, a informação deve ser codificada por um código comum aos diferentes equipamentos computacionais. Representação de caracteres
  • 11. 11 Para que os computadores possam processar e transmitir a informação é necessário que essa informação seja codificada em dígitos binários, ou seja, é necessário que essa informação se possa materializar em bits. Dados versus Informação
  • 12. CPU 12 Instruction Set Memória 1011011 0101101 Sequência de Bits Sequências de Bits transformadas Embora cada processador possa executar um diversificado nº de instruções, o resultado da execução dessas instruções consiste apenas na transformação de sequências de bits em outras sequências de bits Dados versus Informação O que caracteriza a informação digital não é apenas o facto de ela poder ser quantificada e representada através de bits, mas sim o facto de a mesma tecnologia que serve para representar a informação de forma estática poder ser usada sob a forma de software para transformar, isto é, para de forma “inteligente” processar e interpretar essa informação.
  • 13. 13 Representação Interna de Caracteres Código de 6 bits – foram os 1ºs códigos a serem utilizados e permitiam a representação de 64 caracteres repartidos da seguinte forma: 26 letras maiúsculas, 10 algarismos e 28 caracteres especiais. Código de 7 bits (ASCII - American Standard Code for Information Interchange) – com o desenvolvimento das linguagens de programação de alto nível começaram a ser utilizados os códigos de 7 bits que perimitiam a representação de maiúsculas e de caracteres cujo significado são ordens de controle para periféricos. O ASCII apesar de ser um código de 7 bits, na realidade utiliza 8 bits (1 byte) sendo o bit mais significativo igual a zero. O bit extra é, por vezes utilizado para fins específicos, dependendo da aplicação. Por exemplo, certas impressoras reconhecem um ASCII estendido com os caracteres adicionais iniciados pelo bit mais significativo igual a 1. Estes caracteres habilitam a impressora a imprimir símbolos adicionais, como o alfabeto grego ou fontes do tipo itálico. Representação de caracteres
  • 14. 14 Representação Interna de Caracteres ASCII Estendido – é um conjunto de códigos que estende o ASCII básico. O ASCII Estendido utiliza 8 bits para representar os caracteres. Este código é actualmente utilizado na generalidade dos computadores e pode ser dividido em duas partes. Uma que podemos designar por parte básica (standard ASCII) compreende os primeiros 128 símbolos e tem características praticamente universais. Os restantes 128 símbolos, que constituem aquilo que se designa por extended ASCII, podem apresentar diferenças que, em muitos casos, se destinam a representar caracteres específicos de determinada língua (como por exemplo caracteres acentuados). ISO Latin-1 – é uma codificação de caracteres padronizada pela Organização Mundial de Padronização. Trata-se de um conjunto de caracteres ASCII Estendido e é muito similar aos caracteres ANSI usado pelo Windows, embora não sejam idênticos. A linguagem HTML adopta esta representação de caracteres. Representação de caracteres
  • 15. 15 Representação Interna de Caracteres Caracteres ANSI (American National Standards Institute) – é uma representação de 8 bits (256 caracteres) numerados de 0 a 255. Os valores de 0 a 127 são os mesmos dos caracteres ASCII. Os valores entre 128 e 255 são semelhantes ao conjunto de caracteres ISO Latin- 1, mas naturalmente tem extensões e incompatibilidades. UNICODE – O UNICODE utiliza 16 bits para a representação dos caracteres. Este novo sistema de codificação tornará possível representar caracteres russos, hebraicos, gregos e de muitos outros tipos de escrita, facilitando o processo de transmissão de informação entre computadores. A adopção generalizada de um novo sistema de codificação coloca vários problemas de compatibilidade e de conversão além de exigir recursos de hardware adicionais. EBCDIC (Extended Binary Coded Decimal Interchange Code) – Constitui um sistema de codificação de caracteres utilizado actualmente em alguns grandes computadores (designados por mainframes). Para que a comunicação de dados entre esses mainframes e os computadores pessoais (que utilizam o código ASCII) se possa efectuar é necessário um sistema de tradução que transforma um código no outro. Representação de caracteres
  • 16. 16 O Byte e os múltiplos do Byte Um Byte é um conjunto de 8 bits e constitui a unidade básica utilizada para medir a capacidade de armazenamento dos dispositivos de um computador, designadamente a capacidade da memória principal e a capacidade das memórias externas. Quando estamos a medir grandes volumes de informação, torna-se bastante útil socorrermo-nos de alguns múltiplos do Bit. A saber: - uma seqüência de 4 bits é chamada de nibble. - uma seqüência de 8 bits são chamados de byte - um grupo de 16 bits é chamado de word. - um grupo de 32 bits é chamado de double word. - um grupo de 64 bits é chamado de quad word. Por razões de simplificação de hardware, o número 1024 foi o escolhido para representar o "k" da computação. Na vi da quotidiana e na física, o "k" vale 1000. - 1 Kilobyte (KB) = 1024 Bytes - 1 Megabyte (MB) = 1024 KB - 1 Gigabyte (GB) = 1024 MB - 1 Terabyte (TB) = 1024GB ….. Representação de caracteres
  • 17. MEMÓRIA PC IR ALU MAR MBR IO AR IO BR ACUMULATOR INP / OUT . . INST INST DATA DATA CPU Os três componentes fundamentais de um computador: o processador, a memória e o Subsistema de I/O interagem entre si e comunicam através do sistema de BUS.
  • 18. O processador é o componente que executa os programas. Em sistemas multiprocessador (Multiprocessing Systems - MPS) o computador pode possuir mais do que um CPU. Os computadores mais recentes implementam a técnica designada por Chip Multiprocessing (CMP) onde duas ou mais cópias da mesma arquitectura de processador (cores) são integradas num único chip. Estes processadores são designados por Multi Core Processors A função do processador é executar as instruções e cada processador possui um conjunto finito de instruções que reconhece, interpreta e pode executar: esse conjunto de instruções designa-se por instrution set e as instruções que fazem parte do instrution set constituem a linguagem máquina do processador.
  • 19. Os processadores baseados numa arquitectura CISC (Complex Instruction Set Computer) contêm um relativamente elevado número de instruções máquina (várias centenas). Uma característica fundamental do funcionamento destes processadores é o sistema de micro código, contido em dispositivos de memória ROM, dentro do próprio processador. As instruções do Instruction Set do processador têm de ser descodificadas numa sequência de instruções mais elementares, que serão executadas com recurso ao micro código. É como se as instruções tivessem de sofrer um processo adicional de “interpretação” dentro do processador. AC / AFC
  • 20. Os modelos baseados na arquitectura RISC (Reduced Instruction Set Computer) possuem um número de instruções menor do que os computadores de arquitectura CISC. Uma das principais características dos processadores baseados na arquitectura RISC consiste no facto de as suas instruções não necessitarem de um processo de descodificação, nem do recurso à execução através de micro código, podendo, por esse facto ser imediatamente executadas. AC / AFC
  • 21. A Velocidade do Processador - Num computador tudo é feito de forma sincronizada. O tempo é dividido em pequeníssimos intervalos. Esses intervalos de tempo correspondem aos ciclos gerados por um relógio que sincroniza actividade do sistema. A duração de qualquer actividade é medida num determinado número de ciclos de relógio. Cada processador funciona internamente a uma velocidade que é medida em ciclos de relógio. Um processador que funcione a 200 Mhz gera internamente, em cada segundo, 200 milhões de ciclos de relógio, tendo cada ciclo de relógio uma duração que, em segundos, é de 0,000000002 (1/50000000). AC / AFC
  • 22. Processamento – é o conjunto de procedimentos através dos quais os dados são relacionados e transformados, permitindo extrair deles uma nova informação, ou informações sob outras formas. Este processamento é feito através de programas que são executados pelo processador. PC IR ALU MAR MBR IO AR IO BR ACUMULATOR CPU Processadores – A função do processador é a de interpretar e executar os programas. Ora como tudo o que os computadores fazem é obedecer às instruções dos programas o processador acaba por ser o elemento nuclear que controla directa ou indirectamente toda a actividade do sistema.
  • 23.  Unidades Funcionais de um processador ou Data Path (Lógica e Aritmética...) – Executam as tarefas básicas necessárias para execução de uma instrução: – Fetch – Recolhe a instrução a executar da memória – Decode – Interpreta e descodifica a instrução – Execute – Executa as operações da instrução – Write - Coloca o resultado num registo interno ou na memória CPU Fetch Decode ALU Execute Write Memória Address BUS Data BUS Front End Back End O processamento de uma instrução é designado por instrution Cycle e de uma forma simplificada cada Instrution Cycle pode ser dividido em duas etapas: Fetch Cycle e Execution Cycle
  • 24. PC MAR MBR CPU PC (Program Counter / Controlador de instruções) - Contém o endereço da próxima instrução que deve ser procurada na memória. MAR (Memory Addres Register) - Contém o endereço da próxima localização de memória a aceder. MBR (Memory Buffer Register) - Contém a informação recebida da memória ou a informação a enviar para a memória. O conceito de registrador surgiu da necessidade da UCP armazenar temporariamente dados intermediários durante um processamento. São dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra) e são voláteis.
  • 25. PC IR MAR MBR IO AR IO BR CPU IR (Instruction Register) - Contém a instrução que mais recentemente foi recolhida da memória. IO AR (I/O Addres Register) - Contém o endereço que identifica um determinado dispositivo periférico IO BR (I/O Buffer Register) - Contém os dados que resultam da comunicação do processador com os periféricos.
  • 26. PC IR MAR MBR IO AR IO BR CPU ALU (Arithmetic and Logic Unit) - tem por função a efectiva execução das instruções ou seja, é a responsável pela realização das operações lógicas (E, OU, etc) e aritméticas (somar, etc). ALU
  • 27. PC IR MAR MBR IO AR IO BR CPU FPU (Floating Point Unit ) - co-processador especializado na execução de certas operações matemáticas. ALU FPU
  • 28. PC IR MAR MBR IO AR IO BR CPU ACC Acumulador (ACC - Accumulator) - armazena os dados (de entrada e resultados) para as operações na UAL; o acumulador é um dos principais elementos que definem o tamanho da palavra (unidade de processamento da UCP e deve representar um dado ou uma instrução, que pode ser processada, armazenada ou transferida numa única operação) do computador - o tamanho da palavra é igual ao tamanho do acumulador ALU ACUMULATOR
  • 29.  Unidade de Controle (UC ou control Path) - que emite a sequência de sinais adequados ao funcionamento do processador e para actuação noutros componentes do computador.
  • 30. Bus de Endereços Bus de Dados Bus Interno Unidade de Controlo - tem por funções a busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador. Dito de outra forma, envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizadamente. Diagrama Funcional da UCP
  • 31. Bus de Endereços Bus de Dados Bus Interno Diagrama Funcional da UCP A Unidade de Controle da UCP envia a todos os componentes do computador um sinal elétrico regular - o pulso de "clock" - que fornece uma referência de tempo para todas as actividades e permite a sincronização das operações internas. O clock é um pulso alternado de sinais de tensão, gerado pelos circuitos de relógio.
  • 32. MEMÓRIA . . . INST INST INST DATA DATA DATA Memória – A memória pode ser vista como um conjunto de localizações , cada uma delas identificada por um endereço. Cada uma dessas localizações pode conter uma sequência de bits sendo que essa sequência pode ser um dado ou uma instrução.
  • 33. BUFFERS I NP / OUT Módulo Input / Output - estabelece a comunicação com o processador e com a memória. Para além da lógica necessária ao processamento das operações , pode igualmente conter buffers para armazenamento temporário da informação. Buffer (retentor) é uma região de memória temporária utilizada para escrita e leitura de dados. Os dados podem ser originados de dispositivos (ou processos) externos ou internos ao sistema. Os buffers podem ser implementados em software (mais usado) ou hardware. Normalmente são utilizados quando existe uma diferença entre a taxa em que os dados são recebidos e a taxa em que eles podem ser processados, ou no caso em que essas taxas são variáveis.
  • 34. 34 Aplicação Aplicação Aplicação Sistema Operativo Device Drivers Hardware O Software de Sistema tem como finalidade fazer com que o computador funcione de modo integrado, permitindo e facilitando o desenvolvimento e a execução das aplicaçõess. Software de sistema BIOS O BIOS (conjunto de rotinas básicas inscritas no hardware), o SO e os Device Drivers (programas que auxiliam o SO na comunicação com os periféricos) constituem o que se designa por Software de Sistema.
  • 35. ROM 35 Interface Processos Sistemas Ficheiros Memória Imp. Sist. Segurança API Sistema Operativo BIOS Hardware BIOS Firmware A finalidade básica do sistema Operativo é a gestão dos recursos de equipamento nomeadamente: S O F T W A R E S I S T E M A Criação de um ambiente de trabalho (Interface) que permita aos utilizadores rentabilizar os recursos da máquina Gestão da execução dos programas – um programa em execução é um Processo. O SO tem de fazer a gestão dos processos em memória atribuindo-lhes, por exemplo, tempo de processador Memória Sistema Ficheiros Implementação Sistema Segurança API – Application Programming Interface conjunto de funções para os programadores de aplicações e para os compiladores
  • 36. Ao nível do hardware, pode ser necessário criar uma placa de expansão, integrável num das ranhuras de expansão da motherboard do sistema. Essa placa poderá incluir o seu próprio BIOS, que passa a constituir uma extensão do BIOS do sistema. Ao nível do software, pode ser necessário criar um programa especial que seja o interlocutor do SO no seu “diálogo” com esse periférico. Esse programa é designado por Device Driver. Os Device Drivers são programas que actuam como complementos do BIOS e do sistema operativo, na ligação a certos periféricos de I/O. Quando o construtor de um equipamento informático cria um novo periférico para um computador, tem igualmente de criar interfaces lógicos necessários para que esse periférico se possa integrar no sistema.
  • 37. O SO requisita serviços aos periféricos através de um conjunto de comandos genéricos. No entanto, cada dispositivo, poderá implementar esses serviços através de vários comandos que são específicos desse dispositivo. Um programa device driver actua assim como um “tradutor”: recebe e interpreta os comandos genéricos do sistema operativo e transforma esses comandos genéricos nos comandos específicos que o periférico reconhece. ROM Interface Processos Sistemas Ficheiros Memória Imp. Sist. Segurança API Sistema Operativo BIOS Hardware BIOS Firmware S O F T W A R E S I S T E M A Comandos Genéricos Device Drives Específicos
  • 38. A cada um dos dispositivos com os quais o processador pode estabelecer contacto (a RAM, a ROM, o Teclado, os Discos, etc.) corresponde um determinado conjunto de endereços. Quando o processador coloca um sinal no BUS de endereços e identifica, através da linha M (-memória) / Input / Output, se se trata de um endereço de memória ou de um endereço de I/O é necessário que cada dispositivo possa reconhecer se o sinal do bus aponta para algum endereço do conjunto dos endereços que lhe estão associados. A unidade encarregue de interpretar e descodificar os sinais do bus designa-se por descodificador de endereços (address decoder ). Cada dispositivo tem associado um descodificador de endereços. A missão do descodificador de endereços de cada dispositivo é analisar o sinal colocado no bus e verificar se o endereço está situado dentro dos limites da zona de endereçamento do seu dispositivo.
  • 39. Existem basicamente dois tipos de sistemas multiprocessador: O sistema de Multiprocessamento Simétrico (Symmetric multiprocessing) – neste sistema o código do sistema operativo pode ser executado em qualquer dos processadores presentes no sistema e, até, partilhar o seu código entre vários processadores simultaneamente. Este modelo apresenta a vantagem de permitir uma mais eficiente distribuição do trabalho entre os vários processadores e, ainda, um elemento adicional de segurança: em caso de falha de um dos processadores, o código do sistema operativo pode ser executado noutro processador, mantendo o sistema em funcionamento. AC / AFC
  • 40. AC / AFC Num sistema de multiprocessamento assimétrico (Asymmetric multiprocessing), um dos processadores é escolhido para executar o código do sistema operativo, enquanto os restantes processadores se ocupam dos threads das restantes aplicações. Do ponto de vista da concepção este sistema é relativamente mais fácil de implementar, visto que se trata fundamentalmente de ampliar o modelo de sistema operativo concebido para trabalhar com um único processador. Apresenta no entanto algumas desvantagens uma vez que, em condições normais de exploração, a partilha dos recursos não é tão eficiente como num sistema de multiprocessamento simétrico. Thread, ou linha de execução em português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser Executadas simultaneamente. O suporte à thread é fornecido pelo próprio sistema operacional (SO) ou implementada através de uma biblioteca de uma determinada linguagem
  • 41. Memória principal - onde é armazenada toda a informação que o CPU vai necessitar de manusear; encontra-se organizada em células que podem ser directa e individualmente endereçadas pelo CPU (ou por outro componente que também possa aceder directamente à memória); cada célula tem normalmente 8 bits de dimensão (todos os processadores disponíveis comercialmente lidam com esta dimensão de célula); a dimensão máxima de memória física que um computador pode ter está normalmente associada à largura n de BUS de endereços (2n). Processador / UCP
  • 42. Registadores - são dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra). Devido a sua tecnologia de construção e por estarem localizados como parte do próprio "chip" da UCP, são muito caros. O conceito de registador surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um processamento. Por exemplo, quando um dado resultado duma operação precisa ser armazenado até que o resultado de uma busca da memória esteja disponível para com ele realizar uma nova operação. A Memória Principal não é o único dispositivo de armazenamento dum computador. Em função de características como tempo de acesso, capacidade de armazenamento, custo, etc., pode estabelecer-se a seguinte hierarquia de dispositivos de armazenamento em computadores
  • 43. Memória Cache Com o desenvolvimento da tecnologia de construção dos processadores, o diferencial de velocidade dos processadores e da memória foi-se acentuando. Desta forma, os tempos de acesso às memórias foram-se tornando insatisfatórios, pelo que a UCP ao procurar um dado na memória precisa ficar à espera muitos ciclos até que a memória retorne o dado procurado ("wait states"), configurando um “estrangulamento” ("bottleneck") ao desempenho do sistema. A arquitectura da memória cache é muito diferente da arquitectura da memória principal e o acesso a ela é muitas vezes mais rápido (p.ex: 5 ns contra 70 ns).
  • 44. Memória Cache O custo de fabricação da memória cache é muito maior que o da MP. Desta forma, não é económico construir um computador somente com tecnologia de memória cache. Criou-se então um artifício, incorporando-se ao computador uma pequena porção de memória cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da MP Desenvolveram-se ainda algoritmos que fazem com que, a cada momento, a memória cache armazene a porção de código ou dados (por exemplo, uma sub-rotina) que estão a ser usados pelas UCP. Esta transferência (MP <==> Cache) é feita pelo hardware
  • 45. Memória Cache A memória cache opera em função de um princípio estatístico comprovado: em geral, os programas tendem a referenciar várias vezes pequenos trechos de programas, como loops, sub-rotinas, funções, etc. Desta forma, os denominados algoritmos de cache podem controlar qual parte do código ficará copiado na cache, a cada momento. Quando o processador procura um determinado trecho de código e o encontra na cache, dá-se um "cache hit" , enquanto se o dado não estiver presente na cache será necessário requisitar o mesmo à MP, originando um atraso no processamento e dá-se um "cache miss" ou "cache fault". O índice de cache hit ou taxa de acerto da cache é geralmente acima de 90%.
  • 46. Memória Principal Conforme definimos anteriormente, Memória Principal é a parte do computador onde programas e dados são armazenados para processamento. A informação permanece na memória principal apenas enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela informação disponibilizada para ser posteriormente sobregravada por outra informação. Quem controla a utilização da memória principal é o Sistema Operacional.
  • 47. Estrutura Memória Principal - Células e Endereços A memória precisa estar organizada de forma a permitir ao computador guardar e recuperar informações quando necessário. Não faria sentido armazenar informações que não fosse possível recuperar posteriormente. Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso que haja um mecanismo que registre exactamente a localização onde a informação foi armazenada. A memória principal é organizada em células. A célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e tem um tamanho fixo (para cada máquina). As memórias são compostas por um determinado número de células ou posições, sendo cada célula composta por um determinado número de bits. Todas as células de um dado computador tem o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits.
  • 48. Estrutura Memória Principal - Células e Endereços Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas. As células são numeradas sequencialmente, uma a uma, de 0 a (N-1), defnindo-se esta numeração por endereço da célula. Endereço é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço. A estrutura da memória principal é um problema do projecto de hardware: - mais endereços com células menores ou -menos endereços com células maiores? O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo vários bytes.
  • 49. Memória Principal - Capacidade A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = N x M T = capacidade da memória em bits N = nº de endereços (N=2x sendo x = nº de bits do endereço) M = nº de bits de cada célula Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois dividir por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células. O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1).
  • 50. Memórias Auxiliares Memórias auxiliares resolvem problemas de armazenamento de grandes quantidades de informações. A capacidade da MP é limitada pelo seu relativamente alto custo, enquanto as memórias auxiliares tem maior capacidade e menor custo; portanto, o custo por bit armazenado é muito menor. Outra vantagem importante é que as memórias auxiliares não são VOLÁTEIS, isto é, não dependem de estar energizadas para manter gravado seu conteúdo. Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), drives de disquete, unidades de fita, CD-ROM, DVD, unidades óptico-magnéticas, etc
  • 51. A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento.
  • 52. FUNCIONAMENTO – Pode aceder-se à Memória Principal através de duas operações seguintes: a) Acesso Tipo LER b) Acesso Tipo ESCREVER O acesso à MP é aleatório, portanto qualquer que seja o endereço (a posição) de memória que se queira acessar, o tempo de acesso é o mesmo (constante). Obs.: Embora a MP seja endereçada por célula, a UCP em geral acessa a MP por palavra (unidade de processamento da UCP e deve representar um dado ou uma instrução, que pode ser processada, armazenada ou transferida numa única operação) . O endereçamento por célula dá maior flexibilidade de armazenamento, em compensação o número de acessos é em geral maior.
  • 53. a) Acesso Tipo Ler Ler da Memória - Significa requisitar à MP o conteúdo de uma determinada célula (recuperar uma informação). Esta operação de recuperação da informação armazenada na MP consiste na transferência de um conjunto de bits (cópia) da MP para a UCP e é não destrutiva, isto é, o conteúdo da célula não é alterado. Sentido: da MP para a UCP Passos Executados Pelo Hardware: a.1) a UCP armazena no REM (registo de Endereços de Memória) o endereço onde a informação requerida está armazenada; a.2) o conteúdo da posição identificada pelo endereço contido no REM é transferido para o RDM (Registo Dados de Memória) e fica disponível para a UCP.
  • 54. b) Acesso Tipo Escrever Escrever na Memória - Significa escrever uma informação numa célula da MP (armazenar uma informação). Esta operação de armazenamento da informação na MP consiste na transferência de um conjunto de bits da UCP para a MP e é regravável. Sentido: da UCP para a MP Passos Executados Pelo Hardware: b.1) a UCP armazena no REM o endereço de memória da informação a ser gravada e no RDM a própria informação; b.2) a informação armazenada no RDM é transferida para a posição de memória cujo endereço está contido no REM
  • 55. Quanto à leitura e escrita, as memórias podem ser classificadas como: R/W - Read and Write (memória de leitura e escrita), vulgarmente (e impropriamente) chamada de RAM (Random Access Memory ou memória de acesso aleatório), embora não seja a única RAM. Esta memória permite operações de escrita e leitura pelo usuário e pelos programas. O seu tempo de acesso é da ordem de 70ns e não depende do endereço acessado. É construída com tecnologia de semicondutores, pode ser estática (SRAM) ou dinâmica (DRAM) e é volátil. A MP é construída com memória R/W.
  • 56. Quanto à leitura e escrita, as memórias podem ser classificadas como: ROM - Read Only Memory ou memória apenas de leitura Esta memória permite apenas a leitura e uma vez gravada não pode mais ser alterada. Também é de acesso aleatório (isto é, é também uma RAM), mas não é volátil. É utilizada geralmente por fabricantes para gravar programas que não se deseja permitir que o usuário possa alterar ou apagar acidentalmente (tal como por ex..a BIOS - Basic Input Output System e microprogramas de memórias de controle). Quando se liga uma máquina, é da ROM que vem os programas que são carregados e processados no "boot" (na inicialização o hardware aponta automaticamente para o primeiro endereço da ROM). Desta forma, parte do espaço de endereçamento da MP é ocupado por ROM. A ROM é mais lenta que a R/W e é barata, porém o processo produtivo depende de ser programada por máscara ("mask programmed") em fábrica e devido ao alto custo da máscara somente se torna económica em grandes quantidades. Obs.: Boot (ou bootstrap loader) é o processo de inicialização e carregamento dos programas básicos de um computador, automático (sem intervenção externa).
  • 57. ROM – Read Only Memory Memória ROM Características Permanente – o conteúdo da memória mantém-se mesmo quando o computador é desligado da corrente Read Only (só de leitura) – o processador pode ler e executar os programas da ROM, mas não pode alterar o conteúdo das suas células.
  • 58. ROM – Read Only Memory Memória ROM Características Permanente – o conteúdo da memória mantém-se mesmo quando o computador é desligado da corrente Read Only (só de leitura) – o processador pode ler e executar os programas da ROM, mas não pode alterar o conteúdo das suas células. Os circuitos da ROM são produzidos através de uma tecnologia que torna impossível a alteração dos programas gravados nesses dispositivos. Uma vez produzido um circuito de ROM não pode sofrer qualquer alteração, qualquer que seja o processo utilizado. Nalguns casos, os construtores criam dispositivos do tipo ROM, que podem ser programados através de dispositivos especiais. Trata-se de separar o processo de produção dos chips, do processo de programação desse chip. Desta forma, os construtores podem criar chips que não ficam definitivamente ligados aos programas introduzidos na fase de produção do chip. Nesses chips todos os bits são colocados a 1. A introdução dos programas é feita através de dispositivos que, de acordo com os programas a introduzir, colocam a 0 os bits necessários. Tecnologias
  • 59. ROM – Read Only Memory Memória ROM Características Permanente – o conteúdo da memória mantém-se mesmo quando o computador é desligado da corrente Read Only (só de leitura) – o processador pode ler e executar os programas da ROM, mas não pode alterar o conteúdo das suas células. Tecnologias PROM Programmable Read Only Memory - Esta memória é uma ROM programável (em condições e com máquinas adequadas, chamadas queimadores de PROM) e geralmente é comprada "virgem" (sem nada gravado), sendo muito utilizada no processo de testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Todavia, a programação inscrita nos circuitos PROM é irreversível, isto é, não podem ser reprogramados
  • 60. ROM – Read Only Memory Memória ROM Características Permanente – o conteúdo da memória mantém-se mesmo quando o computador é desligado da corrente Read Only (só de leitura) – o processador pode ler e executar os programas da ROM, mas não pode alterar o conteúdo das suas células. Tecnologias PROM EPROM Erasable Programmable Read Only Memory ou memória apenas de leitura, programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base de raios ultra-violeta). Esta memória é uma PROM apagável. Tem utilização semelhante à da PROM, para testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a vantagem de poder ser apagada e reutilizada. Esta tecnologia permite uma flexibilidade adicional, uma vez que os circuitos não são inutilizados, no caso de se detectar um erro de programa que necessite de correcção ulterior
  • 61. ROM – Read Only Memory Memória ROM Características Permanente – o conteúdo da memória mantém-se mesmo quando o computador é desligado da corrente Read Only (só de leitura) – o processador pode ler e executar os programas da ROM, mas não pode alterar o conteúdo das suas células. Tecnologias PROM EPROM Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura, programável e electronicamente alterável. Também chamada EAROM (Electrically Alterable ROM). Esta memória é uma EPROM apagável por processo electrónico, sob controle da UCP, com equipamento e programas adequados. É mais cara e é geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa, geralmente relativas ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um terminal, etc). EEPROM e Flash Memory
  • 62.
  • 63. O processador acede à memória para recolher instruções. Mas, como os circuitos da RAM são mais lentos do que o processador, ocorrem estados de espera, isto é, o processador tem de aguardar até que os circuitos da RAM possam executar as operações solicitadas. Para minimizar essa situação, é introduzida nos sistemas uma pequena parcela de RAM, designada por Cache. A memória Cache é constituída com circuitos muito rápidos, capazes de executar operações a uma velocidade compatível com a velocidade do processador.
  • 64. É com base na tecnologia da DRAM que é constituída a memória RAM de sistema que equipa a generalidade dos PC. Esta tecnologia de construção dos circuitos da RAM é a mais económica, mas possui a desvantagem de os seus condensadores necessitarem de ser recarregados periodicamente e a intervalos de tempo muito curtos. Este processo, que se designa por memory refresh torna mais lento o processo de acesso à informação contida na RAM.
  • 65. A SRAM é uma tecnologia de construção de circuitos de memória RAM que dispensa o processo de memory refresh. É uma tecnologia mais cara mas também muito mais rápida, sendo por isso utilizada nos dispositivos de memória cache.
  • 66. Trata-se de um tipo particular de memória DRAM que contém uma zona de armazenamento intermédio (buffer) que regista os pedidos do processador enquanto processa o acesso às células da RAM. Este mecanismo torna mais eficiente e mais rápida a resposta da RAM aos pedidos do processador.
  • 67. É a memória RAM mais utilizada nos adaptadores de vídeo. Baseia-se numa tecnologia que permite a leitura e a escrita simultânea de informação (designada por porta dupla ou Dual Port). Esta tecnologia permite uma mais rápida passagem da informação para o ecrã do monitor.
  • 68.
  • 69. A memória RAM existente nos computadores actuais é fundamentalmente constituída por dispositivos do tipo DRAM. Estes circuitos são relativamente lentos quando comparados com a velocidade do processador, provocando estados de espera nos ciclos de bus de acesso à memoria. Para evitar estes estados de espera poderia utilizar-se a tecnologia SRAM para toda a RAM do sistema, mas esta solução é inviável do ponto de vista económico. A maior parte da memória RAM (designada por main memory) é constituída por circuitos do tipo DRAM. Uma pequena parte da memória funciona como cache e é criada com circuitos do tipo SRAM.
  • 70. Os sistemas de memória CACHE representam um compromisso. A memória cache, como foi referido, é uma memória com circuitos de acesso mais rápido do que os da memória RAM. Uma parte da memória cache faz parte integrante do processador e é designado por cache L1. Outra parte fica no exterior, entre o processador e a memória e designa-se por cache L2. A situação ideal do ponto de vista da velocidade de processamento, é aquela em que o processador não necessita de ir ao exterior, à cache L2 ou à memória RAM, para obter dados ou instruções
  • 71. O Controlador de Cache tem como função gerir o funcionamento do sistema, sendo a sua principal função manter na cache a informação a que, com maior probabilidade, o processador necessite de aceder em determinado momento. De um modo geral, os controladores de cache utilizam um algoritmo que consiste em manter na cache a informação mais recentemente usada pelo processador. Esta técnica baseia-se numa constatação prática importante e que é a seguinte: os programas funcionam frequentemente através de ciclos (loops), com instruções situadas em localizações de memórias contíguas. Quando executa um ciclo, o programa acede repetidamente a um mesmo conjunto de instruções.
  • 72. Controlador de Cache Embora, no início do ciclo, as instruções tenham de ser recolhidas da memória RAM para a cache, em todas as sucessivas iterações de ciclo, a informação necessária poderá já estar toda ela residente na cache. O Controlador da Cache mantém permanentemente um registo de todos os endereços de memória que se encontram na cache em cada momento. Essa informação é guardada numa tabela designada por cache memory directory. A cada entrada nessa tabela corresponde uma zona de armazenamento na cache. Cada zona de armazenamento da cache designa-se por Set.
  • 73.
  • 74. Os programas que são imediatamente executados quando o computador é ligado (rotinas de arranque e diagnóstico) estão permanentemente inscritos na ROM. Esses programas de arranque, depois de efectuado o diagnóstico do sistema, iniciam o processo de carregamento do sistema operativo para a memória RAM. Em regra, o sistema operativo é carregado de um dos discos rígidos para a memória RAM.
  • 75. BIOS (Basic Input Output System) Trata-se de um conjunto de rotinas, inscritas em dispositivos de memória ROM ou em memória Flash EEPROM, que estabelecem uma “ponte” entre o software e os vários periféricos. Quando novos periféricos são incorporados no sistema, através das ranhuras (slots) da motherboard, as respectivas placas de expansão contêm a sua própria ROM e o seu próprio BIOS que amplia as funcionalidades do BIOS original do sistema.
  • 76. As rotinas do BIOS estão inscritas na ROM. Todavia, a memória ROM possui o inconveniente de ser mais lenta que a memória RAM. Por esse motivo, em alguns computadores é utilizada a técnica de, no arranque do sistema, carregar para a memória RAM o conteúdo do BIOS. Esta técnica permite que os acessos às rotinas do BIOS passem a ser mais rápidas. Essa técnica é designada por Shadow ROM. Nalguns casos é utilizada a técnica de carregar o BIOS para a cache, o que torna ainda mais rápido o acesso às rotinas do BIOS.
  • 77. Os diversos componentes dos computadores comunicam através dos diferentes tipos de BUS presentes no computador. Estes BUS não são mais do que um conjunto de condutores eléctricos que interligam os diversos componentes do computador e de circuitos electrónicos que controlam o fluxo de bits. Para um dado ser transportador de um componente para outro é preciso emitir os sinais de controle necessários para o componente – origem colocar o dado no BUS e para o componente –destino ler o dado no bus. Como um dado é composto por bits (geralmente um ou mais bytes) o BUS deverá ter tantas linhas condutoras quantos forem os bits a serem transportados de cada vez
  • 78. O sistema de interligação dos diversos componentes presentes num computador designa-se genericamente por barramentos (bus); estes barramentos são constituídos por um elevado número de ligações físicas,podendo estar agrupados de forma hierárquica.
  • 79. As principais categorias de barramentos (BUS) são normalmente designadas por: • Bus de dados, que têm por função transportar a informação (códigos dos programas e dados) entre os blocos funcionais dum computador; quanto maior a sua "largura", maior o número de bits que é possível transportar em simultâneo; • Bus de endereços, que têm por função transportar a identificação/localização ("endereço") dos sítios onde se pretende ler ou escrever dados (por ex., o endereço de uma célula de memória ou de um registo de estado de um controlador); • Bus de controlo, que agrupa todo o conjunto de sinais eléctricos de controlo do sistema, necessários ao bom funcionamento do computador como um todo (por ex., sinais para indicar que a informação que circula no barramento de dados é para ser escrita e não lida da célula de memória cuja localização segue no barramento de endereços; sinais para pedir o bus; sinal de reset; ...).
  • 80. A eficiência do sistema de comunicações decresce se o mesmo bus tiver de ser partilhado por todos os dispositivos. Uma solução poderia consistir no aumento da velocidade de transmissão de dados do bus, mas a opção tecnológica adoptada pela indústria consiste na criação de uma hierarquia de buses. A necessidade de uma hierarquia de buses.
  • 81.
  • 82. Dispositivos de Entrada/Saída (I/O) e respectivos controladores, incluindo: • dispositivos que fazem interface com o ser humano: monitor, teclado, rato, impressora, colunas de som, ... • dispositivos que armazenam grandes quantidades de informação, também designados por memória secundária: disco, banda magnética, CD-ROM, ... • dispositivos de interface para comunicação com outros equipamentos: interfaces vídeo, placas de rede local, modems, interface RDIS, ... • dispositivos internos auxiliares, como um temporizador, um controlador de interrupções, um controlador de acessos directos à memória (DMA), ... Processador / UCP
  • 83. Dispositivos de Entrada/Saída (I/O) Os dispositivos de ENTRADA são: teclado, mouses, scanners, leitoras ópticas, leitoras de cartões magnéticos, câmeras de vídeo, microfones, sensores, transdutores, etc ... As funções destes dispositivos são reunir e introduzir as informações na máquina, converter informações do homem para a máquina e vice-versa, e recuperar informações dos dispositivos de armazenamento. Processador / UCP
  • 84. Dispositivos de Entrada/Saída (I/O) - Teclado O teclado é um dispositivo de entrada de dados composto de um conjunto de teclas, associadas aos caracteres utilizados para escrita e para controle (letras, algarismos, sinais de pontuação, teclas de movimentação de cursor, teclas de função, etc). A parte visível do teclado é o conjunto de teclas. Por baixo das teclas, existe uma matriz de condutores que, quando uma tecla é pressionada, fecha contacto entre dois de seu condutores, de forma que um processador (processador de teclado) possa identificar qual tecla foi pressionada. Uma vez identificada a tecla, esta informação é codificada e enviada para o processador principal do computador. Processador / UCP
  • 85. Dispositivos de Entrada/Saída (I/O) Os dispositivos de SAÍDA são: impressoras, monitores de vídeo, plotters, actuadores, chaves, etc ... As funções destes dispositivos são exibir ou imprimir os resultados do processamento, ou ainda controlar dispositivos externos. Processador / UCP
  • 86. Dispositivos de Entrada/Saída (I/O) - Monitor de Vídeo O monitor de vídeo é um dispositivo de saída que utiliza uma tela semelhante à de TV como meio de visualização das informações processadas pelo computador. Também são utilizados monitores com tela de cristal líquido em microcomputadores portáteis (laptops, notebooks, hand-helds, etc). A informação relativa à imagem que deve ser exibida é gerada no computador e transmitida (em formato digital, isto é, bits) para a interface de vídeo, onde os sinais analógicos de vídeo que vão formar a imagem propriamente dita são produzidos. Processador / UCP
  • 87. Dispositivos de Entrada/Saída (I/O) - Impressoras São dispositivos de saída que tem por finalidade imprimir em papel ou filme plástico os resultados do processamento. Da mesma forma que os monitores, a imagem impressa é resultado de muitos pontos impressos individualmente que no conjunto formam o texto ou a imagem desejados. Também de forma semelhante aos monitores, as impressoras evoluíram a partir de dispositivos que imprimiam apenas caracteres em uma única cor para as modernas impressoras capazes de reproduzir imagens sofisticadas, de alta resolução gráfica, em milhares de cores Processador / UCP
  • 88. O Instruction Set (ou linguagem máquina) é o conjunto de instruções que o CPU consegue reconhecer, interpretar e executar. Qualquer que seja a linguagem em que o programa esteja escrito, quando chegar à fase de execução tem de ser constituído por instruções que façam parte do Instruction Set do processador que as vai executar.
  • 89. As Linguagens de Programação são conjuntos de instruções que obedecem a uma gramática específica, usadas para fazer programas de computador.
  • 90. Excepto se os programas forem escritos directamente em linguagem máquina, qualquer programa escrito noutra linguagem tem de ser objecto de um processo de transformação até estar expresso em instruções de linguagem máquina.
  • 91. Na utilização de um computador é possível identificar vários níveis de abstracção, sendo os mais relevantes, no âmbito desta temática: • Nível da linguagem máquina (em binário): instruções e variáveis totalmente codificadas em binário, sendo a codificação das instruções sempre associada a um dado processador e tendo como objectivo a execução eficiente e rápida dos comandos; a sua utilização é pouco adequada para seres humanos;
  • 92. • Nível da linguagem assembly (tradução literal do inglês: "de montagem"): equivalente ao nível anterior, mas em vez da notação puramente binária, esta linguagem usa mnemónicas (EX: add, mov, jump, etc) para especificar as operações pretendidas, bem como os valores ou localizações dos operandos; embora este nível seja melhor manuseado por seres humanos, ele ainda é inteiramente dependente do conjunto de instruções dum dado processador, isto é, não é portátil entre processadores de famílias diferentes, e as estruturas que manipula, quer de controlo, quer de dados, são de muito baixo nível; • Nível das linguagens HLL (High Level Languages, como o C, Pascal, FORTRAN, ...): linguagens mais poderosas e mais próximas dos seres humanos, que permitem a construção de programas para execução eficiente em qualquer processador.
  • 93. Dado que o processador apenas "entende" os comandos em linguagem máquina, é necessário converter os programas escritos em linguagens dos níveis de abstracção superiores para níveis mais baixos, até eventualmente se chegar à linguagem máquina. Estes tradutores ou conversores de níveis são normalmente designados por: • Assemblers : programas que traduzem os textos escritos em assembly language para linguagem máquina, onde cada comando compreendido pelo processador se encontra codificado em binário de acordo com um formato definido pelo fabricante do processador;
  • 94. O processo de Montagem traduz um programa escrito em linguagem Assembly num programa equivalente em linguagem de máquina, passível de ser executado pelo computador. No processo de montagem, o código fonte (programa em linguagem simbólica escrito pelo programador) é examinado, instrução a instrução, e é feita a tradução, gerando o código que será executado (código objecto)
  • 95. Os passos executados pelo programa montador são: a) Verificar a correcção do código de instrução e substituir as mnemónicas pelos códigos numéricos binários equivalente. Qualquer erro do código implica a interrupção do processo e a emissão de uma mensagem de erro; b) Resolver as referências de memória. Os nomes simbólicos adoptados pelo programador são convertidos para endereços reais de memória; c) Reservar o espaço em memória para o armazenamento das instruções e dados; d) Converter valores de constantes em binário
  • 96. • Compilação: é o processo de tradução de um programa escrito em linguagem de alto nível ( Source code) para código em linguagem de máquina (Object code). Apesar da analogia ao processo de montagem, a compilação é um processo de maior complexidade. No processo de montagem há uma relação de 1:1 ou seja, cada instrução do código fonte resulta numa instrução de código de máquina, enquanto que na compilação a relação é múltipla isto é, cada instrução do código fonte origina várias instruções de máquina.
  • 97. • Compiladores: são programas que traduzem os programas escritos em HLL para um nível de abstracção inferior, i.e., para assembly; a maioria dos compiladores existentes incluem já os dois passos da tradução para linguagem máquina, isto é, traduzem de HLL directamente para linguagem máquina binária, sem necessitarem de um assembler; Um Compilador funciona como um tradutor que a partir da “linguagem fonte”, isto é do código fonte (alto nível), cria um novo programa em código objecto (linguagem máquina)
  • 98. • Linkagem – A tarefa de examinar o código objecto, procurar as referências a rotinas e obter os parâmetros para incluí-los no código objecto é executada por um programa chamado Ligador (LinkEditor). O resultado da execução do ligador é o código final pronto para ser executado pelo computador, chamado módulo de carga ou código executável. O módulo de carga, após testado, é armazenado em memória para ser executado quando necessário. O processo de compilação e ligação é executado apenas pelo programador na fase de desenvolvimento.
  • 99. A Linkagem é um processo necessário para que ao código objecto gerado na compilação sejam acrescentadas rotinas complementares, disponibilizadas pelo próprio compilador, isto para que o programa objecto se possa efectivamente tornar num programa executável.
  • 100. O processo de linkagem permite que vários módulos objecto sejam agregados para produzir um único programa executável.
  • 101.  Em resumo: vimos que um programa - em HLL ou em assembly - pode ser criado com um editor de texto, traduzido para um nível de abstracção inferior por um compilador (se for HLL) ou por um assembler (se estiver em assembly), ligado a outros módulos para formar um todo usando um linker, e carregado na memória e executado com a ajuda dum loader. A figura que se segue ilustra esta sequência.
  • 102. •Interpretação – consiste num método alternativo ao processo descrito até agora ( código fonte => compilação => ligação => montagem => código máquina) uma vez que, a partir do código fonte realiza as três fases (compilação, ligação e montagem) comando por comando, em tempo de execução. Não existem fases distintas nem se produzem códigos intermediários. Todo o processo de conversão é efectuado em tempo de execução e imediatamente executado. Ou seja, cada comando é lido, verificado, convertido em código executável e imediatamente executado, antes que o comando seguinte seja sequer lido.
  • 103. •Interpretação - com um interpretador, as instruções de HLL são analisadas uma a uma, e o interpretador gera código em linguagem máquina e executa de imediato esse código, sem o guardar. Não há propriamente uma tradução de um programa noutro, mas sim a análise dum programa seguida de geração e execução do código máquina associado. Um Interpretador funciona como um “intérprete” transformando as instruções de alto nível em linguagem máquina no momento de execução do programa.
  • 105. 105 A Digitalização – A digitalização não é mais do que o processo que transforma grandezas analógicas em informação digital. Os dígitos binários, que não são mais do que a representação simbólica dos bits, constituem um meio adequado para representar letras, números, etc. Mas as capacidades de processamento através dos bits (ou dos dígitos binários, se se pretende observar o processo do seu ponto de vista lógico) não se limitam aos textos. É possível através do sistema binário representar e gravar, por exemplo, um som, uma imagem ou uma sequência de vídeo. A Digitalização e o Interface com o Utilizador – Os computadores receberem, processarem, armazenarem e transmitirem a informação exclusivamente através da forma digital. Todavia, é evidente que o utilizador não opera directamente com símbolos binários. O computador possui interfaces de ligação com o exterior que permitem transformar o código binário em sinais analógicos que são aqueles que os seres humanos podem facilmente interpretar. Quando o utilizador carrega numa tecla do teclado, o computador transforma internamente esse impulso físico ou analógico no código binário correspondente à tecla pressionada. Os impulsos internos do computador são enviados para o monitor em código binário mas o sistema de vídeo possui a capacidade para transformar esse código em sinais analógicos interpretáveis pelas pessoas e que são apresentados sob a forma de letras, gráficos, animações ou vídeos. Digitalização
  • 106. 106 Cada tecla tem associado um código numérico que se designa por scan code. Em cada teclado existe um pequeno processador que detecta quando uma tecla é premida e envia o scan code correspondente para uma zona de armazenamento intermédia (buffer do teclado). Quando existe um carácter no buffer, o controlador envia um interrupt ao processador. Em certas ocasiões pode acontecer que o utilizador seja mais rápido a digitar as teclas do que o processador a atender aos pedidos de interrupt do controlador do teclado. Para processar cada tecla digitada pelo utilizador, o processador executa um programa designado por keiboard driver. A função do Keyboard Driver é transformar cada scan code no carácter correspondente. Digitalização
  • 107. 107 Na digitalização de imagens, o scanner cria um mapa de bits (bitmap) correspondente à estrutura da imagem detectada. A superfície do papel é dividida em pixels ou unidades básicas de análise. Quanto maior for a densidade de pixels por área, maior é a resolução da digitalização. Os sensores do scaner atribuem a cada pixel analisado um determinado nº de bits. É através desses bits que se define a cor atribuída ao pixel. Por exemplo, se forem atribuídos 8 bits, a imagem digitalizada pode registar um máximo de 256 cores diferentes. Se forem utilizados 24 bits por cada pixel, a imagem permite distinguir 16 777 216 cores. Digitalização
  • 108. 108 A tecnologia de digitalização e reprodução do som no computador é constituída por placas de expansão que podem estar interligadas ou ser associadas à motherboard através de um slot de expansão. A digitalização do som é o processo que consiste em quantificar as ondas sonoras produzidas pela fonte de som, através do processo de amostragem. Digitalização
  • 110. 110 Representação Digital de Áudio, Imagem e Vídeo AC / AFC
  • 111. 111 Informações Multimédia na Forma Analógica  Informações percebidas e variáveis físicas – Informações detectadas pelos sentidos humanos podem ser descritas como variáveis físicas cujos valores são funções do tempo e espaço  Descrevendo sons como formas de onda – O som, que atravessa o ar, é uma onda de ar comprimido ou expandido cuja pressão se altera no tempo e espaço Digitalização
  • 112. 112  Descrevendo sons com formas de onda – Padrão de oscilação é chamado de forma de onda (waveform) caracterizado por:  período é o tempo necessário para a realização de um ciclo  freqüência é definida como o inverso do período – representa o número de períodos num segundo – medida em Hz (Hertz) ou ciclos por segundo (cps)  amplitude do som define um som leve ou pesado período amplitude Digitalização
  • 113. 113 Imagens e Vídeos Digitais  Descrevendo imagens monocromáticas com variáveis físicas – Imagens refletem radiações eletromagnéticas (luz) incidentes que estimulam os olhos do observador  imagem pode ser descrita pelo valor de intensidade de luz que é função de duas coordenadas espaciais (ou três) I(x,y) = intensidade luminosa Olho humano: 3000x3000 Digitalização
  • 114. 114  Descrevendo imagens coloridas com formas de onda – Imagem colorida reflete diferentes comprimentos de onda – Qualquer sensação de cor pode ser reproduzida pela mistura em proporções apropriadas de três luzes coloridas básicas: vermelho, verde e azul  uma imagem colorida pode ser representada por um conjunto de 3 funções bidimensionais Digitalização
  • 115. 115  Descrevendo imagens coloridas com formas de onda – Imagem colorida reflete diferentes comprimentos de onda  função simples não é suficiente para descrever imagens coloridas Pontos de cor Digitalização Imagens e Vídeos Digitais
  • 116. 116 Para que Digitalizar Informações?  Vantagens da Digitalização – Universalidade de representação – os sistemas computacionais manipulam apenas dados digitais. Uma vez que os dados são codificadas numa única forma podemos dizer que :  são manipuladas de uma mesma forma e pelo mesmo tipo de equipamento  são facilmente integradas com outros tipos de dados – Processamento - tratamento ou cruzamento de dados com vista à obtenção de resultados  Informações digitais são processadas, analisadas, modificadas, alteradas, ou complementadas por programas de computador tal qual outros dados – Qualidade  Sistemas digitais são mais confiáveis uma vez que os sinais digitais são mais tolerantes a ruídos e interferências que os analógicos Digitalização
  • 117. 117 Para que Digitalizar Informações? – Segurança  Criptografia de sinais digitais é possível – Armazenamento - garantir a persistência dos dados de modo a que não se degradem e que possam futuramente ser acedidos de um modo eficiente  Dispositivo único de armazenamento para todas as medias – Transmissão - troca de dados entre agentes (ex. computadores) que processam ou interpretam a informação. Pode ser de âmbito local, regional ou mesmo inter-continental (ex. através da Internet)  Qualquer sistema de comunicação de dados pode ser (potencialmente) utilizado para a transmissão de informação multimédia Digitalização
  • 118. 118 Digitalização: processo envolvido na transformação de sinais analógicos em sinais digitais Digitalização, Amostragem e Quantificação  Sinal analógico – Medida física que varia continuamente com o tempo e/ou espaço – Descritos por s=f(t), s=f(x,y,z), s=f(x,y,z,t) – Em informática: – medida toma a forma de uma corrente ou tensão elétrica – precisão definida pelas características dos sensores  Sinais digitais – Seqüências de valores dependentes do tempo ou do espaço codificados no formato binário Digitalização
  • 119. 119 Conversão analógico para digital  Passos para conversão de sinal analógico em digital: – Amostragem  conjunto discreto de valores (analógicos) é amostrado em intervalos temporais (para sons) ou espaciais (para imagens) em periodicidade constante.  Cada observação constitui uma amostra Amostragem Freqüência de amostragem (HZ) Digitalização
  • 120. 120 Conversão analógico para digital  Passos para conversão de sinal analógico em digital: – Quantificação  o sinal amostrado é quantificado (descontinuidade de valores) Passo de quantificação 8 7 6 5 4 3 2 1 0 Amostragem Freqüência de amostragem AC / AFC
  • 121. 121 Conversão analógico para digital  Passos para conversão de sinal analógico em digital: – Codificação  um conjunto de bits, chamado de code-word, é associado com cada valor quantificado Passo de quantificação 8 7 6 5 4 3 2 1 0 0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011 Amostragem Freqüência de amostragem AC / AFC
  • 122. 122 Passo de quantificação 8 7 6 5 4 3 2 1 0 0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011 Amostragem Freqüência de amostragem Conceito Importante  Taxa de bits – Produto entre taxa de amostragem e o número de bits  exemplo: rádio – supondo uma freqüência de 8 kHz e 8 bits por amostra – taxa de bits necessária é igual a 8000x8 = 64 kbps AC / AFC
  • 123. 123 Problemas da Representação digital  Distorção de codificação – Digitalização introduz distorção (perda de informação)  sinal gerado após a conversão D/A não é idêntico ao original  aumentando a taxa de amostragem e número de bits usado para codificação reduz a distorção – problema: capacidade de armazenamento limitado – Solução: escolher um balanço apropriado entre a precisão da digitalização e a distorção percebida pelo usuário AC / AFC
  • 124. 124 Representação Digital de Áudio  Áudio é causado pelo distúrbio da pressão de ar que alcança o tímpano – Faixa de freqüência de som audível:  20 Hz a 20.000 Hz  Onda sonora é uma onda contínua no tempo e amplitude  sinal elétrico deve ser convertido em um sinal digital AC / AFC
  • 125.  Para a apresentação do áudio digitalizado – é necessário realizar a transformação de uma representação artificial do som numa forma de onda física audível pelo ouvido humano  utilizados Conversores Digital para Analógico (CDA)  Placas de áudio – Conversores CAD e CDA são implementados numa única placa 125 Representação Digital de Áudio AC / AFC
  • 126. 126 Imagens Digitais  Formatos de Imagens – Imagens no computador são representadas por bitmaps  bitmap = matriz espacial bidimensional de elementos de imagem chamados de pixels  pixel é o menor elemento de resolução da imagem  tem um valor numérico chamado amplitude: – define ponto preto e branco, nível de cinza, ou atributo de cor (3 valores)  profundidade de amplitude (ou de pixel): o números de bits para codificar um pixel (Resolução de cor) – 1 para imagens P&B, 2, 4, 8, 12, 16 ou 24 bits AC / AFC
  • 127. 127 Imagens Digitais  Resolução de Imagem – Resolução vertical  número de linhas da matriz de pixeis (m) – Resolução horizontal  número de colunas (n) – Resolução espacial (geométrica)  produto m x n  estabelece a freqüência de amostragem final da imagem  quanto maior a resolução mais detalhe da imagem podem ser captadas na representação matricial  resolução espacial não fornece muita informação sobre a resolução real da imagem quando realizada em dispositivo físico – ficamos na dependência do tamanho físico do pixel do dispositivo AC / AFC
  • 128. 128 Sistema RGB  Imagens Binárias – São imagens com dois níveis (como preto e branco)  muito usadas por dispositivos de impressão e para representar imagens de documentos monocromáticos – Para representar um pixel de uma imagem binária é necessário apenas 1 bit  informação extra sobre a cor de cada informação, a cor para o bit com valor 0 (zero) e a cor para o bit de valor 1 – informação de cor é geralmente é representada em 24 bits/cor no padrão RGB AC / AFC
  • 129. 129 Sistema RGB  Imagens em Tons de Cinza – Representação é feita discretizando a informação de luminância de cada ponto da imagem  cada pixel contém a intensidade de luminosidade representada por um certo número de bits  uma imagem com resolução de cor de 8 bits, pode representar até 256 níveis de cinza (variando do preto ao branco) – Padrões mais usados são os de 16 (4 bits/pixel) e 256 (8 bits/pixel) – representações com mais que 256 tons-de-cinza não são percebidas pela vista humana AC / AFC
  • 130. 130 Sistema RGB  True Color – Cada pixel da imagem é representado por um vetor de 3 componentes de cores (RGB) com um certo número de bits para representar cada componente de cor  quanto maior for a resolução de cor maior a qualidade – Geralmente o número de bits para cada componente RGB é igual  ex.: 9 bits/pixel (3-3-3) – Pode ser feito uma representação com diferentes valores para as componentes  ex.: 8 bits/pixel (3-3-2) AC / AFC
  • 131. 131 Especificação da Cor  Propriedades da cor – luz visível: radiação eletromecânica que tem um comprimento de onda variando de 400 nm a 780 nm  propriedades: luminância (brilho), nuança (cor), saturação  Sistema RGB – Cor é representada pela intensidade de três cores primárias: vermelho, verde e azul, com cada valor variando de 0 a 255:  Branco = 255,255,255 Vermelho = 255,0,0 Verde = 0,255,0  Azul = 0,0,255 Preto = 0,0,0 AC / AFC
  • 132. 132 Sistema RGB  True Color – Número de bits por pixel fornece a quantidade de níveis que podem ser representados  se n é a resolução de cor então a quantidade de níveis possíveis é de 2n níveis Bits/pixel Máximo de Cores Componente de cor RGB Padrão 15 bits/pixel 32.768 cores 5 bits/pixel, 32 níveis por comp. High Color (15 bits) 16 bits/pixel 65.535 cores 5/6 bits/pixel, 32/64 níveis por comp. High Color (16 bits) 24 bits/pixel 16.777.216 cores 8 bits/pixel, 256 níveis por comp. True Color (24 bits) AC / AFC
  • 133. 133 Imagens e Vídeos Digitais  Captura: Teoria Tristimulus – Qualquer cor pode ser reproduzida com a mistura das três cores primárias  cores primárias padronizadas: vermelho, verde e azul
  • 134. 134 Imagens e Vídeos Digitais R(x,y) G(x,y) B(x,y)