FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado Introdução a Computação / Arquitetura de Computadores 1
Evolução da Computação Evolução do Hardware Dispositivos físicos, componentes, elementos eletrônicos. Evolução do Software Dispositivos lógicos, programas, instruções. 2
Evolução do Hardware Gerações: válvula, transistores e microeletrônica Principais avanços 3
Primeira geração - válvulas ENIAC: Electronic Numerical Integrator And Computer Eckert e Mauchly University of Pennsylvania Cálculo de trajetória de armas, para a segunda guerra Começou em 1943 Terminou em 1946 Tarde demais para a guerra Usado até 1955 4
Máquina de von Neumann Conceito de programa armazenado Memória principal armazenando programas e dados ULA operando sobre dados binários Unidade de Controle (UC) interpretando instruções da memória e executando Entrada e saída controlados pela UC Princeton Institute for Advanced Studies IAS pronto em 1952 5
Diagrama de Blocos da Máquina de von Neumann MEMÓRIA UNIDADE DE CONTROLE ULA ENTRADA SAÍDA 6
Computadores Comerciais 1947 UNIVAC I primeiro computador comercial de sucesso IBM computador de cartões perfurados 1953 IBM 701 cálculos científicos 1955 IBM 702 aplicações comerciais Culminou na família 700/7000 7
Segunda geração - transistores Criado em 1947 na Bell Labs Substituiu as válvulas Menor e mais barato Menos calor dissipado Dispositivo de estado sólido, feito de silício NCR e RCA primeiros computadores com transistores IBM 7000 PDP-1 (da DEC, fundada em 1957) 8
Terceira geração Circuitos Integrados e Microeletrônica Colocar em uma única pastilha componentes utilizados na construção de computadores: Armazenamento: células de memória Processamento: portas lógicas Transferência e controle: caminhos dos componentes Todos esses componentes podem ser fabricados do silício 9
Lei de Moore Gordon Moore cofundador da Intel Sobre o aumento da densidade de componentes em uma pastilha Número de transistores dobra a cada ano Desde 1970 diminuiu para dobro a cada 18 meses Custo do chip praticamente não mudou Maior densidade significa caminhos menores entre os componentes: maior velocidade Redução de necessidade de energia e refrigeração Menos interconexões 10
Lei de Moore - evolução 11
Computadores microeletrônicos Série 360 da IBM: em 1964, substituiu (sem compatibilidade) a série 7000 A primeira família de computadores planejados: Conjunto de instruções similares SO similar Escalonável (maior velocidade, número de portas, memória, custo) DEC PDP-8: primeiro minicomputador Não precisava de sala de ar condicionado Pequeno suficiente para ficar em uma bancada Surge o barramento 12
A vez da Intel Em 1971 criou o primeiro microprocessador (4004) Todos os componentes da CPU em um único chip 4 bit Trabalhava com aplicações específicas Em 1972 criou o 8008 8 bit Ainda com aplicações específicas 1974: 8080 Primeiro microprocessador com fins genéricos 13
Organização de Computadores Bus Componentes de um computador pessoal simples 14
Barramento (1) Um barramento é um caminho de comunicação que conecta dois ou mais dispositivos. Outra definição de barramento é um conjunto de ''fios'' que liga a CPU aos demais dispositivos. 15
Barramento de Dados: Carrega Dados Barramento (2) Largura é uma das chaves do desempenho Barramento de Endereço: Identifica origem ou destino dos dados Largura determina capacidde máxima de memória Barramento de Controle: Informações de tempo e controle Sinais de leitura/escrita de memória, requisições de interrupção 16
Exemplo de Arquitetura com diversos Barramentos (x86) 17
Evolução do Software Sistemas: Processamento em Lote. Monousuário Multitarefa Tempo compartilhado 18
Introdução a Sistemas Operancionais 19
Funções do Sistema Operacional Máquina estendida Estender os recursos básicos oferecidos pela máquina (hardware) Simplificar a interface de comunicação entre programador e o sistema Gerenciador de recurso Controle do uso dos recursos disponíveis pelos processos concorrentes 20
História dos Sistemas Operacionais Primeira geração 1945 1955 Válvulas, painéis de programação (não havia S.O.) 21
História dos Sistemas Operacionais Segunda geração 1955-1965 Transistores, sistemas em lote Precursores do S.O. 22
História dos Sistemas Operacionais Terceira geração 1965 1980 CIs e multiprogramação S.O. faz o controle 23
História dos Sistemas Operacionais Quarta geração 1980 presente Computadores pessoais e portáteis Aumento das funções e capacidade do S.O. 24
Evolução do Software Linguagens: Início: Álgebra de Boole. Primeira Geração: Linguagem de Máquina Segunda Geração: Linguagem de Montagem Terceira Geração: Linguagens de Alto Nível Quarta Geração: Linguagens OO e Visuais Quinta Geração: CASE e IA? 25
Multiprogramação A multiprogramação é altamente dependente da existência de interrupções na plataforma onde é implementada, já que alguem precisa interromper um processo para executar o outro (os mesmos não fazem isso por si só). Grau de multiprogramação é o número de programas em execução possíveis ao mesmo tempo 26
Tipos de S.O. Monotarefa Multitarefa Monousuário Multiusuário Como evitar que um processo monopolize o sistema? Sistemas de tempo compartilhado (Time Sharing Systems) Permite sistemas interativos (entrada/saída) Requer temporizadores (timers) Interrupções 27
Multiprogramação (Multiprocessamento) O índice do processo contém o apontador para a lista de processos PC (Program Counter) = contador de programas Uma troca de processos consiste em trocar o valor dos registradores de contexto da CPU Lista de proc. Proc. A. Memória......... Contexto Dados Código Índ. Processo PC Base Limite Outros regs Regs da CPU Proc. B. Contexto Dados Código 28
O que é necessário para haver multiprogramação? Suporte do Hardware Temporizadores (timers) Interrupções Proteção de memória Suporte do S.O. Escalonamento dos processos Alocação de memória Gerenciamento dos periféricos 29
Operação Básica da CPU Incrementa PC Busca instrução e dados Executa a instrução Com interrupção Não Interrupção? Sim 1) 1) Pára o processo atual 2) 2) Salta p/ p/ rotina de de interrupção 30
A importância da Interrupção Num sistema simples, CPU deve esperar a execução do comando de E/S A cada chamada do comando write a CPU fica esperando o dispositivo executar o comando. Ex: escrita em disco 31
A importância da Interrupção Um sistema com interrupção não fica esperando A CPU solicita o write e fica executando outras tarefas até ser interrompida pelo disco. Ex: escrita em disco 32
Interrupção do Programa 33
Processos O Modelo de Processo Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um programa está ativo a cada momento 34
Abstração Uma máquina para cada processo Paralelismo real µp1 T11 µp2 T12 µp3 T0 µp3 T22 35
Realidade Compartilhamento do tempo Pseudo-paralelismo (para um único processador real) µp1 T12 T11 T0 T22 T0 1 41 51 70 90 121 t 36
Unidades Digitais (1) A menor unidade lógica em um sistema digital é o bit, dizemos ainda que oito bits forma um byte, veja abaixo: 04 bits = 01 nibble 08 bits = 01 byte 16 bits = Word 32 bits = DWord 64 bits = DDWord 37
Unidades Digitais (2) Os múltiplos do Byte são: 1 Byte = 8 bits 1 kilobyte (KB ou Kbytes) = 1024 bytes 1 megabyte (MB ou Mbytes) = 1024 kilobytes 1 gigabyte (GB ou Gbytes) = 1024 megabytes 1 terabyte (TB ou Tbytes) = 1024 gigabytes 1 petabyte (PB ou Pbytes) = 1024 terabytes 1 exabyte (EB ou Ebytes) = 1024 petabytes 1 zettabyte (ZB ou Zbytes) = 1024 exabytes 1 yottabyte (YB ou Ybytes) = 1024 zettabytes 38
Unidades Digitais (3) Na transmissão de dados entre dispositivos, geralmente usa-se medições relacionadas a bits e não a bytes. Assim, há também os seguintes termos: 1 kilobit (Kb ou Kbit) = 1024 bits 1 megabit (Mb ou Mbit) = 1024 Kilobits 1 gigabit (Gb ou Gbit) = 1024 Megabits 1 terabit (Tb ou Tbit) = 1024 Gigabits Quando a medição é baseada em bytes, a letra 'b' da sigla é maiúscula (como em GB). Quando a medição é feita em bits, o 'b' da sigla fica em minúsculo (como em Gb). 39
Unidades Digitais (4) Como já dito, a utilização de medições em bits é comum para informar o volume de dados em transmissões. Geralmente, indica-se a quantidade de bits transmitidos por segundo. Assim, quando queremos dizer que um determinado dispositivo é capaz de trabalhar, por exemplo, com 54 megabits por segundo, usa-se a expressão 54 Mb/s: 1 Kb/s = 1 kilobit por segundo 1 Mb/s = 1 megabit por segundo 1 Gb/s = 1 gigabit por segundo 40
Fim Mais informações: Stallings: Arquitetura e Organização de Computadores, Capítulo 2 Fedeli: Introdução à Ciência da Computação, Capítulo 1 Tanenbaum: Sistemas Operacionais Modernos, Capítulos 1 e 2 41