Você está na página 1de 13

Projeto de Processadores:

RISC sua proposta baseou-se em um conjunto reduzido de instruções, sendo definidas


apenas as mais freqüentemente utilizadas e se evitando o uso de microcódigos. As
instruções também seriam simplificadas, trabalhando com apenas um operando.
CISC capaz de executar centenas de instruções complexas diferentes. A vantagem da
arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o
que facilita o trabalho dos programadores de linguagem de máquina; disponibilizando,
assim, praticamente todas as instruções que serão usadas em seus programas. Os
processadores CISC têm a vantagem de reduzir o tamanho do código executável por já
possuirem muito do código comum em vários programas, em forma de uma única instrução.

PIPELINING:
A próxima instrução a ser processada é carregada da memória e decodificada ao mesmo
tempo em que é executada outra instrução.
As principais motivações para o uso de Pipelining são:
• O aumento de desempenho no processamento de dados.
• Aproveitamento de partes ociosas do processador durante o ciclo de instrução.

Resumidamente, a técnica de Pipelining tem as seguintes características:


• Sobreposição na execução de instruções;
• Manipulação simultânea de estágios;
• Cada estágio corresponde a parcela do caminho de dados que um sinal atravessa
em um ciclo de instrução;
• A latência equivale ao tempo que uma operação demora para ser executada (nº de
ciclos necessário);
• Um estágio Pipeline precisa menos lógica de circuito, ocasionando em maior
aproveitamento do ciclo;
• Um processador com Pipelining tem taxa de rendimento de uma instrução por ciclo,
porém o nº de instruções executadas por intervalo de tempo é maior que outro que
não tem Pipelining;
• Utiliza o Latch (registrador de dados);
• Um estágio contém, por exemplo, o bloco de busca de instruções e o seu Latch
associado;
• Quanto mais estágios, menor o tempo de execução global.

Fica claro que o Pipelining melhora o desempenho do processador, no entanto existem


alguns fatores que têm impacto sobre a sua taxa de rendimento:
• Dependência entre instruções;
• Possibilidade de duas instruções, que lêem o mesmo registrador, executarem no
mesmo ciclo.
• Possibilidade de uma instrução ler a saída de outra.
• Desvios na seqüência normal de execução;
• Problema estrutural: quando o processador não é capaz de executar
simultaneamente todas as instruções.

A parada no fluxo normal de execução devido a ocorrência de um dos problemas descritos


anteriormente é chamada de “bolha do Pipeline”.
ARQUITETURA SUPERESCALAR:
Depois que a unidade de busca pega a instrução requisitada pelo processador para ser
processada ela a envia para a unidade de decodificação. A unidade de decodificação irá
então verificar o que aquela instrução específica faz. Ela faz isso através de consulta à
memória ROM que existe dentro do processador, chamada microcódigo. Cada instrução que
um determinado processador compreende possui seu próprio microcódigo. O microcódigo
vai ensinar ao processador o que fazer. A unidade de execução irá então finalmente
executar a instrução. Em processadores modernos você encontrará mais de uma unidade
de execução trabalhando em paralelo. Isso é feito para aumentar o desempenho do
processador.

SuperPipelined e Superescalar:
Os processadores superPipelined alcançam o paralelismo através da extensão do
comprimento do Pipeline, aumentando o número de instruções executadas por ciclo. Porém,
devido a um número maior de instruções se encontrarem simultaneamente dentro do
Pipeline, problemas com interdependência entre as instruções e oscilações de dados
(atrasos cumulativos devido a erros no cache, largura de faixa no bus e outros problemas de
acesso a memória), aumentam o risco de travar o Pipeline. Outra causa de possível
travamento é a mudança do fluxo de instruções causado por interrupções e outros saltos ou
ramificações na lógica do programa. Todos estes problemas podem ocorrer, em teoria, com
qualquer Pipeline, mas a sua probabilidade de ocorrência aumenta substancialmente com o
superpipelining.

Uma arquitetura superescalar aumenta o paralelismo por operar vários processadores


Pipelined separados simultaneamente. Em uma verdadeira Arquitetura Superescalar, as
operações ocorrem ao mesmo tempo em todos os processadores aumentando o número de
instruções executadas por ciclo. Atualmente, isto significa que individualmente os
processadores Pipelined deveriam estar em um mesmo chip, que todos os buses e acessos
à memória deveriam ser "cached" (para favorecer a redução dos atrasos) e que os buses
deveriam ser largos o suficiente para acomodar simultaneamente várias instruções.

Qual o problema de um Pipeline grande?


O Pipeline grande ele é capaz de oferecer uma maior taxa de instruções. Tem como
resultado uma grande quantidade de instruções executadas por segundo. Entretanto, não é
assim tão simples, pois existem alguns problemas. Todo Pipeline, para ser eficiente, precisa
“estar cheio", ou seja, precisa estar em ritmo. Uma das piores coisas para um Pipeline de
processamento é a descoberta que tudo aquilo que foi antecipado precisa ser descartado.
Isso ocorre, por exemplo, com uma instrução de desvio.
Se precisar perder o conteúdo do seu Pipeline será necessário um tempo muito grande para
entrar em ritmo novamente. Por isso os processadores modernos, especialmente os que
têm um Pipeline longo, possuem unidades para predição de desvios, para evitar as
surpresas e os esvaziamentos do Pipeline.

MULTIPROCESSAMENTO
Sistemas multiprocessados utilizam mais de um processador para melhorar seu
desempenho. O uso de processadores de maneira paralela (paralelismo físico) pode ser
subdividido em dois tipos: paralelismo espacial (paralelismo real) e paralelismo temporal
(Pipeline).
Pipeline aritmético: as Unidades de Lógica e Aritmética (ULA) de um computador podem
ser organizadas de maneira Pipeline.
Pipeline de instruções: a execução de um conjunto de instruções pode ser estruturada de
maneira Pipeline pela sobreposição da execução de instruções correntes com as operações
de busca, decodificação e busca de operandos das instruções subseqüentes.
Pipeline de processadores: refere-se ao processamento Pipeline de um conjunto de
dados em uma cadeia de processadores, onde cada um processa uma tarefa específica.

Concorrência entre processos


Concorrência existe quando dois ou mais programas em execução executam tarefas em um
determinado instante.

HIPER-THREAD (HT)
Thread é um sistema operacional capaz de executar diversos programas simultaneamente,
exemplos mais comuns são o Windows e o Linux. É claro que essa simultaneidade é falsa,
pois em muitos casos existe um único processador. Então, o que acontece é que esse
processador é compartilhado entre as diversas tarefas que estão em execução. Como esse
compartilhamento é muito rápido a sensação que se tem é que todas as tarefas estão sendo
executadas ao mesmo tempo. É o compartilhamento temporal do processador, ou time-slice.
A tecnologia HT permite que um processador atue como se fossem dois processadores
físicos e assim engane os sistemas operacionais e outros programas, levando-os a crer que
existam fisicamente dois processadores trabalhando.

PROCESSADORES MULTINÚCLEOS
A tecnologia Multicore (múltiplos núcleos) consiste em colocar duas ou mais unidades de
execução no interior de um único “pacote de processador” (um único chip).
Normalmente são processadores idênticos, tanto em termos de arquitetura quanto em
velocidade de processamento. O Sistema Operacional trata esses núcleos como se cada
um fosse um processador diferente, sendo o S.O. responsável pelo escalonamento das
tarefas (processos e/ou threads) para cada um dos processadores. Adicionar novos núcleos
de processamento a um processador, possibilita que as instruções das aplicações sejam
executadas em paralelo. Os processadores de múltiplos núcleos permitem trabalhar em um
ambiente multitarefa.

SUBSISTEMAS DE MEMÓRIA
Apesar de parecer simples como conceito, a memória de um computador exibe, talvez, a
mais vasta gama de: tipos, tecnologia, organização, rendimento e custos, de entre todas as
especificidades de um sistema de computação. O sistema de computação típico está
equipado com uma hierarquia de sub-sistemas de memória, alguns internos ao sistema
(diretamente acessíveis ao processador) e outros externos (acessíveis ao processador
através de um módulo de E/S).

Memória interna (primária)

Responsável pelo armazenamento temporário de dados utilizados no processamento. É


essencial para que ocorra o processamento. Correspondem aos Registradores, Cache e
Memória Principal.
Memória externa (secundária)

Armazena dados não voláteis em dispositivos periféricos acessíveis por meio de


controladores de E/S. Alguns exemplos: Disco Rígido, CD-Rom, etc.
É um tipo de memória com maior capacidade de armazenamento do que os outros tipos já
descritos, menor custo por byte armazenado e com tempos de acesso também superiores
aos outros tipos. Tem por objetivo garantir um armazenamento mais permanente a toda a
estrutura de dados e programas do usuário, razão por que deve naturalmente possuir maior
capacidade que a Memória Principal. A memória secundária de um sistema de computação
pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao
sistema para acesso imediato (discos rígidos), e outros que podem ser conectados quando
desejado (como os disquetes, fitas de armazenamento, CD-ROM etc).

UNIDADES DE TRANSFERÊNCIA

Em memórias primárias: é o número de bits que podem ser lidos/escritos de cada vez
(palavra).
Em memórias secundárias: é quantidade de blocos de dados lidos/escritos por vez.

Palavra

Palavra é a unidade de informação da CPU e da Memória Principal. O conceito mais usado


define palavra como sendo a capacidade de manipulação de bits do núcleo do computador
(CPU e MP).

Célula

Em geral, o termo célula é usado para definir a unidade de armazenamento e o termo


palavra para definir a unidade de transferência e processamento, significando na prática
quantos bits o computador movimenta e processa em cada operação.

HIERARQUIA DE MEMÓRIAS

À medida que progredimos no sentido descendente na hierarquia, assistimos ao seguinte:


a) Redução do custo/bit.
b) Aumento de capacidade.
c) Aumento do tempo de acesso.
d) Redução da freqüência dos acessos à memória pelo processador.
O objetivo de uso da hierarquia de memória é manter os dados que serão mais
referenciados por um programa nos níveis superiores, de modo que a maioria das
solicitações à memória possa ser tratada no (s) nivel (is) superiores. Por esta razão, o nível
mais alto (cache) é geralmente implementado utilizando SRAM, com o emprego de blocos
pequenos (normalmente entre 32 e 128 bytes) controlados por hardware. Já a Memória
Principal, é geralmente construída com DRAM, com o tamanho de blocos grandes (vários
quilobytes) e controle pelo Sistema Operacional. E, finalmente, a Memória Virtual é
usualmente implementada utilizando discos que contém todos os dados do sistema de
memória.

MÉTODOS DE ACESSO

Seqüencial

Os dados são armazenados em unidades chamadas registros. O acesso aos registros é


através de uma seqüência linear. Além dos dados são armazenadas informações de
endereçamento utilizadas para separar um registro do registro seguinte e facilitar o processo
de busca. Um mecanismo compartilhado é usado para leitura e escrita dos dados. Um
exemplo de dispositivo de acesso seqüencial é a unidade de fita magnética.

Direto

O acesso direto envolve um mecanismo de leitura/escrita partilhado. Contudo, os blocos


individuais ou os registros têm um endereço único baseado na posição física. Exemplos de
dispositivos de acesso direto: Disco Rígido, CDRom, DVD.

Random Access Memory (RAM)

Cada posição na memória tem um mecanismo de endereçamento físico direto. O tempo de


acesso a uma determinada posição é constante e independente da seqüência de acessos
anteriores. Assim, qualquer posição pode ser escolhida ao acaso e o endereçamento e
acesso feitos diretamente.
Exemplos de dispositivos de acesso aleatório: Memória Principal, Cache.

Associativo

É um tipo de memória de acesso aleatório (RAM) que compara a posição dos bits
pretendidos dentro de uma palavra conforme um padrão específico. As memórias cache
podem empregar acessos associativos.

DESEMPENHO
Taxa de transferência de dados

Tempo de acesso

É o tempo decorrido entre uma requisição de leitura de uma posição de memória e o


instante em que o dado requerido está disponível para utilização do recurso.

Tempo de ciclo de memória

É conceituado como o tempo decorrido entre dois ciclos sucessivos de acesso à memória.
As memórias dinâmicas perdem seu conteúdo em alguns instantes e dependem de ser
periodicamente atualizadas (ciclo de refresh). As SRAM, que não dependem de refresh, o
tempo de ciclo é igual ao tempo de acesso. As memórias dinâmicas, no entanto, requerem
ciclos periódicos.

Taxa de transferência

Um dos fatores que influenciam no desempenho de sistemas de memórias é a largura de


banda, que descreve a taxa total pela qual os dados podem ser movimentados entre
processador e o sistema de memória. A largura de banda pode ser vista como o produto da
taxa de transferência e da quantidade de dados referidos por cada operação de memória.

Pipelining em memórias

Muitos dos sistemas de memórias são projetados de maneira Pipelining, do mesmo modo
que processadores, permitindo que as operações de leitura/escrita sobreponham as de
operações de transferência de dados, de modo a melhorar a taxa de transferência.

Pré-carregamento

Algumas tecnologias de memória empregam um tempo fixo entre sucessivos acessos a


memória. Esse tempo é usado para preparar o hardware para o próximo acesso. Tem o
efeito de adiantar parte das tarefas envolvidas no acesso à memória. Isso reduz o retardo
entre o tempo no qual um endereço é enviado para o sistema de memória até que a
operação seja completada.

Paralelismo

Para melhorar o desempenho de sistemas de memória é só projetá-los para suportar várias


referências à memória em paralelo. Isto é comumente feito anexando-se várias memórias ao
barramento. Como um único barramento de memória é utilizado, não é possível que mais de
uma referência a memória comece ou termine ao mesmo tempo, uma vez que apenas uma
requisição pode utilizar o barramento a qualquer tempo. No entanto, o processador pode
enviar requisições para memória que estão ociosas enquanto aguarda que outras
requisições sejam completadas.

Sistemas replicados de memória

Fornecem diversas cópias de toda a memória. Para manter o conteúdo de cada memória
igual, todas as operações de armazenamento precisam ser enviadas a cada cópia, fazendo
com que as operações de armazenamento sejam mais onerosas do que as operações de
leitura, em termos da quantidade de largura de banda que elas consomem.

Sistemas de memória intercalados

Neste modelo de armazenamento cada memória contém apenas uma parte dos dados. Tal
mecanismo tem a vantagem de não conter dados redundantes. No entanto, há o problema
de que alguns pares de referências à memória terão como alvo o mesmo banco, exigindo
que uma das operações espere até que a outra esteja terminada.

TECNOLOGIAS

RAM Estática (SRAM)

O núcleo da célula de bit SRAM consiste em dois inversores conectados numa configuração
back-to-back, ou seja, uma vez que um valor tenha sido colocado na célula de bit a estrutura
em anel dos dois inversores manterá o valor indefinidamente, por que cada entrada de um
inversor é oposta do outro. Esta forma de armazenamento também é conhecida por flip-flop.

RAM Dinâmica (DRAM)

Em vez de um par de inversores é utilizado um capacitor para armazenar dados na célula de


bit. Quando a linha da palavra é ativada, o capacitor é conectado à linha de bit, permitindo
que o valor armazenado na célula seja lido ao se examinar a tensão do capacitor ou seja
escrito colocando uma nova tensão sobre o mesmo.

Memória Principal (MP)

Memória Principal é o local de armazenamento temporário de programas e dados. Os dados


permanecem na memória principal apenas enquanto forem necessários para seu emprego
pela CPU. Quem controla a utilização da memória principal é o Sistema Operacional.
A MP pode ser acessada através de duas operações: Leitura ou Escrita.
Leitura: significa requisitar à MP o conteúdo de uma determinada célula.
Escrita: significa escrever uma informação em uma célula da MP.

Memória Cache

A cache localiza-se entre o processador e a MP. Tem como finalidade principal desafogar o
gargalo causado por acessos contínuos ao barramento da MP. Para isso mantém cópias de
dados e instruções, que seguem conforme a hierarquia de memória a partir da MP e após
seu processamento, os dados retornam para níveis inferiores da hierarquia. A organização
da cache geralmente é feita separando-se em cache de instruções e cache de dados. Dessa
forma é possível que dados e instruções possam ser transferidos simultaneamente. Quando
isso não acontece chamamos de cache unificada. Uma desvantagem de usar cachês
distintas é que escrever programas que se auto-modifiquem torna-se mais difícil, fazendo
que instruções sejam armazenadas como dados.

Processamento de desvios

Um dos principais problemas para o processador é ter muitos erros de cache, porque a
unidade de busca tem que acessar diretamente a Memória Principal e assim deixar o
sistema lento. Se no meio do programa houver uma instrução chamada JMP (“jump” ou “vá
para”) mandando o programa para uma posição de memória completamente diferente, essa
nova posição não será carregada na memória cache L2, fazendo com que a unidade de
busca vá buscar aquela posição diretamente na Memória Principal.
Memórias ROM (Read Only Memories)

Englobam as memórias projetadas primariamente para armazenamento de dados que não


sofrem alterações. De fato, durante uma operação normal nenhum dado novo pode ser
escrito em uma ROM. Todas as ROM são memórias não voláteis.

ROM programada por máscara

Tem suas locações escritas (programadas) pelo fabricante. Um negativo fotográfico,


chamado máscara, é usado para controlar as ligações elétricas na pastilha.

ROM programável (PROM)

ROM que pode ser programada pelo usuário depois de tê-la comprado. A PROM mais
comum contém fios de níquel-cromo muito finos que atuam como fusíveis. O usuário pode,
seletivamente ''queimar'' alguns destes fusíveis com correntes aplicadas aos pinos
apropriados e, assim, programá-la. Uma vez completado este procedimento de
programação, porém, o programa não poderá mais ser alterado, de forma que ele deverá
estar correto na primeira vez.

ROM programável-apagável (EPROM)

Pode ser programada pelo usuário e também pode ser apagada e re-programada quantas
vezes for necessário. Uma vez programada, a EPROM é uma memória não-volátil que
manterá os dados armazenados indefinidamente.

Memória electricamente apagável só de leitura programável (EEPROM)

Esta é uma memória de leitura a maior parte das vezes que pode ser gravada em qualquer
momento sem apagar o conteúdo anterior. A operação de escrita leva um tempo
consideravelmente maior do que a operação de leitura. A EEPROM combina as vantagens
da não volatilidade com a flexibilidade da atualização usando o barramento de controle
convencional, endereços e linhas de dados.

Memória Flash

A mais recente forma de memória de semicondutores é a Memória Flash (assim chamada


por causa da velocidade com que pode ser reprogramada). A memória relâmpago usa uma
tecnologia de apagamento elétrico e usa apenas um transistor por bit e por isso atinge uma
elevada densidade.

POST (Power On Self Test)

Tem a função de testar os componentes do microcomputador ao ler ligado.

BIOS (Basic Input/Output System)

Responsável por guiar processador na manipulação dos dispositivos básicos do


microcomputador. O chip para a BIOS pode ser do tipo DIP (Dual Inline Package) ou PLCC
(Plastic Leadless Chip Carrier) e a capacidade de armazenamento pode variar de 1 a 4
Mbits.
SETUP

É uma tecnologia de circuitos integrados de baixíssimo consumo de energia, onde ficam


armazenadas as informações do sistema e são modificados pelos programas da BIOS,
acessados no momento da inicialização do microcomputador. É uma tecnologia de circuitos
integrados de baixíssimo consumo de energia, onde ficam armazenadas as informações do
sistema e são modificados pelos programas da BIOS, acessados no momento da
inicialização do microcomputador.

Memória Magnética

O Hard Disk (HD) é um sistema de armazenamento permanente de dados destinado a


manter arquivos e programas. Composto por discos de armazenamento magnéticos, é um
dos recursos mais importantes e largamente utilizados em diversos tipos de computadores.
Dentro do Disco Rígido, os dados são gravados em discos magnéticos, chamados de
Platters.

Memória Óptica

Os discos ópticos são tecnologias de armazenamento de dados cuja leitura/escrita é


realizada por meio da reflexão de raio laser. Suas características principais são a alta
capacidade de armazenamento, o baixo custo por bit guardado e a durabilidade no
armazenamento dos dados. Exemplo CD-Rom.

SUBSISTEMAS DE E/S
E/S EXTERNA

De forma geral, podemos classificar os dispositivos externos dentro de três categorias:


• Humano-Legível: Apropriado para comunicar com o utilizador do computador.
• Máquino-Legível: Apropriado para comunicar com equipamentos.
• Comunicação: Apropriado para comunicar com dispositivos remotos.

A INTERAÇÃO ENTRE PROCESSADOR E INTERFACES DE E/S

Em sistemas como computadores pessoais e estações de trabalho as interfaces de e/s


estão ligadas ao processador através de barramentos de endereço, dados e controle, de
maneira semelhante à conexão entre memória principal e processador.

ORGANIZAÇÃO DE UMA INTERFACE DE E/S

Um módulo de E/S (interface) é a entidade dentro de um computador responsável pelo


controle de um ou mais dispositivos externos e pela transferência de dados entre aqueles
dispositivos e a memória principal e os registradores da CPU.
As categorias principais de funções ou requisitos para um módulo de E/S são:
• Temporização e controle.
• Comunicação com a CPU.
• Comunicação com o dispositivo periférico.
• Temporização dos dados.
• Detecção de erros.

O Chipset

É o principal componente da placa-mãe, pois é ele quem comanda todo o fluxo de dados
entre o processador, as memórias e os demais componentes. Os barramentos ISA, PCI e
AGP, assim como as interfaces IDE, portas paralelas e seriais, além da memória e da cache
L2, são todos controlados pelo chipset. Além disso, é responsável pelas informações
necessárias ao reconhecimento de hardware.
O chipset é composto internamente de vários outros pequenos chips, um para cada função
que ele executa.
A maioria dos Chipsets é formada por dois chips principais, conhecidos como North Bridge
(Ponte Norte) e South Bridge (Ponte Sul). O North Bridge é ligado diretamente ao
processador e a partir dele é feito o acesso às memórias e ao barramento AGP, ele faz a
geração dos sinais e o controle do barramento PCI. Já o South Bridge controla as interfaces
IDE, USB, ISA e ele se comunica com o North Bridge através de um barramento PCI, ou
seja, ele também é um dispositivo PCI, mas interno à placa de CPU e, portanto, controlado
pelo North Bridge. No South Bridge também está conectado o BIOS e um chip chamado de
Super I/O, no qual estão as interfaces de mouse e teclado, interfaces seriais e paralelas e
interface para drive de disquete.

Parte genérica e parte específica

A parte genérica, como o próprio nome indica, é semelhante entre os diferentes tipos de
interfaces de e/s. É esta porção da interface que é vista pelo processador. Em geral, na
parte genérica existem alguns registradores, cujo número e função depende em parte do
tipo de periférico acoplado à interface. No entanto, na maioria das interfaces a parte
genérica inclui pelo menos um registrador de dados, um registrador de controle e um
registrador de estado. O acesso a cada um destes registradores é feito pelo processador
através de um endereço de e/s diferente.

A parte específica interage diretamente com o periférico, e por isso ela difere bastante entre
os diferentes tipos de interfaces. No entanto, apesar das diferenças, a parte específica na
maioria das interfaces possui dois conjuntos de sinais. Um deles é a própria via através da
qual são transferidos os dados entre a interface e o periférico. O outro conjunto é formado
pelos sinais usados no controle do periférico.

TÉCNICAS DE TRANSFERÊNCIA DE DADOS

E/S com Polling

Na e/s com polling, o processador controla toda a transferência de dados entre a memória e
a interface de e/s. Normalmente, o registrador de estado possui um bit, chamado done bit,
que é desativado quando um dado é escrito no registrador de dados, sendo ativado quando
este dado é escrito no setor do disco. Após escrever um dado no registrador de dados, o
processador lê o registrador de estado e testa o done bit, para verificar se o mesmo já foi
escrito no setor do disco. Este teste do bit de estado é chamado polling. O processador
continua realizando o polling até encontrar o done bit ativado, o que indica que o dado já foi
escrito no setor do disco. Quando isto acontece e se ainda existe algum dado a ser enviado,
o processador escreve o novo dado no registrador de dados e reinicia o polling. Este ciclo é
repetido até que todos os dados tenham sido escritos no setor do disco. A principal
vantagem da e/s com polling é a sua simplicidade. No entanto, esta técnica possui a
desvantagem de que o processador fica dedicado à operação de e/s. Isto pode ser
extremamente ineficiente, sob o ponto de vista da utilização do processador.

E/S com Interrupção

A interface é responsável por notificar o processador quando um novo dado pode ser
transferido. Enquanto a e/s com polling é uma técnica puramente de software, a e/s com
interrupção requer um suporte de hardware. A interface deve gerar um sinal de
interrupção, através do qual ela notifica o processador quando uma operação de e/s foi
concluída.
E/S com Acesso Direto à Memória

Na fase de disparo da operação, o processador informa ao controlador de DMA o número de


dados a serem transferidos, o endereço do primeiro dado e o sentido da transferência (no
caso do exemplo, o sentido de transferência é da memória para a interface de e/s). Em
seguida, o processador envia para a interface controladora de disco o número de trilha, o
número de setor e o comando da operação. O processador participa apenas da fase de
disparo. Na fase de transferência de dados, o controlador de DMA assume o controle dos
barramentos para realizar a transferência entre a memória e a interface.

PADRÕES DE BARRAMENTOS

Uma arquitetura de sistema típica de computadores é onde processador, memória principal


e interfaces de e/s estão interligados através de um conjunto de três barramentos. Estes
barramentos são chamados coletivamente de barramento de sistema. Os três tipos de
barramento são denominados processador - memória, entrada e saída e backplane. Os
barramentos processador – memória são curtos, extremamente rápidos, e têm uma relação
muito forte com o sistema de memória, de modo a maximizar a banda passante memória
-processador. Os barramentos de entrada e saída, são mais longos, podem ter muitos
dispositivos conectados a ele, e precisam atender a uma ampla faixa de bandas passantes
relativas aos dispositivos periféricos. Esses barramentos não necessariamente têm interface
direta com a memória. Os barramentos do backplane são projetados de modo a permitir que
processadores, memória e dispositivos de entrada e saída possam coexistir num único
barramento.

HYPER TRANSPORT

O Hyper Transport é uma conexão ponto-a-ponto, paralela, de alta performance, alta


velocidade, alta largura de banda e baixa latência. Foi projetada para aumentar a velocidade
da comunicação entre os circuitos integrados dos computadores. Em microcomputadores é
usado na comunicação entre o processador e os demais recursos.

INTERFACE PCI E AGP

Interface PCI

Independência de processador, suporte a 256 barramentos PCI, baixo consumo de energia,


utiliza Burst em transferência de dados (read/write), velocidade do barramento até 66Mhz,
tamanho do barramento até 32/64 bits de dados, acesso rápido, concorrência, arbitração
hidden, pequena quantidade de pinos, checagem de integridade de transação, auto-
configuração, transparência de software, placas de expansão.

Interface AGP

A Accelerated Graphics Port é uma interface desenvolvida para gráficos de alta performance
(especialmente gráficos 3D). Ao invés de usar o barramento PCI para dados gráficos, o AGP
introduz um canal ponto-a-ponto (conecta somente dois dispositivos e nenhum outro
dispositivo pode compartilhar esta conexão) dedicado para que a controladora gráfica possa
acessar diretamente a memória principal.

PCI-EXPRESS

O PCI-Express é um protocolo de transferência de dados serial orientado a pacotes. A


transmissão serial é construída com duas vias de transmissão entre o emitente e o destino,
sendo uma via para envio e outra para recepção da mensagem. Dessa forma o barramento
trabalha em full-duplex, onde há um conjunto separado de fios para a transmissão e outro
para a recepção. O maior benefício da transmissão serial é a alta largura de banda, uma vez
que com poucas vias de transmissão, a interferência magnética é menor.

PROJETO DE UM SISTEMA DE ENTRADA E SAÍDA

PLUG-AND-PLAY – PNP (CONECTE E USE)

O objetivo deste padrão é fazer com que o computador seja capaz de reconhecer e
configurar automaticamente qualquer periférico instalado, reduzindo o trabalho do usuário a
apenas encaixar o novo componente. Quando o computador é inicializado a BIOS envia
uma interrogação para cada periférico instalado, o PnP é capaz de responder, permitindo
seu reconhecimento.

Plug and Play BIOS

O BIOS é o responsável por iniciar o PC (boot) e pelas operações de entrada/saída de baixo


nível. Um BIOS PnP é, no mínimo, responsável de configurar dispositivos da placa mãe
como o controlador de DMA e o PIC, um dispositivo de entrada (tipicamente o controlador
de teclado), um dispositivo de saída (tipicamente o controlador de vídeo) e o dispositivo IPL
(Initial Program Load, tipicamente o Disco Rígido).

INTERFACE SERIAL VERSUS PARALELA

Na transmissão serial, os dados fluem rapidamente por um canal bit a bit, em série, “um
atrás do outro” por assim dizer. A transição paralela, que consiste em grupos de bits sendo
enviados juntos, simultaneamente em um meio compartilhado, sendo o meio mais direto e
rápido de se transmitir dados, pois os bits de dados são enviados grupos de uma única vez.

Usos típicos da interface serial:


• Modem (limitação em 56Kbits/s para download e 33.600 bits/s para upload)
• Mouse (rolamento ou óptico-9600 bits/s)
• Ligação Direta (inversão de Tx e Rx)

Usos típicos da interface paralela:


• Impressora
• Leitores de CD/DVD
• Câmeras de vídeo-conferência

IDE/ATA

A ATA implementa uma topologia de canal, com cada canal suportando dois dispositivos de
armazenamento em massa - o mestre e o escravo. Estes termos podem ser mal
interpretados, pois implicam algum tipo de relação entre os dispositivos, mas este não é o
caso. A seleção de qual dispositivo é o mestre e qual é o escravo é feita normalmente
através do uso de blocos jumper em cada dispositivo.

Interface SCSI

SCSI é uma tecnologia criada para acelerar a taxa de transferência de dados entre
dispositivos de um computador. O padrão SCSI é muito utilizado para conexões de HD
(Disco Rígido), scanners, impressoras, CD-ROM ou qualquer outro dispositivo que necessite
de alta transferência de dados. As vantagens do SCSI não se resumem apenas à questão
da velocidade, mas também da compatibilidade e estabilidade. Sendo o processador o
dispositivo mais rápido do computador, o uso do padrão SCSI permite que essa velocidade
seja aproveitada e assim, aumentá-se de forma considerável o desempenho do computador.
Serial ATA

O padrão Serial ATA (ou SATA - Serial Advanced Technology Attachment) é uma tecnologia
para discos rígidos que surgiu no mercado no ano 2000 para substituir a tradicional interface
PATA (Paralell ATA ou somente ATA ou, ainda, IDE).
O nome de ambas as tecnologias já indica a principal diferença entre elas: o PATA faz
transferência de dados de forma paralela, ou seja, transmite vários bits por vez, como se
estes estivessem lado a lado. No SATA, a transmissão é em série, tal como se cada bit
estivesse um atrás do outro. Por isso, você deve imaginar que o PATA é mais rápido, não?
Na verdade, não é. A transmissão paralela de dados (geralmente com 16 bits por vez) causa
um problema conhecido como "ruído", que nada mais é do que a perda de dados
ocasionada por interferência.

Interface USB

Trata-se de uma tecnologia que tornou mais simples e fácil a conexão de diversos tipos de
aparelhos.

Interface Firewire

O Firewire é um barramento serial de altíssimo desempenho que proporciona a conexão de


diversos equipamentos, utilizando uma topologia flexível e proporcionando uma relação
custo – benefício bastante atraente.

A Operação Assíncrona

Pontes Firewire são consideradas portais inbound, já que elas examinam o barramento para
detectarem pacotes primários assíncronos (que iniciam o protocolo de uma comunicação)
enviados por outros barramentos. Já o portal que transmite o pacote primário é chamado de
portal "outbound".
Numa operação inbound, as pontes ficam constantemente monitorando o barramento à
procura de pacotes primários. No momento que encontra um pacote primário, a ponte
examina o identificador de nó virtual, contido no pacote, e verifica, na topologia de rede
calculada após o reset, se o nó de destino na transação está "pendurado" num dos
barramentos dos portais da ponte. Caso isto ocorra, o portal destino recebe o pacote e inicia
uma operação outbound para retransmitir o pacote primário detectado para os barramentos
hierarquicamente conectados a ele.

Você também pode gostar