Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br
Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2
Máquina de Níveis
Máquina de níveis Computador como máquina de níveis ou camadas: Nível 0 Hardware; Nível 1 Sistema Operacional. Hardware: Dispositivos físicos, microprogramação, linguagem de máquina. 4
Máquina de níveis Software: Sistema operacional, utilitários e aplicativos; Linguagem utilizada em cada um dos níveis varia da mais elementar (baixo nível) à mais sofisticada(alto nível). 5
Conceitos de Arquitetura Revisão
Conceitos Hardware Três subsistemas básicos: Uidd Unidade Central de Processamento; Memória principal; Dispositivos de entrada e saída. Subsistemas são também chamados de unidades funcionais; Implementações podem variar a depender da arquitetura. 7
Modelo de Computador Memória Entrada Processamento Saída 8
Modelo de Computador Execução de programas Programa armazenado em dispositivo de E/S Carga do programa na memória (SO) Execução das instruções (uma a uma) na CPU Dispositivo de E/S Memória Principal CPU 9
CPU Controla cada unidade funcional do sistema Execução das instruções dos programas Aritméticas Comparação Movimentação Componentes Básicos 10
Sistemas Operacionais: Conceitos e Arquitetura www..edeyson.com.br CPU 11 ULA UC CPU Registradores
CPU Unidade de Controle (UC) Controla as atividades de todos componentes Decodifica cada instrução a ser executada Usa sinal de sincronismo clock 12
CPU Unidade Aritmética e Lógica (ULA) Adição, Subtração, Multiplicação, etc. Operações booleanas: And, Or, Xor, etc. 13
CPU Registradores Locais de armazenamento de informações (bits) Pequenas posições de memória Localizadas dentro da CPU Acesso mais rápido que à memória principal Número e tamanho varia de acordo com a CPU 14
CPU Registradores de Propósito Geral Disponível para os programadores / compiladores Armazenamento temporário (Acumuladores) Registradores de Propósito Específico Program Counter (PC) ou Instruction Pointer (IP) Stack Pointer (SP) Flag ou Status Register ou Program Status Word (PSW) Instruction Register 15
CPU Clock Sinal elétrico de freqüência constante Medido em Hertz (Hz) - pulsos por segundo Usado como referência pelos componentes do sistema Uma instrução pode durar vários pulsos de clock 16
CPU Conjunto de Instruções Instruções de máquinas disponíveis na CPU Tipos e quantidade variam de acordo com a CPU Compatibilidade de programas RISC x CISC 17
CPU Suponha que um robôx atende comandos em binário. 00 avança um passo 01 retorna um passo 10 desloca-se um passo à esquerda 11 desloca-se um passo à direita Suponha que um robôy atende comandos em binário. 00 retorna um passo 01 avança um passo 10 desloca-se um passo à direita 11 desloca-se um passo à esquerda O que ele fará se em sua memória forem armazenadas as instruções: 00 00 10 00 11 00 11 O que ele fará se em sua memória forem armazenadas as instruções: 00 00 10 00 11 00 11 18
CPU Desempenho de processadores Depende de:» Conjunto de instruções disponível» Clock» Tipo da aplicação: comercial x científica Benchmark» Usado para comparar processadores diferentes 19
Memória Memória Principal Armazena informações (bits) Programas (instruções) Dados Composta por várias unidades d de acesso Células Posições de memória Número determinado de bits (normalmente 8) 20
Memória Cada posição de memória tem um endereço Referência única de uma célula de memória Endereço número de posições de memória endereçáveis: m 0 1 2 3..... 0000 1111 1010 0100 0000 0000 1111 1111 0000 1111. 0000 1011 m-1 tamanho da célula: 8 bits Conteúdo: Instrução ou Dado 21
Memória Interligação Memória - Processador Registradores de uso específico: Memory Address Register - MAR - REM Memory Data Register - MDR - RDM 22
Sistemas Operacionais: Conceitos e Arquitetura www..edeyson.com.br 23 Memória Principal Barramentos MAR MDR Unidade de PC R 0 Controle R 1 IR : Unidade : R Lógica e X Aritmética Registradores de propósito geral Processador
Memória Operação de Leitura da Memória CPU armazena endereço da célula a ser lida no MAR CPU gera sinal de controle indicando que a operação é de leitura da memória Memória recupera informação armazenada na posição endereçada e coloca no barramento de dados, chegando ao MDR 24
Memória Operação de Gravação na Memória CPU armazena endereço da célula a ser gravada no MAR CPU armazena a informação a ser gravada no MDR CPU gera sinal de controle indicando que a operação é de gravação na memória Memória armazena informação do barramento de dados na posição endereçada 25
Memória Memória Cache Memória de alta velocidade Localizada entre CPU e Memória Principal Aumento de desempenho com custo razoável Algoritmo Hit rate - taxa de acertos Interna x Externa 26
Memória Capacid dade Maior Registradores Memória Cache Memória Principal Memória Secundária Maio or Custo e Velocid dade de Acesso 27
Dispositivos de E/S Dispositivo de E/S Comunicação com meio externo Memória Secundária e Interface Homem-Máquina Barramentos Conjunto de fios paralelos Interliga CPU, Periféricos e Memória Principal 28
Barramentos Barramento de Dados Número de bits por operação de E/S ou acesso à Memória Processadores de 8, 16, 32 ou 64 bits Fluxo Bi-direcional (leitura / gravação) Barramento de Endereços Capacidade de Armazenamento = 2 n Fluxo Uni-direcional (CPU MEM ou E/S) 29
Barramentos Barramento de Controle Diversos sinais de controle Read / Write Controle de Interrupções Fluxo Uni ou Bi-direcional i (depende d do sinal de controle) l) 30
Pipelining Análogo à Linha de Montagem Tarefas divididas em subtarefas Execução em diferentes estágios Divisão da execução de uma instrução Busca da Instrução e Operandos Execução da Operação Armazenamento dos Resultados 31
Pipelining Paralelismo Aumento de Desempenho Técnica empregada em sistemas com um ou mais processadores 32
Conceitos de Software
Conceitos de Software Tradução Necessidade de codificar instruções para máquina Evolução Programação via painéis Linguagens de programação Linguagens de Programação Maior independência do HW Maior facilidade de desenvolvimento / manutenção 34
Tradução Programa Fonte Linguagem de Montagem Linguagem de Alto Nível Tradutor Montador Compilador Programa Objeto Módulo Objeto Módulo Objeto 35 Módulo Objeto Módulo Objeto Módulo Objeto Linker Programa Executável
Tradução Linguagens de Montagem (Assembly) Mnemônicos associados às instruções do processador Específica para cada processador Montadores (Assembler) 36
Tradução Linguagem de Alto Nível Sem relação direta com o processador Transportabilidade Pascal, Fortran, Cobol, VB, Java Compiladores Interpretadores Caso especial do Java: JVM 37
Tradução Módulos Objeto Código de máquina não executável Referências a módulos externos não resolvidas Módulos Executáveis Códigos de máquina executáveis Linkers Bibliotecas Relocação 38
Conceitos de Software Loader - Carregador Carga do programa na memória para execução Absoluto x Relocável Debugger - Depurador Pesquisa de erros de lógica Rastreamento 39
Conceitos de Software Linguagem de Controle Comunicação Usuário com o SO Caracter x Gráfica Interpretador de Comandos - Shell Arquivos de Comandos 40
Conceitos de Software Linguagem de Máquina Instruções do Processador Acesso aos Registradores / Memória Modos de endereçamento Tipos de dados 41
Conceitos de Software Linguagem de Máquina Programa em linguagem de máquina Totalmente codificado em binário Diretamente t processado pela CPU Não requer tradução ou relocação Não pode ser executado em outros processadores 42
Conceitos de Software Microprogramação Cada instrução em linguagem g de máquina tem um microprograma associado O microprograma é formado por várias microinstruções Microinstruções são executadas pelo hardware Arquitetura CISC Processadores microprogramáveis Aceitam novas instruções - novos microprogramas 43
Máquina de Níveis Aplicativos Utilitários Sistema Operacional Linguagem de Máquina Microprogramação Programas Aplicativos Programas do SO: Compiladores, Shell, Editores de Texto Hardware Dispositivos Físicos 44
Conclusões