Histórico e Introdução

Documentos relacionados
Universidade de Brasília Histórico e Introdução

Introdução ao Fortran 90

Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

FACULDADE LEÃO SAMPAIO

Fundamentos de Arquiteturas de Computadores

Organização de Computadores I

Unidade I ORGANIZAÇÃO DE. Prof. Antônio Palmeira

Unidade I. Organização de Computadores. Prof. Renato Lellis

Ábaco. Ipad HISTÓRIA DA INFORMÁTICA E SUA EVOLUÇÃO. Tecnologias de Informação e Comunicação

HISTÓRIA DO COMPUTADOR

Fundamentos de Arquiteturas de Computadores

Fat-Uerj: Introdução à computação

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

Arquitetura de Computadores. Prof. Dr. Eng. Fred Sauer


Introdução à Computação MAC0110

IAC001 - Arquitetura e Organização de Computadores.

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Arquitetura de Um Computador

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

SSC510 Arquitetura de Computadores 1ª AULA

Os computadores foram construídos inicialmente para fins militares.

Informática I. Aula 2. Aula 2-04/09/2006 1

1. Conceitos Básicos de Computação

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais

Introdução à Computação MAC0110

Componentes do Computador

História dos Computadores

EVOLUÇÃO DOS COMPUTADORES. Vávulas e Transistores

Manutenção de Computadores e Redes

Prof. Sandro Wambier

Aula 1: Introdução 3/3/2015

Softwares, Aplicativos e Sistemas Operacionais

Tópicos de Ambiente Web Tópico: História do Computador

Infraestrutura de Hardware. Funcionamento de um Computador

SSC304 Introdução à Programação Para Engenharias

Arquitetura de Von Neumann

Evolução e Desempenho. Alberto Felipe Friderichs Barros

SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO

INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE AULA I. Prof. MSc. Glécio Rodrigues de Albuquerque

Histórico e Conceitos

Sistemas Operacionais

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Ementa. Adriano J. Holanda 15/2/2017. [Introdução à Computação I] ...

Introdução a Arquitetura e Organização de Computadores. Stallings: Cap.1 e 2, Monteiro: Cap. 1, Tanenbaum: Cap. 1. Prof. Alexandre Beletti Ferreira

Objetivos. Relacionar as gerações da tecnologia da computação. Identificar as principais inovações que caracterizam cada uma delas.

Histórico e Conceitos

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Informática básica. Professor: Francisco Ary

Sistemas de Computação

Aula 1: A Evolução dos Sistemas Computacionais

William A. Zacariotto

III.2 - Princípios de Arquitetura

Aula 3 Máquina Multinível

Depois do estudo deste capítulo, o estudante deve ser capaz de:

As Gerações dos Computadores. Professor Leonardo Cabral da R. Soares

Organização e Arquitetura de Computadores. Prof. Leonardo Araújo

Introdução à Computação: Máquinas Multiníveis

PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

Máquinas de Calculo Mecânicas

Primórdios da computação e histórico dos Computadores

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Arquiteturas Sequencias. Evolução dos Computadores BIBLIOGRAFIA BÁSICA. Organização e Arquitetura de Computadores

CURSO TÉCNICO PROFISSIONALIZANTE. Disciplina: Informática Básica (História da Informática)

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Informática básica. Professor: Francisco Ary

Fundamentos de Programação 1

Arquitetura de Microprocessadores

Solução Lista de Exercícios Processadores

Programação de Computadores:

Arquitetura e Organização de computadores

Introdução ao Estudo dos Computadores

ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

Introdução à Computação

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES INTRODUÇÃO. Cristina Boeres

GRANDES MARCOS NA HISTÓRIA DAS TIC

História do Computador. Introdução ao Computador 2010/1 Renan Manola

Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini

CONCEITOS BÁSICOS DE INFORMÁTICA. Disciplina: Informática Professor: Gustavo Sabry

Arquitectura de Computadores

Arquitetura de Computadores Aula 10 - Processadores

I n f o r m á t i c a

O que é Arquitetura de Computadores?

Micr c o r co c ntr t o r lad a or o es

ORGANIZAÇÃO DE COMPUTADORES

Evolução dos computadores

Introdução à Computação

Introdução à Computação

Como funciona um computador

CENTRO DE EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA TÉCNICO DE INFORMÁTICA E SISTEMAS EFA. UFCD: 0777 Processador de Texto Processamento e edição

ORGANIZAÇÃO DE COMPUTADORES

Conceitos Básicos de Informática

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Prof. Gustavo Oliveira Cavalcanti

Informática I. Aula 9. Aula 9-17/05/2006 1

Transcrição:

Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores Objetivo Apresentar a evolução dos computadores, sua estrutura em termos de componentes básicos e funções principais. Abstração Projeto Urbano: características da cidade definição dos setores vias de circulação sistema hidráulico e energético sistema de esgotos... 1

Abstração Processador: características: - para que serve? - Que tipo de aplicações deve atender? projeto da arquitetura: - conjunto de instruções - tipos de dados - registradores -... projeto da organização: - blocos principais - barramentos - alimentação e relógio -... Abstração o ser humano consegue tratar um conjunto pequeno de conceitos ao mesmo tempo em um projeto, a abstração permite ignorar detalhes, focando aspectos mais gerais em primeiro lugar os conceitos ou relações abstratos são sucessivamente detalhados, até chegar a uma descrição do projeto em nível de implementação através da abstração se controe uma hierarquia de conceitos e relações, que auxilia a divisão do problema em unidades mais simples Marcos na História da Computação 1642 Pascal Soma, subtração Transferência de vai-um 1671 Leibinitz *, -, +, / Mecanismo para mul. e div. 1827 Babbage: Difference Engine 1834 Babbage: Analytical Engine Avaliação polinomial Computador de propósito geral 1941 Zuse: Z3 Computador de propósito geral 1944 Aiken: Harvard Mark I Computador de propósito geral Automação de operações Controle do sequênciamento Dispositivos eletro-mecânicos Válvulas 2

No princípio (pré-computadores) No início do século 17 iniciou-se a automação de tarefas com máquinas (ex.:adição mecanizada). Com resultados utilizados até hoje! Por exemplo: Blaise Pascal, matemático e filósofo do século 17. Máquina de Pascal Mais tarde no mesmo século foram adicionadas multiplicação e divisão à máquina. Cartões perfurados codificados com instruções para a máquina vieram da indústria de tecelagem. Máquina de Babbage em 1823, Charles Babbage concebeu a Difference Engine, para cômputo automático de tabelas matemáticas utilizando o método das diferenças finitas foi concebida para polinômios de grau 6 e números binários de 20 bits não foi concluída por dificuldades no projeto mecânico 3

Máquina de Babbage em 1934 concebeu a Analytical Engine, que introduziu conceitos de armazenamento de informações (memória), unidade operadora e controle, presentes nos computadores atuais a entrada de dados era via cartões perfurados Máquina de Babbage ENIAC O primeiro computador eletrônico 4

ENIAC Início dos anos 40 Universidade da Pennsylvania 18000 válvulas e 1500 relés Electronic Numerical Integrator And Calculator. 5000 adições por segundo ou 357 multiplicações por segundo. programado por cartões perfurados e podia ler dois números por segundo. O MARK I A série de computadores Mark foi desenvolvida na Universidade de Harvard durante os anos 40. O primeiro, Mark I, entrou em operação em 1944 e foi utilizado até 1959. O MARK I Armazenava e contava números mecanicamente, utilizando 3000 discos de armazenamento decimais, 1400 chaves circulares (rotary dial switches) e 500 milhas de fios. Transmitia e lia os dados eletricamente. Era programado por cartões perfurados, pesava 5 toneladas e realizava uma operação de multiplicação em 6 segundos. 5

O MARK I Os dados eram armazenados em local diferente das instruções (programa). Este tipo de organização ficou conhecida como Arquitetura de Harvard As instruções também eram armazenadas num formato diferente dos dados A arquitetura von Neumann Nos primeiros computadores o controle (instruções) tinha natureza diferente dos dados. O controle era usualmente manipulado através de fios e chaves, os dados lidos de fita ou cartão A equipe de von Neumann (ENIAC) desenvolveu a idéia de representar dados e instruções da mesma forma, armazenando o programa na memória, como os dados. Este conceito ficou conhecido como arquitetura de von Neumann. Muitos pesquisadores contestam este termo por ignorar o trabalho de Eckert e Mauchly, engenheiros do projeto Mudanças no hardware 6

Mudanças no hardware Os primeiros dispositivos utilizados eram os relés (eletromecânicos) A utilização de válvulas aumentou a velocidade de operação, com comutação eletrônica Para o final dos anos 50 foi introduzido o uso do transistor. 1/200 do tamanho da válvula. Podiam suportar até 100.000 instruções por segundo. Gerações de Computadores Geração Período Tecnologia Velocidade (op / seg) 1 1946-57 Válvula 40.000 2 1958-64 Transistor 200.000 3 1965-71 Integração 1.000.000 média e baixa 4 1972-77 Integração alta 10.000.00 5 1978- Integração muito alta 100.000.000 Principais Módulos Processador Controle Entrada Memória Operação Saída 7

Sistema computacional típico O processador O Processador para executar uma instrução, o processador internamente utiliza: registradores para armazenar dados e instruções circuitos lógicos para executar operações simples máquinas de estado para executar sequências de operações, implementando as instruções 8

Como a memória é organizada Como a memória é organizada A memória de acesso randômico é utilizada para troca de informações ou para o armazenamento de programas (do disco ou outro periférico) para executálos. Este tipo de memória não preserva seu conteúdo quando o sistema é desligado. Ciclo de Execução o ciclo típico de execução de uma instrução em um computador divide-se em etapas: busca instrução na memória decodifica busca operando(s) realiza operação armazena resultado 9

Dispositivos periféricos Dispositivos periféricos Dispositivos periféricos 10

Dispositivos periféricos Software Níveis de abstração Nível 5 Linguagem orientada para problemas Tradução (compilador) Nível 4 Linguagem de montagem Tradução (montador) Nível 3 Sistema Operacional Interpretação (SO) Nível 2 Máquina convencional Interpretação (µprograma) Nível 1 Microprogramação µprograma executado pelo hardware Nível 0 Lógica digital 11

Linguagens de baixo-nível Enquanto os sistemas von Neumann lidam bem com as instruções em linguagem de máquina, ela não é muito fácil para os programadores lerem ou escreverem. A linguagem assembly foi desenvolvida nos anos 50. Utiliza códigos mnemônicos (ADD, SUB,...), mais fáceis de aprender e memorizar que os códigos numéricos. Linguagens de baixo-nível Na linguagem assembly cada instrução tem uma correspondência de um-para-um com as instruções em linguagem de máquina. Linguagens assembly exigem o uso de montadores: programas que traduzem a linguagem assembly em linguagem de máquina. Linguagens de baixo-nível Como cada processador tem seu próprio conjunto de instruções, também tem seu próprio montador. Isto significa que um programa em linguagem assembly só pode ser escrito para um tipo particular de máquina. Linguagem de máquina e linguagem assembly são chamadas linguagens de baixo-nível. 12

Linguagens de alto-nível Para resolver os problemas das linguagens assembly foi necessário desenvolver outro tipo de linguagens: as linguagens de alto-nível. Mais naturais para o programador e independentes de máquina. O programador pode se preocupar com um problema em particular e não como traduzí-lo para o nível de compreensão da máquina. Linguagens de alto-nível Por exemplo, escrever A = B + C é mais fácil do que escrever MOV @C, R1; ADD @B, R1; MOV R1, @A; A primeira é mais abstrata e faz menos considerações sobre a máquina alvo. 13

Linguagens de alto-nível Linguagens de alto-nível foram desenvolvidas nos meados dos anos 50. A primeira foi FORTRAN, seguida pelo ALGOL e LISP. As linguagens de alto-nível modernas incluem Pascal, C, C++, Smalltalk, Java,... Linguagens de alto-nível Estas linguagens requerem o uso de compiladores: programas que traduzem o código fonte de alto-nível na linguagem de máquina do computador alvo. A cada instrução do código fonte podem corresponder várias instruções da linguagem de máquina. Um programa simples FOR I = 1 TO 4 PRINT I END Um programa equivalente em assembly: PUT 1 INTO Register 1 PUT 4 INTO Register 2 LOOP: COMPARE Register 1 WITH Register 2 IF EQUAL BRANCH TO "END" ADD 1 TO Register 1 BRANCH TO "LOOP" END: STOP 14

I think there is a world market for maybe five computers. Thomas Watson Senior, Chairman of IBM, 1943 15