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
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
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 – 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.”
Intel, Nvidia, Sun
AMD, Yahoo
Oracle
HP
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
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