Please enable JavaScript.
Coggle requires JavaScript to display documents.
Evolução dos Computadores (EDVAC (Eletronic Discrete Variable Computer) …
Evolução dos Computadores
EDVAC
(Eletronic Discrete Variable Computer)
(Computador Primeira Geração)
Criador por John Von Neumann
Seguia a lógica de programa armazenado (dados e instruções na mesma memória) (possibilitava que o programa altera-se suas próprias instruções)
Memória principal com a capacidade de 1024 palavras e a palavra tinha o tamanho de 44 bits
Memória secundária de 20K magnética
Representação interna em binário
Circuitos seriais
Componentes
Memória Principal
Unidade Central de Processamento (Unidade Lógica Aritmética + Unidade de Controle de Programa)
Memória Secundária
Leitora de Cartões
Teletipo (Espécie de Teclado)
Impressora e Perfuradora de Cartões
Uma instrução tinha o seguinte formato:
4 grupos de 10 bits com os endereços de memória
4 bits para o código de operação
Problemas
Muitos acessos a memória (o que deixa o tempo de execução lento, com a adição que o tempo de acesso a memória é grande comparado a UCP), o que gerou o Gargalo de Von Neumann
Pelo fato de os grupos de endereço de memória serem grandes, exigiam endereços de memória grandes e esquemas especiais de organização de informações
IAS
Sucessora do EDVAC
Também feita por Neumann
Cada instrução tinha um endereço de memória e um código de operação
Componentes
Unidade de Processamento Central
Memória Principal (4096 palavras) (as palavras tinha 40 bits cada)
Unidade de Entrada e Saída
Unidade de Controle
Memória Principal
Registrador de Dados - Recebe ou fornece dados da memória
Registrador de Endereços - Armazena o endereço que apontará para posições na memória
Registrador Multiplicador - Quociente = Armazenamento Temporário de Operandos
Registrador IBR - Armazena a instrução que será executada mais tarde
Acumulador
Contador de Programa
Estreia do Acumulador
O problema de muito acesso a memória foi significantemente reduzido
As Instruções na Memória eram colocadas de modo sequencial
Classificação de Arquiteturas seguindo a quantidade de endereços
Arquitetura de 4 endereços
OP
E1
E2
E3
E4
Onde:
Op era o código de operação
E1 e E2 indicavam os endereços dos operandos
E3 sinalizava a localização onde deve ser guardado o resultado
E4 apontava para a próxima instrução
Esse tipo de arquitetura não tinha necessidade de instruções desvio explícito (pois a endereço da próxima instrução já estava inserida na instrução)
Permitia uma manipulação de dados e uma operação de desvio em uma única instrução
Consome muita memória
Arquitetura de 3 endereços
OP
E1
E2
E3
Onde:
OP é o código de operação
E1 e E2 indicam a localização dos operandos
E3 é onde o resultado deve ser colocado
Para localizar a próxima instrução a ser executada foi criado o PC (Contador de Programa)
Houve a vantagem de diminuição nos acessos a memória e no tamanho da instrução, o que aumentou a performance (porém, ainda era considerado muito memória)
Porém, agora é necessário instruções explícitas de desvio, como JUMP e BRANCH
Arquitetura de 2 endereços
OP
E1
E2
Onde:
OP é o código de operação
E1 e E2 são a localização dos operandos e E1 também irá ser a localização do resultado
Com isso, se diminui ainda mais a instrução, melhorando a performance e acessos a memória
Porém, o primeiro operando acaba se perdendo, pois é substituído pelo valor do resultado, isso foi resolvido com a criação de instruções de movimentação de dados, que permitiam copiar/mover os operandos de uma posição para outra
Arquiteturas de 1 endereço
OP
E1
Onde
Op é o código
E1 é a localização de um dos operandos
A localização do outro operando agora ficava num registrador especial, o Acumulador
Como consequência as instruções de movimentação de dados tiveram que ser divididas em 2, subdivididas de acordo ao sentindo da tranferência
Arquiteturas de 0 endereços
OP
Como não existe localização de nada na memória, uma solução é colocar os operandos em uma região específica da memória, com determinado mecanismo de acesso
Uma das soluções é usando pilhas, onde os operando são retirados sempre do topo da pilha e o resultado é colocado no topo
Para facilitar as instruções nessa arquitetura, se usa a notação polonesa reversa, onde o símbolo da operação é escrito após os dois operando (Tipo: AB+ em vez de A+B, saca?)
Em compensação, esse caralho é muito rápido!
Porém, não é tão difundido assim quantas as outras arquiteturas por não apresentarem vantagem tão marcantes
O que se tinha antes:
Os programas e os dados eram separados
O armazenamento de programas e dados eram cansativos pra caralho!
Tinha o ENIAC (Era baseado em valores decimais, e era todo em válvulas, porém era bastante rápido para a época)
Principais avanços na computação
Calculadora
1642
Pascal
Fazia adição e Subtração
Maquina Diferencial
1827
Babbage
Fazia avaliação polinomial por diferenças finitas
Z3
1941
Zuse
Computador de Propósitos Gerais
Harward Mark I
1944
Aiken
Computador de Propósitos Gerais
Calculadora
1671
Leibtniz
Fazia todas as operações básicas
Máquina Analítica
1941
Babbage
Computador de Propósitos Gerais