Organização e Arquitetura de
      Computadores I

        Introdução
       Ivan Saraiva Silva
        Leonardo Casillo
Sumário
•   Introdução                 • Gargalo de Von Neumann
•   Bibliografia Recomendada   • Noções de Desempenho
•   O que é um computador
•   Organização de um
    Computador
•   Modelo de Von Neumann
•   IAS – Máquina de Von
    Neuman
•   Memória
•   Execução de instruções
Introdução
• Plano de aula
• Avaliações
  – Três provas e um projeto
• Uso da linguagem VHDL
• Fórum de Estudantes 2004
• Design Contest
Bibliografia Recomendada
• Arquitetura e Organização de Computadores - Quinta
  Edição - William Stallings - Prentice Hall - 2002
• Organização estruturada de computadores, quarta
  edição, Andrew S. Tanenbaum
• Computer Organization & Design: The
  Hardware/Software Interface - David A. Patterson,
  John L. Hennessy - Morgan Kaufmann - 1994
• Analysis and Design of Digital Systems with VHDL -
  Allen Dewey - PWS Publishing Company - 1997
O que é um Computador
• Um computador é uma máquina eletrônica lógica
• Programável
   – Programa
      • Instruções
• Representável por uma hierarquia de níveis de
  abstração (Tanenbaum)
   – Microeletrônica (mais baixo)
   – Sistema Operacional (mais alto)
Níveis de Abstração
Linguagem orientada a problemas
    Linguagens de alto nível

   Linguagem deAssembly
     Linguagem Montágem
 Gerencia de sistema e interface
     Sistema Operacional
           de usuário
    Máquina Convencional
    Conjunto de instruções

    Interpretador em firware
       Microprogramação
Unidades lógicas combinacionais e
         Lógica Digital
           sequenciais
 Caracteristicas físicas, malha de
         Microeletrônica
           transistores
Organização de um Computador
• Modelo de Von Neumann (1945)
  –   Concito de programa armazenado
  –   Separação da Unidade Aritmética e de Controle
  –   Utilização de barramentos e registradores
  –   Hardware de entrada e saída (I/O)

      UCP         Memória           I/O
Modelo de Von Neumann
             Controle de
              Execução
Controle
                 Execução de
                  Operações

Aritmética
             Memória                I/O



                       Instruções
                        e Dados
Modelo de Von Neumann

                    operação
Bloco de controle              Bloco operacional


                     CPU




      endereços                    dados

                    Memória
    instruções                       dados
Modelo de Von Neumann
• Memória: Conjunto de posições/locações
  endereçáveis
• Palavras: Posição/locação da memória. Contém
  dados e instruções.
• Palavra: Unidade básica de transferência de/para
  memória.
• Palavras são localizadas através de um endereço
• Dados, instruções e endereços são codificados em
  binário
Modelo de Von Neumann
• Programa é uma seqüência de instruções,
  colocadas numa seqüência de endereços
• A execução de um programa corresponde à
  execução seqüencial de suas instruções
• A seqüência das instruções é definida de
  forma dinâmica em tempo de execução
  – Existência de instruções de controle de fluxo
IAS – Máquina de Von Neumann
             Unidade Central de Processamento
               Unidade Lógica e Aritmética

                  Acumulador              MQ


                   Circuitos de Lógica e Aritmética


Hardware                          MBR
de Entrada                                            Dados e
                                                      Instruções   Memória
e Saída
                                                                   Principal

                  IBR             PC
                                               MAR
                  IR           Circuitos
                               de Controle

                                                          Endereço
              Unidade de Controle
IAS – Máquina de Von Neumann
             Unidade Central de Processamento
               Unidade Lógica e Aritmética

                  Acumulador              MQ


                   Circuitos de Lógica e Aritmética


Hardware                          MBR
de Entrada                                            Dados e
                                                      Instruções   Memória
e Saída
                                                                   Principal

                  IBR             PC
                                               MAR
                   IR          Circuitos
                               de Controle

                                                          Endereço
              Unidade de Controle
Conceitos e Convenções
• Registradores: Posições de memória
  internas a UCP.
  – Dedicados e de Uso Geral
• Barramento: Via de comunicação
  – Dados e Instruções, Endereços e Controle
  – Comunicação Síncrona e Assincrona
Memória
• Em um computador geralmente existe uma
  hierarquia de memória.
• Cada nível da hierarquia é dividido em
  palavras de N bits cada
• A palavra é a unidade básica de
  transferência entre a UCP e a memória.
• Uma memória com 2M palavras necessita de
  M bits de endereço
Memória
                         N Bits

                       Posição 0

M Bits                                     2M posições
         Endereço
                      Posição 2M - 1

                                  N Bits
Execução de Instruções
• busca da próxima instrução na memória
   – manda endereço, volta instrução
• decodificação da instrução
   – interpreta código da instrução
• se a instrução precisa de dados (na memória)
   – manda endereço, busca dado
• execução da instrução
   – executa ações específicas para cada instrução
Execução de Instruções
      endereço instrução
BC                          MEM
         instrução
MEM                         BC                  operação
      endereço operando 1
                                   Bloco                    Bloco
BC                          MEM   Controle                 Operativa
         operando 1
MEM                         BO
      endereço operando 2
BC                          MEM
         operando 2
                                                            dados
MEM                         BO      endereço
      ordem de execução
BC                          BO                  Memória
       executa soma                 instrução               dados
BO
      endereço resultado
BC                          MEM
         resultado
BO                          MEM
Gargalo de Von Neuman
• Refere-se ao tráfego no barramento
   – vai endereço da instrução volta instrução
   – vão endereços dos operandos
   – vão e voltam operandos
• Para eliminar gargalo: diminuir tráfego de
  informações
   – manter informações na CPU
   – diminuir tamanho em bits das informações transferidas
   – Inclusão de registradores
Noções de Desempenho
•    Ciclo de relógio (clock): intervalos básicos de tempo nos
    quais são executadas as operações elementares de uma
    instrução
    – transferências de valores entre registradores
    – operações aritméticas na ALU
•  Período do relógio (T): Tempo de duração de um ciclo do
  relógio
• Freqüência do relógio (f): Freqüência de repetição de
  ciclos de clock por unidade de tempo
• Exemplo: Se o período do relógio é de T = 4 ns = 4x10-9
             f = 1/T = 1/4x10-9 = 250 MHz
Isto significa que?
                              Circuito Seqüencial
• Para um período de T=4ns
  a máquina pode executar
  250 milhões de operações
  elementares
                                  Circuito
• As operações elementares      Combinatório
  são executadas de forma
  síncrona com o relógio
• O desempenho da                    T
  máquina e proporcional a:
    nº ciclos x período =
   nº ciclos ÷ freqüência

                                    Relógio
Noções de Desempenho
• Tempo de UCP de execução de um programa pode
  se dividido em tempo do usuário e tempo do
  sistema
  – tempo de usuário – execução de instruções do programa
    do usuário
  – tempo de sistema – tarefas do S.O. necessárias para a
    execução do programa do usuário
• Além do tempo UCP há o tempo de resposta (ou
  tempo relógio real) que inclui:
  – acessos a disco, atividades de I/O
  – overhead do sistema operacional

Introducao aula-i

  • 1.
    Organização e Arquiteturade Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo
  • 2.
    Sumário • Introdução • Gargalo de Von Neumann • Bibliografia Recomendada • Noções de Desempenho • O que é um computador • Organização de um Computador • Modelo de Von Neumann • IAS – Máquina de Von Neuman • Memória • Execução de instruções
  • 3.
    Introdução • Plano deaula • Avaliações – Três provas e um projeto • Uso da linguagem VHDL • Fórum de Estudantes 2004 • Design Contest
  • 4.
    Bibliografia Recomendada • Arquiteturae Organização de Computadores - Quinta Edição - William Stallings - Prentice Hall - 2002 • Organização estruturada de computadores, quarta edição, Andrew S. Tanenbaum • Computer Organization & Design: The Hardware/Software Interface - David A. Patterson, John L. Hennessy - Morgan Kaufmann - 1994 • Analysis and Design of Digital Systems with VHDL - Allen Dewey - PWS Publishing Company - 1997
  • 5.
    O que éum Computador • Um computador é uma máquina eletrônica lógica • Programável – Programa • Instruções • Representável por uma hierarquia de níveis de abstração (Tanenbaum) – Microeletrônica (mais baixo) – Sistema Operacional (mais alto)
  • 6.
    Níveis de Abstração Linguagemorientada a problemas Linguagens de alto nível Linguagem deAssembly Linguagem Montágem Gerencia de sistema e interface Sistema Operacional de usuário Máquina Convencional Conjunto de instruções Interpretador em firware Microprogramação Unidades lógicas combinacionais e Lógica Digital sequenciais Caracteristicas físicas, malha de Microeletrônica transistores
  • 7.
    Organização de umComputador • Modelo de Von Neumann (1945) – Concito de programa armazenado – Separação da Unidade Aritmética e de Controle – Utilização de barramentos e registradores – Hardware de entrada e saída (I/O) UCP Memória I/O
  • 8.
    Modelo de VonNeumann Controle de Execução Controle Execução de Operações Aritmética Memória I/O Instruções e Dados
  • 9.
    Modelo de VonNeumann operação Bloco de controle Bloco operacional CPU endereços dados Memória instruções dados
  • 10.
    Modelo de VonNeumann • Memória: Conjunto de posições/locações endereçáveis • Palavras: Posição/locação da memória. Contém dados e instruções. • Palavra: Unidade básica de transferência de/para memória. • Palavras são localizadas através de um endereço • Dados, instruções e endereços são codificados em binário
  • 11.
    Modelo de VonNeumann • Programa é uma seqüência de instruções, colocadas numa seqüência de endereços • A execução de um programa corresponde à execução seqüencial de suas instruções • A seqüência das instruções é definida de forma dinâmica em tempo de execução – Existência de instruções de controle de fluxo
  • 12.
    IAS – Máquinade Von Neumann Unidade Central de Processamento Unidade Lógica e Aritmética Acumulador MQ Circuitos de Lógica e Aritmética Hardware MBR de Entrada Dados e Instruções Memória e Saída Principal IBR PC MAR IR Circuitos de Controle Endereço Unidade de Controle
  • 13.
    IAS – Máquinade Von Neumann Unidade Central de Processamento Unidade Lógica e Aritmética Acumulador MQ Circuitos de Lógica e Aritmética Hardware MBR de Entrada Dados e Instruções Memória e Saída Principal IBR PC MAR IR Circuitos de Controle Endereço Unidade de Controle
  • 14.
    Conceitos e Convenções •Registradores: Posições de memória internas a UCP. – Dedicados e de Uso Geral • Barramento: Via de comunicação – Dados e Instruções, Endereços e Controle – Comunicação Síncrona e Assincrona
  • 15.
    Memória • Em umcomputador geralmente existe uma hierarquia de memória. • Cada nível da hierarquia é dividido em palavras de N bits cada • A palavra é a unidade básica de transferência entre a UCP e a memória. • Uma memória com 2M palavras necessita de M bits de endereço
  • 16.
    Memória N Bits Posição 0 M Bits 2M posições Endereço Posição 2M - 1 N Bits
  • 17.
    Execução de Instruções •busca da próxima instrução na memória – manda endereço, volta instrução • decodificação da instrução – interpreta código da instrução • se a instrução precisa de dados (na memória) – manda endereço, busca dado • execução da instrução – executa ações específicas para cada instrução
  • 18.
    Execução de Instruções endereço instrução BC MEM instrução MEM BC operação endereço operando 1 Bloco Bloco BC MEM Controle Operativa operando 1 MEM BO endereço operando 2 BC MEM operando 2 dados MEM BO endereço ordem de execução BC BO Memória executa soma instrução dados BO endereço resultado BC MEM resultado BO MEM
  • 19.
    Gargalo de VonNeuman • Refere-se ao tráfego no barramento – vai endereço da instrução volta instrução – vão endereços dos operandos – vão e voltam operandos • Para eliminar gargalo: diminuir tráfego de informações – manter informações na CPU – diminuir tamanho em bits das informações transferidas – Inclusão de registradores
  • 20.
    Noções de Desempenho • Ciclo de relógio (clock): intervalos básicos de tempo nos quais são executadas as operações elementares de uma instrução – transferências de valores entre registradores – operações aritméticas na ALU • Período do relógio (T): Tempo de duração de um ciclo do relógio • Freqüência do relógio (f): Freqüência de repetição de ciclos de clock por unidade de tempo • Exemplo: Se o período do relógio é de T = 4 ns = 4x10-9 f = 1/T = 1/4x10-9 = 250 MHz
  • 21.
    Isto significa que? Circuito Seqüencial • Para um período de T=4ns a máquina pode executar 250 milhões de operações elementares Circuito • As operações elementares Combinatório são executadas de forma síncrona com o relógio • O desempenho da T máquina e proporcional a: nº ciclos x período = nº ciclos ÷ freqüência Relógio
  • 22.
    Noções de Desempenho •Tempo de UCP de execução de um programa pode se dividido em tempo do usuário e tempo do sistema – tempo de usuário – execução de instruções do programa do usuário – tempo de sistema – tarefas do S.O. necessárias para a execução do programa do usuário • Além do tempo UCP há o tempo de resposta (ou tempo relógio real) que inclui: – acessos a disco, atividades de I/O – overhead do sistema operacional