Infra-Estrutura de InfraHardware Infra-estrutura de Hardware Infra-estrutura Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br [email protected] Sumário • • • • • • Conceitos básicos Classificação de arquiteturas Máquinas multinível Tendências da tecnologia Família Pentium Conclusão Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Conceitos básicos • Arquitetura do computador – O projetista de hardware preocupa-se com circuitos, componentes, temporização e facilidade de solução de erros. – O arquiteto de computador preocupa-se com os componentes de alto nível, como eles se conectam, como eles trabalham de forma integrada para garantir performance Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Conceitos básicos • Arquitetura do computador – Visão tradicional: tradicional identificar os atributos de um sistema de computação na visão do programador, isto é, a estrutura conceitual e o comportamento funcional, em oposição à implementação física. – Visão atual: atual entender as técnicas de projeto, estrutura das máquinas, fatores tecnológicos e métodos de avaliação que irão determinar a estrutura dos computadores no século 21 Arquitetura = Organização da máquina + Conjunto de instruções Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Conceitos básicos • Comunicação com o computador Programa em linguagem de alto nível Compilador Programa em linguagem Assembly Assembler Programa em linguagem de máquina temp = v[k]; v[k] = v[k+1]; v[k+1] = tempo; hv $15, hv $16, anv $16, anv $15, 0($2) 4($2) 0($2) 4($2) 1000 1100 0110 0010 0000 0000 0000 0000 1000 1100 1111 0010 0000 0000 0000 0100 1010 1100 1111 0010 0000 0000 0000 0000 1010 1100 0110 0010 0000 0000 0000 0100 Interpretação pela máquina Conjunto de sinais de controle ALUOP[0:3] ⇐ InstReg[9:11] & MASK Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Conceitos básicos • Conjunto de instruções – Parte da arquitetura que é visível para o programador: – – – – Códigos de operação das instruções disponíveis Quantidades e tipos dos registradores Formatos das instruções Acesso à memória e modos de endereçamento Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Conceitos básicos • Conjunto de instruções Aplicações Sistema Operacional Compilador Microprograma Sistema I/O Projeto da lógica digital Projeto de circuitos Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Conceitos básicos • Arquiteturas de alto desempenho Ênfase nos módulos e estruturas que permitem agilizar a velocidade de processamento Exemplos: – – – – Processadores RISC Pipelines Memória cache Multiprocessadores Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Infra-estrutura de Hardware Infra-estrutura Classificação de arquiteturas Classificação básica Máquinas von Neumann Máquinas não-von Neumann • Máquinas von Neumann Três subsistemas básicos: – CPU com três blocos principais: unidade de controle, unidade lógico-aritmética (ALU) e registradores, incluindose aí um registrador contador de programa (PC) – Memória principal – Sistema de E/S Programa armazenado representado em forma digital na memória do computador, juntamente com os dados Execução seqüencial de instruções Caminho único entre memória e unidade de controle Prof. Edilberto Silva – www.edilms.eti.br Classificação de arquiteturas • Máquinas von Neumann Memória Principal endereço dados/instruções CPU Registradores ULA PC Unidade de Controle Sistema de E/S Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Classificação de arquiteturas • Máquinas von Neumann Operação: a execução de um programa é uma seqüência de ciclos de máquina von Neumann, compostos por: – Busca da instrução (fetch): transfere instrução da posição de memória apontada por PC para a CPU; – Execução da instrução: a unidade de controle decodifica a instrução e gerencia os passos para sua execução pela ALU. Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Classificação de arquiteturas • Máquinas não-von Neumann Máquinas paralelas: várias unidades de processamento executando programas de forma cooperativa, com controle centralizado (máquinas SIMD) ou não (máquinas MIMD) Máquinas de fluxo de dados: não executam instruções de um programa; realizam operações de acordo com a disponibilidade dos dados envolvidos Redes neurais artificiais: não executam instruções de um programa; resultados são gerados a partir de respostas a estímulos Processadores sistólicos (VLSI): processamento ocorre pela passagem de dados por arranjo de células de processamento executando operações básicas Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Classificação de Flynn SI (Single Instruction) MI (Multiple Instruction) SD (Single Data) MD (Multiple Data) SISD Máquinas de von Neumann convencionais SIMD Máquinas Array (CM-2, MasPar) MISD MIMD Sem representante (até agora) Multiprocessadores e Multicomputadores (nCUBE, Intel Paragon, Cray T3D) Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Classificação de Flynn SD (Single Data) MD (Multiple Data) SISD SIMD MISD MIMD SI (Single Instruction) MI (Multiple Instruction) Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Multiprocessadores • Todos os processadores P acessam, através de uma rede de interconexão, uma memória compartilhada M; • Possui apenas um espaço de endereçamento. Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Acesso uniforme a memória UMA • A memória usada nessas máquinas é centralizada e encontra-se a mesma distância de todos os processadores; Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Acesso uniforme a memória UMA • Memória cache para amenizar a diferença de velocidade entre processador e memória Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Acesso não uniforme a Memória - NUMA • A memória utilizada é distribuída, implementada com vários módulos que são associados um a cada processador; • O espaço de endereçamento é único, e cada processador pode acessar toda a memória do sistema. Prof. Edilberto Silva – www.edilms.eti.br Complexa Linguagem Simples Infra-estrutura de Hardware Infra-estrutura Máquinas multinível Os programas em Ln ou são interpretados por um interpretador em execução em uma máquina de nível inferior, ou são traduzidos para a linguagem de máquina de uma máquina de nível inferior Nível n Máquina virtual Mn, com linguagem de máquina Ln Nível 4 Máquina virtual M4, com linguagem de máquina L4 Nível 3 Máquina virtual M3, com linguagem de máquina L3 Os programas em L3 ou são interpretados por um interpretador em execução em M2, ou são traduzidos para L2 Nível 2 Máquina virtual M2, com linguagem de máquina L2 Os programas em L2 ou são interpretados por um interpretador em execução em M1, ou são traduzidos para L1 Nível 1 Computador real M1, com linguagem de máquina L1 Os programas em L1 podem ser executados diretamente pelos circuitos eletrônicos Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Máquinas multinível Linguagens, níveis e máquinas virtuais Um computador com n níveis pode ser considerado como n diferentes máquinas virtuais, cada uma delas com uma diferente linguagem de máquina Os termos nível e máquina virtual podem ser utilizados indistintamente Para escrever programas para a máquina virtual de nível n não há necessidade de conhecer os interpretadores e tradutores subjacentes A estrutura da máquina assegura que estes programas serão de algum modo executados Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Máquinas multinível Nível 5 Tradução (compilador) Linguagens, Nível 4 níveis e máquinas virtuais Linguagem orientada para problemas Linguagem de montagem Tradução (montador) Nível 3 Sistema operacional Interpretação parcial (sistema operacional) Nível 2 Máquina convencional Interpretação (microprograma) Nível 1 Máquina de microprogramação Os microprogramas são executados diretamente pelo hardware Nível 0 Lógica digital Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Máquinas multinível Máquinas multinível contemporâneas As máquinas com controle programado no hardware não possuem o nível 1, pois as instruções do nível de máquina convencional são executadas diretamente pelos circuitos eletrônicos do nível 0 Os níveis 6 e superiores consistem em coleções de programas projetados para criar máquinas especialmente adequadas para aplicações específicas Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Máquinas multinível Hardware, software e máquinas multinível O hardware é composto de objetos tangíveis - circuitos integrados, placas de circuito impresso, cabos, fontes de alimentação, memórias, leitoras de cartões, impressoras e terminais - em lugar de idéias abstratas, algoritmos ou instruções O software consiste em algoritmos (instruções detalhadas que dizem como fazer algo) e suas representações para o computador - ou seja, os programas podem estar representados em cartões perfurados, fita magnética, filme fotográfico e outros meios Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Máquinas multinível Hardware, software e máquinas multinível Qualquer operação efetuada pelo software pode também ser implementada diretamente em hardware, e qualquer instrução executada pelo hardware pode também ser simulada pelo software A decisão de se colocar certas funções em hardware e outras em software baseia-se em: – – – – Custo Velocidade Confiabilidade Freqüência esperada de alterações Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura Máquinas multinível Hardware, software e máquinas multinível Não há regras rígidas e diretas para se dizer que X deve ser implementado em hardware e Y deve ser programado explicitamente Projetistas com objetivos diferentes podem, e muitas vezes o fazem, tomar diferentes decisões Infra-estrutura de Hardware Infra-estrutura Prof. Edilberto Silva – www.edilms.eti.br Máquinas multinível Hardware, software e máquinas multinível Uma forma intermediária entre o hardware e o software é o firmware, que consiste do software embutido em dispositivos eletrônicos durante a fabricação Utilização do firmware: – – – Quando se espera que os programas raramente ou nunca serão mudados (brinquedos ou instrumentos) Quando os programas não podem ser perdidos ao se acabar a alimentação (quando a bateria da boneca se descarrega) Em muitos computadores, o microprograma está em firmware Prof. Edilberto Silva – www.edilms.eti.br Infra-estrutura de Hardware Infra-estrutura FIM Perguntas .... Prof. Edilberto Silva – www.edilms.eti.br