Máquinas Multiníveis



Documentos relacionados
Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores IFES Campus Serra

1 MÁQUINAS VIRTUAIS, MÁQUINAS MULTINÍVEL E LINGUAGENS

Sistemas Operacionais

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Sistema de Computação

Organização e Arquitetura de Computadores I. de Computadores

Capítulo 1 Introdução

Introdução à Computação: Arquitetura von Neumann

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Componentes de um Computador: Modelo Von Neumann

Organização e Arquitetura de Computadores I. de Computadores

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Edeyson Andrade Gomes

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

ARQUITETURA DE COMPUTADORES

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

BARRAMENTO DO SISTEMA

ARQUITETURA DE COMPUTADORES

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Figura 1 - O computador

Arquiteturas RISC. (Reduced Instructions Set Computers)

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Computador Digital Circuitos de um computador (Hardware)

SIS17-Arquitetura de Computadores

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Arquitetura e Organização de Computadores

Aula 26: Arquiteturas RISC vs. CISC

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Sistemas Operacionais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Introdução às arquiteturas paralelas e taxonomia de Flynn

Comparação SDs X Scs

Sistemas Computacionais II Professor Frederico Sauer

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

Introdução à Engenharia de Computação

Informática I. Aula 5. Aula 5-13/05/2006 1

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

ALP Algoritmos e Programação. . Linguagens para Computadores

Componentes de um Sistema de Computador

Curso Técnico de Nível Médio

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

1. CAPÍTULO COMPUTADORES

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais

Disciplina: Organização de computadores

Organização de Computadores 1

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Informática I. Aula 4. Aula 4-11/09/2006 1

Microprocessadores. Prof. Leonardo Barreto Campos 1

Organização de Computadores Hardware

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Arquitetura de Computadores. Ivan Saraiva Silva

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Estrutura de um Computador

- Aula 1 - ARQUITETURA DE COMPUTADORES

Introdução aos Computadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Visão Geral de Sistemas Operacionais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

O modelo do computador

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Arquitetura de Von Neumann e os Computadores Modernos

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Introdução à Arquitetura de Computadores

ULA Sinais de Controle enviados pela UC

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Sistemas Operacionais. Prof. André Y. Kusumoto

1.1. Organização de um Sistema Computacional

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

UFRJ IM - DCC. Sistemas Operacionais I

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais

Transcrição:

Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium Conclusão

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 Conceitos básicos Arquitetura do computador Visão 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: 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

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 Conjunto de sinais de controle Interpretação pela máquina temp = v[k]; v[k] = v[k+1]; v[k+1] = tempo; hv $15, 0($2) hv $16, 4($2) anv $16, 0($2) anv $15, 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 ALUOP[0:3] InstReg[9:11] & MASK 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

Conceitos básicos Conjunto de instruções Aplicações Compilador Microprograma Projeto da lógica digital Projeto de circuitos Sistema Operacional Sistema I/O 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

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 Classificação de arquiteturas Máquinas von Neumann endereço CPU Memória Principal Registradores PC Unidade de Controle ULA Sistema de E/S dados/instruções

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. 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

Classificação de Flynn SI (Single Instruction) MI (Multiple Instruction) SD (Single Data) SISD Máquinas de von Neumann convencionais MISD Sem representante (até agora) MD (Multiple Data) SIMD Máquinas Array (CM-2, MasPar) MIMD Multiprocessadores e Multicomputadores (ncube, Intel Paragon, Cray T3D) Classificação de Flynn SI (Single Instruction) MI (Multiple Instruction) SD (Single Data) SISD MISD MD (Multiple Data) SIMD MIMD

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. 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;

Acesso uniforme a memória UMA Memória cache para amenizar a diferença de velocidade entre processador e memória 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.

Simples Linguagem Complexa Nível n Nível 4 Nível 3 Nível 2 Nível 1 Máquina virtual M n, com linguagem de máquina L n Máquina virtual M 4, com linguagem de máquina L 4 Máquina virtual M 3, com linguagem de máquina L 3 Máquina virtual M 2, com linguagem de máquina L 2 Computador real M 1, com linguagem de máquina L 1 Os programas em L n 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 Os programas em L 3 ou são interpretados por um interpretador em execução em M 2, ou são traduzidos para L 2 Os programas em L 2 ou são interpretados por um interpretador em execução em M 1, ou são traduzidos para L 1 Os programas em L 1 podem ser executados diretamente pelos circuitos eletrônicos 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

Linguagens, níveis e máquinas virtuais Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Linguagem orientada para problemas Tradução (compilador) Linguagem de montagem Tradução (montador) Sistema operacional Interpretação parcial (sistema operacional) Máquina convencional Interpretação (microprograma) Máquina de microprogramação Os microprogramas são executados diretamente pelo hardware Lógica digital 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

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 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

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 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

F I M Perguntas...