A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Organização e Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Organização e Arquitetura de Computadores"— Transcrição da apresentação:

1 Organização e Arquitetura de Computadores
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

2 Resultado: informações
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 D a d o s Processamento Resultado: informações Varia tecnologicamente (evolui) Velocidade Telecomunicação

3 Introdução Estrutura do sistema Hardware

4 Organização de computadores:
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

5 Introdução

6 Histórico e Evolução Gerações dos computadores
1ª Geração (1940 a 1952) Linguagem de máquina válvula Cartão perfurado Eniac Memória de atraso de mercúrio

7 Gerações dos computadores 2ª Geração (1952 a 1964)
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 Unidade de fita magnética

8 Gerações dos computadores 3ª Geração (1964 a 1971)
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

9 Gerações dos computadores 4ª Geração (1971 a 1981)
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” Disco flexível de 3.1/2”

10 Gerações dos computadores 5ª Geração (1981........)
Histórico e Evolução Gerações dos computadores 5ª Geração ( ) Inteligência Artificial; Linguagem Natural Altíssima velocidade de processamento. CPU - Circuito integrado da Larga escala Notebook com a mesma capacidade dos desktop Microcomputador integrado com processamento paralelo Comparativo atual

11 Software 1ª Geração Linguagem de máquina
Histórico e Evoluçã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.

12 Linguagens de Programação
Histórico e Evoluçã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.

13 Linguagens de Programação
Histórico e Evoluçã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).

14 Linguagens de Programação
Histórico e Evoluçã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.

15 Proximidade entre a linguagem e a máquina.
Histórico e Evolução Linguagens de Programação Proximidade entre a linguagem e a máquina.

16 Relação entre o usuário e o computador através da linguagem.
Histórico e Evolução Linguagens de Programação Relação entre o usuário e o computador através da linguagem.

17 Princípios Básicos 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.

18 Unidade Central de Processamento (UCP ou CPU) ou processador
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çõ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 Operações Lógicas Operações aritméticas

19 Elementos Funcionais Básicos Blocos Convencionais:
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: Registradores Contadores Multiplexadores Seletores Decodificadores Somadores Portas lógicas Memória Unidades Operacionais Unidades de controle Dispositivos de E/S CPU

20 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

21 CPU Memória Unidade Operacional Controle Entrada e Saída Memória
Princípios Básicos Elementos Funcionais Básicos Memória CPU Controle Unidade Operacional Entrada e Saída Memória Formada por elementos de armazenamento

22 Formada por elementos de armazenamento Palavra: divisão da memória
Princípios Básicos 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

23 RDM(in) READ REM WRITE RDM(out) Sinais de Controle
Princípios Básicos Elementos Funcionais Básicos Memória Registrador de Dados da Memória (Write) RDM(in) READ REM Registrador de Endereço da Memória Sinais de Controle WRITE RDM(out) Registrador de Dados da Memória (Read)

24 Princípios Básicos 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.

25 U L A Unidade Lógica e Aritmética Operandos Overflow Sinal
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. U L A Operandos Controle Código de Condição Resultados Overflow Sinal Carry Zero

26 Comprimento em bits dos operandos Número e tipo de operações
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

27 Unidade de Controle Gerenciador do fluxo de dados;
Princípios Básicos 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 Carga do registrador Seleção do modo de entrada de um dado componente Seleção de uma operação na ULA Habilitação de um circuito lógico

28 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.

29 Implementação da Lógica Sequencial
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;

30 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 Longas palavras

31 Sinais de controle para a unidade operacional
Princípios Básicos Elementos 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

32 Dependem da arquitetura e da organização da máquina:
Princípios Básicos Elementos 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.

33 característica: comprimento em bits
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

34 Conjunto de Instruções e Modo de Endereçamento
Princípios Básicos 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

35 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.

36 Ciclo de busca – decodificação – execução de instruções
Princípios Básicos 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).

37 Execução: Depende de qual instrução a ser executada.
Princípios Básicos 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. 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

38 Programação de um processador
Princípios Básicos 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:

39 Devido à dificuldade do trabalho com esta linguagem foram criados:
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.

40 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 ( ). Isto caracteriza a possibilidade de mudança das próprias instruções. 

41 Representação interna em binário.
Arquitetura de Von Neumann e Componentes 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.

42 Arquitetura de Von Neumann e Componentes
...Arquitetura do EDVAC.

43 Antes da execução do programa
Arquitetura de Von Neumann e Componentes ...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

44 Exemplo de Instrução Aritmética. A1 A2 A3 A4 OP
Arquitetura de Von Neumann e Componentes ...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.

45 Exemplo de Instrução Condicional A1 A2 A3 A4 C
Arquitetura de Von Neumann e Componentes ...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. 

46 Instrução de transferência de memória principal par secundaria.
Arquitetura de Von Neumann e Componentes ...Arquitetura do EDVAC. Instrução de transferência de memória principal par secundaria. A1 m,n A3 A4 OP Significado: Se m=1 Transfira para o condutor n a sequência de palavras na memória principal nas posições A1, A1+1, A ,A3. Se m=2 Transfira do condutor n a sequência de palavras para as posições A1, A1+1, A ,A3. na memória principal. A4 endereço da próxima instrução. Este computador ficou operacional em 1951. m – modificador de operação n – endereço do condutor

47 Principais Inconvenientes
Arquitetura de Von Neumann e Componentes ...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.

48 Modelo de von Neumann: O computador IAS.
Arquitetura de Von Neumann e Componentes 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 um endereço

49 MQ–Registrador Multiplica-dor quociente
Arquitetura de Von Neumann e Componentes ....O computador IAS 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ço IR–registra a instrução exe-cutada imediatamente. Estrutura do IAS

50 Binário, ponto fixo e complemento 2
Arquitetura de Von Neumann e Componentes ....O computador IAS Formato dos Dados Binário, ponto fixo e complemento 2 1 39 primeiro bit é o de sinal o ponto está implícito entre 0 e 1  Formato das instruções operação endereço 7 8 19 20 27 28 39 há alterações em relação ao EDVAC Registradores pré-definidos na UCP Armazenamento sequencial do programa.

51 A=((B+C)*D+E-F)/(G*H)
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 E2 – fonte E3 – destino E4 – próxima inst. e1 ADD B C A e2 e2 MUL A D A e3 e3 ADD A E A e4 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

52 A=((B+C)*D+E-F)/(G*H)
Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H) 3 endereços OP E1 E2 E3 E1 – fonte E2 – fonte E3 – destino PC – criado para localizar a próxima instrução Jump – indica salto e 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 Reduz o tamanho da instrução mas per-de-se um grau de liberdade

53 A=((B+C)*D+E-F)/(G*H)
Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H) 2 endereços OP E1 E2 E1 – fonte/destino E2 – fonte MOV – movimento de memória 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 Evita-se a repetição do destino.

54 A=((B+C)*D+E-F)/(G*H)
Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H) 1 endereços OP E1 E1 – 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 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 Economia de acesso à memória

55 A=((B+C)*D+E-F)/(G*H)
Arquiteturas 4, 3, 2, 1 e 0 A=((B+C)*D+E-F)/(G*H) 0 endereços OP 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 E1 – memória 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 Pilha Equação escrita em notação polonesa reversa. Equação fica: HGFEDCB+*+-// PUSH – colocar no topo da pilha POP – enviar do topo da pilha para a memória Não há grande vantagem em relação a anterior

56 Tabela Ascii

57 O fim....O fim


Carregar ppt "Organização e Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google