Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Processador, Notas de estudo de Eletrônica

Funcionamento Comunicação

Tipologia: Notas de estudo

2013

Compartilhado em 20/05/2013

synty-x-12
synty-x-12 🇧🇷

5

(4)

47 documentos

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Organização e Arquitetura de Computadores
Carlos Augusto de S. Almeida
prof . c augusto almeida @gmail.com
Universidade Federal de Sergipe (UFS)
São Cristovão – Sergipe
Abril de 2012
Processador
Roteiro da Aula
2
Arquitetura de Von Neumann
3
(4) Unidade
Lógica e
Aritmética (ULA)
(5) Unidade de
Controle (UC)
Unidade Central de
Processamento (UCP)
(1) Unidade
de Entrada (3)
Unidade
de
Memória
(2) Unidade
de Saída
Os dados e as instruções são armazenados em uma memória única;
O conteúdo da memória é endereçado pela sua posição;
A execução das instruções ocorrem de modo sequencial;
As CPUs tb contam com uma pequena quantidade de memória, são os
registradores;
Os registradores estão no topo da Hierarquia de Memória;
Os registradores se dividem:
Reg. Visíveis ao Usuário;
Reg. de Controle e Estado;
Máquina Ligada Máquina Desligada
Execução de 1 Instrução
Processador (CPU)
Processador ou Unidade Central de Processamento (UCP)
É responsável direta ou indiretamente pela realização de qualquer operação
realizada por um computador:
Direta: pq realiza as operações internas;
Indireta: a CPU emite ordens para os demais componentes do computador
realizarem alguma tarefa.
Desde o momento que a máquina é ligada, a CPU executa instruções
continuamente (nunca para);
Essas instruções estão definidas em um programa;
Atividades mais básicas da CPU (o Ciclo de Instrução Básico):
(1) buscar a próx. instrução a ser executada; e
(2) executar a instrução;
retornar p/ (1)
4
Ciclo da Instrução
Enquanto estiver ligada a CPU:
1. Busca uma instrução na memória (ciclo de busca)
Busca a instrução em si;
Interpreta a operação a ser executada;
Busca os operandos (se houver).
2. Executa a instrução (ou ciclo de execução)
Executa efetivamente a instrução;
Guarda o resultado (se houver)
no local definido na instrução;
Reinicia o processo (voltar ao passo 1),
até o termino das instruções.
Ciclo de Instrução = ciclo de busca + ciclo de execução
O propósito da CPU é realizar operações sobre dados (processar
dados), mas para isso ela precisa realizar algumas operações de
controle para obter esses dados e depois guardar o resultado da operação. 5
Ciclo da Instrução
1. Cálculo do Endr.: determina o endr. da próx. instrução a ser executada;
2. Busca da Instr.: lê a instrução em seu local de memória para a CPU;
3. Decodificação da Op. da Instr.: determina o tipo de operação que será realizada;
4. Calc. do Endr. da Operando: determina o endr. do operando (se houver) na
memória, ou em um dispositivo de E/S;
6
Ciclo de Instrução (mais detalhado)
1
2
3 4 7*
5
6
8
Ciclo da Instrução
5. Busca do Operando: pega o operando da memória ou dispositivo E/S;
6. Operação sobre os Dados: realiza a operação efetivamente;
7. (o mesmo que 4)
8. Armazenamento do Operando: escreve o resultado da op. na memória ou disp. E/S.
7
Ciclo de Instrução (mais detalhado)
1
2
3 4 7*
5
6
8
Fluxo de Dados
Ter min ad o o ciclo de leitura, a UC (Unidade de Controle) examina o conteúdo do
Reg. de Instr uções (IR);
Caso o IR contenha um operando que usa endereçamento indireto, ainda é
necessário realizar um ciclo de busca indireto de leitura. 8
Ciclo de Instrução
Fluxo de dados do Ciclo de Busca, leitura de dados
1 2
3
4
6 5
7
8
9
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Processador e outras Notas de estudo em PDF para Eletrônica, somente na Docsity!

Organização e Arquitetura de Computadores

Carlos Augusto de S. Almeida

prof. c augusto almeida @gmail.com

Universidade Federal de Sergipe (UFS)

São Cristovão – Sergipe

Abril de 2012

Processador

Roteiro da Aula

2

Arquitetura de Von Neumann

3

(4) Unidade Lógica e Aritmética (ULA)

(5) Unidade de Controle (UC)

Unidade Central de Processamento (UCP)

(1) Unidade de Entrada (3) Unidade de Memória (2) Unidade de Saída

  • Os dados e as instruções são armazenados em uma memória única;
  • O conteúdo da memória é endereçado pela sua posição;
  • A execução das instruções ocorrem de modo sequencial;
  • As CPUs tb contam com uma pequena quantidade de memória, são os

registradores;

  • Os registradores estão no topo da Hierarquia de Memória;
  • Os registradores se dividem:
    • Reg. Visíveis ao Usuário;
    • Reg. de Controle e Estado;

Máquina Ligada (^) Execução de 1 Instrução Máquina Desligada

Processador (CPU)

  • Processador ou Unidade Central de Processamento (UCP)
  • É responsável direta ou indiretamente pela realização de qualquer operação

realizada por um computador:

  • Direta: pq realiza as operações internas;
  • Indireta: a CPU emite ordens para os demais componentes do computador realizarem alguma tarefa.
  • Desde o momento que a máquina é ligada, a CPU executa instruções

continuamente (nunca para);

  • Essas instruções estão definidas em um programa ;
  • Atividades mais básicas da CPU (o Ciclo de Instrução Básico): (1) buscar a próx. instrução a ser executada; e (2) executar a instrução; retornar p/ (1)

4

Ciclo da Instrução

  • Enquanto estiver ligada a CPU:

1. Busca uma instrução na memória (ciclo de busca)

  • Busca a instrução em si;
  • Interpreta a operação a ser executada;
  • Busca os operandos (se houver).

2. Executa a instrução (ou ciclo de execução)

  • Executa efetivamente a instrução;
  • Guarda o resultado (se houver) no local definido na instrução;
  • Reinicia o processo (voltar ao passo 1), até o termino das instruções.
  • Ciclo de Instrução = ciclo de busca + ciclo de execução
  • O propósito da CPU é realizar operações sobre dados (processar

dados), mas para isso ela precisa realizar algumas operações de

controle para obter esses dados e depois guardar o resultado da operação. 5

Ciclo da Instrução

  1. Cálculo do Endr.: determina o endr. da próx. instrução a ser executada;
  2. Busca da Instr.: lê a instrução em seu local de memória para a CPU;
  3. Decodificação da Op. da Instr.: determina o tipo de operação que será realizada;
  4. Calc. do Endr. da Operando: determina o endr. do operando (se houver) na memória, ou em um dispositivo de E/S; 6

Ciclo de Instrução (mais detalhado)

1

2

3 4 7*

5

6

8

Ciclo da Instrução

  1. Busca do Operando: pega o operando da memória ou dispositivo E/S;
  2. Operação sobre os Dados: realiza a operação efetivamente;
  3. (o mesmo que 4)
  4. Armazenamento do Operando: escreve o resultado da op. na memória ou disp. E/S.

Ciclo de Instrução (mais detalhado)

1

2

3 4 7*

5

6

8

Fluxo de Dados

  • Terminado o ciclo de leitura , a UC (Unidade de Controle) examina o conteúdo do Reg. de Instruções (IR);
  • Caso o IR contenha um operando que usa endereçamento indireto, ainda é necessário realizar um ciclo de busca indireto de leitura. (^8)

Ciclo de Instrução

Fluxo de dados do Ciclo de Busca, leitura de dados

1 2

3 4

6

5

8 7

9

Fluxo de Dados

  • O ciclo de execução pode assumir muitas formas; que depende da instrução de máquina contida na IR.
  • Esse ciclo pode envolver:
    • (1) reg. Ù reg. (2) leitura/escrita de memória; (3) E/S; (4) utilização de ULA.

9

Ciclo de Instrução

Fluxo de dados do Ciclo Indireto, leitura de dados

1

2

3 4

6

5

7

Executando Instruções

  • Considere o exemplo de uma CPU hipotética com:
    • Um único reg. de dados, o AC (acumulador);
    • O opcode das instruções é de 4-bits;
    • E os seguintes registradores:

10

Executando Instruções

  • Suponha a execução da operação em Assembler:
    • add mem(940h), mem(941h), mem(941h);
    • Essa operação, soma os conteúdos das palavras de memória 940 e 941, e guarda o resultado no endr. 941;
    • 940 contém 3h, e 941 = 2h
  • Formato da instrução: [ 4-bits opcode | 12-bits endr. de memória ] Formato de um núm. inteiro: [ 1-bit sinal | 15-bits magnitude ]
  • Considere que em ling. de máquina essa operação é convertida em

3 instruções, que começam no endr. de memória 300

  • endr. 300: 1 9 4 0 h 301: 5 9 4 1 h 302: 2 9 4 1 h ... 940: 0 0 0 3 h 941: 0 0 0 2 h
  • opcodes : 1h = carrega AC na memória 2h = armazena AC na memória 05h = somar valor da mem. ao AC 11

Executando Instruções

12

  • add mem(940h), mem(941h), mem(941h);
  • endr. 300: 1 9 4 0 h 1h opcode, 940h endr. de mem. 301: 5 9 4 1 h 302: 2 9 4 1 h ... 940: 0 0 0 3 h 941: 0 0 0 2 h
  • opcodes : 1h = carrega AC na memória 2h = armazena AC na memória 05h = somar valor da mem. ao AC
  1. [busca] PC (contador do programa) = 300, endr. da instrução a ser executada IR (registrador de instrução) <= 1940h, depois PC é incrementado, PC = 301 (obs.: processo simplificado)
  2. [instrução] IR = 1940h ( opcode diz para copiar mem(940h) => AC), AC <= 3h
  3. [busca] PC = 301, IR <= 5941h, PC é incrementado PC = 302
  4. [instrução] IR = 5941h ( opcode diz mem(941h) + AC => AC), AC <= 2h (mem) + 3h (AC anterior)
  5. [busca] PC = 302, IR <= 2941h, PC é incrementado PC = 303
  6. [instrução] IR = 2941h ( opcode diz para guardar AC na mem(941h)), mem(941h) <= 5h

Executando Instruções

13

Fig. 3.5: Stallings

Executando Instruções

14

  • add mem(940h), mem(941h), mem(941h);

Executando Instruções

  • add mem(940h), mem(941h), mem(941h);

Executando Instruções

  • add mem(940h), mem(941h), mem(941h);

Funções do Processador

  • UAL (ALU): Unidade Aritmética e Lógica
  • ACC e Reg. de dados;
  • Os componentes em destaque fazem parte da ALU. (^25)

RDM (MBR): R. Buffer de Memória; REM (MAR): R. Endr. da Memória;

UC: Unidade de Controle; RI (IR): R. Instruções;

CI (PC): Contador de Instruções;

Esquema baseado no Processador Intel 8080

Área Funcional de Processamento

Basicamente consiste de:

  • UAL (ou ALU): é o componente principal da área de processamento, o que efetivamente realiza as operações da máquina.
  • Registradores de Dados: usados,
    • como Parâmetros das operações;
    • para Armazenar dados;
    • ou para Guardar resultados de operações.
  • Barramento Interno:
    • Interliga os componentes do processador. Em conjunto tb é chamado de data path.

26

Funções do Processador

PSW

UAL (ou ALU)

  • Responsável pelas operações:
    • aritméticas: soma subtração multiplicação …
    • lógicas: AND OR XOR …
  • Uma ALU pode conter o mesmo componente repetidas vezes
    • Motivo: aumentar o paralelismo das operações
    • P.ex. realizar 4 somas simultaneamente, 2 comparações, …
  • Alguns fabricantes substituíram o nome ALU por:
    • Unid. de Cálculo (UC) ou Unid. de Execução (UE);
    • Na Intel a ALU é divida em:
      • IU: Integer Unit;
      • FPU: Floating Point Unit;
  • Principio básico: quanto menor for a ALU, mais rápida ela é. Equação de Einstein.

27

Funções do Processador :: Área Funcional de Processamento

PSW

Registradores de Dados

  • A ALU realiza operações apenas sobre dados contidos em reg., e o

resultado (se houver) tb só pode ser guardado em um reg.

  • Em geral, a largura de um reg. é = a largura da palavra

E a largura de reg. ponto flutuante = 2x a largura da palavra;

  • A partir do Intel 8086, o reg. ACC, como mostrado na Fig. deixou de existir.

Sendo substituído por reg. específicos;

  • Além dos reg. de dados, os reg. possuem vários outros, p.ex.:
    • PSW ( Program Status Word ), um reg. de controle usado nas operações aritméticas, onde cada um de seus bits possui uma finalidade específica: - sinal: contém o sinal resultante de uma op. aritmética; - overflow - zero - carry out - paridade

28

Funções do Processador :: Área Funcional de Processamento

PSW

Área Funcional de Controle

29

Funções do Processador

  • A área de controle é projetada para entender:
    • o que fazer;
    • como fazer;
    • quem irá fazer;
    • e quando deve ser feito.
  • A área de controle é responsável por:
    • busca da instrução da próx. instrução a ser executada;
    • interpretar a instrução ( fetch cycle , ciclo de busca da instrução)
    • geração dos sinais de controle apropriados para realizar a operação, - P.ex. solicitação de leitura de um endr. da memória principal.
  • Área Funcional de Controle = Cérebro Área de Processamento = Músculos.

Área Funcional de Controle

30

Funções do Processador

  • Componentes Básicos:
    • Unid. de Controle (UC);
    • Relógio (clock);
    • IR: Reg. de Instrução;
    • PC: Contador de Programa;
    • MAR: Reg. de Endr.
    • MBR: Reg. de Buffer de Memória;
    • Decodificador de Instrução.

Unidade de Controle

Funções do Processador :: Área Funcional de Controle

  • É o dispositivo mais complexo da CPU;
  • Possui toda a lógica necessária para realizar a movimentação de dados e de

instruções de fora para dentro da CPU, e vice-versa;

  • Os sinais de controle sempre são emitidos em intervalos de tempos

regulares, conforme o clock do processador;

  • As microoperações comandadas pela UC segue uma:
    • Microprogramação;
    • Programação escrita diretamente no hardware.
  • O modo como a UC conduz a execução das instruções,

define o tipo de arquitetura do processador:

  • SSID: CPUs que exec. as instruções de modo sequencial;
  • Pipeline (linha de montagem): CPUs que exec. instruções de modo concorrente;
  • CPUs que exec. instruções paralelamente;
  • CPUs que realizam processamento vetorial.

Pipeline de Instruções

  • O ciclo de instrução apresentado até o momento é bem básico, e foi usado

apenas nas primeiras CPUs 8080.

  • Desde a CPU Intel 8086, que se utiliza um modelo similar, mas

que busca realizar essas operações em paralelo,

pipeline ;

  • Intel 8086 e 8088 introduziram 2 estágios de pipeline ,

Intel 80486 até 5 estágios,

Pentium Pro até 6 estágios,

Pentium II até 10 estágios,

Pentium 4 até 20 estágios.

Questões de Projeto

  • Algumas questões envolvidas no projeto de um Processador:
    • Tecnologia de Fabricação;
    • Largura da Palavra;
    • Conjunto de Instruções;
    • Registradores de Dados (quantidade, tipo, e largura);
    • Funcionamento da Unidade de Controle.

33

Tecnologia de Fabricação

  • Quanto + transistores por chip, + desempenho;
    • transistores => + aquecimento + consumo de energia
      • Solução para amenizar o problema: ao invés da CPU ter um único núcleo com muitos transistores, tem-se vários núcleos com menos transistores;
  • Para --aquecimento => --reduzir a frequência => --desempenho
    • Uma solução (existem outras): modificar o conjunto de instruções & programas: (1) aumentar o paralelismo das instruções; e (2) criar formas de executar as instruções mais rapidamente.
  • Quem detém a tecnologia atualmente: Intel e AMD.

34

Questões de Projeto

Largura da Palavra

  • Uma palavra de largura maior pode representar a possibilidade do processador operar, de uma só vez, com valores maiores, algo muito usado por: - Usuários domésticos: processamento de áudio, vídeo, e jogos; - Empresas e pesquisadores: para operações envolvendo ponto flutuante.
  • Não confundir: largura da palavra com o espaço de endereçamento
    • Em geral, a largura da palavra de dados é = a largura da palavra de endr. Mas isso não é regra. P.ex. uma CPU pode ser de 64-bits e o endr. ser de 48-bits.

Largura do Barramento

  • Por questões de desempenho, comumente a largura do barramento de dados é múltipla da largura da palavra. - P.ex. largura do barramento de dados = 2x largura da palavra (ou até mais);
  • O Pentium possuía palavras de 32-bits, mas o barramento de dados chegava até 128-bits (4x a largura da palavra) em algumas versões;
  • O Pentium-4 de 64-bits possui barramento interno de 256-bits.

35

Questões de Projeto

Conjunto de Instruções

  • O conjunto de instruções define as operações mais primitivas que a

máquina irá realizar.

  • Sendo assim, esse conjunto define como serão projetados boa parte dos

componentes da máquina:

  • P.ex. a CPU, os barramentos, ...
  • Ver mais questões no Slide: Conjunto de Instruções

36

Questões de Projeto

Registradores de Dados

A existência de reg. de dados acarreta uma série de vantagens:

+ Reg. são mais rápidos do que a Memória Principal;

+ É mais fácil para o compilador lidar com reg. do que com a pilha de dados;

  • Logo quanto mais reg. melhor.
  • Pontos Flutuantes são armazenados em um tipo especial de reg. que

costuma ser 2x maior que o tamanho da palavra padrão da CPU

  • P.ex. CPUs de 32-bits possuem reg. de 64-bits para pontos flutuantes,
  • CPUs de 64-bits possuem reg. 128 bits.
  • Alguns números:

Intel 8080: possui 7 reg. Pentium 4: 128 reg. SPARC: 512 reg.

37

Questões de Projeto

Organização dos Registradores

  • A CPU possui 2 tipos básicos de registradores:
    • Reg. Visíveis ao Usuário: podem ser usados pelos compiladores ou programadores assembler para evitar acessos a memória;
    • Reg. de Controle e Estado: são usados apenas pela Unidade de Controle (UC) da CPU, e pelo Sistema Operacional para controlar os processos.
  • Reg. Visíveis ao Usuário , podem ser de:
    • Uso Geral: podem ser usados para "qualquer coisa";
    • Dados: guardam apenas dados e não-podem ser usados para guardar endr.;
    • Endereços: podem ser de uso geral, ou podem estar dedicados a um modo de endereçametno em particular; - Ponteiros de Segmento; Registradores de Índice; Ponteiros de Pilha.
    • Códigos Condicionais (ou flags): são bits definidos pela CPU como resultado de alguma operação. São parcialmente visíveis ao usuário.
  • Reg. de Controle e Estado ...

38

Organização dos Registradores

  • Reg. Visíveis ao Usuário , podem ser de:
    • Uso Geral Dados Endereços Códigos Condicionais (ou flags)
    • Questões de Projeto
      • O reg. deve ser de uso geral ou específico;
      • A quantidade de reg. disponíveis ao programador/compilador;
      • O tamanho do reg.;
      • Adotar ou não códigos condicionais (flags).
  • Reg. de Controle e Estado ...

Organização dos Registradores

  • Reg. Visíveis ao Usuário
  • Reg. de Controle e Estado , dependem da CPU, mas 4 deles são essenciais.

Estes reg. são usados para transferir dados entre CPU Ù memória.

  • Contador de Programa (CP, ou PC): contém o endr. da instrução lida (ou executada);
  • Reg. de Instrução (RI): contém a última instrução lida;
  • Reg. de Endr. de Memória (REM ou MAR): contém o endr. de uma posição de memória;
  • Reg. de Buffer de Memória (RBM, RDM, ou MBR), ou Reg. de Dados temporários de Memória: contém uma palavra de dados para ser lida/escrita na memória;
  • Palavra de Estado do Programa (PSW): possui bits para refletir resultado das mais recentes operações aritméticas, bits que habilitam interrupções, ...
  • Questões de Projeto
    • Alguns reg. são criados pensando no suporte ao Sistema Operacional;
    • Informações de Controle e Estado podem ser guardadas em registradores ou na memória, tudo depende da relação velocidade vs custo.