fundamentos da computaÇÃo aula 3 – parte 1
DESCRIPTION
FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 1. Instrutor.: Frank S. Fernandes Bastos ([email protected]) Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos Público.: Estudantes de concurso específico - PowerPoint PPT PresentationTRANSCRIPT
FUNDAMENTOS DA COMPUTAÇÃOFUNDAMENTOS DA COMPUTAÇÃO
Aula 3 – Parte 1Aula 3 – Parte 1
Instrutor.: Frank S. Fernandes BastosFrank S. Fernandes Bastos ([email protected])
Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos
Público.: Estudantes de concurso específico
Local.: Sala de aula - Obcursos
Número Slides.: 20 (incluindo este)
Adquirir conhecimentos complementares sobre os fundamentos relativo a arquitetura de computadores.
OBJETIVOSOBJETIVOS
BARRAMENTOSBARRAMENTOS
VLIW – Very Large Instruction WordVLIW – Very Large Instruction Word
PROCESSADORES INTELPROCESSADORES INTEL
RISC do lado MACINTOSHRISC do lado MACINTOSH
Diferente do que a maioria das pessoas pensam, macintosh utiliza um padrão chamado Post-RISC.
Processadores que possuem um conjunto de instruções gigantesco, maior do que o conjunto de instruções de um processador CISC típico. A diferença é que toda essa gigantesca gama de instruções diferentes, podem ser decodificadas em instruções RISC simples, estas sim que
serão processadas. A “conversão” das instruções é feita por um componente especial do processador, chamado de Hardware Decoder,
encontrado no G4.
DESEMPENHO x FUNCIONALIDADEDESEMPENHO x FUNCIONALIDADE
O Hardware Decoder é extremamente rápido, por isso não compromete o desempenho do processador. De fato, a perda de
desempenho por usar este grande conjunto de instruções que precisam ser quebradas em instruções menores é de menos de 1%. É
por isso que os processadores atuais abandonaram a idéia RISC original: a perda de desempenho é ínfima perto do ganho de
flexibilidade.
Como tudo funciona?Como tudo funciona?
DECODIFICADOR DE INSTRUÇÕESDECODIFICADOR DE INSTRUÇÕES
Front END e Back ENDFront END e Back END
O Front End corresponde aos circuitos que decodificam as instruções, no caso o Hardware decoder, Microcode decoder e buffer de pré
extração, junto com mais alguns componentes, como os circuitos de Branch Prediction (que ordenam as instruções de forma que o
processador possa processador o maior número possível de instruções por ciclo e o cache L1. Estes componentes são a “porta de entrada” do
processador, tendo a função de preparar as instruçõespara serem processadas.
O Back End é a parte do processador que finalmente processa as instruções, sendo composto basicamente pelas unidades de execução.
MULTI-TAREFAMULTI-TAREFA
Multitarefa significa executar mais de uma tarefa de cada vez. Apesar de na vida real não ser muito fácil fazer duas coisas ao mesmo tempo,
do ponto de vista de um computador este processo é relativamente simples. Todos os aplicativos são carregados na memória e o
processador passa a executar algumas instruções de cada aplicativo por vez. Como o processador é capaz de executar vários milhões de instruções por segundo, esta troca é feita de maneira transparente, como se os aplicativos estivessem realmente sendo executados ao
mesmo tempo.
MEMÓRIA PROTEGIDAMEMÓRIA PROTEGIDA
Usando a multitarefa, quase sempre teremos vários aplicativos carregados na memória, seja na memória RAM ou no arquivo de troca.
Se não houvesse nenhum controle por parte do processador, um aplicativo poderia expandir sua área de memória, invadindo áreas de
outros aplicativos e causando travamentos no micro.
foi desenvolvido o recurso de proteção de memória, que consiste no processador isolar a área de memória ocupada por cada aplicativo, impedindo que ele ocupe outras áreas ao seu bel prazer. Se, por
acaso, o programa precisar de mais memória, o próprio processador irá procurar uma área vazia de memória e ordenar ao aplicativo que ocupe
a área reservada.
Funcionamento da PipelineFuncionamento da Pipeline
Quando é carregada uma nova instrução, ela primeiramente passa pelo primeiro estágio, que trabalha nela durante apenas um ciclo de
clock, passando-a adiante para o segundo estágio. A instrução continua então sendo processada sucessivamente pelo segundo,
terceiro, quarto e quinto estágios do processador. A vantagem desta técnica, é que o primeiro estágio não precisa ficar esperando a
instrução passar por todos os demais para carregar a próxima, e sim carregar uma nova instrução assim que se livra da primeira, ou seja,
depois do primeiro pulso de clock.
Outros estágiosCiclo de proc.
Previsão de desvio dinâmicoPrevisão de desvio dinâmico
Após concluída uma instrução do programa, para que o processador não perca um único ciclo de clock aguardando que o cache ou a memória RAM enviem a próxima instrução a ser processada, foi
incluído no Pentium um buffer de pré extração. Este pequeno circuito armazena as próximas instruções a serem processadas, formando uma espécie de fila. Na verdade, o buffer de pré extração funciona
como uma espécie de cache L0, ficando entre o processador e o cache L1.
Execução especulativaExecução especulativa
Se o processador tivesse que processar uma instrução de tomada de decisão, como em “Se X > 0 então Y = 30, senão Y = 20”, enquanto a
primeira canaleta do processador verifica se X é maiorou menor que 0, a segunda ao invés de ficar ociosa, pode executar
uma das duas opções seguintes (atribuir o valor 30 ou atribuir o valor 20 a Y). No próximo ciclo, quando a primeira canaleta tivesse
terminado de processar sua instrução, teríamos 50% de chance da segunda canaleta ter adivinhado qual seria a instrução seguinte e já tê-
la executado. O nome “execução especulativa” foi dado por que a segunda canaleta escolhe aleatoriamente a instrução a executar, entre
as duas possíveis.
Evolução dos processadoresEvolução dos processadores
Evolução dos processadoresEvolução dos processadores
Data PrefetchData Prefetch
O Data Prefetch é um recurso que permite carregar os dados de que o processador precisará para concluir suas próximas instruções. Mesmo operando na mesma freqüência do processador, sempre existe alguma
perda de tempo ao se acessar o cache L1, o Data Prefetch diminui o número de acessos necessários, trazendo um pequeno ganho de
desempenho.
Power Now!Power Now!
O PowerNow! foi originalmente implantado nos processadores K6-2 e K6-3 destinados a notebooks. É um recurso de economia de energia,
que permite alternar a freqüência de operação do processador conforme o nível de utilização.
Acesso à MemóriaAcesso à Memória
Para ler e gravar dados na memória, assim como controlar todo o trânsito de dados entre a memória e os demais componentes do micro,
é usado mais um circuito, chamado controlador de memória, que faz parte do chipset localizado na placa mãe.
Para facilitar o acesso a dados, dividimos os módulos de memória em linhas e colunas. Para acessar um determinado transístor (seja para gravar ou ler dados), o controlador de memória primeiro gera o valor
RAS (Row Address Strobe), ou o número da linha da qual o transístor faz parte, sendo gerado em seguida o valor CAS (Collum Address
Strobe), que corresponde à coluna.
Acesso à MemóriaAcesso à Memória
Barramento PCMCIABarramento PCMCIA
Este barramento é utilizado principalmente em notebooks e handhelds onde, na maioria das vezes, é o único meio de conectar placas de
expansão. A principal vantagem dos dispositivos PCMCIA é o tamanho: todos possuem dimensões um pouco menores que as um
cartão de crédito, apenas mais espessos. Atualmente é possível encontrar praticamente qualquer tipo de dispositivos na forma de placas PCMCIA: modems, placas de som, placas de rede, placas decodificadoras de DVD, cartões de memórias SRAM e memórias
Flash e, até mesmo, discos rígidos removíveis.
Slot´s AMRSlot´s AMR
A sigla AMR é a abreviação de “Audio Modem Riser”. Este novo padrão de barramento comunica-se diretamente com o chipset, e permite o encaixe de placas de som e modems controlados via
software. O slot AMR se parece com um slot AGP, mas tem apenas 1/3 do tamanho deste. O objetivo é permitir a criação de componentes
extremamente baratos para serem usados em micros de baixo custo.
Prioridade de execução das IRQ´sPrioridade de execução das IRQ´s
IRQ 0 - Sinal de clock da placa mãe (fixo)IRQ 1 - Teclado (fixo)IRQ 2 - Cascateador de IRQs (fixo)IRQ 3 - Porta serial 2IRQ 4 - Porta serial 1IRQ 5 - LivreIRQ 6 - Drive de disquetesIRQ 7 - Porta paralela (impressora)IRQ 8 - Relógio do CMOS (fixo)IRQ 9 - Placa de vídeoIRQ 10 – LivreIRQ 11 - Controlador USBIRQ 12 - Porta PS/2IRQ 13 - Coprocessador aritméticoIRQ 14 - IDE PrimáriaIRQ 15 - IDE Secundária
Funcionamento do DMAFuncionamento do DMA
DMA 0 DisponívelDMA 1 Placa de SomDMA 2 Controladora de drives de disquetesDMA 3 Porta paralela padrão ECPDMA 4 Reservado à placa mãeDMA 5 Placa de SomDMA 6 DisponívelDMA 7 Disponível
O DMA visa melhorar a performance geral do micro, permitindo que os periféricos transmitam dados diretamente para a memória, poupando o processador de mais esta tarefa. Existem 8 portas de
DMA e, como acontece com os pedidos de interrupção, dois dispositivos não
podem compartilhar o mesmo canal DMA, caso contrário haverá um conflito. Os 8 canais DMA são numerados de 0 a 7,
sendo nos canais de 0 a 3 a transferência de dados feita a 8 bits e nos demais a 16 bits. O uso de palavras binárias de 8 bits
pelos primeiros 4 canais de DMA visa manter compatibilidade com periféricos
mais antigos.
MFT – Master File TableMFT – Master File Table
No NTFS, a MFT substituiu a FAT, armazenando as localizações de todos os arquivos e diretórios, incluindo os arquivos referentes ao próprio
sistema de arquivos. Mas, a forma como este mapeamento é feito difere um pouco do sistema FAT. Cada entrada de arquivo ou diretório no MFT possui 2 KB, onde são armazenados o nome do arquivo e seus atributos.
Sobra então uma pequena área de dados, geralmente de 1500 bytes (pode ser maior ou menor, dependendo do espaço ocupado pelo nome e pelos atributos do arquivo) que é usada para guardar o início do arquivo.
Caso o arquivo seja muito pequeno, ele poderá ser armazenado diretamente na entrada no MFT. Caso contrário, serão armazenados
apenas os números dos clusters ocupados pelo arquivo. Em alguns casos, não é possível armazenar nem mesmo os atributos do arquivo no MFT,
neste caso, os atributos serão gravados em clusters vagos do HD e a MFT conterá apenas entradas que apontam para eles.
LFS – Log File ServiceLFS – Log File Service
Este é o principal responsável pela tolerância à falhas do sistema NTFS. Tolerância a falhas neste caso significa não perder dados ou estruturas do
sistema de arquivos quando o sistema travar, ou houver qualquer outro imprevisto, ou que pelo menos, o estrago seja o menor possível. Para
isso, o sistema mantém um Log com todas as alterações feitas no sistema de arquivo. Ao gravar um arquivo qualquer por exemplo, será primeiro gravada uma entrada no Log, com os detalhes sobre a operação, qual arquivo está sendo gravado, em que parte do disco, etc. ao terminar a
gravação é gravada uma outra entrada, um OK confirmando que tudo deu certo.
VFS – Virtual File SystemVFS – Virtual File System
O Linux é provavelmente o sistema Operacional que suporta um maior número de sistemas de arquivos diferentes. Além do EXT2, EXT, Minix e
Xia, são suportados os sistemas FAT 16 e FAT 32do Windows, o HPFS do OS/2 além de vários outros sistemas como o
proc, smb, ncp, iso9660, sysv, affs e ufs.O segredo para toda esta versatilidade é o uso do VFS ou “Virtual
Filesystem”, um divisor de águas entre o sistema de arquivos e o Kernel e programas. A função do VFS é assumir toda a parte administrativa,
traduzindo via software, todos os detalhes e estruturas do sistema de arquivos e entregando apenas os dados ao Kernel, que por sua vez, os
entrega aos programas.
LBA – Logical Block AddressingLBA – Logical Block Addressing
O padrão IDE reserva 16 bits para o endereçamento do cilindro, 4 bits para o endereçamento da cabeça de leitura e mais 8 bits para o setor,
totalizando 28 bits de endereçamento. O modo LBA abandona o endereçamento CHS, com endereços independentes para cilindros,
cabeças e setores, passando a adotar um endereço único. Os setores passam então a receber endereços seqüenciais, 0, 1, 2, 3, 4 etc. assim
como os clusters no sistema FAT.
Os 28 bits de endereçamento permitem então 228 milhões de endereços, o que corresponde a HDs de até 137 GB.
Dynamic Drive Overlays (DDO)
Este pequeno programa substitui as instruções do BIOS, permitindo superar suas limitações. Existem tanto programas destinados a placas mãe com limite de 504 MB, quanto para placas mãe com limite de 7.88 GB. Como o disco só pode ser acessado com a ajuda do programa, é preciso instalá-lo antes do sistema operacional. Uma vez instalado, ele
passa a ser referenciado no setor de Boot do HD, epassa a ser carregado sempre que o micro é ligado.
Cálculo do Tempo de Latência
Dentro do disco rígido, os discos magnéticos giram continuamente. Por isso, dificilmente os setores a serem lidos estarão sob a cabeça de
leitura/gravação no exato momento de executar a operação, podendo, no pior dos casos, ser necessário uma volta completa do disco até o setor
desejado passar novamente sob a cabeça de leitura.O tempo de latência é tão importante quanto o tempo de busca. Felizmente, ele é fácil de ser calculado, bastando dividir 60 pela velocidade de rotação do HD, medida em RPM (rotações por
minuto), e multiplicar por 1000. Teremos então o tempo de latência em milessegundos. Um HD de 5200 RPM, por exemplo, terá um tempo de
latência de 11.5 milessegundos (o tempo de uma rotação), já que 60 ÷ 5200 x 1000 = 11.5
Geralmente é usado o tempo médio de latência, que corresponde à metade de uma rotação do disco, assumindo que os clusters desejados
estarão, em média, a meio caminho do cabeçote. Um HD de 5200 RMP teria um tempo de latência médio de 5.75ms.
Frank S. F. Bastos
E-MAIL.: [email protected]
MSN.: [email protected]
Skype.: frankbastos
ContatoContato