ii - introduÇÃo introdução introdução histórico e evolução histórico e evolução...
TRANSCRIPT
II - INTRODUÇÃO
II - INTRODUÇÃO
Organização e Arquitetura de ComputadoresII – 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
II - INTRODUÇÃO
ComputadorMáquina destinada a realizar cálculos complexos.
• Introdução
Série de atividades ordenadas.Objetivo: obter informações a partir de outras informações
D a d o s ProcessamentoResultado:
informações
Matéria Prima
Varia tecnologicamente (evolui)VelocidadeTelecomunicação
II - INTRODUÇÃO
II - INTRODUÇÃO
Estrutura do sistemaHardware
• Introdução
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 ProgramadorImpacta 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
Gerações dos computadores1ª Geração (1940 a 1952)
Eniac
válvula Linguagem de máquina
Cartão perfurado
Memória de atraso de mercúrio
• Histórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃO
Gerações dos computadores2ª Geração (1952 a 1964)•Linguagem assembler, cobol, Algol, Fortran.
Tradic - 1955
Memória de núcleo de ferrite Válvula e transistores
Unidade de fita magnética
Histórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃO
3ª Geração (1964 a 1971)
PDP-11
VAX
Comparativo: válvula transistores e chips
Circuitos integrados
Gerações dos computadoresHistórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃO
4ª Geração (1971 a 1981)• Diversidade de Linguagens de programação;• Rede de transmissão de dados.
Microcomputador TRS-80
Microcomputador PC 8088
Microcomputador APPLE
Disco flexível de 5.1/4” Disco flexível de
3.1/2”
Gerações dos computadoresHistórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃO
5ª Geração (1981........)• Inteligência Artificial;• Linguagem Natural• Altíssima velocidade de processamento.
CPU - Circuito integrado da Larga escala
Comparativo atual
Microcomputador integrado com processamento paralelo
Notebook com a mesma capacidade dos desktop
Gerações dos computadoresHistórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃO
1ª Geração Linguagem de máquina2ª Geração Assembler, linguagem montadora3ª 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.
SoftwareHistórico e Evolução
II - INTRODUÇÃO
II - INTRODUÇÃ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.
Histórico e Evolução
Linguagens de Programação
II - INTRODUÇÃO
II - INTRODUÇÃ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).
Histórico e EvoluçãoLinguagens de Programação
II - INTRODUÇÃO
II - INTRODUÇÃO
• Linguagem de alto nível: são aquelas cujo os códigos são muito próximos aos utilizados pela linguagem humana.
Histórico e EvoluçãoLinguagens de Programação
II - INTRODUÇÃO
II - INTRODUÇÃO
Proximidade entre a linguagem e a máquina.
Histórico e EvoluçãoLinguagens de Programação
II - INTRODUÇÃO
II - INTRODUÇÃO
Relação entre o usuário e o computador através da linguagem.
Histórico e EvoluçãoLinguagens de Programação
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosInstrução: OPERAÇÃO OPERANDOS
Programa: Conjunto de InstruçõesSã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
• Busca – decodificação – execução de instruçõesContador 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
Operações Lógicas
Operações aritméticas
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 executadaDecodificação: processo de interpretação das instruções a partir de circuitos de decodificação gerando sinais correspondentes à operação a ser realizadaExecução de instruções: aplicação da função nos operandos
Elementos Funcionais BásicosBlocos Convencionais:
MemóriaUnidades OperacionaisUnidades de controleDispositivos de E/S
RegistradoresContadoresMultiplexadoresSeletoresDecodificadoresSomadores Portas lógicas
CPU
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios Básicos
Elementos Funcionais Básicos
Registradores: elementos digitais com capacidade de armazenar dados
ContadoresMultiplexadoresSeletoresDecodificadoresSomadores 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
Controle
Memória
Unidade Operacional
Entrada e Saída
CPU
Memória Formada por elementos de armazenamento
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos Funcionais Básicos
Memória Formada por elementos de armazenamento
Palavra: divisão da memóriaEndereço: Identificação unívoca da palavra:
São dados ou instruçõesParâmetros que caracterizam a memória:
tamanho: palavra em bits (RDM) memória em palavra (REM)
velocidadeTecnologia
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos Funcionais Básicos Memória
REM
RDM(in)
READ
WRITE
RDM(out)
Sinais de Controle
Registrador de Dados da Memória (Write)
Registrador de Endereço da Memória
Registrador de Dados da Memória (Read)
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos 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ásicosElementos Funcionais Básicos Unidade Operacional
Unidade Lógica e AritméticaRealiza 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.
U L A
O p e r a n d o s
Controle Código de Condição
Resultados
•Overflow•Sinal•Carry•Zero
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos 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
II - INTRODUÇÃO
• Princípios BásicosElementos 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çãoo Carga do registradoro Seleção do modo de entrada de um
dado componenteo Seleção de uma operação na ULAo Habilitação de um circuito lógico
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos 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ásicosElementos 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ásicosElementos 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
Longas palavras
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos Funcionais Básicos .......Unidade de Controle
RI
RST
Unidade de Controle
Registrador de instruções: Elemento do bloco de controle
Registrador de estado: Elemento da interface
Sinais de controle para
a unidade operacional
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos Funcionais Básicos
Registradores Especiais
Dependem da arquitetura e da organização da máquina:
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ásicosElementos 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
II - INTRODUÇÃO
• Princípios BásicosElementos 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ásicosElementos 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
II - INTRODUÇÃO
Ciclo de busca – decodificação – execução de instruções
• Princípios BásicosElementos Funcionais Básicos
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
II - INTRODUÇÃO
...Ciclo de busca – decodificação – execução de instruções
• Princípios BásicosElementos Funcionais Básicos
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.• 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
II - INTRODUÇÃO
II - INTRODUÇÃO
• Princípios BásicosElementos 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ásicosElementos 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 operandosRó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 dados eram armazenados separadamente. 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
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.
• Arquitetura de Von Neumann e Componentes
II - INTRODUÇÃO
II - INTRODUÇÃO
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
II - INTRODUÇÃO
II - INTRODUÇÃO
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
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
II - INTRODUÇÃO
II - INTRODUÇÃO
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.
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
II - INTRODUÇÃO
II - INTRODUÇÃO
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.
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
II - INTRODUÇÃO
II - INTRODUÇÃO
Instrução de transferência de memória principal par secundaria.
A1 m,n A3 A4 OP
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.
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
m – modificador de operaçãon – endereço do condutor
II - INTRODUÇÃO
II - INTRODUÇÃO
Principais InconvenientesTempo 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.
• Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC.
II - INTRODUÇÃO
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
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
• Arquitetura de Von Neumann e Componentes
Arquitetura de um endereço
II - INTRODUÇÃO
II - INTRODUÇÃO
AC–Acumulador na UCP – atua como memória rápida guardando os resultados da ULA
MQ–Registrador Multiplica-dor 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çoIR–registra a instrução exe-
cutada imediatamente.
Estrutura do IAS
• Arquitetura de Von Neumann e Componentes ....O computador IAS
II - INTRODUÇÃO
II - INTRODUÇÃO
há alterações em relação ao EDVAC• Registradores pré-definidos na UCP• Armazenamento sequencial do programa.
• Arquitetura de Von Neumann e Componentes ....O computador IAS
Formato dos DadosBinário, ponto fixo e complemento 2
primeiro bit é o de sinalo ponto está implícito entre 0 e 1
0 1 39
Formato das instruções
operação operaçãoendereço endereço0 7 8 19 20 27 28 39
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0
4 endereçosOP E1 E2 E3 E4E1 – fonte
E2 – fonteE3 – destinoE4 – próxima inst.
A=((B+C)*D+E-F)/(G*H)
e1 ADD B C A e2e2 MUL A D A e3e3 ADD A E A e4e4 SUB A F A e5e5 DIV A G A e6e6 DIV A H A e7e7 HALT O quatro endereço é desnecessário pois os
programas eram escritos sequencialmente
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H)
OP E1 E2 E3E1 – fonteE2 – fonteE3 – destino
PC – criado para localizar a próxima instruçãoJump – indica salto
e1 ADD B C Ae1+1 MUL A D Ae1+2 ADD A E Ae1+3 SUB A F Ae1+4 DIV A G Ae1+5 DIV A H Ae1+6 HALT
Reduz o tamanho da instrução mas per-de-se um grau de liberdade
3 endereços
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0
A=((B+C)*D+E-F)/(G*H)
OP E1 E2
E1 – fonte/destinoE2 – fonte
MOV – movimento de memória
e1 MOV A Be1+1 ADD A Ce1+2 MUL A De1+3 ADD A Ee1+4 SUB A Fe1+5 DIV A Ge1+6 DIV A He1+7 HALT
Evita-se a repetição do destino.
2 endereços
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0
A=((B+C)*D+E-F)/(G*H)
OP E1E1 – memória
AC – Acumulador substitui o fonte e o destino
LDA–move da memória para o acumulador - LoaD
STA–move do acumulador para a memória- STore
e1 LDA Be1+1 ADD Ce1+2 MUL De1+3 ADD Ee1+4 SUB Fe1+5 DIV Ge1+6 DIV He1+7 STA Ae1+8 HALT
Economia de acesso à memória
1 endereços
II - INTRODUÇÃO
II - INTRODUÇÃO
•Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H)0 endereços
OPE1 – memória
Pilha Equação escrita em notação polonesa reversa.Equação fica:HGFEDCB+*+-//
PUSH – colocar no topo da pilhaPOP – enviar do topo da pilha para a memória
e1 PUSH He1+1 PUSH Ge1+2 PUSH Fe1+3 PUSH Ee1+4 PUSH De1+5 PUSH Ce1+6 PUSH B
e1+7 ADDe1+8 MULe1+9 ADDe1+10 SUBe1+11 DIVe1+12 DIVe1+13 POP Ae1+14 HALT
Não há grande vantagem em relação a anterior
II - INTRODUÇÃO
II - INTRODUÇÃO
•Tabela Ascii
II - INTRODUÇÃO
II - INTRODUÇÃO