330 likes | 458 Views
Jacquard / Babbage. Impressora Perf. cartões. ALU. Memória. Cartões de operação. Cartões variáveis. Programa. Jacquard / Babbage. Programa e dados armazenados separadamente; Programa - seqüência de cartões perfurados; Cartões especificam as variáveis envolvidas na operação. Card
E N D
Jacquard / Babbage Impressora Perf. cartões ALU Memória Cartões de operação Cartões variáveis Programa
Jacquard / Babbage • Programa e dados armazenados separadamente; • Programa - seqüência de cartões perfurados; • Cartões especificam as variáveis envolvidas na operação.
Card reader Printer and card punch Multiplier Divider And Square rooler Function Tables A1 A2 A30 Accumulators Program Lines Master programmer unit Estrutura do ENIAC
Unidade de memória Unidade de entrada Unidade Aritmética e lógica Unidade de saída Unidade de controle CPU (ALU, Registradores e Controle) Memória Entrada e Saída (E/S) Barramentos do Sistema Barramento de Dados O Modelo de von Neumann O Modelo de Barramento do Sistema Barramento de Endereços Barramento de Controle
Unidades de memória secundária Unidade Central de processamento Memória principal Unidade Aritmética e Lógica Console (tty) Unidade de Controle Leitora de cartões Impressora e perfuradora de cartões Equipamentos de entrada e saída Arquitetura de um computador de primeira geração
Arquitetura de um computador de primeira geração Unidades de memória secundária Unidade Central de processamento Memória principal Unidade Aritmética e Lógica Console (tty) Unidade de Controle Leitora de cartões Impressora e perfuradora de cartões Equipamentos de entrada e saída
AC = 0 C0(ADD) Circuitos de Aritmética e lógica C1(AND) C2(COMP) Memória principal M C3(READ) AC C12 C4(WRITE) C5 C6 R D M C7 C8 C11 PC C9 RI R E M C10 C0 Unidade de controle C1 AC = 0 C12 Estrutura de uma CPU simples
Sinais de controle da CPU simples Sinal de controle Operação controlada AC AC + RDM AC AC ^ RDM AC ~AC (complemento) RDM M[REM] (READ M) M[REM] RDM (WRITE M) RDM AC AC RDM REM RDM(ADR) PC RDM (ADR) PC PC + 1 REM PC RI RDM (OP) RIGHT-SHIFT AC C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12
Estrutura de uma CPU extendida C17 C20 C21 V AC = 0 AC < 0 C26 Flags C28 C27 COUNT = (n-2) C0 Circuitos de aritmética e lógica C22 C1 COUNT C25 C2 C23 MQ(n-1) C14 C12 AC MQ C13 Memória principal M C3 C16 C4 C15 C18 C5 C19 C6 R D M C11 C7 C8 RI R E M PC C9 C24 C10 C0 AC=0 Unidade de controle microprogramada AC<0 C1 MQ(n-1) . . . COUNT = (n-2) V C28
Sinais de controle da CPU estendida Sinal de controle Operação controlada AC AC + RDM AC AC ^ RDM AC AC RDM M[REM] (READ M) M[REM] RDM (WRITE M) RDM AC AC RDM REM RDM (ADR) PC RDM (ADR) PC PC + 1 REM PC RI RDM (OP) RIGHT-SHIFT AC LEFT-SHIFT AC RIGTH-SHIFT (AC, MQ) LEFT-SHIFT (AC, MQ) AC 0 AC(0) AC(0) v V MQ RDM RDM MQ MQ(n-1) 1 MQ(n-1) 0 COUNT COUNT + 1 AC AC – RDM PC RI COUNT 0 V 0 V 1 FLAGS 0 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28
Máquina de John von Neumann • Programa e dados são armazenados juntos na memória principal; • O programa é executado seqüencialmente; • A memória é endereçável.
Instruções e dados armazenados na memória indistintamente. Uma palavra escolhida aleatoriamente na memória não pode ser identificada como uma instrução ou um palavra de dado. O significado de uma palavra é determinado pela maneira como o processador vai interpreta-la.
Modelo de von Neumann Acumulador - registrador que armazena o primeiro operando da instrução; Instruções especificam apenas o segundo operando. O resultado é armazenado no acumulador.
Memória RDM - registrador de dados da memória REM - registrador de endereços da memória barramento de R Memória endereços E M R D M Decodificador Barramento de dados
Acesso a memória • O Registrador de Endereços da Memória (REM) armazena o endereço da palavra de memória durante um acesso (leitura ou escrita); • O Registrador de Dados da Memória (RDM) armazena o conteúdo da palavra de memória lida em uma operação de leitura ou que será escrita na memória; • O endereço é decodificado para localizar a palavra a ser acessada.
Palavra de memória • O tamanho do RDM determinará a quantidade de bits que poderá ser transferida em um único acesso a memória - o tamanho da palavra de memória; • O tamanho do REM determinará o tamanho do espaço de endereçamento da memória, ou seja, a quantidade de palavras que poderão ser endereçadas; • O RDM determinará a largura do barramento de dados; • O REM determinará a largura do barramento de endereços.
Modelo de von Neumann Quantidade de acesso a memória é muito grande: necessita acessar a memória para buscar a instrução e operandos e armazenar resultados. Tempo de acesso à memória é muito grande decodificação do endereço e transferência do dado.
Utilização de registradores de uso geral: • reduz a quantidade de acessos à memória principal; • armazenar dados - resultados de operações, endereços e operandos de instrução que estão sendo utilizados várias vezes (resolver uma expressão; variável de controle de uma estrutura “for”); • acesso mais rápido ao dado - os registradores estão contidos dentro da UCP;
Unidade de Controle • Responsável por gerar os sinais de controle necessários para a busca e execução das instruções, além de coordenar outras unidades como memória e dispositivos de entrada e saída de dados.
Unidade de Controle • Síncrona ou Assíncrona Assíncrona: as operações são executadas independentemente. Ao término de uma, começa a próxima. Síncrona: existe um circuito oscilador responsável por gerar uma referência de tempo para realização das operações - CLOCK.
Organização da Unidade de Controle • Por circuito (ou lógica fixa); • Microprogramada • Por circuito: existem circuitos específicos para execução das operações. • Microprogramada: para cada instrução existe um microprograma.
Exercícios • Quais os princípios da máquina de von Neumann ? • Compare a máquina de von Neumann com as máquinas anteriores ? • Quais os componentes da Unidade Central de Processamento (UCP) ? • Quais as funções da unidade de controle ? • As máquinas que possuem clock são ditas:.... • Qual a função do clock ? • O que é um registrador ? • De que são construídos registradores ? • Qual a função dos registradores na UCP ? • Quais as funções dos registradores RI e CI ? • Quais as funções dos registradores RDM e REM ?
Linguagem de Máquina • Conjunto de código binários que a unidade de controle é capaz de decodificar e executar; • É formada pela conjunto de instruções da máquina; • É específica de cada máquina (ou família de máquinas).
Linguagem de Montagem (Assembly) • Associa símbolos aos códigos binários; • Cada símbolo representa uma instrução (ou pseudo-instrução); • Símbolo representa a operação associada: ADD - adição; SUB - subtração ... • São mnemônicos; • É específica da máquina.
Montador (Assembler) • Responsável por gerar um programa em linguagem de máquina a partir de um programa escrito em linguagem de montagem; Símbolos instruções de máquina ADD M 00110000001100
Linguagens de alto-nível • PASCAL, C, FORTRAN, Algol, Visual AGE, Small Talk, Java, Modula, ADA ... • Possuem construções mais complexas - while, for, repeat ... • Programas independentes da máquina; • Possuem uma estrutura bem definida.
Compilador • Traduzir um programa escrito em uma linguagem de alto nível na linguagem da máquina alvo (linguagem de máquina); • Verificar se os comandos estão corretamente construídos; se pertencem a estrutura da linguagem; gerar instruções de máquina; • Um comando em uma linguagem de A-N pode gerar várias instruções de máquina - for i := 1 to 200 do
Interpretador • Interpreta (analisa) os comandos de um programa (um de cada vez) e executa as operações especificadas; • BASIC
Formato das Instruções • Máquinas com registradores de uso geral, os operandos e resultados das instruções podem residir em registradores; • A instrução especifica o(s) registrador(es) que contém os operandos; • Instruções mais curtas; • Menos acessos a memória.
Formato das instruções (cont.) • Máquinas de um endereço: a instrução especifica apenas o segundo operando; • Máquinas de dois endereços: a instrução especifica os dois operandos e o resultado é armazenado no lugar do primeiro operando; • Máquinas de três endereços: a instrução especifica os operandos e o resultado da operação.
Modos de endereçamento • Facilitar a atividade de programação; • Reduzir a quantidade bits (tamanho) da instrução.
Modos de endereçamento (cont.) • Modo implícito: a instrução especifica o operando; • Modo de endereçamento imediato: o operando está contido na própria instrução; • Modo de endereçamento direto: o campo de endereço da instrução especifica o endereço do operando na memória; • Modo de endereçamento indireto: o campo de endereço da instrução especifica a palavra de memória que contém o endereço do operando na memória;
Modos de endereçamento (cont.) • Modo relativo: o campo de endereço da instrução especifica o endereço do operando na memória em relação ao CI; • Modo registrador base (ou base+deslocamento): o campo de endereço contém o endereço do operando em relação a um endereço base; • Modo indexado: existe um registrador que é utilizado como índice para cálculo do endereço efetivo (físico).