Arquitectura de Computadores

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 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.

Transcript of Arquitectura de Computadores

Page 1: Arquitectura de Computadores

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 ComputadorNoçã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.

Page 2: Arquitectura de Computadores

2

Os componentes físicos do computador constituem o hardwarehardware. Mas o hardware é um simples conjunto potencial de recursos. São os programas, isto é, o softwaresoftware, que transforma esse potencial de recursos de hardware, numa máquina funcional, capaz de executar operações de interesse prático.

Noção de ComputadorNoção de Computador

Page 3: Arquitectura de Computadores

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 O conjunto de instruções que um processador pode executar designa-se por executar designa-se por Instruction SetInstruction Set..

Noção de ComputadorNoção de Computador

Page 4: Arquitectura de Computadores

4

Os programasprogramas 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 ComputadorNoção de Computador

Page 5: Arquitectura de Computadores

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 ROMROM (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 POSTPOST (Power On Self Test). O Firmware de um computador contém igualmente um conjunto de rotinas de software designadas por BIOSBIOS (Basic Input Output System). Este software estabelece a comunicação com alguns periféricos básicos do computador.

Noção de ComputadorNoção de Computador

Page 6: Arquitectura de Computadores

Arquitectura e OrganizaçãoArquitectura e OrganizaçãoA 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

TechnologyAMD 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

Page 7: Arquitectura de Computadores

Arquitectura de um Sistema ComputacionalArquitectura 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.

Page 8: Arquitectura de Computadores

Dados versus InformaçãoDados 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

Page 9: Arquitectura de Computadores

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çãoDados versus Informação

Page 10: Arquitectura de Computadores

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 caracteresRepresentação de caracteres

Page 11: Arquitectura de Computadores

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çãoDados versus Informação

Page 12: Arquitectura de Computadores

CPU

12

Instruction Set

Memória1011011

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çãoDados versus InformaçãoO 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.

Page 13: Arquitectura de Computadores

13

Representação Interna de Caracteres

Código de 6 bitsCó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 bitsCódigo de 7 bits (ASCII - American Standard Code for (ASCII - American Standard Code for Information Interchange)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 caracteresRepresentação de caracteres

Page 14: Arquitectura de Computadores

14

Representação Interna de Caracteres

ASCII EstendidoASCII 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-1ISO 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 caracteresRepresentação de caracteres

Page 15: Arquitectura de Computadores

15

Representação Interna de Caracteres

Caracteres ANSI (American National Standards Institute) 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.

UNICODEUNICODE – 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)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 caracteresRepresentação de caracteres

Page 16: Arquitectura de Computadores

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 caracteresRepresentação de caracteres

Page 17: Arquitectura de Computadores

MEMÓRIAMEMÓRIAPC

IR

ALUALU

MAR

MBR

IO AR

IO BR

ACUMULATOR

INP / OUT ..

INST

INST

DATA

DATA

CPUCPU

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.

Page 18: Arquitectura de Computadores

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.

Page 19: Arquitectura de Computadores

Os processadores baseados numa arquitectura CISCCISC (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

Page 20: Arquitectura de Computadores

Os modelos baseados na arquitectura RISCRISC (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

Page 21: Arquitectura de Computadores

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

Page 22: Arquitectura de Computadores

ProcessamentoProcessamento – é 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

ALUALU

MAR

MBR

IO AR

IO BR

ACUMULATOR

CPUCPU

ProcessadoresProcessadores – 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.

Page 23: Arquitectura de Computadores

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

CPUCPU

Fetch

Decode

ALUExecute

Write

MemóriaAddressBUS

DataBUS

Fron

t 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

Page 24: Arquitectura de Computadores

PC

MAR

MBR

CPUCPUPC (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.

Page 25: Arquitectura de Computadores

PC IR

MAR

MBR

IO AR

IO BR

CPUCPU 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.

Page 26: Arquitectura de Computadores

PC IR

MAR

MBR

IO AR

IO BR

CPUCPU

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). ALUALU

Page 27: Arquitectura de Computadores

PC IR

MAR

MBR

IO AR

IO BR

CPUCPU

FPU (Floating Point Unit ) - co-processador especializado na execução de certas operações matemáticas.

ALUALU

FPU

Page 28: Arquitectura de Computadores

PC IR

MAR

MBR

IO AR

IO BR

CPUCPUACC 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 palavrapalavra (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

ALUALU

ACUMULATOR

Page 29: Arquitectura de Computadores

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.

Page 30: Arquitectura de Computadores

Bus de Endereços

Bus de Dados

Bus I

nter

no

Unidade de ControloUnidade 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

Page 31: Arquitectura de Computadores

Bus de Endereços

Bus de Dados

Bus I

nter

no

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.

Page 32: Arquitectura de Computadores

MEMÓRIAMEMÓ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.

Page 33: Arquitectura de Computadores

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.

Page 34: Arquitectura de Computadores

34

Aplicação

Aplicação

Aplicação

Sistema

Operativo

DeviceDrivers

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.

Page 35: Arquitectura de Computadores

ROM

35

Interface Processos

SistemasFicheiros

Memória

Imp. Sist.Segurança API

Sistema

Operativo

BIOSHardware

BIOS Firmware

A finalidade básica do sistema Operativo é a gestão dos recursos de equipamento nomeadamente:

SOFTWARE

SISTEMA

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 ProcessoProcesso. O SO tem de fazer a gestão dos processos

em memória atribuindo-lhes, por exemplo, tempo de processador

MemóriaSistema Ficheiros

Implementação Sistema Segurança

API – Application Programming Interface conjunto de funções para os

programadores de aplicações e para os compiladores

Page 36: Arquitectura de Computadores

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 DriversDevice 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.

Page 37: Arquitectura de Computadores

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

SistemasFicheiros

Memória

Imp. Sist.Segurança API

Sistema

Operativo

BIOSHardware

BIOS Firmware

SOFTWARE

SISTEMA

Comandos Genéricos

Device Drives

Específicos

Page 38: Arquitectura de Computadores

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.

Page 39: Arquitectura de Computadores

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

Page 40: Arquitectura de Computadores

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 serExecutadas simultaneamente. O suporte à thread é fornecido pelo próprio sistema operacional (SO) ou implementada através deuma biblioteca de uma determinada linguagem

Page 41: Arquitectura de Computadores

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

Page 42: Arquitectura de Computadores

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

Page 43: Arquitectura de 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).

Page 44: Arquitectura de Computadores

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

Page 45: Arquitectura de Computadores

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%.

Page 46: Arquitectura de Computadores

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.

Page 47: Arquitectura de Computadores

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élulascé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.

Page 48: Arquitectura de Computadores

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.

Page 49: Arquitectura de Computadores

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 MT = capacidade da memória em bitsN = 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).

Page 50: Arquitectura de Computadores

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

Page 51: Arquitectura de Computadores

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.

Page 52: Arquitectura de Computadores

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.

Page 53: Arquitectura de Computadores

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.

Page 54: Arquitectura de Computadores

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

Page 55: Arquitectura de Computadores

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.

Page 56: Arquitectura de Computadores

Quanto à leitura e escrita, as memórias podem ser classificadas como:

ROM - Read Only Memory ou memória apenas de leituraEsta 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).

Page 57: Arquitectura de Computadores

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.

Page 58: Arquitectura de Computadores

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

Page 59: Arquitectura de Computadores

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

Page 60: Arquitectura de Computadores

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

Page 61: Arquitectura de Computadores

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

Page 62: Arquitectura de Computadores
Page 63: Arquitectura de Computadores

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 CacheCache. 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.

Page 64: Arquitectura de Computadores

É com base na tecnologia da DRAMDRAM 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.

Page 65: Arquitectura de Computadores

A SRAMSRAM é 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.

Page 66: Arquitectura de Computadores

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.

Page 67: Arquitectura de Computadores

É 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.

Page 68: Arquitectura de Computadores
Page 69: Arquitectura de Computadores

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.

Page 70: Arquitectura de Computadores

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

Page 71: Arquitectura de Computadores

O Controlador de CacheControlador 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.

Page 72: Arquitectura de Computadores

Controlador de CacheControlador 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.

Page 73: Arquitectura de Computadores
Page 74: Arquitectura de Computadores

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.

Page 75: Arquitectura de Computadores

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.

Page 76: Arquitectura de Computadores

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 ROMShadow 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.

Page 77: Arquitectura de Computadores

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

Page 78: Arquitectura de Computadores

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.

Page 79: Arquitectura de Computadores

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; ...).

Page 80: Arquitectura de Computadores

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.A necessidade de uma hierarquia de buses.

Page 81: Arquitectura de Computadores
Page 82: Arquitectura de Computadores

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

Page 83: Arquitectura de Computadores

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

Page 84: Arquitectura de Computadores

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

Page 85: Arquitectura de Computadores

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

Page 86: Arquitectura de Computadores

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

Page 87: Arquitectura de Computadores

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

Page 88: Arquitectura de Computadores

O Instruction SetInstruction 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.

Page 89: Arquitectura de Computadores

As Linguagens de ProgramaçãoLinguagens de Programação são conjuntos de instruções que obedecem a uma gramática específica, usadas para fazer programas de computador.

Page 90: Arquitectura de Computadores

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.

Page 91: Arquitectura de Computadores

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;

Page 92: Arquitectura de Computadores

• 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.

Page 93: Arquitectura de Computadores

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;

Page 94: Arquitectura de Computadores

O processo de MontagemMontagem 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)

Page 95: Arquitectura de Computadores

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

Page 96: Arquitectura de Computadores

• 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.

Page 97: Arquitectura de Computadores

• 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 CompiladorCompilador 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)

Page 98: Arquitectura de Computadores

• 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.

Page 99: Arquitectura de Computadores

A LinkagemLinkagem é 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.

Page 100: Arquitectura de Computadores

O processo de linkagem permite que vários módulos objecto sejam agregados para produzir um único programa executável.

Page 101: Arquitectura de Computadores

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.

Page 102: Arquitectura de Computadores

•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.

Page 103: Arquitectura de Computadores

•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 InterpretadorInterpretador funciona como um “intérprete” transformando as instruções de alto nível em linguagem máquina no momento de execução do programa.

Page 104: Arquitectura de Computadores

Amanhã há mais

Page 105: Arquitectura de Computadores

105

A DigitalizaçãoA 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 UtilizadorA 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çãoDigitalização

Page 106: Arquitectura de Computadores

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çãoDigitalização

Page 107: Arquitectura de Computadores

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çãoDigitalização

Page 108: Arquitectura de Computadores

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çãoDigitalização

Page 109: Arquitectura de Computadores

109

AC / AFC

Page 110: Arquitectura de Computadores

110

Representação Digital de Representação Digital de Áudio, Imagem e VídeoÁudio, Imagem e Vídeo

AC / AFC

Page 111: Arquitectura de Computadores

111

Informações Multimédia na Forma AnalógicaInformações Multimédia na Forma Analógica

Informações percebidas e variáveis físicasInformações percebidas e variáveis físicas– Informações detectadas pelos sentidos humanos podem ser Informações detectadas pelos sentidos humanos podem ser

descritas como variáveis físicas cujos valores são funções do descritas como variáveis físicas cujos valores são funções do tempo e espaçotempo e espaço

Descrevendo sons como formas de ondaDescrevendo sons como formas de onda– O som, que atravessa o ar, é uma onda de ar comprimido ou O som, que atravessa o ar, é uma onda de ar comprimido ou

expandido cuja pressão se altera no tempo e espaço expandido cuja pressão se altera no tempo e espaço

DigitalizaçãoDigitalização

Page 112: Arquitectura de Computadores

112

Descrevendo sons com formas de ondaDescrevendo sons com formas de onda– Padrão de oscilação é chamado de forma de onda (Padrão de oscilação é chamado de forma de onda (waveformwaveform) )

caracterizado por:caracterizado por: períodoperíodo é o tempo necessário para a realização de um ciclo é o tempo necessário para a realização de um ciclo freqüênciafreqüência é definida como o inverso do período é definida como o inverso do período

– representa o número de períodos num segundorepresenta o número de períodos num segundo– medida em Hz (Hertz) ou ciclos por segundo (cps)medida em Hz (Hertz) ou ciclos por segundo (cps)

amplitudeamplitude do som define um som leve ou pesado do som define um som leve ou pesado

períodoperíodo

amplitudeamplitude

DigitalizaçãoDigitalização

Page 113: Arquitectura de Computadores

113

Imagens e Vídeos DigitaisImagens e Vídeos Digitais

Descrevendo imagens monocromáticas com variáveis físicasDescrevendo imagens monocromáticas com variáveis físicas– Imagens refletem radiações eletromagnéticas (luz) incidentes que Imagens refletem radiações eletromagnéticas (luz) incidentes que

estimulam os olhos do observadorestimulam os olhos do observador imagem pode ser descrita pelo valor de intensidade de luz que é imagem pode ser descrita pelo valor de intensidade de luz que é

função de duas coordenadas espaciais (ou três)função de duas coordenadas espaciais (ou três)

I(x,y) = intensidade luminosaI(x,y) = intensidade luminosa

Olho humano: Olho humano: 3000x30003000x3000

DigitalizaçãoDigitalização

Page 114: Arquitectura de Computadores

114

Descrevendo imagens coloridas com formas de ondaDescrevendo imagens coloridas com formas de onda– Imagem colorida reflete diferentes comprimentos de ondaImagem colorida reflete diferentes comprimentos de onda– Qualquer sensação de cor pode ser reproduzida pela mistura em Qualquer sensação de cor pode ser reproduzida pela mistura em

proporções apropriadas de três luzes coloridas básicas: vermelho, proporções apropriadas de três luzes coloridas básicas: vermelho, verde e azulverde e azul

uma imagem colorida pode ser representada por um conjunto uma imagem colorida pode ser representada por um conjunto de 3 funções bidimensionaisde 3 funções bidimensionais

DigitalizaçãoDigitalização

Page 115: Arquitectura de Computadores

115

Descrevendo imagens coloridas com formas de ondaDescrevendo imagens coloridas com formas de onda– Imagem colorida reflete diferentes comprimentos de ondaImagem colorida reflete diferentes comprimentos de onda

função simples não é suficiente para descrever imagens coloridasfunção simples não é suficiente para descrever imagens coloridas

Pontos de corPontos de cor

DigitalizaçãoDigitalização

Imagens e Vídeos DigitaisImagens e Vídeos Digitais

Page 116: Arquitectura de Computadores

116

Para que Digitalizar Informações?Para que Digitalizar Informações?

Vantagens da DigitalizaçãoVantagens da Digitalização

– Universalidade de representação Universalidade de representação – os sistemas computacionais manipulam istemas computacionais manipulam apenas dados digitais. Uma vez que os dados são codificadas numa única apenas dados digitais. Uma vez que os dados são codificadas numa única forma podemos dizer que :forma podemos dizer que :

são manipuladas de uma mesma forma e pelo mesmo tipo de são manipuladas de uma mesma forma e pelo mesmo tipo de equipamentoequipamento

são facilmente integradas com outros tipos de dadossão facilmente integradas com outros tipos de dados

– ProcessamentoProcessamento - - tratamento ou cruzamento de dados com vista à obtenção de resultados

Informações digitais são processadas, analisadas, modificadas, alteradas, Informações digitais são processadas, analisadas, modificadas, alteradas, ou complementadas por programas de computador tal qual outros dadosou complementadas por programas de computador tal qual outros dados

– QualidadeQualidade Sistemas digitais são mais confiáveis uma vez que os sinais digitais são 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 mais tolerantes a ruídos e interferências que os analógicos

DigitalizaçãoDigitalização

Page 117: Arquitectura de Computadores

117

Para que Digitalizar Informações?Para que Digitalizar Informações?

– SegurançaSegurança Criptografia de sinais digitais é possívelCriptografia de sinais digitais é possível

– ArmazenamentoArmazenamento - - 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 mediasDispositivo único de armazenamento para todas as medias

– TransmissãoTransmissã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 Qualquer sistema de comunicação de dados pode ser (potencialmente) utilizado para a transmissão de informação (potencialmente) utilizado para a transmissão de informação multimédiamultimédia

DigitalizaçãoDigitalização

Page 118: Arquitectura de Computadores

118

DigitalizaçãoDigitalização: processo envolvido na transformação de sinais : processo envolvido na transformação de sinais analógicos em sinais digitaisanalógicos em sinais digitais

Digitalização, Amostragem e QuantificaçãoDigitalização, Amostragem e Quantificação

Sinal analógicoSinal analógico– Medida física que varia continuamente com Medida física que varia continuamente com

o tempo e/ou espaço o tempo e/ou espaço– Descritos por s=f(t), s=f(x,y,z), s=f(x,y,z,t) Descritos por s=f(t), s=f(x,y,z), s=f(x,y,z,t) – Em informática:Em informática:

– medida toma a forma de uma corrente ou tensão elétricamedida toma a forma de uma corrente ou tensão elétrica– precisão definida pelas características dos sensoresprecisão definida pelas características dos sensores

Sinais digitaisSinais digitais– Seqüências de valores dependentes do tempo ou do espaço Seqüências de valores dependentes do tempo ou do espaço

codificados no formato bináriocodificados no formato binário

DigitalizaçãoDigitalização

Page 119: Arquitectura de Computadores

119

Conversão analógico para digitalConversão analógico para digital

Passos para conversão de sinal analógico em digital:Passos para conversão de sinal analógico em digital:– AmostragemAmostragem

conjunto discreto de valores (analógicos) é amostrado em conjunto discreto de valores (analógicos) é amostrado em intervalos temporais (para sons) ou espaciais (para imagens) em intervalos temporais (para sons) ou espaciais (para imagens) em periodicidade constante.periodicidade constante.

Cada observação constitui uma amostraCada observação constitui uma amostra

AmostragemAmostragemFreqüência de Freqüência de amostragem amostragem (HZ)(HZ)

DigitalizaçãoDigitalização

Page 120: Arquitectura de Computadores

120

Conversão analógico para digitalConversão analógico para digital

Passos para conversão de sinal analógico em digital:Passos para conversão de sinal analógico em digital:– QuantificaçãoQuantificação

o sinal amostrado é quantificado (descontinuidade de valores)o sinal amostrado é quantificado (descontinuidade de valores)

Passo de Passo de quantificaçãoquantificação

887766554433221100

AmostragemAmostragemFreqüência de Freqüência de amostragemamostragem

AC / AFC

Page 121: Arquitectura de Computadores

121

Conversão analógico para digitalConversão analógico para digital

Passos para conversão de sinal analógico em digital:Passos para conversão de sinal analógico em digital:– CodificaçãoCodificação

um conjunto de bits, chamado de um conjunto de bits, chamado de code-wordcode-word, é associado , é associado com cada valor quantificadocom cada valor quantificado

Passo de Passo de quantificaçãoquantificação

8877665544332211000011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 00110011

AmostragemAmostragemFreqüência de Freqüência de amostragemamostragem

AC / AFC

Page 122: Arquitectura de Computadores

122

Passo de Passo de quantificaçãoquantificação

8877665544332211000011 0110 1000 0101 0010 0011 0110 1000 1000 0110 0011 0110 1000 0101 0010 0011 0110 1000 1000 0110 00110011

AmostragemAmostragem

Freqüência de Freqüência de amostragemamostragem

Conceito ImportanteConceito Importante

Taxa de bitsTaxa de bits– Produto entre taxa de amostragem e o número de bits Produto entre taxa de amostragem e o número de bits

exemplo: rádioexemplo: rádio– supondo uma freqüência de 8 kHz e 8 bits por amostrasupondo uma freqüência de 8 kHz e 8 bits por amostra– taxa de bits necessária é igual a 8000x8 = 64 kbpstaxa de bits necessária é igual a 8000x8 = 64 kbps

AC / AFC

Page 123: Arquitectura de Computadores

123

Problemas da Representação digitalProblemas da Representação digital

Distorção de codificaçãoDistorção de codificação

– Digitalização introduz distorção (perda de informação)Digitalização introduz distorção (perda de informação) sinal gerado após a conversão D/A não é idêntico ao originalsinal 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 aumentando a taxa de amostragem e número de bits usado

para codificação reduz a distorçãopara codificação reduz a distorção– problema: capacidade de armazenamento limitadoproblema: capacidade de armazenamento limitado

– Solução: escolher um balanço apropriado entre a precisão da Solução: escolher um balanço apropriado entre a precisão da digitalização e a distorção percebida pelo usuáriodigitalização e a distorção percebida pelo usuário

AC / AFC

Page 124: Arquitectura de Computadores

124

Representação Digital de ÁudioRepresentação Digital de Áudio

Áudio é causado pelo distúrbio da pressão de ar que alcança o Áudio é causado pelo distúrbio da pressão de ar que alcança o tímpanotímpano

– Faixa de freqüência de som audível: Faixa de freqüência de som audível: 20 Hz a 20.000 Hz20 Hz a 20.000 Hz

Onda sonora é uma onda contínua no tempo e amplitudeOnda sonora é uma onda contínua no tempo e amplitude sinal elétrico deve ser convertido em um sinal digitalsinal elétrico deve ser convertido em um sinal digital

AC / AFC

Page 125: Arquitectura de Computadores

Para a apresentação do áudio digitalizado Para a apresentação do áudio digitalizado – é necessário realizar a transformação de uma representação é necessário realizar a transformação de uma representação

artificial do som numa forma de onda física audível pelo ouvido artificial do som numa forma de onda física audível pelo ouvido humanohumano

utilizados Conversores Digital para Analógico (CDA)utilizados Conversores Digital para Analógico (CDA)

Placas de áudioPlacas de áudio– Conversores CAD e CDA são implementados numa única placaConversores CAD e CDA são implementados numa única placa

125

Representação Digital de ÁudioRepresentação Digital de Áudio

AC / AFC

Page 126: Arquitectura de Computadores

126

Imagens DigitaisImagens Digitais

Formatos de ImagensFormatos de Imagens– Imagens no computador são representadas por Imagens no computador são representadas por bitmapsbitmaps

bitmapbitmap = matriz espacial bidimensional de = matriz espacial bidimensional de elementos de imagem chamados de elementos de imagem chamados de pixelspixels

pixelpixel é o menor elemento de resolução da é o menor elemento de resolução da imagemimagem

tem um valor numérico chamado amplitude:tem um valor numérico chamado amplitude:– define ponto preto e branco, nível de cinza, define ponto preto e branco, nível de cinza,

ou atributo de cor (3 valores)ou atributo de cor (3 valores) profundidade de amplitude (ou de pixel): o números de bits profundidade de amplitude (ou de pixel): o números de bits

para codificar um pixel (Resolução de cor)para codificar um pixel (Resolução de cor)– 1 para imagens P&B, 2, 4, 8, 12, 16 ou 24 bits1 para imagens P&B, 2, 4, 8, 12, 16 ou 24 bits

AC / AFC

Page 127: Arquitectura de Computadores

127

Imagens DigitaisImagens Digitais

Resolução de ImagemResolução de Imagem– Resolução vertical Resolução vertical

número de linhas da matriz de pixeis (m) número de linhas da matriz de pixeis (m) – Resolução horizontalResolução horizontal

número de colunas (n) número de colunas (n) – Resolução espacial (geométrica)Resolução espacial (geométrica)

produto m x n produto m x n estabelece a freqüência de amostragem final da imagemestabelece a freqüência de amostragem final da imagem quanto maior a resolução mais detalhe da imagem podem ser quanto maior a resolução mais detalhe da imagem podem ser

captadas na representação matricialcaptadas na representação matricial resolução espacial não fornece muita informação sobre a resolução espacial não fornece muita informação sobre a

resolução real da imagem quando realizada em dispositivo resolução real da imagem quando realizada em dispositivo físicofísico

– ficamos na dependência do tamanho físico do pixel do ficamos na dependência do tamanho físico do pixel do dispositivodispositivo

AC / AFC

Page 128: Arquitectura de Computadores

128

Sistema RGBSistema RGB

Imagens BináriasImagens Binárias– São imagens com dois níveis (como preto e branco)São imagens com dois níveis (como preto e branco)

muito usadas por dispositivos de impressão e para muito usadas por dispositivos de impressão e para representar imagens de documentos monocromáticosrepresentar imagens de documentos monocromáticos

– Para representar um pixel de uma imagem binária é necessário Para representar um pixel de uma imagem binária é necessário apenas 1 bitapenas 1 bit

informação extra sobre a cor de cada informação, a cor para o 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 1bit com valor 0 (zero) e a cor para o bit de valor 1

– informação de cor é geralmente é representada em 24 informação de cor é geralmente é representada em 24 bits/cor no padrão RGBbits/cor no padrão RGB

AC / AFC

Page 129: Arquitectura de Computadores

129

Sistema RGBSistema RGB

Imagens em Tons de CinzaImagens em Tons de Cinza– Representação é feita discretizando a informação de luminância Representação é feita discretizando a informação de luminância

de cada ponto da imagemde cada ponto da imagem cada pixel contém a intensidade de luminosidade cada pixel contém a intensidade de luminosidade

representada por um certo número de bitsrepresentada por um certo número de bits uma imagem com resolução de cor de 8 bits, pode uma imagem com resolução de cor de 8 bits, pode

representar até 256 níveis de cinza (variando do preto ao representar até 256 níveis de cinza (variando do preto ao branco)branco)

– Padrões mais usados são os de 16 (4 bits/pixel) e 256 (8 Padrões mais usados são os de 16 (4 bits/pixel) e 256 (8 bits/pixel) bits/pixel)

– representações com mais que 256 tons-de-cinza não são representações com mais que 256 tons-de-cinza não são percebidas pela vista humanapercebidas pela vista humana

AC / AFC

Page 130: Arquitectura de Computadores

130

Sistema RGBSistema RGB

True Color True Color – Cada pixel da imagem é representado por um vetor de 3 Cada pixel da imagem é representado por um vetor de 3

componentes de cores (RGB) com um certo número de bits para componentes de cores (RGB) com um certo número de bits para representar cada componente de correpresentar cada componente de cor

quanto maior for a resolução de cor maior a qualidadequanto maior for a resolução de cor maior a qualidade

– Geralmente o número de bits para cada componente RGB é igualGeralmente o número de bits para cada componente RGB é igual ex.: 9 bits/pixel (3-3-3) ex.: 9 bits/pixel (3-3-3)

– Pode ser feito uma representação com diferentes valores para as Pode ser feito uma representação com diferentes valores para as componentescomponentes

ex.: 8 bits/pixel (3-3-2)ex.: 8 bits/pixel (3-3-2)

AC / AFC

Page 131: Arquitectura de Computadores

131

Especificação da CorEspecificação da Cor

Propriedades da corPropriedades da cor– luz visível: radiação eletromecânica que tem um comprimento de luz visível: radiação eletromecânica que tem um comprimento de

onda variando de 400 nm a 780 nmonda variando de 400 nm a 780 nm propriedades: luminância (brilho), nuança (cor), saturaçãopropriedades: luminância (brilho), nuança (cor), saturação

Sistema RGBSistema RGB– Cor é representada pela intensidade de três cores primárias: Cor é representada pela intensidade de três cores primárias:

vermelho, verde e azul, com cada valor variando de 0 a 255:vermelho, verde e azul, com cada valor variando de 0 a 255: Branco = 255,255,255 Vermelho = 255,0,0 Verde = 0,255,0 Branco = 255,255,255 Vermelho = 255,0,0 Verde = 0,255,0 Azul = 0,0,255 Preto = 0,0,0Azul = 0,0,255 Preto = 0,0,0

AC / AFC

Page 132: Arquitectura de Computadores

132

Sistema RGBSistema RGB

True Color True Color – Número de bits por pixel fornece a quantidade de níveis que Número de bits por pixel fornece a quantidade de níveis que

podem ser representadospodem ser representados se n é a resolução de cor então a quantidade de níveis se n é a resolução de cor então a quantidade de níveis

possíveis é de 2possíveis é de 2nn níveis níveis

Bits/pixelBits/pixel Máximo de CoresMáximo de CoresComponente de Componente de

cor RGBcor RGBPadrãoPadrão

15 bits/pixel15 bits/pixel 32.768 cores32.768 cores5 bits/pixel, 5 bits/pixel,

32 níveis por comp.32 níveis por comp.High Color (15 bits)High Color (15 bits)

16 bits/pixel16 bits/pixel 65.535 cores65.535 cores5/6 bits/pixel, 5/6 bits/pixel,

32/64 níveis por comp.32/64 níveis por comp.High Color (16 bits)High Color (16 bits)

24 bits/pixel24 bits/pixel 16.777.216 cores16.777.216 cores8 bits/pixel, 8 bits/pixel,

256 níveis por comp.256 níveis por comp.True Color (24 bits)True Color (24 bits)

AC / AFC

Page 133: Arquitectura de Computadores

133

Imagens e Vídeos DigitaisImagens e Vídeos Digitais

Captura: Teoria Tristimulus Captura: Teoria Tristimulus – Qualquer cor pode ser reproduzida com a mistura das Qualquer cor pode ser reproduzida com a mistura das

três cores primáriastrês cores primárias cores primárias padronizadas: vermelho, verde e azulcores primárias padronizadas: vermelho, verde e azul

Page 134: Arquitectura de Computadores

134

Imagens e Vídeos DigitaisImagens e Vídeos Digitais

R(x,y)R(x,y)G(x,y)G(x,y)B(x,y)B(x,y)