1. 15/07/13SISTEMA DE INFORMAÇÃO
1
ARQUITETURA E ORGANIZAÇÃOARQUITETURA E ORGANIZAÇÃO
DE COMPUTADORESDE COMPUTADORES
Paulo Alexandre Serra Coucello da Fonseca
Engenheiro Eletrônico
Mestre em Ciência da Computação
E-mail: paulo.bacalhau@gmail.com
2. 15/07/13SISTEMA DE INFORMAÇÃO
2
ConceitosConceitos
● Base de numeração e aritmética binária
representação
Conversão entre bases
Operação na aritmética binária
● Evolução das arquiteturas
● Arquitetura de Von Neumann
3. 15/07/13SISTEMA DE INFORMAÇÃO
3
ConceitosConceitos
Computador - como sendo uma máquina eletrônica, capaz de solucionar
problemas através da execução automática de instruções que lhe sejam
previamente fornecidas.
Hardware - constituído pelos circuitos eletrônicos que compõem o
computador e que o tornam capaz de reconhecer e executar um conjunto
limitado de instruções simples.
Software - constituído pelo conjunto de programas necessários para tornar
o hardware útil e operacional.
Programa - como sendo uma peça de software constituída por uma
seqüência de instruções que descrevem ao computador como executar
uma determinada tarefa.
Linguagem de máquina - constituída pelo conjunto básico de instruções
que são reconhecidas pelo hardware e, para a qual todo programa precisa
ser convertido para que possa ser executado.
Tradutor - um programa que converte outros programas para a linguagem
de máquina.
Pode ser de três tipos: montador (para a linguagem assembly),
interpretador (tradução e execução passo a passo) e compilador (tradução
e execução em fases distintas).
4. 15/07/13SISTEMA DE INFORMAÇÃO
4
ConceitosConceitos
Bit (Binary digiT ): É a menor unidade de informação que
podemos armazenar na memória de um computador .
Nible: É um conjunto formado por 4 bits, cuja à combinação
de estados representa valores de 0 a 15 .
Byte: É um conjunto de 8 BITS , cuja combinação de estados
representa os diversos símbolos ou caracteres que compõem
a informação.
Kilo K 2^10 = 1 024
Mega M 2^20 = 1 048 576
Giga G 2^30 = 1 073 741 824
Tera T 2^40 = 1 099 511 627 776
Peta P 2^50 = 1 125 899 906 842 624
Exa E 2^60 = 1 152 921 504 606 846 976
Zetta Z 2^70 = 1 180 591 620 717 411 303 424
Yotta Y 2^80 = 1 208 925 819 614 629 174 706 176
7. 15/07/13SISTEMA DE INFORMAÇÃO
7
Conversão entre basesConversão entre bases
( )bmnn dddddN −−−= .............. 0121
Onde :
d Indica cada algarismo do número
n-1 Indica a posição de cada algarismo no número
b Indica a base
n Indica o número de dígitos inteiros
m Indica o número de dígitos fracionários
8. 15/07/13SISTEMA DE INFORMAÇÃO
8
Conversão entre basesConversão entre bases
Exemplo de conversão de base 2 para
base 10:
O número (1101101)2 pode ser
convertido aplicando-se a fórmula
108
104803264
21202121202121
10
10
0123456
10
N
N
xxxxxxxN
=
++++++=
++++++=
9. 15/07/13SISTEMA DE INFORMAÇÃO
9
Evolução das arquiteturasEvolução das arquiteturas
Colossus Mark I (Alan Turing) Decodificação de mensagens.
EDSAC (Electronic Delay Storage Automatic Calculator), da
Universidade de Cambridge (Inglaterra), de maio de 1949, por
Maurice Wilkes, primeira máquina baseada nos conceitos de
Von Neuman;
BINAC (Binary Automatic Computer), da Eckert-Mauchly
Computer Corporation (EMCC) construído sob encomenda da
Northrop Aircraft Corporation, operacional em Setembro de
1949;
UNIVAC (Universal Automatic Computer), da Remington Rand
Co. (que incorporou a EMCC), com a primeira unidade
operacional em março de 1951;
Whirlwind, do MIT por Jay Forrester, projetado como o primeiro
computador para aplicações tempo-real. O Whirlwind tornou-se
a base para projetos de minicomputadores;
10. 15/07/13SISTEMA DE INFORMAÇÃO
10
Evolução das arquiteturasEvolução das arquiteturas
IBM 701, voltado para aplicações científicas (ex-Defense Calculator), foi
o primeiro computador eletrônico da IBM (dezembro 1952);
IBM 704 (1955) FORTRAN – 1ª Linguagem de programação
IBM 650 Magnetic Drum Computer, apresentado como o modelo barato
da IBM (US$200K), anunciado em 1953. Essa máquina foi a base para o
modelo IBM 1401 (transistorizado, anúncio em outubro de 1959, entrega
no início de 1960 a um custo de US$150K).
DEC PDP-1 (1960), primeiro computador comercial com teclado e
monitor de vídeo, protótipos: TX-0 (MIT, 1956) e TX-2;
IBM 7090 e 7094, versões transistorizadas do computador IBM709.
12. 15/07/13SISTEMA DE INFORMAÇÃO
12
Arquitetura de Von NeumannArquitetura de Von Neumann
A característica de
máquinas Von
Neumann é a
composição do
sistema a partir de
três subsistemas
básicos: CPU,
memória principal e
sistema de entrada e
saída.
13. 15/07/13SISTEMA DE INFORMAÇÃO
13
Problemas AtuaisProblemas Atuais
Hierarquia de memórias
Paralelismo dos processadores
(pipeline)
Otimização dos compiladores
Temperatura
15. 15/07/13SISTEMA DE INFORMAÇÃO
15
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOCÁLCULO
O desenvolvimento do computador foi baseado
na necessidade de cálculos exatos e rápidos
(coletas de impostos, censo, comércio, etc.)
Primeiros computadores forma desenvolvidos a
mais de 3000 anos.
Os dedos foram o primeiro instrumento de
cálculo utilizado pela humanidade.
Romanos decoravam a tabuada de multiplicação
até 5, sendo outros cálculos feitos com os dedos.
16. 15/07/13SISTEMA DE INFORMAÇÃO
16
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁCULOCÁCULO
9 X 7 = ?
10 – 9 = 1 10-7 = 3
Abaixa 1 dedo abaixa 3 dedos
Soma dos dedos erguidos 4 + 2 = 6
Algarismo das dezenas
9 x 7 = 6 3
Produto dos dedos abaixados
Algarismos das unidades 1 x 3 = 3
18. 15/07/13SISTEMA DE INFORMAÇÃO
18
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOCÁLCULO
ÁBACO
Instrumento construídos de conchas
móveis se movimentando em eixos
Foi aperfeiçoado pelos chineses
19. 15/07/13SISTEMA DE INFORMAÇÃO
19
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOCÁLCULO
Multiplicação dos Árabes
Método atual de multiplicação é baseado
no método tabular desenvolvido pelos
árabes.
20. 15/07/13SISTEMA DE INFORMAÇÃO
20
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOCÁLCULO
217 X 14 = ?
O produto é a soma dos
dígitos nas diagonais.
2 1 7
2 1 7
8 4 8
2
1
4
É feito o produto
de cada dígito do
número 217 por 1
É feito o produto
de cada dígito do
número 217 por 4
22. 15/07/13SISTEMA DE INFORMAÇÃO
22
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOSCÁLCULOS
Primeira máquina de calcular (somador)
Wilhelm Schickard (1623)
Napier + Somador Multiplicador de
múltiplos dígitos.
Não encontrado máquina original
crédito para Blaise Pascal
24. 15/07/13SISTEMA DE INFORMAÇÃO
24
PRIMEIROS MÉTODOS DEPRIMEIROS MÉTODOS DE
CÁLCULOCÁLCULO
Máquina de somar
Blaise Pascal (1642)
Auxiliar Pai – coletor de impostos
Engrenagens mecânicas
Resultado produzido mecanicamente.
25. 15/07/13SISTEMA DE INFORMAÇÃO
25
AUXILIAR MECÂNICOAUXILIAR MECÂNICO
AUTOMÁTICOAUTOMÁTICO
Tear para tecer desenhos de seda
Basile Bouchon (1728)
Desenhos cifrados em folha giratória de
papel perfurado.
26. 15/07/13SISTEMA DE INFORMAÇÃO
26
AUXILIO AUTOMÁTICOAUXILIO AUTOMÁTICO
MECÂNICOMECÂNICO
Máquina de tecer com cartões perfurados
Joseph Marie Jacquard (1810)
Controlar os padrões do tecido
Grande desemprego.
27. 15/07/13SISTEMA DE INFORMAÇÃO
27
MÁQUINA DIFERENCIAL DEMÁQUINA DIFERENCIAL DE
BABBAGEBABBAGE
Financiada pelo Governo Britânico (1823)
primeira bola pesquisa em computação
Ferramentas da época não eram
suficientemente sofisticadas.
Construção foi interrompida diversas vezes
por falta de fundos
Máquina composta de disco giratórios
operados por manivela.
28. 15/07/13SISTEMA DE INFORMAÇÃO
28
AUXÍLIO MECÂNICOAUXÍLIO MECÂNICO
AUTOMÁTICOAUTOMÁTICO
Máquina automática (1833)
Programável através de cartões perfurados
Calculava várias funções diferentes
Tecnologia da época não permitiu a
conclusão da máquina
Museu de Ciência de Londres constrói a
máquina.
29. 15/07/13SISTEMA DE INFORMAÇÃO
29
MAQUINA ANALÍTICA DEMAQUINA ANALÍTICA DE
BABBAGEBABBAGE
Charles Babbage é considerado o pai do
computador
Construiu a primeira máquina de cálculo
programável da história usando cartões
perfurados
Calculava várias funções diferentes
30. 15/07/13SISTEMA DE INFORMAÇÃO
30
AUXÍLIO MECÂNICOAUXÍLIO MECÂNICO
AUTOMÁTICOAUTOMÁTICO
Merman Hollerith desenvolveu uma
máquina para acelerar o processamento
dos dados do censo de 1880 nos EUA.
Construiu uma perfuradora de cartões
(idéia de Jackard)
Dados perfurados em cartões e
classificados pelos pinos que passavam
pelos furos.
31. 15/07/13SISTEMA DE INFORMAÇÃO
31
TABULADOR DE CARTÕESTABULADOR DE CARTÕES
Processamento de censo de 1880 levou 3
anos em vez dos 10 anos previstos.
“Tabulating Machine Company” (1914)
“International Business Machines
Corporation” – IBM (1924)
32. 15/07/13SISTEMA DE INFORMAÇÃO
32
SISTEMAS ELETRÔNICOSSISTEMAS ELETRÔNICOS
Z1 (1936 – 1938)
Z3 (1941)
- Primeira calculadora universal controlada
por um programa.
- 2600 relés
- Memória de 64 números com 22 bits.
33. 15/07/13SISTEMA DE INFORMAÇÃO
33
SISTEMAS ELETRÔNICOSSISTEMAS ELETRÔNICOS
Colossus Mark I (Alan Turing)
- Decodificação de mensagens criptografadas
- ENIGMA Machine
- Criptografia de mensagens secretas entre o
comando de guerra nazista e tropas no front de
batalha.
- ENIGMA utilizava rotores para criptografia.
36. 15/07/13SISTEMA DE INFORMAÇÃO
36
SISTEMAS ELÉTRICOSSISTEMAS ELÉTRICOS
AKA IBM Automatic Sequence Control
Calculator (ASCC)
- Baeado nas notas de Babbage
- Relés e dispositivos eletromecânicos.
37. 15/07/13SISTEMA DE INFORMAÇÃO
37
SISTEMAS ELETRÔNICOSSISTEMAS ELETRÔNICOS
ENIAC – Eletronic Integrator and
Calculator (1943 – 1946)
- 17.468 válvulas
- 30 mts
- 150.000 W
- Programação: fios e pinos
- 5000 adições/subtrações ou 300
multiplicações por segundo.
39. 15/07/13SISTEMA DE INFORMAÇÃO
39
SISTEMAS ELETRÔNICOSSISTEMAS ELETRÔNICOS
John von Neuman (1945)
- Cocneito de programa armazenado
- Números binários
- Lógica de circuitos
- EDSAC (Eletronic Delay Storage Automatic
Calculator ) – University of Cambridge (1948)
- Primeira máquina baseada no conceito de Von Neuman.
40. 15/07/13SISTEMA DE INFORMAÇÃO
40
SISTEMAS ELETRÔNICOSSISTEMAS ELETRÔNICOS
UNIVAC I (1951)
- Lançado em escala comercial
IBM 701 (1953)
- Usado na guerra da Coréia
- Primeiro computador de grande porte da IBM
IBM 704 (1955)
- FORTRAN – 1ª Linguagem de programação
- Pane a cada 8 dias.
44. 15/07/13SISTEMA DE INFORMAÇÃO
44
LINHA DO TEMPOLINHA DO TEMPO
1968 – Fundada a Intel
1969 – Memória 64 bits pela Intel
1970 – μP 4004 de 4 bits
1972 – μP 8008 de 8 bits
1974 – μP 8080 de 8 bits
1976 – 8748/8048 μC e 8085 μP
1978 – μP 8086 de 16 bits
45. 15/07/13SISTEMA DE INFORMAÇÃO
45
LINHA DO TEMPOLINHA DO TEMPO
1986 – Compaq PC 386
1987 – OS/2
1988 – Memória Flash e HD 380 Mb
1989 – μP 80486 DX de 32 bits
1990 – Windows 3.0
1991 – μP 80486 SX
1993 – μP Pentium.
46. 15/07/13SISTEMA DE INFORMAÇÃO
46
LINHA DO TEMPOLINHA DO TEMPO
1995 – μP Pentium Pro
1997 – Pentium MMX, Pentiu II, DVD
1998 – Windows 98
1999 – μP Pentium III
2000 – Windows 2000 e μP Pentium IV
2003 – Opteron e Athon 64
50. 15/07/13SISTEMA DE INFORMAÇÃO
50
COMPUTADORES ÓTICOCOMPUTADORES ÓTICO
Lenset (Israel) – Enlight256 Processor
- Digital Signal Processor (DSP)
- 256 lasers
- 8 Tflops
- Aplicações:
Radares de alta resolução
Compreensão de vídeo
Guerra eletrônica
Previsão de tempo
Estações rádio base
55. 15/07/13SISTEMA DE INFORMAÇÃO
55
PARADIGMAS DEPARADIGMAS DE
COMPUTAÇÃOCOMPUTAÇÃO
Início : Mainframe com a totalidade do
processamento.
Processamento Cliente-Servidor
- Alto TCO (Total Cost Ownership)
Servidor de Aplicação (Web)
-”volta” ao conceito de Mainframe
- Conectividade
- Mobilidade
58. 15/07/13SISTEMA DE INFORMAÇÃO
58
MEMÓRIA ROMMEMÓRIA ROM
Post ( Power On Self Test);
Não se perde ao desligar o computador;
Muito lenta;
Mark – ROM
- Gravado na fábrica
PROM (Programable ROM)
- Memória virgem, também gravada na fábrica.
EPROM (Erasable Programable ROM)
- Luz ultra violeta
EEPRON (Eletric Erasable Programable ROM)
- Apagável e reprogramável.
- Impulsos elétricos
FLASH ROM
- Espécie de EEPROM maioria das placas mães utilizam essa memória.
59. 15/07/13SISTEMA DE INFORMAÇÃO
59
Memória ROMMemória ROM
FLASH ROM
- Bios (Basic Imput Output Sistem)
- Post
- Identificação de configuração instalada
- Inicializa todos os circuitos de apoio
- Inicializa o vídeo
- Testa a memória RAM
- Testa Teclado
- Carrega Sistema operacional para a memória
- Entrega o controle do microprocessador ao sistema
operacional.
61. 15/07/13SISTEMA DE INFORMAÇÃO
61
MEMÓRIA RAMMEMÓRIA RAM
Tamanho
- 1 Mega
- 2 Mega
- 4 Mega
- 8 Mega
- 16 Mega
- 32 Mega
- 64 Mega
- 128 Mega
- 256 Mega
- 512 Mega
- 1024 Mega
62. 15/07/13SISTEMA DE INFORMAÇÃO
62
MEMÓRIA RAMMEMÓRIA RAM
DINÂMICA – DRAM
- Minúsculos capacitores – 1 e 0
- Grande capacidade, pequeno espaço
- Reflex
- Controlador de memória
- Período de Reflex
- Custo baixo e lenta
63. 15/07/13SISTEMA DE INFORMAÇÃO
63
MEMÓRIA RAMMEMÓRIA RAM
ESTÁTICA - SRAM
- Muito rápida
- Circuito digitais
- Flipflop
- Sem Reflex
- Maior consumo de energia
- Problema com freqüência
- Custo alto
- Pouca capacidade, grande espaço.
64. 15/07/13SISTEMA DE INFORMAÇÃO
64
MEMÓRIA DINÂMICAMEMÓRIA DINÂMICA
FPM – EDO – BEDO
Matrizes
Da direita para a esquerda
De cima para baixo
RAS (Row Adress Strobe) - linha
CAS (Colum Adress Strobe) – coluna
MA (Memory Adress)
MD (Memory Dado)
Tempo de Acesso
Latência de CAS
Assicrônas
70 a 60 nanosegundos
25, 33 40, 50 e 60 Mhz
65. 15/07/13SISTEMA DE INFORMAÇÃO
65
MEMÓRIAS DINÂMICAMEMÓRIAS DINÂMICA
VCM – SDRAM E DDR-SDRAM
Matrizes
Da direita para a esquerda
De cima para baixo
RAS (Row Adress Strobe) - linha
CAS (Colum Adress Strobe) – coluna
MA (Memory Adress)
MD (Memory Dado)
Tempo de Acesso
Latência de CAS
Assicrônas
30 a 20 nanosegundos
66 , 75, 83 100 e 133 Mhz
66. 15/07/13SISTEMA DE INFORMAÇÃO
66
MEMORIA DINÂMICAMEMORIA DINÂMICA
VCM – SDRAM E DDR-SDRAM
SPD (Serial Present Detect)
Ciclo de Acesso
486 DX 25
Wait States
Processador Ocioso
68. 15/07/13SISTEMA DE INFORMAÇÃO
68
MEMÓRIA RAMMEMÓRIA RAM
FPM
- Valor da última linha acessada
- Acessando 4 dados consecutivos
- Capacitores de memória (página)
- RCA estampada no circuito
- Latência de CAS – 4-3-3-3 , 6-3-3-3 Chipset
- PC Config
69. 15/07/13SISTEMA DE INFORMAÇÃO
69
MEMÓRIA RAMMEMÓRIA RAM
EDRO
- Hyper Page Mode
- Mesmas característica da FPM só que estrutura
modificada.
- 80% mais rápida
- 486 e 586
- 72 vias
- DIM
72. 15/07/13SISTEMA DE INFORMAÇÃO
72
MEMÓRIA RAMMEMÓRIA RAM
PC 66
- 6 camadas de circuito impresso
PC-100
- 4 Camadas de circuito impresso
PC 133
- 2 camadas de circuito impresso
73. 15/07/13SISTEMA DE INFORMAÇÃO
73
MEMÓRIA RAMMEMÓRIA RAM
DDR (Double Data Rate) SDRAM ou
SDRAM-II
- Opera a 100 Mhz e 133 Mhz
- DDR 200, 266, 300, 333 e 400.
- 2 dados por pulso de clock
- Mais indicada para Athlon e Duron
- Pentium IV não
75. 15/07/13SISTEMA DE INFORMAÇÃO
75
MEMÓRIA RAMMEMÓRIA RAM
VCM
- Tecnologia proprietária
- Desenvolvida pela MEC
- Excelente para Pentium IV
- Placa de vídeo AGP
- 16 canais para dispositivos simultâneo
- Buffer de memória temporária
- Matrizes capacitivas.
- 27 Vias
- 2 pulso de clock
76. 15/07/13SISTEMA DE INFORMAÇÃO
76
MEMÓRIA RAMMEMÓRIA RAM
MEMÓRIA RAMBUS – RDRAM
- Tecnologia proprietária
- Auto custos
- Aceita pela maioria dos Chipset
- DDR de menor custo – vantagem AMD
- Ideal para pentium IV
- Melhor aproveitamento do processador
- Utilizada em partes
- 300, 350, 400 Mhz
- 128 bits de barramento
- Baseada em protocolo
79. 15/07/13SISTEMA DE INFORMAÇÃO
79
Memória CacheMemória Cache
gargalo ("bottleneck")
Hardware, independe do software
cache hit
cache miss ou cache fault
5 ns
80. 15/07/13SISTEMA DE INFORMAÇÃO
80
REGISTRADORESREGISTRADORES
apenas um dado (uma palavra)
ACUMULADOR - armazena os resultados de um cálculo
REGISTRADOR DE ENDEREÇO - guarda o endereço de
uma locação de memória ou de um dispositivo.
REGISTRADOR DE INSTRUÇÃO - guarda a instrução
que deve ser interpretada e executada.
APONTADOR DE INSTRUÇÕES - IP ou PC (Program
Counter) - aponta para a instrução a ser executada.
REGISTRADORES DE USO GERAL - guardam diversos
tipos de dados.
Máquinas RISC (computadores de conjunto reduzido de
instruções, Reduced Instruction Set Computer)
Máquinas CISC(computadores de conjunto complexo de
instruções, Complex Instruction Set Computers)
81. 15/07/13SISTEMA DE INFORMAÇÃO
81
Memória AuxiliaresMemória Auxiliares
NÃO VOLÁTIL
MEMÓRIAS AUXILIARES
- discos rígidos (ou HD)
- drives de disquete
- unidades de fita
- CD-ROM, DVD
- unidades ótico-magnéticas, etc
85. 15/07/13SISTEMA DE INFORMAÇÃO
85
Organização da CacheOrganização da Cache
Organização por mapeamento direto
Organização completamente associativa
Organização associativa por conjuntos
CÉLULAS E ENDEREÇOS
86. 15/07/13SISTEMA DE INFORMAÇÃO
86
CAPACIDADE DA MEMÓRIACAPACIDADE DA MEMÓRIA
PRINCIPALPRINCIPAL
T = N x M
T = capacidade da memória em bits
N = nº de endereços (como vimos
anteriormente, N=2x sendo x = nº de bits
do endereço)
M = nº de bits de cada célula
87. 15/07/13SISTEMA DE INFORMAÇÃO
87
Funções Básicas da UCPFunções Básicas da UCP
Executar instruções - realizar aquilo que a instrução
determina.
Realizar o controle das operações no computador.
a) Unidade Lógica e Aritmética (ULA) - responsável pela
realização das operações lógicas (E, OU, etc) e
aritméticas (somar, etc).
b) Unidade de Controle (UC) - envia sinais de controle
para toda a máquina, de forma que todos os circuitos e
dispositivos funcionem adequada e sincronizadamente.
89. 15/07/13SISTEMA DE INFORMAÇÃO
89
UNIDADE CENTRAL DEUNIDADE CENTRAL DE
PROCESSAMENTOPROCESSAMENTO
UAL - Unidade Aritmética e Lógica
- ACC Acumulador
UC - Unidade de Controle
- CI Contador de Instruções
- RI Registrador de Instrução
92. 15/07/13SISTEMA DE INFORMAÇÃO
92
Formato geral de uma InstruçãoFormato geral de uma Instrução
Código de Operação ou OPCODE :
identifica a operação a ser realizada pelo
processador
Operando(s) : é ou são o(s) campo(s) da
instrução cujo valor binário sinaliza a
localização do dado (ou é o próprio dado)
que será manipulado (processado) pela
instrução durante a operação
93. 15/07/13SISTEMA DE INFORMAÇÃO
93
Execução de ProgramasExecução de Programas
Programa em Linguagem de Máquina: Um programa
em linguagem de máquina é uma longa série de 0's e 1's,
ordenados de forma que alguns representam códigos de
instruções e outros representam os dados que serão
processados (ou indicam onde esses dados estão
armazenados)
Linguagem de Montagem: A primeira tentativa bem-
sucedida para resolver o problema acima descrito foi a
criação de uma linguagem em que os códigos numéricos
foram substituidos por mnemônicos (palavras ou
símbolos como, por exemplo, LOAD = carregar e ADD =
somar, que se aproximam de palavras comuns da língua
inglesa).
94. 15/07/13SISTEMA DE INFORMAÇÃO
94
Execução de ProgramasExecução de Programas
Linguagens de Programação: Essas linguagens
foram estruturadas buscando refletir melhor os
processos humanos de solução de problemas.
Essas linguagens orientadas a problema são
também chamadas linguagens de alto nível, por
serem afastadas do nível de máquina.
Tradução: Um programa escrito por um
programador (chamado código fonte) em uma
linguagem de alto nível é um conjunto de
instruções que é clara para programadores, mas
não para computadores
96. 15/07/13SISTEMA DE INFORMAÇÃO
96
Execução de ProgramasExecução de Programas
Montagem: No processo de montagem, o código fonte
(programa em linguagem simbólica escrito pelo
programador) é examinado, instrução por instrução e é
feita a tradução, gerando o código que será executado
(código objeto).
Compilação: Compilação é o processo de tradução de
um programa escrito em linguagem de alto nível para
código em linguagem de máquina. Compilação é um
processo análogo ao da montagem (verificação / análise
do código fonte, resolução das referências de memória,
reserva de espaço em memória e conversão para código
de máquina binário)
98. 15/07/13SISTEMA DE INFORMAÇÃO
98
Execução de ProgramasExecução de Programas
Bibliotecas: Uma linguagem de alto nível geralmente
incorpora diversas rotinas prontas (que fazem parte da
linguagem) e que compõem bibliotecas (librarys) de
funções pré-programadas que poderão ser utilizadas pelo
programador, poupando tempo, aumentando a eficiência
e evitando erros
Ligação: tarefa de examinar o código objeto, procurar as
referências a rotinas de biblioteca (que constituem
referências externas não resolvidas), buscar a rotina da
biblioteca, substituir a chamada pelo código ("resolver as
referências externas") e obter os parâmetros para incluí-
los no código objeto é executada por um programa
chamado Ligador (LinkEditor).
100. 15/07/13SISTEMA DE INFORMAÇÃO
100
Execução de ProgramasExecução de Programas
Interpretação: O método alternativo chama-se de
interpretação e, a partir do programa fonte, realiza as três
fases (compilação, ligação e execução), comando por
comando, em tempo de execução. Não existem fases distintas
nem se produzem códigos intermediários
101. 15/07/13SISTEMA DE INFORMAÇÃO
101
Execução de ProgramasExecução de Programas
Compilação e Interpretação – comparação:
Tempo de execução, Consumo de memória,
Repetição de interpretação, Desenvolvimento de
programas e depuração de erros
Emuladores e Máquinas Virtuais: imagine
desenvolver um programa conversor que pegasse
qualquer programa escrito para uma determinada
máquina e interpretasse seu código executável
traduzindo-o em tempo de execução para
instruções de um outro computador
Java
102. 15/07/13SISTEMA DE INFORMAÇÃO
102
Computador HipotéticoComputador Hipotético
Operador - só faz o que for ordenado, não toma
decisões
Conjunto de escaninhos - com capacidade para
um cartão cada
Máquina de calcular - executa as operações
Caixa de entrada - para receber cartões de fora
Máquina de escrever - para dar saída às
informações / resultados
104. 15/07/13SISTEMA DE INFORMAÇÃO
104
Computador HipotéticoComputador Hipotético
EXERCÍCIO 1:
Obs.: Utilizaremos a notação (E10) significando "o conteúdo
do escaninho E10", isto é, o valor que está agora armazenado
no escaninho E10 (ou, mais formalmente, o valor corrente
daquela posição de memória).
E1 : armazene o valor 1 no E10
E2 : leia o conteúdo de E11 (externo - a caixa de entrada)
E3 : multiplique E10 com E11 (usando a máquina de
calcular) e armazene o resultado em E10
E4 : subtraia o valor 1 de E11
E5 : se o valor de E11 > 0, volte para E3, senão continue
E6 : imprima o conteúdo de E10 (usando a máquina de
escrever)
E7 : PARE
E8 :
105. 15/07/13SISTEMA DE INFORMAÇÃO
105
Computador HipotéticoComputador Hipotético
EXERCÍCIO 2:
No mesmo algoritmo acima, avalie as
conseqüências das seguintes alterações:
a) E5 : se o valor de E11 > 0, volte para E3,
b) E5 : se o valor de E11 >= 0, volte para E3;
senão continue.
c) E7 : XXX
107. 15/07/13SISTEMA DE INFORMAÇÃO
107
FLAGS DO 8080FLAGS DO 8080
Z (zero flag ou indicador de zero) - é setado como 1, se todos os bits do ACC como resultado de uma
operação são 0. Caso qualquer um dos bits seja 1, será resetado (como 0). Serve portanto para testar se
o resultado de uma operação é 0. Este flag pode ser testado pelo programador.
S (sign flag ou indicador de sinal) - é setado pelo sinal do resultado de uma operação no acumulador.
O bit 7 do acumulador pode ser interpretado como o sinal do resultado. Algumas instruções setam o
flag de sinal igual ao bit 7 do acumulador. Portanto, caso o resultado de uma operação seja negativo
(bit 7 = 1), este flag é setado como 1. Caso o resultado seja positivo (bit 7 = 0), o bit é resetado (como
0). Este flag pode ser testado pelo programador.
P (parity flag ou indicador de paridade) - representa a paridade do resultado no acumulador. As
instruções que afetam o flag de paridade setam este flag para 1 quando a paridade é par (even) e
resetam (como 0) quando a paridade é ímpar (odd). Este flag pode ser testado pelo programador.
C (carry flag ou indicador de "vai um") - é usado para indicar quando uma soma no acumulador
causa "vai um" (carry out) ao dígito de mais alta ordem. Também pode ser empregado como "pede
emprestado" ("borrow") em operações de subtração. Este flag também pode ser afetado pelas operações
lógicas (AND, OR, XOR,..). operações de rotação de bits tratam o carry flag como um 9o bit do ACC.
Quando há carry out para o 9o bit, o flag C é setado (1); quando não há carry out para o 9o bit, o flag
C é resetado (0). Este flag também pode ser testado pelo programador.
AC (auxiliary carry ou indicador de "vai um" auxiliar) - indica um carry out no 3o bit do ACC. É
utilizado exclusivamente pela instrução DAA (decimal adjust accumulator). O AC e a instrução DAA
permitem tratar o valor do acumulador como DOIS algarismos codificados em BCD (quatro bits). A
instrução DAA converte valores hexadecimais em decimais. Este flag NÃO pode ser testado pelo
programador, sendo reservado exclusivamente para uso pela instrução DAA.
110. 15/07/13SISTEMA DE INFORMAÇÃO
110
O Modelo Barramento de Sistema
Refinamento do modelo de von Neumann, o modelo de
barramento de sistema possui uma CPU (ALU e controle),
memória e uma unidade de entrada/saída (I/O).
A comunicação entre os componentes é realizada através de um
caminho compartilhado chamado barramento de sistema (bus),
constituído do barramento de dados, do barramento de
endereços e do barramento de controle. Existe também um
barramento de energia e algumas arquiteturas podem ter um
barramento de I/O separado.
111. 15/07/13SISTEMA DE INFORMAÇÃO
111
Barramento ISABarramento ISA
PC XT até Pentil PRO
VELOCIDADE LOCAL
8 Bits, 16 Bits e 32 Bits
ISA PLUG-AND-PLAY
I/O 1 KB
IRQ 15 Linhas, linha 2
DMA 7 Canais, canal 4
112. 15/07/13SISTEMA DE INFORMAÇÃO
112
Barramento EISABarramento EISA
32 Bits
Arquitetura aberta
Compativel com ISA
32 Bits
Arquitetura aberta
Compativel com ISA
Barramento VESABarramento VESA
114. 15/07/13SISTEMA DE INFORMAÇÃO
114
Murdocca, Miles J. e Heuring, Vincent P.;
Introdução à Arquitetura de Computares; Editora
Campus
Patterson and Hennessy Organização e Projeto
de Computadores: A Interface
Hardware/Software, Segunda Edição, (P&H)
Editora LTC
Sistema de Informação – Drº Luís Felipe Uebel –
Phd Inforamation Enginnering – Cambridge
University, England.
Biblioteca da Faar
BIBLIOGRAFIABIBLIOGRAFIA