Baixe Cap1 - Introdução - AOC e outras Notas de estudo em PDF para Informática, somente na Docsity!
AA ii OO ii ãã
Parte 1Parte 1
Arquitetura e OrganizaçãoArquitetura e Organização
de Computadoresde Computadores
Prof Dr Robson A SiscouttoProf. Dr. Robson A Siscoutto
Unidades de EnsinoUnidades de Ensino
- UNIDADE 1. Introdução a Organização Arquitetura de Computadores
- Breve Histórico da Evolução dos Computadores;
- Componentes básicos de um computador;
- UNIDADE 2. Componentes Básicos de um Computador
- Barramento;
- Processador;
- Memória Primária e Secundária;
- Dispositivos de Entrada e Saída;
- • UNIDADE 3 O Nível da Lógica DigitalUNIDADE 3. O Nível da Lógica Digital
- Portas E Álgebra Booleana;
- Circuitos Lógicos Digitais Básicos;
- Memória;
- Chips e Barramentos de CPU;
- Exemplo de Chips De CPU’s;
- Exemplos de Barramentos;
- Interface;
Unidades de EnsinoUnidades de Ensino
- UNIDADE 4. O Nível da Microarquitetura
- Um Exemplo de Microarquitetura;
- Exemplo de Isa: Ijvm;
- Exemplo de Implementação;
- Projeto do Nível de Microarquitetura;
- Melhoria de Desempenho;
- Exemplos do Nível de Microarquitetura;
- Comparação entre Pentium, Ultrasparc E ..;
- UNIDADE 5. O Nível da Arquitetura do Conjunto de Instruções
- Visão geral do nível;
- Tipos de dados;
- Formato de instruções;
- Endereçamento;d
- Tipos de instruções;
- Fluxo de controle;
- UNIDADE 6. O Nível de Maquina de Sistema Operacional
- Memória Virtual;
- Instruções de E/S Virtuais;
- Instruções Virtuais para Processamento Paralelo;
- Exemplos de Sistemas Operacionais;
Unidades de EnsinoUnidades de Ensino
- UNIDADE 7. Nível de Linguagem de Montagem
- Introdução a Linguagem de Montagem
- Macros
- O PO Processo de Montagem d M
- Ligação e Carregamento
- UNIDADE 8. Arquiteturas de Computadores Paralelos
- Paralelismo no Chip
- Co-Processadores
- Multiprocessadores de Memória Compartilhada
- Multicomputadores de Troca de Mensagens
- Computação em Grade
Linguagens, Níveis e Máquinas Reais
Conjunto de Instruções mais convenientes para as pessoasp p
Programas : Seqüência de instruções
Linguagem de Máquina : Conjunto de Instruções primitivas
Máquina multinível.
Conjunto de Instruções embutida na Máquina
de um computador;
Linguagens, Níveis e Máquinas Reais
Tradução :
- Traduz (converte) programas escritos na Ling. L1 para L0;
- Resultado Final = programa em L0;p g ;
- Computador executa programa em L0;
Interpretação :
- Programa L0 considera L1 como dados de entrada;
- Para cada instrução de L1 é executada (uma por vez)
diretamente a seqüência equivalente de instruções L0;
Máquinas Multiníveis Contemporâneas
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).
Máquinas Multiníveis Contemporâneas
- Nível 0 – Lógica Digital Combinadas para formarem o próprio mecanismo principal de computação;
Portas
Componentes Analógicos; Podem ser Modeladas; Tem 1 ou + entradas (0 ou 1); Como saída uma função simples (E (AND) ou OU OR)
Compostas por um punhado de Transistores; Várias portas Juntas: Cria uma memória de 1 bit que armazena 0 ou 1;i i d bi
Pode ser combinadas em Grupos (16, 32 ou 64 bits)
Formam Registradores: podem conter um numero binário até um certo valor
Máquinas Multiníveis Contemporâneas
- Nível 3 – Nível do Sistema Operacional
- Acresce novas funcionalidades:
- novas instruções, organização da memória, executar 2 ou
+ programas, etc;
Executados por Interpretador que roda no nível 2
- Instruções de nível 3 iguais a do nível 2 são executadas diretamente pelo microprograma no nível 2 e não pelo SO;
Máquinas Multiníveis Contemporâneas
- Nível 4 – Ling. de Montagem (assembler)
- Utiliza linguagens mais Textuais para as pessoasg g p p
- Enquanto os níveis 1, 2 e 3 usa ling. numérica –
maquinas
- Ling. Montagem:
- Fornece um método para se escrever programas para os
níveis 1, 2 e 3 em uma forma não tão desagradável
quanto as ling. de máquinas;t li d á i
- São traduzidas para ling. de nível 1, 2 e 3 e em seguida
interpretadas pela maquina real
Por quem? - Assembler
Máquinas Multiníveis Contemporâneas
- Nível 5 – Ling. Orientada a Problemas
- Linguagens de Alto nível;g g ;
- Ex: C, C++, Java, Lisp, Prolog, .NET, etc.
- Programas nestas linguagens:
- Traduzidos por compiladores para nível 3 ou 4 ;
Ou
- Interpretados – Tipo ByteCode do JavaInterpretados Tipo ByteCode do Java.
EvoluçãoEvolução dasdas máquinasmáquinas multiníveismultiníveis
- Hardware e Software são logicamente equivalentes?
- HW e SF são funcionalmente equivalentes. Algumas funções queHW e SF são funcionalmente equivalentes Algumas funções que
podem ser feitas por um podem ser feitas pelo outro.
- Eles não são equivalentes no sentido que para fazer um maquina
realmente executar, os níveis mais baixos devem ser HW e nao
SW. Eles também se diferem na performance.
- Invenção da microprogramação
- Inicio 1940 - Maquinas com dois Níveis:
- ISA - onde era feito a programação – programas complexos;
- Lógica - executava os programas;
EvoluçãoEvolução dasdas máquinasmáquinas multiníveismultiníveis
Invenção do sistema operacional – Ex: Executar programa em Fortran
Carregar o compilador FORTRAN para a maquina;
Executar o programa compilado
Exemplo de trabalho para o sistema operacional FMS
Seria um novo nível na
arquitetura com duas instruções
Novas instruções Acrescidas no
SO – Chamadas de Sistema
EvoluçãoEvolução dasdas máquinasmáquinas multiníveismultiníveis
- Migração de funcionalidade para microcódigo
- 1970 - Executar programas por interpretação via microprograma
era dominante;era dominante;
- Os projetistas começaram a acrescentar novas instruções
ampliando o microprograma;
- Acrescentar novas instruções de maquina por programação;
- Explosão virtual de conjuntos de instruções de maquina;
- Exemplos:
- Instruções de Multiplicação e Divisão de Inteiros;
- Instruções Aritméticas de Ponto Flutuante;Instruções Aritméticas de Ponto Flutuante;
- Instruções para chamar e sair de procedimentos;
- Acelerar cálculos vetoriais;
- Permitir a movimentação de programas na memória após inicio de execução;
- Sistemas de interrupção que avisava quando uma operação de E/S estivesse concluída;
- Interromper e iniciar outro programa com um conjunto pequeno de instruções;
- Etc.
EvoluçãoEvolução dasdas máquinasmáquinas multiníveismultiníveis
- Eliminação da microprogramação
- Com o acréscimo constante de novas funcionalidades noCom o acréscimo constante de novas funcionalidades no
Microprograma, este estava ficando cada vez mais lentos;
- Eliminando o microprograma:
- Redução drástica no conjunto de instruções;
- Execução das instruções restante diretamente por Hardware (controle do caminho de dados);
- Retorno a idéia inicial de Maurice Wilkes em 1951 sobre microprogramação;
GeraçõesGerações dede computadorescomputadores
- Geração Zero - Computadores Mecânicos (1642–1945)
- 1642 – Pascal constrói uma máquina de calcular operacional;
- Inteiramente mecânica, com engrenagens e manivela a mão;
- Efetuava operações de adição e subtração;
- 1646 a 1716 – Leibniz construiu outra maquina mecânica que
somava, dividia, multiplicava e dividia;
- 1792 a 1871 – Charles Babbage – Maquina Diferencial
- Apenas soma e subtração – calcular tabelas de números para navegação;
- Usava um algoritmo para fazer o cálculo;
- Inovação: o resultado era perfurado em uma chapa de cobre com um punção de aço (até então nunca usado);
GeraçõesGerações dede computadorescomputadores
- Primeira Geração - Válvulas (1945–1955)
- 2ª Guerra Mundial:
- Alemães - Máquina ENIGMA – Codificava MSG enviadas aos Navios;
- Britânicos – Alan Turing - Maquina COLOSSUS (1943) – Decodificar as MSG em ENIGMA interceptadas;
- 1946 – Mauchley - Computador digital (ENIAC) ENIAC Integrador e Computador Numérico Eletrônico
Primeiro computador digital eletrônico
- ENIAC - Integrador e Computador Numérico Eletrônico
- Realizava cálculos balísticos, possuía 18 mil válvulas, 10 mil capacitores, 70 mil resistores, pesava 30 toneladas e consumia 140 quilowatts;
- 1951 - MIT – 1º minicomputador comercial – tempo real;
- Whirlwind I de 16 bits e controle em tempo real
Máquina de Von Neumann
- Primeira Geração - Válvulas (1945–1955)
- 1952 - Máquina de Von Neumann – 1º Computador de Programa Armazenado:
- Programa podia ser representado em forma digital na memória (ao invés de cabos e interruptores);
- Usar aritmética Binária Paralela (ao invés de Válvulas);
- Até hoje é a base dos computadores digitais;
- A Máquina tinha 4 elementos:
- Memória: 4.096 palavras de 40 bits (palavras de 20 ou 40 bits);
- Uma Instrução de 8 bits para identificar a instrução e 12 bits para identificar a palavra
- U id dUnidade Lógica e Aritmética Ló i A it éti
- Acumulador de 40 bits: instrução típica armazena uma palavra da memória no acumulador ou vice versa;
GeraçõesGerações dede computadorescomputadores
- Primeira Geração - Válvulas (1945–1955)
- 1953 até 1958 – Surge as máquinas da IBM:
- 701 – 2048 palavras de 36 bits, como 2 instruções por palavra;
- 704 – 4096 palavras, instruções de 36 bits e ponto flutuante;
- 709 – 704 remodelado – ultima maquina de válvulas;
GeraçõesGerações dede computadorescomputadores
- Segunda Geração - Transistores (1955–1965)
- Transistor criado pela Bell Labs em 1948;
- 1º Computador com Transistores – TX-0 (computadorp ( p
Transistorizado eXperimental 0);
- Maquina de 16 bits semelhante a Whirlwind I;
- 1961 – PDP-1 da DEC
- 4096 palavras de 18 bits e executava 200 mil instruções por segundo;
- Custo: 120 mil dólares; (venderam dezenas);
- MMarco: nasce a industria de minicomputadores; i d t i d i i t d
- Inovação: visor de 512x
- Permitiu jogar guerra no espaço – surge o primeiro videogame;
- 1968 – PDP-8 da DEC
- Máquina de 12 bits, mais barata – 16 mil dólares – vendeu 50 mil und;
- Inovação: barramento único – o omnibus
GeraçõesGerações dede computadorescomputadores
- Segunda Geração - Transistores (1955–1965)
- Todas as maquinas até aqui eram focadas no HW (+baratas e + rápidas);
- Surge o Burroughs B500 – Permitia a Programação em Ling. Algol 60 (precursora do C e JAVA) – idéia do SW importante; - Incluíram características no HW para facilitar a tarefa do compilador;
GeraçõesGerações dede computadorescomputadores
- Terceira Geração - Circuitos Integrados (1965–1980)
- IBM lança System/360 baseado em circuito integrado
(mudança radical);
- Para computação cientifica e comercial;
- Inovações:
- família que utilizam as mesmas linguagens de montagem, tamanho e capacidade crescentes;
- Multiprogramação: vários programas na memória ao mesmo tempo compartilhando a CPU;
- Permitia emular (simular) outros computadores (conj. de microprogramas para cada tipo);
- Memória (espaço de endereçamento) de 2Memória (espaço de endereçamento) de 2 24 (16 777 216) bytes;(16.777.216) bytes;
GeraçõesGerações dede computadorescomputadores
- Quarta Geração - Integração em larga escala (1980–?)
- Década 80 – VLSI – integração em escala muito grande;
- Centenas de milhares de transistores em único chip;
- Começa a era dos computadores pessoais;
- Inicialmente os PCs eram vendidos em kits sem SO;
- Os PCs com 8080 passaram a usar o SO CP/M criado por
GGary Kildall disponibilizado em disquete; Kild ll di ibili d di
- Permitia comandos via teclado via interface Shell;
- Continha um sistema de arquivo;
- Apple – Criou o Apple I e o Apple II
- IBM 1981 – criou o IBM PC com o processador 8088/MsDos
GeraçõesGerações dede computadorescomputadores
- Quarta Geração - Integração em larga escala (1980–?)
- 1984 - Macintosh da Apple com interface Gráfica para o
Usuário;
- 1985 – sucessor do 8088, o 386 foi a essência do Pentium;
- A arquitetura dos modernos Pentium é basicamente um 386 melhorado;
- Meádos de 80 – surgimentos das arquiteturas CISC e RISC
- PProcessamento superescalar: várias instruções ao mesmo tempo; t l á i i t õ t
- Até 1992 os PCs eram de 8, 16 ou 32 bits.
- DEC lança o Alpha de 64 bits
- Maquina RISC de 64 bits – potencia maior entre os PCs
Marcos da Arquitetura de Computadores (2)
Forças Econômicas e Tecnológicas
A lei de Moore prevê um aumento anual de 60% no número de transistores que podem ser colocados em um chip. Os dados pontuais informados nesta figura são tamanhos de memória em bits.
A gama dos computadores
Computador Pessoal