Universidade do Vale do Rio dos Sinos Programa Interdisciplinar de Pós-graduação em Computação Aplicada (PIPCA) Disciplina de Organização e Arquitetura de Computadores Introdução ao Conteúdo Prof. Jorge Luis Victória Barbosa [email protected] http://www.inf.unisinos.br\~barbosa 1 Organização x Arquitetura Arquitetura • Atributos visíveis para o programador (conjunto de instruções, técnicas de endereçamento, etc) • Exemplo: Instruções de divisão/multiplicação disponíveis? Organização • Como as características da arquitetura são implementadas (sinais de controle disponíveis, tecnologias de memória, como instruções são executadas, etc) • Exemplo: ULA suporta multiplicação/divisão Observações gerais • Toda a família Intel X86 possui a mesma arquitetura básica • Organização varia entre máquinas na mesma família • A mesma arquitetura garante a compatibilidade de código 2 Linguagens e Máquinas Virtuais (Tanenbaum) Nível N Máquina Virtual Mn Linguagem de Máquina LN . . . Nível 2 Máquina Virtual M2 Linguagem de Máquina L2 Nível 1 Máquina Virtual M1 Linguagem de Máquina L1 Nível 0 Máquina Virtual M0 Linguagem de Máquina L0 3 VMs de Arquitetura (Virtualização) • Aumento do poder de processamento viabiliza várias VMs • Crescente heterogeneidade estimula abstração para SOs e Aplicações • Crescente complexidade dos sistemas computacionais estimula busca pela simplificação da administração de recursos • Exemplo: Monitor de Máquinas Virtuais Xen - Uso da Técnica de Paravirtualização - Política de código aberto, guiado pela licença GNU - Orientado para arquiteturas x86 - Suporte à migração de máquinas virtuais em uso (Life Migration) Xen Domain0 Control Interface Virtual x86 CPU Virtual Physical Memory Virtual Network Virtual BlockDev 4 Visão geral de VMs no Xen 5 VMs de Linguagens de Programação Programa Fonte Compilador Compilador Byte Code Código Binário do Processador Hardware + SO VM Hardware + SO 6 Exemplo do Java Programa em Java (.java) JavaC Byte Code – Classe (.class) Java Virtual Machine (JVM) Hardware + SO 7 Máquinas Multinível (Tanenbaum) Nível 5 Nível de Linguagem Orientada para Problemas Tradução (Compilador) Nível 4 Nível de Linguagem de Montagem Tradução (Montador) Nível 3 Nível de Sistema Operacional Interpretação Parcial (S.O.) Nível 2 Nível de Máquina Convencional Interpretação (Microprograma) Nível 1 Nível de Microprogramação Microprograma executado pelo Hardware Nível 0 Nível de Lógica Digital 8 Máquinas Multinível Nível 5 Nível de Linguagem Orientada para Problemas Tradução (Compilador) (Tanenbaum) Nível 4 Nível de Linguagem de Montagem Tradução (Montador) Nível 3 Nível de Sistema Operacional Interpretação Parcial (S.O.) Capítulo 5 Nível 2 Nível de Máquina Convencional Interpretação (Microprograma) Organização e Arquitetura de Computadores Capítulo 4 Nível 1 Nível de Microprogramação Microprograma executado pelo Hardware Capítulo 3 Nível 0 Nível de Lógica Digital 9 Máquinas Multinível Nível 5 Nível de Linguagem Orientada para Problemas Tradução (Compilador) (Tanenbaum) Nível 4 Nível de Linguagem de Montagem Tradução (Montador) Sistemas Operacionais Nível 3 Nível de Sistema Operacional Interpretação Parcial (S.O.) Capítulo 5 Nível 2 Nível de Máquina Convencional Interpretação (Microprograma) Organização e Arquitetura de Computadores Capítulo 4 Nível 1 Nível de Microprogramação Microprograma executado pelo Hardware Capítulo 3 Nível 0 Nível de Lógica Digital 10 Arquitetura Von Neumann Memória Unidade de Controle Unidade Lógica Aritmética (ULA) Entrada Acumulador Saída 11 Organização de um computador CPU Unidade de Controle Unidade Lógica e Aritmética (ULA) Dispositivos de Entrada e Saída Registradores . . . . . . Memória Principal Disco Impressora Barramento 12 Evolução do Mundo Digital Sinal • Analógico ou Digital Diodo • Chave Lógica Transistor • Chave com acionamento Circuitos Integrados (chip) • Integração em silício • Circuito SSI: 1 a 10 portas lógicas • Circuito MSI: 10 a 100 portas lógicas • Circuito LSI: 100 a 100.000 portas lógicas • Circuito VLSI: > 100.000 portas 13 Lei de Moore (Gordon Moore, Intel, 1965) “O número de transistores integrados em um chip dobra a cada 18 meses.” “Um crescimento anual de 60 % no número de transistores integrados.” 14 Lei de Moore (Aplicada em Processadores) 15 Máquinas Multinível Nível 5 Nível de Linguagem Orientada para Problemas Tradução (Compilador) (Tanenbaum) Nível 4 Nível de Linguagem de Montagem Tradução (Montador) Nível 3 Nível de Sistemas Operacional Interpretação Parcial (S.O.) Capítulo 5 Nível 2 Nível de Máquina Convencional Interpretação (Microprograma) Organização e Arquitetura de Computadores Capítulo 4 Nível 1 Capítulo 3 Nível 0 Nível de Microprogramação Microprograma executado pelo Hardware Nível de Lógica Digital 16