Make your own free website on Tripod.com

TURMA DE SISTEMAS DE INFORMAÇÃO 2005 SEGUNDO SEMESTRE
Home
Listas de Exercícios
Apostilas

Página 1

©Anderson Hosken (hosken@computer.org)

Organização de Computadores

1 INTRODUÇÃO

1.1 – CONCEITUAÇÃO

1.1.1 – Processamento de Dados

O que é um computador?

Uma máquina capaz de coletar informações iniciais (dados), manipular (processar) e

fornecer resultados da manipulação (informação), para um ou mais objetivos.

Diz-se que realiza o processamento (eletrônico) de dados (Data Processing).

Atentar para a diferença entre Dado e Informação:

o Dado: matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta);

o Informação: é o resultado do processamento, isto é, o dado processado ou acabado.

A informação, resultado de um processamento, pode ser um dado, para outro processamento.

DADOS PROCESSAMENTO RESULTADO:

Informação

Etapas básicas de um processamento de dados.

Exemplo:

Loteria

Dados:

Processamento:

Resultado:

apostas, números sorteados

comparações, classificações

apostas premiadas, prêmios

Exemplo:

Controle de estoque:

�� 1ª Rodada

Dados:

Processamento:

Resultado:

itens recebidos e retirados, posição do dia anterior

somas e subtrações

posição do estoque

�� 2ª Rodada

Dados:

Processamento:

Resultado:

posição do estoque

verificação de itens em falta

pedido de compra

O Processamento de Dados é uma atividade que vem sendo exercida desde os primórdios da

civilização. O que tem variado, com o correr do tempo, é a tecnologia, o volume de dados e a eficiência

da manipulação.

Página 2

©Anderson Hosken (hosken@computer.org)

Organização de Computadores X Arquitetura de Computadores

Organização de Computadores – parte do estudo da ciência da computação que trata dos aspectos

relativos à parte do computador mais conhecida dos especialistas que o construíram e cujo entendimento é

desnecessário ao programador. Define COMO é feito.

São aspectos como: tecnologia utilizada na construção da memória, freqüência do relógio, etc.

Arquitetura de Computadores – parte do estudo da ciência da computação que trata dos aspectos

que têm impacto direto na elaboração de um programa. São elementos de uma arquitetura: o conjunto de

instruções de um processador, os modos de endereçamento das instruções, o tipo e o tamanho dos dados

manipulados pelo processador. Define O QUÊ o computador pode fazer.

Um fabricante pode definir elementos característicos da arquitetura de uma família de

processadores e construir vários deles, cada um com uma diferente organização, com um modelo

diferente para venda.

Exemplo:

Arquitetura: Intel x86

Organizações: 80386, 80486, Pentium, ...

Exemplo: Da vida cotidiana: um prédio de apartamentos

�� Arquitetura: quantidade e qualidade dos cômodos, tipo de revestimento, etc.

�� Organização: estrutura, cálculos de peso e de vigas, encanamentos, etc.

Classificação das Arquiteturas

Existem diversos tipos diferentes de arquiteturas de computadores. A fim de organizá-las foram

criadas diferentes classificações. Uma das mais conhecidas foi elaborada por Michael Flynn, em 1972, e é

conhecida como taxonomia1 de Flynn:

SISD (Single Instruction, Single Data) ou Instrução Única, Dado Único

Essa arquitetura é usada nos computadores que temos em casa. Segue o modelo proposto por

John von Neumann (1945) e é por isso denominada de “Arquitetura de von Neumann”,

também chamado de computador serial;

MISD (Multiple Instruction, Single Data) ou Múltiplas Instruções, Dado Único

???

SIMD (Single Instruction, Multiple Data) ou Instrução Única, Múltiplos Dados

Uma unidade de controle, várias ALU;

MIMD (Multiple Instruction, Multiple Data) ou Múltiplas Instruções, Múltiplos Dados

Essa é a arquitetura dos computadores paralelos: multicomputadores e multiprocessadores.

1 ciência ou técnica de classificação

Página 3

©Anderson Hosken (hosken@computer.org)

Fluxo de instruções e de dados

1.1.2 – Sistemas

Sistema pode ser definido de diferentes maneiras.

“Conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo.”

Exemplo: Sistema de transporte

Conjunto de partes – ônibus, ruas, motoristas, trocadores, pessoas

Que se integram – normas e trajetos

Objetivo – transportar pessoas

O processamento eletrônico de dados é um sistema porque é um conjunto de partes que se

coordenam para a realização de um objetivo, que é computar. Por isso é chamado de Sistema de

Computação.

Sistemas de Processamento de Dados (SPD) – são responsáveis pela coleta, armazenamento,

processamento e recuperação, em equipamentos de processamento eletrônico, dos dados necessários ao

funcionamento de um outro sistema maior: o Sistema de Informações.

O SPD faz parte do Sistema de Informações – conjunto de métodos, processos e equipamentos

necessários para se obter, processar e utilizar informações dentro da empresa.

Um SPD compreende duas partes:

Sistema de Computação – o computador e os programas básicos;

Sistemas de Aplicação – desenvolvido pelo usuário ou por terceiros.

1.1.3 – Sistemas de Computação

Qualquer processamento de dados (manual ou eletrônico) requer a execução ordenada de uma

série de etapas, que são constituídas por instruções.

Chama-se algoritmo o conjunto de etapas finitas, ordenadamente definidas, com o propósito de

obter solução para um determinado problema. O termo “finitas” significa a necessidade de um requisito

qualquer que estabeleça o final da execução do algoritmo.

As etapas de um algoritmo são as instruções.

O conjunto de instruções constitui o que é chamado de programa.

Um programa de computador é a formalização de um algoritmo em linguagem inteligível pelo

computador.

Página 4

©Anderson Hosken (hosken@computer.org)

A linguagem empregada pelos computadores é a linguagem binária (chamada de linguagem de

máquina), formada apenas por 0 e 1. Todo dado, instrução e resultado, são sempre armazenados e

manipulados como conjuntos ordenados de zeros e uns.

Como a linguagem de máquina é, para os seres humanos, tediosa de manipular, difícil de

compreender e fácil de acarretar erros, foram desenvolvidas outras linguagens, mais próximas do

entendimento dos usuários, chamadas genericamente de linguagens de programação.

Os computadores não conseguem entender, diretamente, as instruções expressas através das

linguagens de programação.

Todo computador é construído com circuitos eletrônicos capazes de reconhecer e executar

diretamente apenas um conjunto limitado e simples de instruções de máquina (escritas em linguagem

binária), nas quais todo programa de computador deve ser convertido antes de ser executado. Quem

realiza esta operação é uma ferramenta chamada compilador.

Existem mais de cem linguagens de programação diferentes, que podem ser classificadas de

acordo com vários critérios. São chamadas de linguagens de programação de alto nível aquelas cuja

estruturação está mais próximas do entendimento do programador, do ser humano, tendo características

semelhantes às nossas linguagens de comunicação. Em contrapartida, são chamadas de linguagens de

programação de baixo nível aquelas cuja estruturação e entendimento estão mais próximos da máquina.

As Linguagens de programação de alto nível podem ser definidas para atender a requisitos e

intenções específicas de emprego.

Exemplo:

FORTRAN (FORmula TRANSlation) – cálculos científicos complexos, modelagem em

engenharia, estatística e processamento de sinais.

LISP – inteligência artificial.

Vantagens do uso de linguagens de alto nível sobre a linguagem de máquina:

Concisão – os programas em linguagem de máquina são mais longos e de difícil

entendimento, em face das instruções serem mais simples.

Clareza – as linguagens de alto nível possuem uma estrutura de comandos que são

identificados por palavras da nossa linguagem, o que facilita o entendimento do

programador.

Pode-se separar um computador em duas partes:

Hardware – é a parte física, visível, do computador.

Software – consiste nos programas, que são introduzidos na máquina para fazê-la trabalhar.

O hardware não funciona sozinho, sem o software.

Os softwares podem ser divididos em dois tipos:

software básico; e

programas de aplicação.

O software básico e o hardware, constituem o que é chamado de sistema de computação.

Página 5

©Anderson Hosken (hosken@computer.org)

1.2 – HISTÓRICO

Breve revisão histórica da evolução dos computadores, a fim de enfatizar o desenvolvimento da

arquitetura e da organização dos mesmos.

1.2.1 Dispositivos Mecânicos (500 a.C. – 1880)

± 500 a.C. – Tábuas de Contagem (gregos, romanos) – Surgiram numa época na qual não havia um

sistema de numeração escrito (usavam-se os dedos, pedras, gravetos, etc.). Eram usadas por

mercadores (no caso, os Babilônios) para contar quantidades e calcular os custos das mercadorias.

Introduzem a idéia da utilização de um dispositivo mecânico como meio auxiliar na contagem.

Tábua de contagem datada de ±300 a.C., cujo uso é

atribuído aos Babilônios.

Foi descoberta em 1846 na ilha de Salamis (Grécia).

± 190 d.C. – Ábaco (China) – Surgimento do ábaco, no formato como é conhecido hoje. O ábaco e as

tábuas de contagem constituem-se apenas em instrumentos auxiliares de cálculo. O operador

executa os cálculos (mentalmente) e utiliza o ábaco para armazenar resultados intermediários. O

formato atual do ábaco surgiu em ±1.200 d.C., na China.

Um ábaco tipo 1/4, utilizado no Japão.

Lá ele é chamado de Soroban.

± 600 d.C. – Sistema de numeração decimal (Índia) – Desenvolvido na Índia, pelos Hindus, e difundido

na Europa pelos Árabes, por volta do século XII d.C. Também chamado de algarismos Hindu-

Arábicos.

1623 – Wilhelm Schickard (1592-1635, alemão) – Criou o "Relógio Calculador". Este instrumento era

capaz de realizar as operações de soma e de subtração com números de até 6 dígitos. Caso o

número de dígitos do resultado fosse maior que 6, era tocado um sino (overflow). As operações

eram feitas por manivela. É a primeira calculadora mecânica de que, comprovadamente, se tem

notícia.

Página 6

©Anderson Hosken (hosken@computer.org)

1642 – Blaise Pascal (1623-1662, francês) – Inventou a “Pascaline” (com 19 anos!). Era um contador

mecânico capaz de realizar operações aritméticas de soma e subtração com números de até 8 dígitos.

Trazia como inovações o “vai 1” de forma automática e o conceito de complemento (a subtração

era realizada, na verdade, empregando-se a soma).

Frente

Diagrama do interior

Parte de trás

1670 – Gottfried Wilhelm von Leibniz (1646-1716, filósofo e matemático alemão) – “Calculador

mecânico”. Realizava as quatro operações básicas.

Página 7

©Anderson Hosken (hosken@computer.org)

1701 – Gottfried Wilhelm von Leibniz – Sistema de Numeração Binário. Leibniz foi o primeiro a

documentar completamente o sistema de numeração binário, empregando 0 e 1.

1801 – Joseph Marie Jacquard (1752-1834, francês) – “Tear mecânico”. Era controlado por programa

armazenado em cartões perfurados. É considerada a primeira máquina mecânica programável da

história.

1823 – Charles Babbage (1792-1871, matemático inglês) – “Máquina de diferenças”, sob encomenda da

Marinha Real inglesa. Empregava o método de diferenças finitas para cálculo de fórmulas

(polinômios e funções trigonométricas). Possuía um dispositivo de gravação dos resultados em

chapa de cobre, pioneiro em termos de armazenamento secundário.

1842 – Charles Babbage – “Máquina analítica”. Permitia que seu funcionamento fosse modificado através

de programa (em cartões perfurados). Seu “conjunto de instruções” foi escrito por Ada Byron King,

Condessa de Lovelace, (1815-1852, matemática inglesa). Por isso ela é considerada a primeira

programadora da história. A máquina possuía memória (rodas dentadas), processador e saída (em

prensa ou em cartões perfurados). Introduziu o conceito de instrução de desvio. Nunca chegou a

ser implementado, por limitações tecnológicas da época.

Página 8

©Anderson Hosken (hosken@computer.org)

Ada Lovelace

1.2.2 Dispositivos Eletromecânicos (1880 – 1930)

1889 – Herman Hollerith (1860-1929) – Cartão Perfurado para guardar dados.

Herman Hollerith, em 1880.

1890 – Herman Hollerith – Máquina Tabuladora Mecânica. Acionada por motor elétrico, contava,

classificava e ordenava informações armazenadas em cartões perfurados.

Máquina do censo

Perfuração de cartões

1935 – Konrad Zuse (1910-1995, alemão) – Primeira máquina de calcular eletrônica. Usava relés e

números binários.

Página 9

©Anderson Hosken (hosken@computer.org)

1936 – Konrad Zuse – Z1. Usava um teclado como dispositivo de entrada e lâmpadas como dispositivo de

saída.

Z3

1944 – Howard Hathaway Aiken (1900-1973, americano) - Mark I. Utilizava os princípios da máquina

de Babbage. Era um sistema decimal, e era construído à base de engrenagens e relés

eletromecânicos. Empregava fita de papel perfurado para a introdução das instruções de dois

operandos.

Protótipo

1.2.3 Dispositivos Eletrônicos (1930 – 1945)

1906 – Válvula. Mais rápida e confiável do que os dispositivos mecânicos e eletromecânicos.

Página 10

©Anderson Hosken (hosken@computer.org)

1937 – Alan Mathison Turing (1912-1954, inglês) – “Máquina” de Turing. Definia o que era computável.

1939 – John Vincent Atanasoff (1903-1995, americano) – Máquina Calculadora, para resolver equações

lineares. Não chegou a ser implementada. Seu trabalho, contudo, serviu de inspiração para John

Mauchly e John P. Eckert construírem o ENIAC.

John Vincent Atanasoff, em 1938.

1943 – Alan Mathison Turing – Colossus. Empregado para quebrar códigos secretos de comunicação dos

alemães. Primeiro computador verdadeiramente eletrônico (válvulas). Era, contudo, um

sistema de computação de programa único (não era geral).

Página 11

©Anderson Hosken (hosken@computer.org)

Colossus trabalhando para o Dia D, 6 Jun 1944

1.2.4 A Evolução dos Computadores Eletrônicos (1945 – até os dias atuais)

Máquinas eletrônicas, automáticas e de emprego geral.

1.2.4.1 Primeira Geração: Computadores a Válvula

1943~1946 – John Mauchly e John Presper Eckert – ENIAC (Eletronic Numerical Integrator And

Computer), sob encomenda do Exército Americano. Primeiro computador eletrônico e digital de

emprego geral (programável). Mauchly se inspirou no trabalho de Atanasoff. Era decimal e sua

programação era feita através de chaves (cerca de 6000) e conexão de plugues.

1945 – John von Neumann – Define uma arquitetura de computadores com programa armazenado,

conhecida como Arquitetura de von Neumann, empregada até os dias atuais.

Uma máquina tipo Von Neumann consiste de uma única unidade de controle conectando a

memória à unidade de processamento. Instruções e dados são lidos um de cada vez na memória e

alimentam a unidade de processamento, sob comando da unidade de controle.

A velocidade de processamento de toda a máquina é limitada pela taxa de instruções e dados que

podem ser transferidos da memória para a unidade de processamento.

Esta conexão estreita entre as instruções e dados contidos na memória e a única unidade de

processamento forma o que é chamado de gargalo de von Neumann.

Página 12

©Anderson Hosken (hosken@computer.org)

Memória

Unidade de

Controle

Unidade de

Processamento

Dados

Instruções

Barramento

Gargalo de von Neumann:

A conexão entre o

processador e a memória

forma o gargalo.

1946~1952 – John von Neumann - Construção do IAS (Institute for Advanced Studies, da Universidade

de Princeton). O IAS implementava a Arquitetura de von Neumann.

1949 – John Mauchly e John Presper Eckert – Primeiro computador para fins comerciais, o UNIVAC 1

(UNIversal Automatic Computer).

1953 – IBM (International Business Machines) – Lança o IBM-701, da série 700, valvular.

1.2.4.2 Segunda Geração: Computadores Transistorizados

1947 – John Bardeen, Walter Bratain e William Schockley (todos do Bell Laboratories) – Transistor.

Menor custo e tamanho, e melhor desempenho, consumindo menos energia e gerando menos calor (em

relação à válvula).

Página 13

©Anderson Hosken (hosken@computer.org)

1956 – MIT – Primeiro computador transistorizado, o TX-0.

1957 – John Bachus, IBM – Primeira linguagem de alto nível, FORTRAN.

DEC (Digital Equipment Corporation) – Lança o PDP-1.

1958 – IBM – Lança o IBM-7090, da série 7000, transistorizada. Era 25 vezes mais rápido que o IBM-

701.

1.2.4.3 Terceira Geração: Computadores com Circuitos Integrados

1958 – Jack St. Clair Kilby, Texas Instruments – Construção do primeiro circuito integrado, com cinco

componentes (apenas um transistor). Solução para o problema de acomodação de componentes, que

aumentava cada vez mais. Surgimento da microeletrônica.

Primeiro circuito integrado.

1964 – IBM – Lança o IBM/360, com circuitos integrados. Incorporou o conceito de família de

computadores:

�� Conjunto de instruções

�� Sistema operacional Idênticos ou similares

�� Velocidade

�� Capacidade de I/O

�� Memória

�� Custo

Cada vez maiores

1965 – DEC - Lança o PDP-8. Incorporou uma estrutura de barramento.

Página 14

©Anderson Hosken (hosken@computer.org)

Console

controller CPU Main

memory

I/O

module

I/O

module

1.2.4.4 Quarta Geração: Computadores que utilizam VLSI

Aumento da escala de integração, que facultou o surgimento dos computadores pessoais.

1971 – Intel – Lança o chip 4004, primeiro a conter todos os componentes de uma CPU em um único chip.

Nasce o microprocessador.

1974 – Intel - Lança o microprocessador 8080, projetado para ser a CPU de um microcomputador de

finalidade geral.

1974 – É lançado o primeiro microcomputador de 8 bits, o Altair. Usava o microprocessador 8080, da

Intel.

Página 15

©Anderson Hosken (hosken@computer.org)

Resumo da evolução dos processadores da Intel:

Página 16

©Anderson Hosken (hosken@computer.org)

Intel® Pentium® 4 Processor

Processor Clock

Speed(s)

Intro Date(s) Mfg.

Process/

Transistors

Cache Bus

Speed

Typical Use

Intel® Pentium® 4 Processor Extreme Edition supporting

HT Technology

3.73 GHz Feb. 21, 2005 90nm

169 million

2 MB L2

cache

1066

MHz

Gaming and Computing

Enthusiasts

Intel® Xeon™ Processor Family

Processor Clock

Speed(s)

Intro Date(s) Mfg. Process/

Transistors

Cache Bus Speed Typical Use

Intel® Xeon™ Processor MP 3.60 GHz Feb. 14, 2005 90 nm 2 MB

Integrated L2 Cache

800 MHz Workstations and servers

Intel® Itanium® Processor Family

Processor Clock

Speed(s)

Intro Date(s) Mfg. Process/

Transistors

Cache Typical Use

Intel® Itanium® 2 Processor 1.60 GHz Nov.8, 2004 0.13 micron

592 million

9 MB L3 Cache Demanding enterprise-class servers and high-performance applications

Página 17

©Anderson Hosken (hosken@computer.org)

Referências

História de um grupo, do qual Turing faz parte,

formado na Inglaterra durante a 2ª Guerra Mundial

para construir uma máquina (Colossus) capaz de

decifrar as mensagens dos alemães.

História da captura de uma máquina ENIGMA.

História de como Bill Gates (Microsoft) e Steve Jobs

(Apple) começaram.

Welcome to my class!


A class web site can be a creative way of getting students excited about a subject, keeping them up to date on assignments, and providing them with valuable online resources. Because a class site should be engaging, I'll present information that makes the subject interesting and fun, such as brain teasers or polls about current events. Of course, I'll want to include plenty of links so students can explore a wealth of ideas on the web.

Here are examples of the content I might include.

Events and Announcements
Updated 3/20/00

Don't forget, we're taking a trip to the Museum of Fine Arts on March 22. You won't need to bring a lunch, but you must have your permission slip signed and with you when you get on the bus.

Assignment 4 is not due until April 3 (instead of March 31).

In the News

Clipart of a newspaper; Size=234 pixels wide

Here I might mention a story in the news that pertains to my subject and solicit opinions from the class. Or I might ask a question about material we covered in class, for example:

This week we read a great short story. If you could be any of the characters in this story, which would you be and why?

I'll post the answers on the "Class Bulletin Board" page.

Meet the Challenge!

Clipart of a pencil; Size=135 pixels wide

Here, I might put a weekly brain teaser, for example:

Three less than 4 times a number is greater than 4 times the sum of the number and 1. Find all such numbers.

Last week's answer: 4
Last week's winner: Brad

Please get in touch with any questions or comments on my site.