Dos sistemas digitais aos computadores e aos Ps

Slides:



Advertisements
Apresentações semelhantes
UNIDADE 1: INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Advertisements

Contadores e Registradores
Organização e Arquitetura de Computadores I Introdução
Capitulo 6: Entrada e Saída
Organização de Computadores I
Arquitetura de Computadores
Arquitetura de Computadores
O Sistema de Computação
HARDWARE.
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Técnicas para operações E/S
Organização de computadores Professora Marcela Santos Aula 7 – A arquitetura de von Neumann.
Autor: Salvador P. Gimenez
Arquitetura de Computadores
Dispositivos lógicos programáveis (DLP)
Metodologia de desenvolvi-mento de aplicações
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução à arquitectura de microprocessadores - 1 Introdução à arquitectura de microprocessadores.
Software Básico Silvio Fernandes
William Stallings Arquitetura e Organização de Computadores 8a Edição
Arquitetura de Sistemas Operacionais
CISC e RISC.
Introdução à Informática
Sistemas Operacionais
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Sistemas Digitais Microprocessados
Organização da Memória Principal
Tratamento de Ficheiros
Estrutura do computador
Programação Baseada em Objectos Desenho de TAD
Arquitetura de Computadores
INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Arquitetura de Computadores
Sistemas Operacionais
Introdução à Programação
TECNOLOGIAS DE INFORMAÇÃO
Arquitectura de Computadores II
PROGRAMAÇÃO I UNIDADE 1.
Funcionamento básico de um computador
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Arquitetura de computadores
Sistemas Operacionais
UNIDADE 1: INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Arquitetura de computadores
História dos computadores e da programação
Referências de História dos Computadores
Organização e Arquitetura de Computadores
Informática nas Organizações
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
TIC - Conceitos Introdutórios

Unidade Central De Processamento: Processador
Evolução e Desempenho de Computadores
Sistemas Operacionais
Organização e Arquitetura de Computadores
Os engenhos calculadores
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Introdução à INFORMÁTICA
PIC Peripheral Interface Controller
Organização e Arquitetura de Computadores
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
UNIDADE LÓGICA ARITMÉTICA (ULA)
Introdução à Computação Componentes Básicos dos Computadores
Componentes básicos de um computador
Tecnologias da Informação e Comunicação
Introdução à Programação
Arquitetura de computadores
Transcrição da apresentação:

Dos sistemas digitais aos computadores e aos Ps Organização: Arquitecturas pré- von Neumann O paradigma do programa residente em memória Sobre o uso da memória Arquitectura básica da unidade de processamento central Etapas elementares na execução de uma instrução O impacto da microelectrónica Conceitos básicos sobre os microprocessadores de 8 bits

Arquitecturas pré von Neumann Computadores electro-mecânicos: Konrad Zuse (Z1 a Z3) Howard Aiken (Mark I) Computadores baseados em válvulas John Atanasoff e Clifford Berry (ABC) John P. Eckert e John W. Mauchly (ENIAC)

Arquitecturas pré von Neumann: O ENIAC Apresentado ao público em 1945, o ENIAC foi o primeiro computador electrónico (Electronic Numerical Integrator And Computer) As suas 18.000 válvulas permitiam-lhe executar 5.000 adições por segundo (mas o recorde de funcionamento ininterrupto foi de apenas 20 horas...)

O paradigma do programa residente em memória Uma das principais desvantagens do ENIAC consistia no facto de a programação do computador ser efectuada por recablagem da sua unidade de controlo Foi ainda durante o desenvolvimento do ENIAC que o conceito de programa residente em memória tomou forma, com base no célebre documento de John von Neumann, First Draft of a Report on the EDVAC (que compilava o trabalho de um grupo de 32 pessoas)

A “arquitectura de von Neumann” As principais características da arquitectura proposta no First Draft of a Report on the EDVAC são as seguintes: Usava o sistema binário para representar os dígitos Advogava o processamento em série, bit a bit Propunha que as operações a executar fossem armazenadas em memória, em vez de serem definidas pelo estabelecimento de ligações físicas

John von Neumann (cont.) Nas arquitecturas de von Neumann, O programa a executar é definido pelo conjunto de instruções suportadas pela unidade de processamento central, sendo a introdução do programa em memória e a saída de resultados asseguradas pela unidade de E/S A execução do programa tem lugar pela repetição de um ciclo com as seguintes etapas: i) leitura da instrução a executar, ii) obtenção dos operandos, iii) realização da operação e iv) armazenamento do resultado

O uso da memória e o von Neumann bottleneck

Ainda sobre o uso da memória Na apresentação anterior omitiram-se explicitamente vários pormenores: Como são gerados os endereços? Como é que é indicado à ALU qual a operação a realizar em cada instante? Como é que se indica aos vários registos quando devem carregar um novo conteúdo?

Ainda sobre o uso da memória (cont.) O CPU necessita por vezes de suspender temporariamente o “programa principal”, para executar um outro segmento de programa: Quando se efectua a chamada a uma “subrotina” Quando um evento exterior requer a “atenção” do CPU Após esta suspensão, a execução do programa principal deve ser retomada no mesmo ponto (o que obriga naturalmente a guardar esta informação...)

Ainda sobre o uso da memória (cont.) O programa principal só pode ser retomado no local onde foi suspenso se o endereço da instrução que iria ser executada a seguir for armazenado em memória (de leitura e escrita) À zona de memória que é usada para armazenar o endereço da instrução seguinte é dada a designação de stack (“pilha”)

Arquitectura básica da UPC Para facilitar a nossa abordagem, começaremos por considerar a arquitectura mínima que nos permite a execução de um programa residente em memória:

Arquitectura básica da UPC (cont.) Assumindo que se pretende apenas executar uma instrução que permita a carga de um operando em memória, deverá ser fácil concluir porque é que a arquitectura apresentada é de facto a mínima...

Etapas elementares na execução de uma instrução Instrução LD R1,#55H:

Etapas elementares (cont.) O diagrama de estados para a execução da instrução LD R1,#55H tem uma correspondência directa com o seguinte diagrama temporal:

O impacto da microelectrónica Na época posterior aos computadores baseados em válvulas electrónicas, os principais marcos tecnológicos foram os seguintes: 1947: O transístor (primeiro computador baseado em transístores: NCR 304, em 1957) 1958:O circuito integrado (primeiros computadores baseados em CI: IBM System 360, DEC PDP-8, em 1965) 1971: O microprocessador (primeiro computador baseado num microprocessador: Micral, em 1973)

O i4004: O primeiro microprocessador O Intel 4004 foi o primeiro microprocessador, tendo sido inventado por Ted Hoff (a quem tinha sido dado o encargo de projectar uma calculadora para uma firma Japonesa) Com 2.300 transístores, o i4004 baseava-se numa arquitectura de 4 bits e apresentava um custo unitário de 200 dólares (o i4004 não chegou no entanto a constituir o CPU de nenhum computador)

Conceitos básicos sobre Ps de 8 bits Apesar das arquitecturas de 32 e 64 bits serem hoje em dia comuns, os componentes de 8 bits continuarão a existir por tempo indeterminado, já que: Muitas aplicações (em particular em domínios com o controlo de máquinas, electrodomésticos, etc.) não obtêm benefícios de um maior número de bits Passar de 8 para 16 bits representa em princípio maior área de silício e maior número de pinos, logo maior custo, sendo que o baixo custo é fundamental para o sucesso

Conceitos básicos sobre Ps de 8 bits (cont.) Repare-se que a arquitectura apresentada abaixo, face à arquitectura mínima analisada, acrescenta dois blocos: o stack pointer e a ALU

Transferência interna de dados Repare-se que o bloco acumulador é necessário para nos permitir aplicar às entradas da ALU os dois operandos em simultâneo, uma vez que temos apenas um barramento interno de dados Pela mesma razão, é necessário um registo para armazenar temporariamente o resultado

Controlo de estado nas saídas dos registos A solução apresentada na transparência anterior requer que as saídas dos registos possam ser colocadas em terceiro estado, para garantir a inexistência de conflitos no acesso ao barramento

A comunicação com o exterior A unidade de processamento central comunica com o exterior através de três barramentos: Endereços, onde se especifica qual a posição (de memória ou E/S) a aceder Dados, pelo qual circula a informação de / para o CPU Controlo, que reúne as linhas que codificam o tipo de operações a executar (e.g. se o CPU pretende ler ou escrever na memória)

A memória revisitada: Subrotinas e interrupções Referimos já que a suspensão temporária do programa principal pode ocorrer em duas situações: Por chamada a uma subrotina Por ocorrência de um evento assíncrono com a execução do programa principal, que o interrompe para poder ter a “atenção” do CPU A sequência de acções que tem lugar é no entanto idêntica em ambos os casos e será agora analisada

Subrotinas e interrupções (cont.) A progressão na execução de um programa, temporariamente suspensa por uma das razões apontadas na transparência anterior, pode ser ilustrada como se apresenta à direita:

O uso da stack Assumindo que a stack cresce para baixo, o que nem sempre acontece, o seu uso começaria assim:

Conclusão Objectivo principal do capítulo: Efectuar a ponte entre as duas alternativas principais de projecto Hardware dedicado (com funções pré-definidas ou DLP) Código residente em memória Pistas para a continuação do estudo: Arquitectura de computadores (princípios gerais e evolução desde von Neumann) Impacto da tecnologia