II - INTRODUÇÃO
•
•
•
•
Introdução
Histórico e Evolução
Princípios Básicos
Arquitetura de Von Neuman e
Componentes
• Arquitetura de 4,3,2,1 e 0 endereços
• Tabela Ascii
II - INTRODUÇÃO
• Introdução
II - INTRODUÇÃO
Computador
Máquina destinada a realizar cálculos complexos.
Série de atividades ordenadas.
Objetivo: obter informações a partir de
outras informações
Matéria Prima
Dados
Processamento
Varia tecnologicamente (evolui)
Velocidade
Telecomunicação
II - INTRODUÇÃO
Resultado:
informações
•
Introdução
Estrutura do sistema
Hardware
II - INTRODUÇÃO
II - INTRODUÇÃO
•
Introdução
Organização de computadores:
Parte do estudo da Ciência da Computação que trata
dos aspectos mais conhecidos dos especialistas que o
construíram.
• Tecnologia de construção da memória
• Frequência do relógio
• Sinais de controle para inicio
• Microoperações nas diversas unidades
Arquitetura: Nível do Programador
Impacta diretamente na construção de um programa.
• Conjunto de instruções de um processador
• Tamanho da palavra
• Modos de endereçamento das instruções
• Tipo e tamanho dos dados manipulados pelo
processador
II - INTRODUÇÃO
II - INTRODUÇÃO
•
Introdução
II - INTRODUÇÃO
II - INTRODUÇÃO
• Histórico e Evolução
II - INTRODUÇÃO
Gerações dos computadores
1ª Geração (1940 a 1952)
válvula
Linguagem de máquina
Cartão perfurado
Eniac
II - INTRODUÇÃO
Memória de atraso de mercúrio
II - INTRODUÇÃO
Histórico e Evolução
Gerações dos computadores
2ª Geração (1952 a 1964)
•Linguagem assembler, cobol, Algol, Fortran.
Memória de núcleo de
ferrite
Válvula e transistores
Tradic - 1955
II - INTRODUÇÃO
Unidade de fita magnética
II - INTRODUÇÃO
Histórico e Evolução
Gerações dos computadores
3ª Geração (1964 a 1971)
Comparativo: válvula
transistores e chips
PDP-11
Circuitos
integrados
VAX
II - INTRODUÇÃO
II - INTRODUÇÃO
Histórico e Evolução
Gerações dos computadores
4ª Geração (1971 a 1981)
• Diversidade de Linguagens de programação;
• Rede de transmissão de dados.
Microcomputador APPLE
Microcomputador TRS-80
Microcomputador PC 8088
Disco flexível de
5.1/4”
II - INTRODUÇÃO
Disco flexível de
3.1/2”
II - INTRODUÇÃO
Histórico e Evolução
Gerações dos computadores
5ª Geração (1981........)
• Inteligência Artificial;
• Linguagem Natural
• Altíssima velocidade de processamento.
Notebook com
a
mesma
capacidade
dos desktop
CPU - Circuito integrado da Larga escala
Microcomputador
integrado
com
processamento
paralelo
Comparativo atual
II - INTRODUÇÃO
Histórico e Evolução
II - INTRODUÇÃO
Software
1ª Geração Linguagem de máquina
2ª Geração Assembler, linguagem montadora
3ª Geração Linguagem de alto nível orientada para os
procedimentos, linguagem simbólica de composição do
raciocínio
4ª Geração diversificação das linguagens de programação.
Linguagens de altíssimo nível, orientadas para problemas.
O software pode ser:
•Básico: sistemas operacionais e linguagens de programação.
•Aplicativo: processadores de textos, planilhas de cálculo,
processadores de imagens, etc.
II - INTRODUÇÃO
Histórico e Evolução
II - INTRODUÇÃO
Linguagens de Programação
Definição: é um conjunto de termos (vocábulos) e regras
(sintaxe) que permitem a formulação de instruções
(programas
para
serem
executadas
pelo
computador)
Tipos de linguagens:
• Linguagem de Máquina: é única entendida pelo computador,
sendo formada por instruções em código binário.
II - INTRODUÇÃO
Histórico e Evolução
II - INTRODUÇÃO
Linguagens de Programação
• Linguagem de baixo nível: são aquelas cujo os códigos são
muito próximos aos usados pela máquina. São utilizadas no
desenvolvimento de aplicações que interagem diretamente
com o hardware necessitando alta velocidade de execução.
A estas linguagens dá-se o nome de Linguagem Montadora
(Assembler – Assembly Language).
II - INTRODUÇÃO
Histórico e Evolução
II - INTRODUÇÃO
Linguagens de Programação
• Linguagem de alto nível: são aquelas cujo os códigos são
muito próximos aos utilizados pela linguagem humana.
II - INTRODUÇÃO
Histórico e Evolução
Linguagens de Programação
Proximidade entre a linguagem e a máquina.
II - INTRODUÇÃO
II - INTRODUÇÃO
Histórico e Evolução
II - INTRODUÇÃO
Linguagens de Programação
Relação entre o usuário e o computador através da
linguagem.
II - INTRODUÇÃO
• Princípios Básicos
II - INTRODUÇÃO
Instrução: OPERAÇÃO OPERANDOS
Programa: Conjunto de Instruções
São armazenados na memória juntamente com os
dados correspondentes.
Deve ser interpretado para realização do
processamento.
Memória: Armazena dados e instruções.
Organizada matricialmente em endereços.
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Unidade Central de Processamento (UCP ou CPU)
ou processador
Formado pelas unidades de:
• Controle: controla todo o tráfego de informação
• Unidade Lógica e Aritmética
Operações
Lógicas
Operações
aritméticas
• Busca – decodificação – execução de instruções
Contador de instruções ou apontador de instruções:
elemento que contém a próxima instrução a ser
executada.
Registrador de instruções: armazena, a partir da
memória, a próxima instrução a ser executada
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Registrador de instruções: armazena, a partir da
memória, a próxima instrução a ser executada
Decodificação: processo de interpretação das
instruções a partir de circuitos de decodificação
gerando sinais correspondentes à operação a ser
realizada
Execução de instruções: aplicação da função nos
operandos
Elementos Funcionais Básicos
Blocos Convencionais:
Memória
CPU Unidades Operacionais
Unidades de controle
Dispositivos de E/S
II - INTRODUÇÃO
Registradores
Contadores
Multiplexadores
Seletores
Decodificadores
Somadores
Portas lógicas
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Registradores: elementos digitais com capacidade de
armazenar dados
Contadores
Multiplexadores
Seletores
Decodificadores
Somadores
Portas lógicas
Elementos com capacidade de operar
sobre dados, alterando-os ou fornecendo
um novo dado como resultado da
operação que realizam.
Sinais de controle: são sinais que habilitam
operações nos elementos digitais.
Barramento: são caminhos que permitem o
transporte de dados entre vários elementos da
parte operacional. Memória e sistemas de E/S
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Memória
C
P Controle
U
Unidade
Operacional
Entrada
e Saída
Memória
Formada por elementos de armazenamento
II - INTRODUÇÃO
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Memória
Formada por elementos de armazenamento
Palavra: divisão da memória
Endereço: Identificação unívoca da palavra:
São dados ou instruções
Parâmetros que caracterizam a memória:
tamanho: palavra em bits (RDM)
memória em palavra (REM)
velocidade
Tecnologia
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Memória
Registrador de Dados da Memória (Write)
RDM(in)
Registrador
de Endereço
da Memória
READ
R
E
M
WRITE
RDM(out)
Registrador de Dados da Memória
(Read)
II - INTRODUÇÃO
Sinais de
Controle
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Unidade Operacional
Bloco Operacional: executa as transformações
sobre os dados especificados pelas instruções
de um computador.
composição: unidade lógica e aritmética,
registradores de uso geral e específico,
barramento de interligação.
porte: número, tamanho, uso dos
registadores, quantidade de operações,
tipo de operações e unidade lógica e
aritmética.
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Unidade Operacional
Unidade Lógica e Aritmética
Realiza operações Lógica e Aritmética sobre um ou mais
operandos. Ex: Soma, Negação, Deslocamento...
Fornece resultados e indicações sobre as operações
realizadas.
Operandos
Controle
ULA
II - INTRODUÇÃO
Resultados
•Overflow
Código
•Sinal
de
•Carry
Condição •Zero
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Unidade Operacional
Unidade Lógica e Aritmética
Característica:
• Comprimento em bits dos operandos
• Número e tipo de operações
• Códigos e condições geradas
Acumulador: Armazena um operando e/ou resultado
fornecido pela ULA.
Característica: comprimento em bits
II - INTRODUÇÃO
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Unidade de Controle
• Gerenciador do fluxo de dados;
• Gera sinais de controle
 Determinam e garantem o instante preciso
 Cada sinal comanda:
 Microprogramação
o Carga do registrador
o Seleção do modo de entrada de um
dado componente
o Seleção de uma operação na ULA
o Habilitação de um circuito lógico
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
.......Unidade de Controle
A unidade de controle é uma máquina de
estados finitos (FSM) que realizam
operações por lógica:
• Sequencial:
sinais
de
saída
dependem dos sinais de entrada e
do estado anterior;
• Combinacional: sinais de saída
dependem exclusivamente dos
sinais de entrada.
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
.......Unidade de Controle
Implementação da Lógica Sequencial
• Organização convencional: unidade de
controle
composta
por:
flip-flops,
contadores e decodificadores que geram
sequencialmente todos os sinais de
controle de ativação dos elementos
funcionais;
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
.......Unidade de Controle
• Organização microprogramada: sinais de
controle são armazenados em memória
especial (memória de controle)
Vários sinais são buscados a cada acesso
à memória de controle, que estão
agrupados em microinstruções.
Seu conjunto formam o
microprograma
II - INTRODUÇÃO
Longas palavras
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
.......Unidade de Controle
Registrador de instruções: Elemento
do bloco de controle
RI
RST
Unidade de
Controle
Registrador de estado:
Elemento da interface
II - INTRODUÇÃO
Sinais de
controle para
a unidade
operacional
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
Registradores Especiais
Dependem da arquitetura
organização da máquina:
e
da
Apontador de instruções ou Contador do programa
(PC- Program Counter) : mantém atualizado o
endereço da próxima instrução a ser executada.
característica: comprimento em bits
Registrador de instruções: armazena a instrução que
está sendo executada.
característica: comprimento em bits
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
...........Registradores Especiais
Registrador de estado (RST): armazena códigos de
condição gerados pela unidade lógica e aritmética,
e, eventualmente por outros elementos, como
sinais de interrupção gerados por dispositivos de
entrada e saída.
característica: comprimento em bits
II - INTRODUÇÃO
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Conjunto de Instruções e Modo de Endereçamento
instrução: Conjunto de bits devidamente
codificados que indica ao computador que
sequência de microoperações ele deve
realizar.
Classificação: Semelhança de propósito e
formato. As mais comuns são:
• Transferência de dados
• Aritméticas e lógicas
• Teste de desvio
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
......Conjunto de Instruções e Modo de Endereçamento
Conjunto de instruções: é o conjunto de todas
as instruções que um computador
reconhece e pode realizar (equivalente ao
conjunto de palavras reservadas e uma linguagem de alto
nível).
Programa: qualquer sequencia finita de
instruções de um determinado conjunto de
instruções.
Modos de endereçamento: são as diversas
forma de endereço de um operando
somadas as diversas formas de desvio.
II - INTRODUÇÃO
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Ciclo de busca – decodificação – execução de
instruções
Busca: Leitura de uma instrução da memória.
Envolve:
• Copiar o apontador de programa (PC) para o
registrador de endereço de memória(REM);
• Leitura de uma instrução da memória (RDM);
• Copiar o registrador de dados da memória (RDM)
para o registrador de instruções (RI);
• Atualizar o apontador (PC).
II - INTRODUÇÃO
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos ...Ciclo de busca – decodificação – execução de instruções
Decodificação: Determinar qual a instrução a
ser executada. A decodificação é feita
geralmente por lógica combinacional.
Execução: Depende de qual instrução a ser
executada.
•
•
•
•
•
•
II - INTRODUÇÃO
Cálculo do endereço de operandos
Busca de operandos na memória
Seleção de operação da ULA
Carga de registradores
Escrita de operandos na memória
Atualização do PC para desvios
•
Princípios Básicos
II - INTRODUÇÃO
Elementos Funcionais Básicos
Programação de um processador
Linguagem de máquina: É uma imagem
numérica (binária) que representa a
codificação do conjunto de instruções de
um computador.
Programa objeto: São representados e
armazenados em linguagem de máquina.
Devido à dificuldade do trabalho com esta
linguagem foram criados:
II - INTRODUÇÃO
•
II - INTRODUÇÃO
Princípios Básicos
Elementos Funcionais Básicos
....Programação de um processador
Devido à dificuldade do trabalho com esta
linguagem foram criados:
Mneumônicos associados às instruções:
Nomes dos operandos
Rótulos às posições ocupadas pelo
programa
Necessita de Tradução  Montagem
Montador: programa que realiza a montagem (Tradutor);
Compilador: gera rotinas em linguagem de máquina para cada
instrução.
II - INTRODUÇÃO
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
Um Computado de Primeira Geração: O EDVAC
(Eletronic Discrete Variable Computer)
No ENIAC os programas e
armazenados separadamente.
dados
eram
O conceito de programa armazenado é atribuído
ao matemático húngaro John von Neumann
(1903-1957). Isto caracteriza a possibilidade de
mudança das próprias instruções.
II - INTRODUÇÃO
•
Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
Arquitetura do EDVAC.
• Programa armazenado
• Memória: 1024 palavras de 44 bits cada,
implementada através de linha de atraso
de mercúrio. 20 K palavras de memória
secundaria magnética.
• Representação interna em binário.
• Circuitos aritméticos binários seriais,
devido a entrada de dados serial.
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
II - INTRODUÇÃO
...Arquitetura do EDVAC.
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
...Arquitetura do EDVAC.
Antes da execução do programa
 Colocação de todas as instruções e dados na
memória principal.
 Palavras de 44 bits permitem 4 campos de
10 bits, um campo de 4 bits de código de
instrução.
 Capacidade de 16 instruções sendo 12
implementadas
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
...Arquitetura do EDVAC.
Exemplo de Instrução Aritmética.
A1 A2 A3 A4 OP
• Executa OP conteúdos em posições cujos
endereços são A1, A2 e coloque o resultado
em A3.
• A4 especifica o endereço da próxima
instrução a ser executada.
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
...Arquitetura do EDVAC.
Exemplo de Instrução Condicional
A1 A2 A3 A4 C
Se o conteúdo de A1 for maior que o
conteúdo de A2 então execute a instrução da
posição A3 se não, da posição A4.
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
...Arquitetura do EDVAC.
Instrução de transferência de memória principal
par secundaria.
A1 m,n A3 A4 OP
m – modificador de operação
n – endereço do condutor
Significado:
1. Se m=1 Transfira para o condutor n a sequência de palavras na
memória principal nas posições A1, A1+1, A1+2 .......,A3.
2. Se m=2 Transfira do condutor n a sequência de palavras para as
posições A1, A1+1, A1+2 .......,A3. na memória principal.
A4 endereço da próxima instrução.
Este computador ficou operacional em 1951.
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
...Arquitetura do EDVAC.
Principais Inconvenientes
Tempo de acesso muito grande comparado ao
tempo de processamento da UCP. O que levou a
o chamado “gargalo de von Neumann”.
•Possíveis soluções
 Armazenar resultados na posição inicial de
um dos operandos.
 Destinar um endereço de memória para
armazenar o resultado de determinada
operação.
 Convencionar previamente o endereço da
próxima instrução.
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
Modelo de von Neumann: O computador IAS.
1946 (Princeton Institute for Advanced Studies)
Memória principal: Tubo de raios catódicos de acesso
randômico.
Instrução:
OP A
Arquitetura de um endereço
Blocos básicos
• UCP
• Unidade de controle de programa
• Memória principal de 4096 palavras de 40 bits:
grava duas instruções de 20 bits ou dados de 40
bits
• Unidade de E/S
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes ....O computador IAS
II - INTRODUÇÃO
AC–Acumulador na UCP –
atua como memória
rápida guardando os
resultados da ULA
MQ–Registrador Multiplicador quociente
DR-Registrador de dados de
40 bits
AR–Registrador de endereço
de 12 bits
IBR–Registra a instrução não
executada
imediatamente
PC – Registrador de endereço
IR–registra a instrução executada imediatamente.
Estrutura do IAS
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes ....O computador IAS
II - INTRODUÇÃO
Formato dos Dados
Binário, ponto fixo e complemento 2
01
39
primeiro bit é o de sinal
o ponto está implícito entre 0 e 1
Formato das instruções
0
78
operação
19 20
endereço
39
27 28
operação
endereço
há alterações em relação ao EDVAC
•Registradores pré-definidos na UCP
•Armazenamento sequencial do programa.
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0
A=((B+C)*D+E-F)/(G*H)
4 endereços
OP E1 E2 E3 E4
E1 – fonte
e1 ADD B C A e2
E2 – fonte
e2 MUL A D A e3
E3 – destino
e3 ADD A E A e4
E4 – próxima inst.
e4 SUB A F A e5
e5 DIV A G A e6
e6 DIV A H A e7
e7 HALT
O quatro endereço é desnecessário pois os
programas eram escritos sequencialmente
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0
3 endereços
A=((B+C)*D+E-F)/(G*H)
OP E1 E2 E3
E1 – fonte
E2 – fonte
E3 – destino
e1 ADD B C A
e1+1 MUL A D A
e1+2 ADD A E A
e1+3 SUB A F A
e1+4 DIV A G A
e1+5 DIV A H A
e1+6 HALT
II - INTRODUÇÃO
II - INTRODUÇÃO
PC – criado para localizar
a próxima instrução
Jump – indica salto
Reduz o tamanho
da instrução mas
per-de-se um grau
de liberdade
•Arquiteturas 4, 3, 2, 1 e 0
2 endereços
II - INTRODUÇÃO
A=((B+C)*D+E-F)/(G*H)
OP E1 E2
E1 – fonte/destino
E2 – fonte
e1 MOV A B
e1+1 ADD A C
e1+2 MUL A D
e1+3 ADD A E
e1+4 SUB A F
e1+5 DIV A G
e1+6 DIV A H
e1+7 HALT
II - INTRODUÇÃO
MOV – movimento de
memória
Evita-se a repetição
do destino.
•Arquiteturas 4, 3, 2, 1 e 0
1 endereços
II - INTRODUÇÃO
A=((B+C)*D+E-F)/(G*H)
E1 – memória
e1 LDA B
e1+1 ADD C
e1+2 MUL D
e1+3 ADD E
e1+4 SUB F
e1+5 DIV G
e1+6 DIV H
e1+7 STA A
e1+8 HALT
II - INTRODUÇÃO
OP E1
AC – Acumulador substitui
o fonte e o destino
LDA–move da memória
para o acumulador LoaD
STA–move do acumulador
para a memóriaSTore
Economia de acesso à memória
•Arquiteturas 4, 3, 2, 1 e 0
II - INTRODUÇÃO
A=((B+C)*D+E-F)/(G*H)
0 endereços
OP
E1 – memória
Pilha
Equação escrita em
notação polonesa
reversa.
Equação fica:
HGFEDCB+*+-//
e1 PUSH H
e1+1 PUSH G
e1+2 PUSH F
e1+3 PUSH E
e1+4 PUSH D
e1+5 PUSH C
e1+6 PUSH B
e1+7 ADD
e1+8 MUL
e1+9 ADD
e1+10 SUB
e1+11 DIV
e1+12 DIV
e1+13 POP A
e1+14 HALT
PUSH – colocar no topo da pilha
POP – enviar do topo da pilha para a memória
II - INTRODUÇÃO
Não há grande vantagem em relação a anterior
•Tabela Ascii
II - INTRODUÇÃO
II - INTRODUÇÃO
II - INTRODUÇÃO
II - INTRODUÇÃO
Download

Introdução