Introdução Componentes: - Processador;
- UC;
- Registradores;
- ALU’s, FPU’s, etc.
- Memória (Sistema de armazenamento de informações;
- Dispositivo de entrada e saída.
Introdução Representação de informações - Bit / Byte;
- Sistemas de numeração:
- binário;
- decimal;
- octal;
- hexadecimal.
Bases de Numeração Decimal - dez algarismos utilizados para a representação (0 a 9); Binária - Algarismos ‘0’ e ‘1’; Octal - Algarismos ‘0’ a ‘7’; Hexadecimal - Algarismos ‘0’a ‘9’ e letras de ‘A’ a ‘E’.
Conversão de bases Conversão base B para a base 10: Identificar: - A base origem do número (b);
- O número de algarismos do número (n);
A contagem dos algarismos deve ser da direita para a esquerda, de ‘0’ até ‘n-1’.
Conversão de bases Exemplo: Conversão de (10110101)2 b = 2, n = 8 1 0 1 1 0 1 0 1 (1x27) + (0x26) + (1x25) + (1x24) + (0x23) + (1x22) + (0x21) + (1x20) = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = (181)10
Conversão de bases Conversão da base 10 para uma base B - Dividir o número decimal pela base desejada e colocar o resto como o algarismo mais à direita
- Enquanto o dividendo for maior do que o divisor:
- dividir o dividendo pelo divisor (= base desejada)
- Extrair o resto da divisão, colocando-o à esquerda dos algarismos já inseridos
- Colocar o dividendo (agora menor do que o divisor) como algarismo mais à esquerda.
Conversão de bases Exemplo: Converter (13)10 para a base binária 13 /2 = 6 (novo dividendo), resto 1 Resultado parcial: 1 6/2 = 3 (novo dividendo), resto 0 Resultado parcial: 01 3/2 = 1 (novo dividendo), resto 1 Resultado parcial:101 Como o último dividendo(1) é menor do que o divisor (2), ele é simplesmente colocado à esquerda do resultado parcial 1101
Aritmética Binária Soma - 0 + 0 = 0
- 0 + 1 = 1 + 0 = 1
- 1 + 1 = 0 ( vai 1)
Subtração - 0 - 0 = 1 - 1 = 0
- 1 - 0 = 1
- 0 - 1 = 1 ( pede emprestado o primeiro 1 à esq.)
Aritmética Octal Semelhante à binária. O “vai 1” ocorre quando a soma for maior ou igual a 8. Quando é necessário “pedir emprestado”, o valor que vem é igual a 8. Exemplos 3657 7312 + 1741 - 3465 5620 3625
Aritmética Hexadecimal Semelhante à binária. O “vai 1” ocorre quando a soma for maior ou igual a 16. Quando é necessário “pedir emprestado”, o valor que vem é igual a 16. Exemplos: - A012 A125
- + 9201 - 9484
- 13213 CA1
Lógica Digital Porta - Elemento de hardware que recebe um ou mais sinais de entrada e, de acordo com a operação definida, produz uma saída. Porta lógica - Porta(hardware) que recebe valores de entrada, e realiza uma operação lógica sobre eles, produzindo uma saída. Operação lógica - produz um resultado que pode assumir dois valores. (0 ou 1, V ou F).
Lógica Digital Tabela Verdade:Conjunto de resultados da operação lógica para todas as combinações possíveis de entrada. Cada operação lógica possui um símbolo matemático que a representa, assim como uma porta lógica, que também possui um símbolo gráfico para representa-la.
Álgebra Booleana Circuitos combinatórios - Conjunto de portas lógicas cuja saída a qualquer instante é uma função exclusiva das entradas Circuitos seqüenciais - Possuem, além das portas lógicas, elementos de armazenamento temporário de informações.
Circuitos Combinatórios Decodificador - É um circuito combinatório com n linhas de entrada e 2n linhas de saída, onde cada combinação de entradas irá gerar uma única saída ativa.
- Este circuito é utilizado na decodificação de instruções e endereços.
Circuitos seqüenciais Flip-flops - Compõem os circuitos seqüenciais que, além das operações realizadas nas portas lógicas, podem reter informações por algum tempo.
- Representam o elemento básico de armazenamento de informações.
Circuitos Seqüenciais Flip-flop SR - Controle do estado:
- Quando ambas as entradas forem ‘0’ permanece no estado atual;
- Se ‘S’ passar para o estado ‘1’ e ‘R’ continuar em ‘0’ o flip-flop passa para o estado ‘1’;
- Se ‘R’ passar para o estado ‘1’ e ‘S’ continuar em ‘0’ o flip-flop passa para o estado ‘0’;
- Se ambos estiverem em ‘1’ o flip-flop fica instável.
Memória Subsistema responsável pelo armazenamento de informações (dados e instruções) Nas memórias, existem duas operações possíveis: leitura (read) ou escrita (write) Organização de forma hierárquica com o objetivo de obter uma relação custo/benefício adequada.
Memória Parâmetros de classificação: - Tempo de acesso: tempo em que uma informação requerida se torna disponível;
- Ciclo de memória: tempo decorrido entre dois acessos consecutivos;
- Capacidade de armazenamento: quantidade de informações que podem ser armazenadas;
- Volatilidade: Perda das informações na ausência de energia elétrica;
Memória Parâmetros de classificação (cont.): - Tecnologia de fabricação: meios magnéticos (HD’s, disquetes), meios semi-condutores (RAM, cache) e meios óticos (CD);
- Temporariedade;
- Custo.
Hierarquia de Memória Registradores: - Dispositivos de armazenamento localizados no próprio processador;
- O processador trabalha buscando instruções e dados na memória principal (RAM) e as colocando em registradores;
- Enquanto estiverem sendo usados, os dados e instruções permanecem nos registradores.
Hierarquia de Memória Registradores: - Tempo de acesso reduzido, pouco espaço de armazenamento e alto custo;
- Dispositivos voláteis;
- São divididos em registradores de propósito geral e específicos
Hierarquia de Memória Memória cache: - Meio intermediário de armazenamento entre o processador e a memória RAM;
- Tempo de acesso bem mais curto do que o da RAM;
- Seu objetivo é minimizar os efeitos da diferença de velocidade entre o processador e a memória principal.
Hierarquia de Memória Memória Cache: - Toda busca de instruções e dados é feita inicialmente na cache;
- Dispositivo de armazenamento volátil com capacidade de armazenamento superior à dos registradores.
Hierarquia de Memória Memória RAM: - Máquina de Von Neuman;
- Meio para o qual os dados de instruções de um programa devem ser carregados antes da sua execução;
- São mais lentas do que as caches, porém bem maiores e mais baratas.
Hierarquia de Memória Memória secundária: - Grande capacidade de armazenamento;
- Exemplos: HD’s, disquetes, CD’s, fitas, etc;
- Dispositivos não voláteis, utilizados para o armazenamento de informações em caráter permanente.
Memória Principal Todos os programas a serem executados pela CPU devem ser carregados para a MP. Palavra - unidade de informação que deve representar um dado ou instrução. Célula - grupo de bits identificados por um endereço.
Memória Principal Unidade de transferência - quantidade de bits transferidos entre MP e CPU. Organização: N células endereçadas de 0 a (N-1) seqüencialmente, cada uma contendo M bits. Duas operações possíveis: leitura (read) ou escrita (write).
Memória Principal Quantidade de bits por célula - definida pelo fabricante. Em uma célula com M bits podemos armazenar 2M combinações diferentes. Padrão adotado pela maioria dos fabricantes é de células de 8 bits (1 byte) Quantidade de bits do endereço indica a quantidade de células endereçáveis. Endereço X Conteúdo de células
Memória Principal As operações realizadas na MP envolvem os seguintes elementos: - Barramento de dados;
- Barramento de endereços;
- Barramento de controle;
- RDM (Registrador de Dados da Memória);
- REM (Registrador de Endereços da Memória).
Memória Principal - Leitura Passos: 1) Preencher o REM; 3) RDM MP(REM)
Memória Principal - Escrita Passos: 1) Preencher o RDM; 2) Preencher o REM; 3) Sinal de escrita no barramento de controle; 4) MP(REM) RDM
Memória Principal - Medidas 1K 210 (1024); 1M 220 (1.048.576); 1G 230 (1.073.741.824); 1T 240 (1.099.511.627.776); Normalmente se mede a capacidade da memória através do seu número de células (bytes),
Memória Principal Tecnologias: - DRAM (Dynamic Random Access Memory);
- ROM (Read Only Memory);
- PROM (Programmable ROM);
- EPROM (Erasable PROM) - apagável através de luz ultra-violeta;
- EEPROM (Eletrically EPROM) - pode ser apagada pela CPU.
Memória Cache Motivação: grande diferença de velocidade entre CPU e MP (Gargalo de Von Neuman). Conceito de localidade: - Localidade Temporal;
- Localidade Espacial.
Memória Cache Funcionamento da Cache - Processador, sempre que precisa buscar uma nova instrução, tentaa antes na cache.
- Quando a informação desejada está na cache, ocorre um hit (acerto).
- Quando a informação não está na cache, ocorre um miss (falta).
Memória Cache Para que a cache seja produtiva e vantajosa, é necessário que haja mais acertos do que faltas. Elementos a serem considerados no projeto de cache: - Tamanho;
- Mapeamento de dados;
- Políticas de substituição de blocos;
- Política de escrita da cache para a Memória Principal.
Memória Cache Fatores que influenciam o tamanho da cache: - Tamanho da M;
- Relação entre acertos e faltas;
- Tempo de acesso da MP;
- Custo;
- Tempo de acesso da cache;
- Natureza do programa em execução (localidade).
Memória Cache Mapeamento de Dados MP/Cache - MP dividida em blocos (B) e Cache em quadros (Q), onde Q << B. Três tipos: - Mapeamento direto;
- Mapeamento (completamente) associativo;
- Mapeamento associativo por grupos (ou conjuntos).
Memória Cache Mapeamento direto - Cada bloco da MP só pode ser colocado em um único quadro da cache.
- A definição do quadro da cache onde um bloco da MP será copiado é baseada no seguinte cálculo:
- N = E mod Q
- onde N = número do quadro na cache, E = endereço na MP e Q = quantidade de quadros na cache
Memória Cache Mapeamento direto (cont.) divisão dos bits do endereço de MP: - 6 bits menos significativos: byte de dados desejado pela CPU
- 10 bits do meio: endereço do quadro da cache.
- 16 bits mais significativos: indica qual dos blocos alocados a um determinado quadro está sendo referenciado.
Memória Cache Mapeamento direto - passos de uma operação de leitura: - CPU apresenta o endereço de leitura;
- Exame dos 10 bits centrais para verificar o quadro da cache a ser usado;
- Comparação do tag (neste exemplo, é igual);
- Acesso ao byte definido pelos 6 bits menos significativos;
- Se o tag não fosse igual, significaria uma falta ou miss de cache.
Memória Cache Mapeamento (totalmente) associativo: - Neste tipo de mapeamento, os blocos da MP podem se colocados em qualquer quadro da cache.
- Divisão do endereço:
- 6 bits menos significativos: byte desejado pela CPU;
- 26 bits mais significativos: endereço do bloco desejado.
Memória Cache Mapeamento (totalmente) associativo (cont.): - Sempre que houver acesso à memória, o controlador varre todos os quadros da cache em busca do endereço desejado.
- Se o endereço não for encontrado (miss), o bloco é trazido da MP para a cache e o algoritmo de substituição de blocos irá decidir qual dos quadros terá seu conteúdo substituído.
Memória Cache Mapeamento associativo por conjuntos: - É uma técnica que procura resolver os problemas das duas técnicas anteriores.
- A cache é organizada em conjuntos e dentro destes os quadros são completamente associativos
Memória Cache Mapeamento associativo por conjuntos (cont.): - A memória cache é dividida em C conjuntos com D quadros
- Desta forma:
- Q = C x D;
- K = E mod C;
- onde k é o número do quadro no conjunto e E o endereço gerado pela CPU
Memória Cache Mapeamento associativo por conjuntos: - Divisão do endereço
- 6 bits menos significativos indicam o byte desejado;
- 9 bits centrais indicam o número do conjunto que vai ser pesquisado;
- 17 bits mais significativos indicam o tag de comparação
Memória Cache Mapeamento associativo por conjuntos: - Passos da busca:
- 1) Controladora da cache usa os bits centrais para descobrir qual conjunto será acessado;
- 2) Comparação do tag com todos os quadros do conjunto em questão;
- 3) Acesso ao byte desejado.
Memória Cache Algoritmos de substituição de dados na cache: - LRU (Least Recenlty Used): o bloco a ser substituído é aquele que está há mais tempo sem ser usado;
- FIFO (First In First Out): Os blocos são substituídos com base na ordem em que chegaram na cache;
- LFU (Least Frequently Used): o bloco a ser substituído é aquele que foi usado com menos freqüência;
- Escolha aleatória.
Memória Cache Políticas de escrita: - Write through: escrita simultânea na cache e na MP;
- Write back: a escrita só e feita no momento em que um bloco for substituído e, mesmo assim, somente se ele sofreu alteração;
- Write once: usado apenas em sistemas com multiprocessamento.
CPU Funções: Componentes: - UC (Unidade de Controle);
- Registradores;
- ALU’s, FPU’s etc.
CPU Ciclo de instrução: - Busca instrução;
- Decodifica a instrução;
- Busca operandos;
- Executa a instrução;
- Escreve os resultados;
- Retorna ao primeiro passo.
CPU - Processamento Execução propriamente dita das instruções Esta função envolve a UAL, FPU’s e registradores; Exemplos: - Operações aritméticas;
- Operações lógicas;
- Movimentação de dados;
- Desvios (branch);
- Entrada / Saída.
CPU - Processamento Registradores: elementos de armazenamento das informações usadas pelas instruções. Podem ser: - Propósito geral;
- Propósito específico.
CPU - Processamento Implicações do tamanho da palavra: - Tempo de processamento em ciclos de relógio;
- Desempenho em relação aos barramentos internos e externos da CPU;
- Tamanho (largura) dos registradores.
As atividades de controle da CPU compreendem: - Busca e decodificação das instruções a serem executadas;
- Geração de sinais de controle que irão ativar os diversos componentes internos e externos da CPU.
CPU - Controle Dispositivos envolvidos nas atividades de controle: - UC: unidade de controle;
- RI (ou IR) - Registrador de instruções (Instruction Register);
- CI (ou PC) - Contador de instruções (Program Counter)
- Clock (Relógio);
- RDM (Registador de dados da memória);
- REM (Registrador de endereços de memória).
CPU - Controle UC - movimentação de dados e controle da ALU (ou UAL); Clock - gerador de pulsos que sincronizam os trabalhos da CPU. Freqüência medida em MHZ; RI - armazena a instrução que está sendo executada; PC - armazena o endereço da próxima instrução a ser buscada.
CPU - Controle Decodificador de instruções - descobre qual a instrução que será executada pela CPU; RDM - armazena o dado que vai para memória ou que acabou de chegar da memória. REM - Armazena temporariamente o endereço de um acesso à memória (leitura ou escrita).
CPU Instrução de máquina - é uma operação básica que o processador consegue interpretar e executar. (ISA - Instruction Set Architecture) - conjunto de instruções que um processador é capaz de executar. CISC - Complex Instruction Set Computer. RISC - Reduced Instruction Set Computer.
CPU Formato de instruções: - Código de operação (opcode) - é o identificador da instrução a ser executada;
- Operandos - dados que serão manipulados pela instrução.
Dentro de um ISA podem existir vários formatos de instrução.
CPU Linguagem Assembly - conjunto de símbolos que representam as instruções de máquina de forma mais amigável para o ser humano. Assembler - é quem faz a tradução do código Assembly para a linguagem de máquina.
CPU Pipeline: - Divisão das instruções em pedaços que são executados separadamente;
- Cada estágio de um pipeline executa uma parte de cada instrução;
- Possibilidade de execução de várias instruções simultaneamente, em estágios diferentes.
Entrada / Saída Subsistema do computador responsável pelo fornecimento de informações e exibição dos resultados produzidos. Os componentes do sistema de E/S são chamados de periféricos por se localizarem fora do núcleo CPU/MP O processador deve se comunicar com periféricos que possuem diferentes velocidades e formas de representar e transmitir seus dados.
Entrada / Saída É necessário que exista um componente intermediário entre o processador e cada um dos periféricos. As controladoras de periféricos realizam o papel da comunicação entre os periféricos e o núcleo CPU / MP.
Entrada / Saída Existem duas formas de comunicação entre a CPU / MP e os periféricos: - Transmissão serial: Os dados são transmitidos um bit de cada vez (Ex: Teclado e Mouse).
- Transmissão paralela: Os dados são transmitidos em grupos de bits (Ex: HD’s e Vídeo)
Entrada / Saída Principais dispositivos de E/S: - Teclado;
- Mouse;
- Monitor de Vídeo;
- Impressora;
- HD’s, disquetes, CD’s e Fitas Magnéticas;
- Scanners;
- MODEM’s
- Etc.
Entrada / Saída Interrupções: Sempre que uma operação de E/S é solicitada pelo processador, a controladora respectiva a executa e, ao final, realiza uma interrupção para informar o término da mesma. DMA (Direct Memory Access): Técnica que minimiza a participação do processador em operações de E/S, permitindo que as controladoras acessem a memória diretamente.
Dostları ilə paylaş: |