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

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

Instruções.

Apresentações semelhantes


Apresentação em tema: "Instruções."— Transcrição da apresentação:

1 Instruções

2 Instruções Para que um programa possa ser executado por um computador, ele precisa ser constituído de uma série de instruções de máquina e estar armazenado em células sucessivas na memória principal. A UCP é responsável pela execução das instruções que estão na memória.

3 Instrução de máquina É uma operação básica que o processador consegue interpretar e executar. Representação elementar que gera uma ação em um computador. Determina o que o computador deve fazer naquele instante. Um programa é composto por muitas instruções, que são executadas de forma ordenada pelo processador. Exemplo de instrução no processor MIPS. No caso do MIPS, o opcode contem 6 bits.

4 Tipos de instruções Matemáticas e lógicas Movimentação de dados
Soma, subtração, and, or... Movimentação de dados registrador – registrador; registrador – memória; memória – registrador. Entrada/Saída Controle Instruções de salto

5 Instruções Linguagem Assembly - conjunto de símbolos que representam as instruções de máquina de forma mais amigável para o ser humano. Assembler - é quem faz a tradução do código Assembly para a linguagem de máquina.

6 Executando programas Quem executa um programa é o hardware e o que ele espera encontrar é um programa em linguagem de máquina (uma sequência de instruções de máquina em código binário). A linguagem de máquina é composta de códigos binários, representando instruções, endereços e dados e está totalmente vinculada ao conjunto ("set") de instruções da máquina.

7 Execução de programas... Um ser humano usa seu conhecimento e inteligência para traduzir uma tarefa complexa (tal como, por exemplo, a tarefa de buscar uma pasta num arquivo) numa série de passos elementares (identificar o móvel e gaveta onde está a pasta, andar até o móvel, abrir a gaveta, encontrar a pasta, retirar a pasta e fechar a gaveta). Para o computador, uma instrução precisa ser detalhada, dividida em pequenas etapas de operações, que são dependentes do conjunto de instruções do computador e individualmente executáveis.

8 Execução de programas Fazendo um paralelo com linguagens de alto nível, o programa elaborado pelo programador (o código-fonte, composto de instruções complexas) precisa ser "traduzido" em pequenas operações elementares (primitivas) executáveis pelo hardware Cada uma das instruções tem um código binário associado, que é o código da operação.

9 Formato geral de uma instrução
Formato de instruções: Código de operação (opcode) - é o identificador da instrução a ser executada; Operandos - dados que serão manipulados pela instrução. Estrutura de uma instrução add $t0, $s1, $s2

10 Formato geral de uma instrução
Código da operação ou OPCODE Identifica a operação a ser realizada pelo processador. É o campo da instrução cuja valor binário identifica (é o código binário) da operação a ser realizada. Este código é a entrada no decodificador de instruções na unidade de controle. Cada instrução deverá ter um código único que a identifique.

11 Formato geral de uma instrução
Operandos São os campos da instrução cujo valor binário sinaliza a localização do dado (ou é o próprio dado) que será manipulado (processado) pela instrução durante a operação. Em geral, um operando identifica o endereço de memória onde está contido o dado que será manipulado, ou pode conter o endereço onde o resultado da operação será armazenado. Finalmente, um operando pode também indicar um Registrador (que conterá o dado propriamente dito ou um endereço de memória onde está armazenado o dado). Os operandos fornecem os dados da instrução. Obs.: Existem instruções que não tem operando. Ex.: Instrução HALT (PARE).

12 Conjunto de Instruções
Quando se projeta um hardware, define-se o seu conjunto ("set") de instruções - o conjunto de instruções elementares que o hardware é capaz de executar. O projeto de um processador é centrado no seu conjunto (“set") de instruções. ISA = instruction set architeture.

13 Conjunto de Instruções
ISA (Instruction Set Architecture) - Conjunto de instruções que um processador é capaz de executar. Dentro de um ISA podem existir vários formatos de instrução.

14 Conjunto de Instruções
Exemplos de ISAs

15 Conjunto de instruções...
Funcionalmente, um processador precisa possuir instruções para: operações matemáticas aritméticas: +, - , × , ÷ ... lógicas: and, or, xor, ... de complemento de deslocamento Operações de movimentação de dados (memória <--> UCP, reg <--> reg) Operações de E/S (leitura e escrita) Operações de controle (desvio de seqüência de execução, parada)

16 ISA – Arquitetura de instruções

17 ISA – Arquitetura de instruções
Componentes do nível Conjunto de instruções Conjunto de registradores Tipos de dados nativos Modos de endereçamento de memória Esquemas de E/S

18 ISA – Arquitetura de instruções
Exemplo: IAS (década de 50)

19 ISA – Arquitetura de instruções
Exemplo: IAS Os registradores AC e MQ são utilizados em todas as operações aritméticas. Ac registra os bits mais significativos e MQ os menos significativos.

20 ISA – Arquitetura de instruções
Exemplo: Conjunto de instruções do IAS

21 ISA – Arquitetura de instruções
Exemplo: Conjunto de instruções do IAS

22 ISA – Arquitetura de instruções
Exemplo: Conjunto de instruções do IAS

23 ISA – Arquitetura de instruções
Tipos de arquiteturas comuns

24 ISA – Arquitetura de instruções
Tipos de arquiteturas comuns

25 ISA – Arquitetura de instruções
Tipos de arquiteturas comuns : Operação: c = a + b

26 Conjunto de instruções
As estratégias de implementação de processadores são: CISC - Complex Instruction Set Computer. RISC - Reduced Instruction Set Computer.

27 Conjunto de instruções
CISC (Complex Instruction Set Computer) Possui como característica um grande número de instruções. Ideia: quanto mais instruções fossem implementas no computador, melhor seria o desempenho. Porém, a maior parte das instruções utilizadas são simples e quase sempre as mesmas

28 Conjunto de instruções
RISC (Reduced Instruction Set Computer) Possui número reduzido de instruções São mais simples do que as CISC Instruções mais complexas são implementadas pelo software. Tempo de execução menor que a CISC, ou seja, as instruções RISC são executadas mais rápidas. Entretanto, um programa em RISC utiliza mais instruções para fazer a mesma coisa. Mesmo assim, o RISC é mais rápido.

29 Conjunto de instruções
CISC - Complex Instruction Set Computer – Um conjunto de instruções maior e mais complexo, implicando num processador mais complexo, com ciclo de processamento mais lento; Exemplo: PC, Macintosh; RISC - Reduced Instruction Set Computer – um conjunto de instruções menor e mais simples, implicando num processador mais simples, com ciclo de processamento rápido. Exemplo: Power PC, Alpha, Sparc;

30 Conjunto de instruções
RISC x CISC Tendência atual: arquiteturas híbridas.

31 Lembre-se... Obs.: adotaremos o termo instrução para as instruções de máquina ou em linguagem Assembly e comando para linguagens de alto nível. Há hoje uma crescente tendência a se utilizar um conjunto de instruções reduzido, de vez que o compiladores tendem a usar em geral apenas uma pequena quantidade de instruções. Há também vantagens na implementação do hardware - maior simplicidade, menor tempo de ciclo de instrução).

32 Finalmente, para fazer um processador você apenas precisa...
a) Definir o conjunto de instruções (todas as possíveis instruções que o processador poderá executar) · definir formato e tamanho das instruções · definir as operações elementares b) Projetar os componentes do processador (UAL, UC, registradores, barramentos, ...)

33 Projeto do Processador
Duas estratégias são possíveis na construção do decodificador de instruções da UC: wired logic (as instruções são todas implementadas em circuito) microcódigo (apenas um grupo básico de instruções são implementadas em circuitos; as demais são "montadas" através de microprogramas que usam as instruções básicas.

34 Execução das instruções Monociclo
Busca Le Reg. Mem. ULA Esc. Reg Quem controla a entrada da próxima instrução é a UNIDADE de CONTROLE. Busca na memória Busca do operando na memória 1 único ciclo de clock. Busca: 2ns LeReg: 1ns ULA: 2ns Mem: 2ns EscReg: 1ns Portanto, tempo de ciclo de 8ns Tempo total: 24ns

35 Execução das instruções Multiciclo
Busca Le Reg. Mem. ULA Esc. Reg Tempo total: 30 ns Vantagem: instruções menores utilizam menos ciclos que as instruções maiores. Nesse momento não ocorre o Pipeline. Os estágios funcionam sequencialmente

36 Instruções Pipeline: Divisão das instruções em pedaços que são executados separadamente; Cada estágio de um pipeline executa uma parte de cada instrução; Possibilidade de execução de várias instruções simultaneamente, em estágios diferentes.

37 Pipeline é natural Exemplo de Lavanderia
Tem-se os volumes A, B, C e D de roupas para lavar, secar e passar A lavadora leva 30 minutos A secadora leva 40 minutos A passadeira leva 20 minutos A B C D

38 Lavanderia Sequencial
6 7 8 9 10 11 Meia noite Tempo 30 40 20 30 40 20 30 40 20 30 40 20 T a s k O r d e A B A lavadora Sequencial Multiciclo C D A lavanderia sequencial leva 6 horas para 4 volumes

39 Lavanderia em Pipeline
6 7 8 9 10 11 Meia noite Tempo 30 40 20 o r d e m A B C D Lavanderia em Pipeline leva 3.5 horas

40 Execução das instruções - Pipeline
Tempo total: 14ns Os estágios funcionam paralelamente

41 Paralelismo O processador perde muito tempo aguardando os dados da memória. Para melhorar o desempenho do sistema, utiliza-se o paralelismo. Pode ocorrer em dois níveis Nível de instrução – pipeline Nível de hardware – mais de um processador

42 Paralelismo Multiprocessador Multicomputador
Processadores interligados que executam instruções do mesmo programa e que compartilham a mesma memória. Multicomputador O mesmo que o anterior, porém, além da memória compartilhada, possui também uma memória própria. Trabalha como se fosse um outro computador, portanto, melhorando o desempenho.

43 Paralelismo Multiprocessador Multicomputador


Carregar ppt "Instruções."

Apresentações semelhantes


Anúncios Google