OCD – Organização de Computadores Digitais Prof. Camilo ... Arquiterura versus... · OCD –...

81
OCD – Organização de Computadores Digitais Prof. Camilo Rodrigues Neto Estrutura da disciplina o Parte 1. Visão geral (OCD) o Parte 2. O sistema de computação o Parte 3. A unidade central de processamento o Parte 4. A unidade de controle o Parte 5. Organização paralela (Arquitetura de computadores)

Transcript of OCD – Organização de Computadores Digitais Prof. Camilo ... Arquiterura versus... · OCD –...

OCD – Organização de Computadores Digitais

Prof. Camilo Rodrigues Neto

Estrutura da disciplinao Parte 1. Visão geral (OCD)o Parte 2. O sistema de computaçãoo Parte 3. A unidade central de processamentoo Parte 4. A unidade de controleo Parte 5. Organização paralela (Arquitetura de computadores)

OCD – Organização de Computadores Digitais

Prof. Camilo Rodrigues Neto

Parte 1 Visão Geralo Apresentaçãoo Capítulo 1 – Introduçãoo Capítulo 2 – Evolução e desempenho dos computadores

TED Ideas worth spreadingo George Dyson at the birth of the computer,

www.ted.com/talks/lang/eng/george_dyson_at_the_birth_of_the_computer.html

“O computador era de fato inevitável, se não fossem eles, seriam outros.” George Dyson

o Kevin Kelly on the next 5,000 days of the web, www.ted.com/talks/kevin_kelly_on_the_next_5_000_days_of_the_web.html

“Teremos uma única, gigantesca máquina, na Internet.” Kevin Kelly “Teremos uma única, gigantesca máquina, na Internet.” Kevin Kelly

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto4

TED Ideas worth spreadingo http://www.ted.com/translate/languages/por_bro http://tedxusp.com.br/

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto5

Veremos nessa aula ...

o O que estudaremos nesse curso? o Diversidade dos computadoreso Objetivos

o Por que devemos estudar isso?o Usuário e mercado de trabalho

o Qual a diferença entre Arquitetura & Organização de um computador?o Família de CPU’s Intel

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto6

o Família de CPU’s Intelo Família de microcontroladores MCS 51o Família IBM System/370

o O que é um computador? Qual a melhor maneira de estudá-los?o Organização estruturada de computadores: Máquinas multiníveiso Estrutura & Função

o Como o curso está estruturado?o Ementa e cronogramao Avaliação: provas e seminários

Diversidade dos computadores

Existe uma enorme variedade de produtos que podem ser denominados comocomputador.

Eles diferem em:o tamanho;o desempenho/velocidade;o custo;

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto7

o custo;o consumo de energia;o aplicação (propósito geral/propósito específico).

Diversidade dos computadores

Radio-frequency identification < 0,5 Controle de estoque e de acesso, pedágio ...

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto8

Super computers > 5 M Problemas de modelagem complexos

Radio-frequency identification (RFID)

o Incorporated into a product, animal, or person for the purpose ofidentification and tracking using radio waves.

o Most RFID tags contain at least two parts.o an integrated circuit for storing and processing information, modulating

and demodulating a radio-frequency (RF) signal, and other specializedfunctions.

o an antenna for receiving and transmitting the signal.o an antenna for receiving and transmitting the signal.o There are three types of RFID tags:

o active RFID tags, which contain a battery and can transmit signalsautonomously,

o passive RFID tags, which have no battery and require an external sourceto provoke signal transmission

o battery assisted passive (BAP) which require an external source to wake upbut have significant higher forward link capability providing great readrange.

o Today, RFID is used in enterprise supply chain management to improvethe efficiency of inventory tracking and management.

Microcontroladores (embedded systems)

Existem também computadores muito pequenos e baratos, os microcontroladores, utilizados em produtos (para aumentar a flexibilidade, eficiência, segurança, qualidade, implementar novas funções), tais como: 1. sistemas automotivos: motores multi-combustível, air-bags, freios

ABS, controle de estabilidade e tração, ar condicionado, GPS; 2. sistemas de telecomunicação (das centrais aos telefones);

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto10

2. sistemas de telecomunicação (das centrais aos telefones);3. automação industrial, controle remoto e sistemas de supervisão; 4. instrumentação: medidores remotos, equipamentos médicos ... ; 5. máquinas de escritório: teclado do computador, monitor de vídeo,

harddisk, PDAs e impressoras ... ;6. máquinas pessoais: relógio de pulso, mp3 (4 … 10) players, videogames,

cameras digitais ... ;7. máquinas residenciais: forno de micro-ondas, máquinas de lavar roupas

e pratos, rádio relógio, telefones DVD players;8. brinquedos etc.

Aplicações de alta performancehttp://www.sagepub.com/journalsProdAims.nav?prodId=Journal201339

Para aplicações de alta performance, tais como os problemas de modelagem complexos, existem ainda os super computadores.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto12

Aplicações de alta performancehttp://www.sagepub.com/journalsProdAims.nav?prodId=Journal201339

Uma lista desses problemas, da revista The International Journal of High Performance Computing Applications, inclui os seguintes tópicos: 1) aerodynamics and aerospace engineering; 2) artificial intelligence and knowledge processing;3) astrophysics, atmospheric research and meteorological forecasting; 4) automotive design and production; 5) climate modeling; 6)

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto13

forecasting; 4) automotive design and production; 5) climate modeling; 6) computer graphics and imaging; 7) cryptographic analysis; 8) economic modeling; 9) geophysics; 10) integrated circuit design; 11) molecular biology; 12) molecular dynamics; 13) motion-picture graphics; 14) nuclear physics; 15) petroleum reservoir engineering and hydrology; 16) pharmaceutical structural analysis and computer-aided design; 17) physical oceanography; 18) plasma physics; 19) quantum chemistry; 20) solid state physics, and structural dynamics.

Objetivos

o Objetivos:o introduzir conceitos relacionados com a organização e projeto de

computadores, focalizando os aspectos de interface software-hardware;

o introduzir os princípios gerais, comuns por trás de todos oscomputadores, de diversas épocas e de diversos lugares;

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto14

computadores, de diversas épocas e de diversos lugares;o como funcionam os computadores?o como analisar (ou como não) sua performance?o como os computadores são projetados ou construídos para obter a

performance desejada?

o Pré-requisitos: familiaridade com programação, SO e Lógica Digital.

Por que devemos estudar isso?

o Talvez para projetar um novo computador ... uma oportunidaderara.

o Projetar ou construir uma nova aplicação ...

o Aumentar a performance de um software ou aplicativo ...

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto15

o Aumentar a performance de um software ou aplicativo ...

o Como gerentes, será necessário especificar, comprar, instalar e manter um sistema de/com computadores.

o Fornecer ou desenvolver uma solução com computadores embarcados (embed: to enclose closely in or as if in a matrix <fossils embedded in stone>; to make something an integral part of <the prejudices embedded in our language> ).

Arquitetura & Organização

o Arquitetura refere-se aos atributos visíveis para o usuário (de cada nível),ou de outra forma, refere-se aos atributos que têm impacto direto naexecução lógica do programa:o conjunto de instruções, número de bits utilizados para a representação

dos dados (números, caracteres ...), dispositivos de I/O, técnicas deendereçamento, quantidade de memória disponível ...

o e.g., existe uma instrução de multiplicação?

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto16

o e.g., existe uma instrução de multiplicação?

o Organização refere-se às unidades operacionais e suas interconexões queimplementam os atributos especificados na arquitetura:o sinais de controle, interfaces entre o computador e periféricos,

tecnologia utilizada nas memórias ...o e.g., a instrução de multiplicação é implementada por hardware ou é feita

por somas repetidas?

Arquitetura de um computador

Arquitetura Organização Projeto

Arquitetura de um prédio(# de salas e seu tamanho)

Organização(material utilizado)

Projeto estrutural(engenharia civil – tamanho das vigas)

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto17

das vigas)

Arquitetura de um computador(organização e tamanho da memória)

Organização(tecnologia utilizada nas memórias)

Projeto dos circuitos (engenharia elétrica –arranjo dos chips para obter as funções desejadas)

Usuário do carro(a potência e confiabilidade do motor e farois)

Mecânico do carro(detalhes do motor e parte elétrica)

Projeto e especificação das partes (engenharia mecânica - )

Arquitetura & Organização

o Toda a família Intel x86 compartilha a mesma Arquiteturabásica.

o A família IBM System/360 também compartilha a mesma.Arquitetura básica.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto18

o Isso permite compatibilidade de código, pelo menos dasmáquinas básicas com as máquinas superiores da família

o Entretanto, dentro de uma mesma família a Organização diferede uma máquina para outra

IBM Mainframeshttp://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_basinfo.html

19OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Família IBM System/370

20OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Família IBM System/370

21OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Família IBM System/370

22OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Família de CPU’s Intel

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto23

Em relação aos do passado, os computadores modernos têm: 1) mais capacidade de processamento; 2) mais capacidade de armazenamento; 3) mais capacidade de I/O.

Família de microcontroladores MCS 51

o Vantagens da utilização de microprocessadores: o permitem reduzir o tamanho, custo e consumo de energia; o facilidade de projeto de aplicações; o baixo custo.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto24

O que é um computador?Qual a melhor maneira de estudá-los?

Um computador é um sistema de grande complexidade, podendo contermilhões de componentes.

Para descrevê-lo com clareza é usual reconhecer que o computador é umsistema hierárquico, i.e. constituído de um conjunto de subsistemas

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto25

inter-relacionados, cada um contendo outros subsistemas.

A visão hierárquica facilita o projeto e descrição dos computadores, poiso projetista pode concentrar-se em um nível de cada vez.

Software Arquitetura Hardware (lógica)

Separados por vários níveis de abstração

Quanto custa 1 grão de arroz?

o 1 grão de arroz: 2 a 20 mg o 1 kg de arroz tem de 500.000 a 50.000 grãoso 1 kg custa ~ $ 1 dolar o 1 grão custa de 0,000.002 a 0,000.02 dolar

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto27

28OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Quanto custa um transistor?o Um computador moderno tem mais de 200 milhões de

transistores.o Só para comparação, o cérebro humano tem ~100 bilhões de

neurônios, e cada um tem milhares de conexões, as sinapses.o É uma das estruturas mais complexas do universo.

o Um transistor custava em torno de 5 dólares quando lançado;o Um transistor custava em torno de 5 dólares quando lançado;hoje uma CPU custa ~200 dólares, logo cada transistor sai por$ 0,000.001 . Nem mesmo um grão de arroz é tão barato.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto29

Novembro/2008 Freq. $ $/transistor (731 milhões)

Intel Core i7-920 2667/2400 300 0,000.000.4

Intel Core i7-940 2933/2400 580 0,000.000.8

Intel Core i7-965 ExtremeEd. 3200/3200 1050 0,000.001.4

Organização estruturada de computadores

o Um computador digital é uma máquina que pode resolver problemaspara as pessoas executando instruções que lhe são dadas.

o Uma sequência de instruções que descreve como resolve uma dadatarefa é um programa.

o O conjunto de instruções que os circuitos de um computador podereconhecer diretamente é muito simples e limitado.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto30

reconhecer diretamente é muito simples e limitado.

o As instruções primitivas de um computador formam a linguagem demáquina. Esta linguagem, apesar de bem simples, para humanos é dedifícil compreensão e muito entediante de utilizar.

o Para facilitar a comunicação entre o usuário e a máquina, com o tempoacrescentaram-se vários níveis de linguagens ao computador.

o A descrição dessa complexidade é feita de modo estruturado, numavisão hierárquica do computador.

Processamento de informação

o Processamento de informação é uma mudança da informação dequalquer maneira detectável.

o Como tal, é um processo que descreve qualquer coisa que aconteça(mude) no Universo, da queda de um corpo (uma mudança na posição) àimpressão de um texto em um sistema de computação (mudança naforma de apresentação do texto).

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto31

forma de apresentação do texto).

o Assim, o computador digital é apenas mais uma plataforma para oprocessamento de informação. Outros exemplos são os computadoresmecânicos, analógicos, químicos, biológicos, quânticos ...

Organização estruturada de computadoresLinguagens, níveis e máquinas virtuais

o Existe uma grande lacuna entre uma linguagem conveniente para as pessoas euma linguagem que é necessária para os computadores.

o Como resolver esse problema?o Projetar um novo conjunto de instruções (linguagem L1) mais conveniente

do que o conjunto de instruções que já vem embutido na máquina (linguagemde máquina L0).

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto32

o Há várias abordagens possíveis, dependendo do modo como os programasescritos em L1 são executados no computador, que só entende L0:o Tradução: transforma cada instrução em L1 por uma sequência equivalente

em L0, gerando um novo programa, que terá o controle do computadordurante a execução do programa.

o Interpretação: utiliza um programa em L0 (interpretador) para examinar L1e executar uma instrução de cada vez. O interpretador terá o controle docomputador durante a execução do programa.

o Uma combinação de ambos

Organização estruturada de computadoresLinguagens, níveis e máquinas virtuais

Ln mais sofisticada

o M0 - computador real, correspondente a L0.

o M1 - computador hipotético, ou máquina virtual, correspondente a L1.

o Cada Máquina tem uma Linguagem de Máquina.

Máquina virtual Mn, com linguagem de máquina Ln

Máquina virtual M3, com linguagem de máquina L3

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto33

Máquina.o L0 e L1 não devem ser muito diferentes

para haver possibilidade de tradução/interpretação .

o Hoje, é possível construir diretamente M0, tal que L0 seja semelhante a C ou Java, mas M0 seria muito complexa e cara em relação a outras alternativas.

o Com vários níveis chega-se mais perto de uma linguagem apropriada para humanos (reconhecimento de escrita, voz, íris, impressão digital, faces ...).

L0 mais simples

máquina L3

Máquina virtual M2, com linguagem de máquina L2

Máquina virtual M1, com linguagem de máquina L1

Computador real M0, com linguagem de máquina L0

Organização estruturada de computadoresMáquinas multiníveis contemporâneas

o Os níveis 4 e 5 são dirigidos aosprogramadores de aplicações e osprogramas em geral são traduzidos.

o O nível do SO (L2) acrescenta facilidadespara lidar e gerenciar a máquina (memória emultiprocessamento). L3 é interpretada peloSO e pelo microprograma (linguagemhíbrida).

o O nível ISA descreve o conjunto deinstruções da máquina.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto34

Computador de seis níveis. O método de suporte para cada nível está indicado abaixo dele (junto com o nome do programa de suporte).O conjunto de tipos de dados, operações e características de cada nível é a arquitetura desse nível, i.e., aspectos visíveis ao usuário desse nível, e.g., a capacidade e organização da memória. O tipo de tecnologia de memória não parte da arquitetura.

instruções da máquina.o O nível de microarquitetura mostra a

memória local (conjuntos de registradores),a ALU e barramentos (caminho de dados,instruções e sinais de controle).

o O nível lógico digital descreve as portaslógicas, os registradores (conjunto dememórias de 1 bit) e lógica de controle.

o Existe um nível inferior chamada nível dedispositivo, onde o projetista vê ostransistores individuais.

o Existe um nível ainda mais inferior onde sedescreveria a física de estado sólido dossemicondutores.

Embedded C programming and the microchip PIC

Por Richard H. Barnett, Larry O'Cull, Sarah Alison Cox

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto35

36OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

37OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Organização estruturada de computadoresEvolução das máquinas multinível

O desenvolvimento do tipo e do número de níveis das máquinas virtuais e suas linguagens passa por 4 fases principais:

o Invenção da microprogramação

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto38

o Invenção da microprogramação

o Invenção do sistema operacional

o Migração de funcionalidade para microcódigo

o Eliminação da microprogramação

Organização estruturada de computadoresEvolução das máquinas multinível

o Invenção da microprogramação: os principais computadores dos anos 40tinham 2 níveis:

o o nível ISA, onde era feita toda a programação;

o o nível lógico digital, cujos ccto’s eram complicados, difíceis de entender,de montar e não eram confiáveis.

Em 1951, Wilkes, de Cambridge, propôs um computador com 1 nível

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto39

Em 1951, Wilkes, de Cambridge, propôs um computador com 1 níveladicional, com um interpretador imutável (o microprograma), cuja funçãoseria executar programas ISA. O Hardware executaria agora umconjunto limitado de instruções do microprograma. Essa alteraçãosimplificou os ccto’s valvulares e aumentou sua confiabilidade.

Nos anos 60 apareceram algumas máquinas, e nos anos 70, a idéia deimplementar o nível ISA por microprograma, em vez de diretamente pormeios eletrônicos, era dominante.

Organização estruturada de computadoresEvolução das máquinas multinível

o Invenção do sistema operacional: nos primeiros anos, o programadortinha de operar a máquina pessoalmente. Eles se revezavam em horáriospré definidos e perdia-se muito tempo para carregar, compilar, debugare executar os programas, gerando muita ociosidade da CPU.

Nos anos 60, mantinha-se um programa gerenciador constantemente na

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto40

memória, reduzindo a ociosidade. Com o tempo, novas funcionalidadesforam introduzidas, gerando o mais um nível, o nível do SO.

No início, os programas e dados eram carregados com cartõesperfurados (batch) e os resultados saiam em impressoras de linha.

Nos anos 60 já era possível acessar os computadores por linhastelefônicas, compartilhar o tempo de CPU, e obter o resultado emmonitores de vídeo, longe da máquina.

Organização estruturada de computadoresEvolução das máquinas multinível

o Migração de funcionalidade para microcódigo: com o desenvolvimento damicroprogramação, ocorreu uma explosão no conjunto de instruções da máquina.Embora fosse possível “somar 1” utilizando a instrução geral ADD, incluía-se ainstruçãi INC (INCrement) que adicionava 1 a um número, porque ela era um poucomais rápida e simples.No mesmo espírito, foram duplicadas muitas outras instruções:o multiplicação e divisão de inteiros;o aritméticas para ponto flutuante;

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto41

o aritméticas para ponto flutuante;o chamadas e retorno de procedimentos;o acelerar loops;o manipular strings.Além disso, novas funcionalidades foram adicionadas, como instruções para:o acelerar cálculos de vetores (indexação e endereçamento direto);o movimentar programas na memória durante a execução (realocação);o implementar interrupções nas operações de entrada e saída;o interromper programas (comutação de processo);o processar áudio, imagem e multimídia.

Organização estruturada de computadoresEvolução das máquinas multinível

o Eliminação da microprogramação: durante os anos 60 e 70 os microprogramas engordaram e ficavam mais lentos à medida que ficavam volumosos. As máquinas voltaram a ficar rápidas através da:o eliminação do microprograma;o reduzindo drasticamente o número de instruções;o executando as instruções restantes controlando o barramento

diretamente no hardware.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto42

diretamente no hardware.Mas a roda continua girando. Programas Java em geral são executados

por compilação para uma linguagem intermediária (bytecode Java) e depois pela interpretação dessa linguagem intermediária.

O objetivo dessa discussão é mostrar que o limite entre Hardware e Software é arbitrário e está sempre mudando, de acordo com a necessidade de aumentar a performance das máquinas. Voltaremos a esses tópicos ao longo do curso.

Organização estruturada de computadoresEvolução das máquinas multinível

Conceitos:

o Nos primeiros computadores, a fronteira ente Hardware e Software era nítida, mas com o tempo essa fronteira perdeu definição.

o Os circuitos eletrônicos, junto com a memória e os dispositivos de I/O formam o Hardware do computador, que só pode rodar a linguagem de máquina L0. O Hardware consiste em objetos tangíveis.

o O Software consiste em algoritmos (instruções de como fazer algo) e suas

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto43

o O Software consiste em algoritmos (instruções de como fazer algo) e suas representações no computador (programas).o “Hardware e software são logicamente equivalentes” (Vahid, 2003)o “Hardware é software petrificado” (Lentz)

o Em outras palavras, qualquer operação em Software pode ser implementada em Hardware e vive versa, i.e., qualquer instrução executada em Hardware pode ser simulada em Software.

o Há poucas regras rigorosas sobre o que deve ser implementado em Hardware ou em Software. Esse decisão é baseada em custo, velocidade, confiabilidade e frequência de mudanças esperadas no projeto. Ela tb muda com as tendências econômicas, com a demanda e com a tecnologia.

Estrutura & Função

A visão hierárquica divide o computador em vários níveis.Stallings aborda o sistema de cima para baixo.

Em cada nível é necessário considerar a Estrutura e

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto44

Em cada nível é necessário considerar a Estrutura eFunção de seus componentes.

o Estrutura refere-se à maneira como os componentesrelacionam-se uns com os outros

o Função refere-se à operação dos componentesindividualmente enquanto parte da estrutura

Estrutura do nível superiorsistema de computação

� Um computador em geral tem um ou mais desses componentes

� Nosso interesse nesta disciplina reside mais na estrutura interna do computador: 4 componentes estruturais.

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto45

Sistema de computação

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto46

Estrutura – CPUA CPU é o componente mais complexo de um computador.

� fundada em 1982� designed as a 3M computer: 1 MIPS, 1 Megabyte and 1 Megapixel. 1 Megabyte and 1 Megapixel. � Motorola 68000 processor.� + simples: controle microprogramado

� criadora dos x86 microprocessors� + complexo: paralelismo (multiplicação)e pipelines (execução de simultânea)

47OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Estrutura – CPU

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto48

Estrutura – Unidade de controle microprogramada

49OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

How Vinod Khosla created Sun Microsystemshttp://startupjourney.blogspot.com/2004/09/how-vinod-khosla-created-sun.html (september 23, 2004)

o B. Tech. in Electrical Engineering: Indian Institute of Technology, Delhio MS in Biomedical Sciences: Carnegie Mellon Universityo MBA: Stanford Graduate School of Business 1979

o “I'm probably more of a conceptual engineer, and I can draw block

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto50

o “I'm probably more of a conceptual engineer, and I can draw block diagrams for almost anything I can think of, but I can almost never implement them.”

o “I heard of a project at Stanford called the Stanford University Network, or Sun.workstation project. I called the computer science department, and some secretary who did not want to bother a professor gave me the name of a graduate student from Germany, Andy Bechtolsheim.”

53OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Intel, Nvidia, Sun

AMD, Yahoo

Oracle

HP

Google

eBay, Adobe

Apple

54OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Estrutura & Função

Visão hierárquica divide o computador em vários níveis.Stallings aborda o sistema de cima para baixo.

Em cada nível é necessário considerar a Estrutura e

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto55

Em cada nível é necessário considerar a Estrutura eFunção de seus componentes.

o Estrutura refere-se à maneira como os componentesrelacionam-se uns com os outros

o Função refere-se à operação dos componentesindividualmente enquanto parte da estrutura

Funções de um computador

o As funções de um computador são quatro:

o Processamento de dados

o Armazenamento de dados

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto56

o Armazenamento de dados

o Transferência de dados

o Controle

Visão funcionalo Visão funcional de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto57

o Processamento de dadoso Os dados se apresentam grande variedade (folhas de

pagamento, logística, vídeo games, controle aéreo e detransito urbano, distribuição de água e luz ...)

o O processamento tem requisitos diferentes (tempo real,

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto58

o O processamento tem requisitos diferentes (tempo real,escalonamento off-line ...)

o Armazenamento de dadoso Temporário (processamento on the fly) – Ex: na compra on-

line os itens e seus preços nas diversas combinações devemestar disponível imediatamente para o usuário

o Permanente – Ex: o pedido de compra deve ser armazenadopara referência posterior

o Transferência de dadoso Interna – entre os diversos dispositivos do sistemao Externa

o Operações de entrada e saída: periféricos diretamenteconectados ao computador

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto59

conectados ao computadoro Comunicação de dados: distâncias maiores ou dispositivos

remotoso Controle

o Unidade de controle gerencia os recursos, rege o desempenhoe coordena as funções acima citadas

o Em última instância o controle é exercido pelo usuário

o Transferência de dadoso e.g., teclado para a tela

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto60

o Processamento de/para memória o e.g., operação de

atualização de

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto61

atualização de banco de dados

o Armazenamento de dadoso e.g., download da

Internet para o

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto62

Internet para o disco

o Processamento da memória para I/Oo e.g., formatação e

impressão de

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto63

impressão de relatórios do banco de dados

o Essa discussão pode parecer absurdamente genérica !!

o De fato, pode-se identificar uma grande variedade de outras funções.

o Isso decorre do fato de a estrutura de um computador não

Funções de um computador

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto64

o Isso decorre do fato de a estrutura de um computador não refletir a função que ele desempenha !!

o Isto é. um computador é um dispositivo de propósito geral, em que qualquer especificação funcional depende de sua programação e não de seu projeto.

o Mas não foi sempre assim, e de fato não é sempre assim !!

Principais prefixos métricos

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto65

o Parte 1, Visão geralo Cap. 1 Introdução o Cap. 2 Evolução e Performance dos Computadores: história

e opções para performanceo Parte 2, O sistema de computação

o Cap. 3 – Barramentos do sistema: dados, sinais de controle

Estrutura do livro ~ 600 pg

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto67

o Cap. 3 – Barramentos do sistema: dados, sinais de controle e interrupção

o Cap. 4 Memória Interna: tipos, desempenho e custoo Cap. 5 Memória Externa: discos magnéticos e óticoso Cap. 6 Input/Output: controle programado, interrupção e

DMAo Cap. 7 Suporte ao Sistema Operacional

o Parte 3, A unidade central de processamentoo Cap. 8 Aritmética dos Computadoreso Cap. 9 e 10 Conjunto de Instruçõeso Cap. 11 Estrutura e funcionamento da CPUo Cap. 12 Computadores com um conjunto reduzido de

instruções

Estrutura do livro ~ 600 pg

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto68

instruçõeso Cap. 13 Paralelismo no nível de instruções e Processadores

Superescalareso Parte 4, A unidade de controle

o Cap. 14 Operação da Unidade de Controleo Cap. 15 Controle micro programado

o Parte 5, Organização paralelao Cap. 16 Processamento paralelo, sistemas multiprocessados e

vetoriais

Avaliações

o Média (M): M = (P1 + P2) / 2

o Na Sub. e na Rec. entra toda a matéria

o Sub fechada

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto71

o Sub fechada

o Podem fazer a Prova de Recuperação (Rec) os que obtiverem média >= 3

o Média final = (M + Rec) / 2

o Aprovam-se os que obtiverem média final >= 5

Avaliações

Ementa

Bibliografia Aulas

P1

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto72

Exercícios Seminários

P1

P2

REC

Computação biológica e aplicaçõeshttp://www.wired.com/wiredscience/2009/05/cellcounters/

o Computing hardware is a platform for information processing

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto79

Marble Binaryhttp://www.youtube.com/watch?v=xAhRKQ_mA5U&hl=pt-BR

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto80

http://www.nytimes.com/2009/07/26/science/26robot.html?_r=1&emc=eta1http://www.wired.com/wired/archive/8.04/joy.html

81OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

82OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

83OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

84OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

85OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

86OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

87OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

88OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

89OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

90OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

91OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

92OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto

Planejamento

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto101

Planejamento

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto102

Bibliografia

o W. Stallings - Arquitetura e organização de computadores.Prentice-Hall Brasil, 5a. edição, 2002.http://wps.prenhall.com/br_stallings_arquite_1/1/290/74378.cw/index.html

o A. S. Tanenbaum. Organização estruturada de computadores. LTC, 4a. edição, 2001.

o D.A. Patterson e J. L. Henessy. Organizaçao e projeto de

OCD – Organização de Computadores Digitais – 2010 Prof. Camilo Rodrigues Neto103

o D.A. Patterson e J. L. Henessy. Organizaçao e projeto de computadores. LTC Editora, 2a. edição, 2000.

o M. A. Monteiro. Introdução à organização de computadores. LTC, 4a. edição, 2001.

o Aulas no Youtube,Professor Anshul Kumar, Department of Computer Science & Engineering, Indian Institute of Technology, Delhi. Curso em Computer Architecture

o Notas de aula (atualizem seus emails no COL)o Websites