Curso de ADS/DTEE/IFBA Organização de Computadores Como a informação é processada? Prof. Antonio Carlos Referências Bibliográficas: 1. Ciência da Computação: Uma visão abrangente - J.Glenn Brokshear 2. Introdução à organização de computadores MárioMonteiro-LTC
Trilha Componentes do Sistema Comp. Sequência de boot POST MBR (Master Boot Record) Setor de Boot Sistema de Arquivos Linguagem de Máquina Desfragmentador x Verificador de Erros
Organização Típica de um computador
Organização do Computador A CPU processa o conteúdo da RAM. A comunicação com os periféricos é feita entre CPU/MP e Controladoras (IDE, SCSI, Placas de video, Placa de Rede e Fax) As controladoras (interface E/S) armazena os bits e envia no momento propício realizando interrupções ou DMA.
Execução de um programa Codificar o algoritmo em uma linguagem de programação Decodificar essas instruções em linguagem de máquina, pois o processador só executa instruções simples (instruções de máquina).
Processador Constituída de milhões de minúsculos circuitos e componentes eletrônicos Encapsulados em um chip Intel Pentium IV, AMD k7, Power PC
Processador Função básica ler e interpretar instruções de máquina e realizar as operações lógicas e aritméticas. Controla quando e o que deve ser realizado pelos outros componentes, emitindo para isso sinais apropriados de controle
Memória As instruções, junto com os dados, são armazenadas na memória RAM e buscadas, decodificadas e executadas pela CPU. O componente do sistema de computação responsável pelo armazenamento das instruções introduzidas é a Memória.
RAM DDR
Saída Os resultados podem ser apresentados a um usuário interessado em uma forma decimal Apresentados no(a): monitor, impressora ou gravados nas memórias auxiliares
Conceitos para o funcionamento do computador von Neumann - Dados e instruções são armazenados em um tipo de memória que escreve e recupera - O conteúdo da memória é endereçada conforme a sua posição, independente do tipo nele contido - Operação com números binários - A execução das instruções ocorre de forma sequencial
Programa versus Dados Os dados e programas são codificados com 0s e 1s A escolha do programa a ser inicializado ao ligar o computador pode ser facilmente fixado no contador de instruções. Mas, se o computador perde o endereço pode executar dados como instruções. Assim, um programa pode manipular outros como a si mesmo.
Processador
CPU Partes ULA Unidade Lógica Aritmética UC Unidade de Controle Registradores (RDM, REM) Memória Cache Relógio Tem vias (conjunto de fios interconectados) com a memória principal
ULA Executa operações matemáticas Soma, Multiplicação, Subtração e Divisão AND, OR, XOR, Deslocamento a direita, esquerda Incremento, decremento
UC Unidade de Controle Mais complexo da CPU Realiza movimentações de dados e instruções de e para a CPU Usa sinais de controle, que emite instantes de tempo programados, determinada pelo Clock (Relógio) da máquina
RDM - Registrador de Dados da Memória armazena temporariamente a informação (conteúdo de uma ou mais células) entre CPU e MP. Armazena mesma quantidade de bits
REM- Registrador de Endereços da Memória Armazena temporariamente o endereço de acesso a uma posição de memória. Encaminhado à área de controle da MP para decodificação e localização da célula desejada. Permite armazenar a mesma quantidade de bits que do barramento de endereços
Programa Armazenado Programas, assim como os dados, poderia ser codificado e armazenado na memória principal. Para tanto, a unidade de controle deve ser projetada com capacidade de extrair o programa da memória, decodificar e executar suas instruções
Programa Armazenado O programa do computador poderia ser modificado alterandose o conteúdo da memória. O computador precisa reconhecer certos padrões de bits como instruções.
Linguagem de Máquina E Instruções
Linguagem de máquina Um padrão de bits pode definir o conjunto de instruções que aliado ao sistema de codificação adotado, constitui a linguagem de máquina. A linguagem define os meios pelos quais um programador comunica ao computador os algoritmos que deseja executar. STORE, ADD, ROTATE
Instrução de Máquina Duas partes Código de operação ( 4 bits) Código do operando ( 12 bits)
Código de Operação Cada instrução é codificada em um total de bits e representados por um conjunto de hexadecimais. Ex.: 4 bits pode representar 16 códigos de operação q é um dígito hexadecimal LOAD pode ser representada como 0001 em hexa = 1, que armazena o padrão de bits encontrado no registrador R na posição de endereço X.
Operandos O registrador e as posições de memória são informados com os bits de operandos. No caso de 16 bits para instrução e 4 para operação, restam 12 para operandos. A instrução 1547 em hexa pode representar comando 1 = LOAD ou seja carregue no registrador 5 o conteúdo da posição de memória de endereço 47.
Classificação de Operações Transferência de Dados Instruções Aritméticas e Lógicas Controle
Exemplo de Programa 156C 166D 5056 306E C000
Execução de Programas Um programa armazenado na memória é copiado para o registrador de instrução conforme ação da unidade de controle. Na unidade de controle, a instrução é decodificada pelo decodificador de instrução e executada. A ordem em que as instruções são executadas é a mesma ordem de armazenamento, exceto se especificado uma instrução JUMP.
UC Contador de Instruções Contém o endereço da próxima instrução a ser executada Registrador de Instruções Mantém cópia da instrução que estiver sendo executada em cada momento.
Ciclo de Máquina Contém três fases: Busca A UC solicita a MP a próxima instrução a ser executada. A UC dispõe da informação de onde a próxima instrução se encontra na memória, pois tal endereço é mantido no contador de instrução. A UC guarda, no registrador de instruções, a instrução lida da MP, e incrementa o contador de instruções, para ter o endereço da próxima instrução Decodificação Execução
Decodificação Campo do Operando é analisado pelo decodificador de instrução Verifica se precisa operandos STOP não precisa Verificar com os 12 bits(exemplo) quais são os operandos (registradores e memória) Depois passa a executar, ativando o circuito necessário para a realização da tarefa.
Passos do Ciclo de Instrução REM = PC A memória decodifica o endereço REM Transfere o conteúdo para o RDM RI = RDM PC= PC + 1 A UC solicita ao RI que envie os 4 bits para o decodificador de instrução
Exemplo de um Programa Endereço A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 Conteúdo 15 6C 16 6D 50 56 30 6E C0 00
Memória
Comparativo
Tipos de Memória Registradores Cache L1 Cache L2(interno e externo) MP (RAM) SRAM (Static) ou DRAM (Dinâmica SIMM ou DIMM ou RIMM) ROM ROM, PROM, EPROM, EEPROM CMOS VRAM (Placa de Video) Armazenamento de Massa ou MS(Secundária)
Memória Principal (RAM) Organizados em Células (ou palavras ou posições de memória) e identificadas por um endereço Em geral, uma célula tem 1 byte Permissões de write e read
Memória RAM Unidade de Transferência entre CPU e MP considerar de uma palavra São de semicondutores São memórias de acesso aleatório Random Access Memory Ocupam pouco espaço Possuem tempo de acesso pequeno
SETOR DE BOOT E MBR NÃO SÃO A MESMA COISA O MBR situa-se no primeiro setor da primeira trilha do primeiro prato do HD (setor um, trilha zero, face zero, prato zero). O MBR é constituído pelo Bootstrap e pela Tabela de Partição. O Bootstrap é o responsável por analisar a Tabela de Partição em busca da partição ativa. Em seguida ele carrega na memória o Setor de Boot da partição. Esta é a função do Bootstrap. A Tabela de Partição contém informações sobre as partições existentes no disco. Informações como o tamanho da partição; em qual trilha/setor/cilindro ela começa e termina; o sistema de arquivos da partição; se é a partição ativa... ao todo são dez campos. Quatro campos para cada partição possível (por isso só se pode ter 4 partições primárias, e por isso também que foi-se criada a partição estendida...), e dez campos para identificar cada partição existente.
SETOR DE BOOT E MBR NÃO SÃO A MESMA COISA Quando acaba o POST, a instrução INT 19 do BIOS lê o MBR e o carrega na memória, e é executado o Bootstrap. O Bootstrap vasculha a Tabela de Partição em busca da partição ativa, e em seguida carrega na memória o Setor de Boot dela. A função do Setor de Boot é a de carregar na memória os arquivos de inicialização do SO. O Setor de Boot fica situado no primeiro setor da partição ativa.