SlideShare uma empresa Scribd logo
Luiz Francisco Bozo
                                                                      Introdução a Organização de Computadores
                                                                                                 Roteiro de Aulas




Tópico 06 – UNIDADE CENTRAL DE PROCESSAMENTO


Introdução: Iremos estudar com um pouco mais de aprofundamento a UCP, nosso foco é a
descrição dos registradores, do decodificador de instruções da unidade de controle e aspectos
referentes a linguagem de máquina.

6.1 – UCP – Unidade Central de Processamento:

Sua função é computar, processar, calcular. Em nossos estudos estamos sempre considerando um
processador simplificado, que obedece a arquitetura SISD (execução de uma instrução para um único
conjunto de dados/operandos). Veja o esquema a seguir:

                             UCP                                                    MP

             ULA                   AC              CP
                             registradores



                      ENDEREÇOS E DADOS

                                        IR

                                    Decodif.
                                   instruções



            RDM       REM               UC           Clock              Decodificador de Endereços




                                             BARRAMENTO DE CONTROLE


                                        BARRAMENTO DE ENDEREÇO



                                        BARRAMENTO DE DADOS



Funções Básicas
   • Operações Internas (funções de processamento)
   • Funções de Controle (sinais de controle p/ outros componentes do computador

Operações Primitivas
São instruções de máquina (binárias) que identificam a operação a ser executada
   • Somar, subtrair, etc.
   • Mover dados

Ex.: Soma
                     Código binário que            identifica   a   Endereço     dos
                     operação de soma                               operandos




                                                    Pág 20
Luiz Francisco Bozo
                                                                 Introdução a Organização de Computadores
                                                                                            Roteiro de Aulas

Programa Executável
Conjunto seqüencial de instruções de máquina. Para executá-lo é necessário:
   • Carregá-lo na Memória Principal (ou carregar parte dele)
   • Colocar o endereço do início do programa no registrador contador de programa (CP/PC –
       aponta o endereço das instruções)

Ciclo de Instrução
São os passos necessários para a execução das instruções de um programa pela UCP. Ex.:
    1. Buscar a instrução (leitura)
    2. Interpretar a instrução (tradução)
    3. Buscar os dados, se necessário (carga dos dados)
    4. Executar a instrução
    5. Reiniciar o ciclo buscando a próxima instrução, se existir.

       Fluxograma (de 1 a 5):


                                                   INÍCIO




                                                   BUSCAR
                                                 INSTRUÇÃO




                                                INTERPRETAR
                                                 INSTRUÇÃO




                                          não
                                                    FIM?


                                                         sim


                                                     FIM



Pipeline
A fim de aumentar a velocidade de processamento, muitas estratégias de processamento foram
implementadas, entre elas a chamada de “pipeline” onde o processador poderá iniciar um ciclo de
busca por uma nova instrução enquanto executa a operação com a instrução atual (semelhante a
uma linha de produção de uma fábrica onde os setores vão executando suas operações
separadamente e todos ao mesmo tempo). Os processadores atuais podem ter 10 estágios de
pipeline (até 10 ações diferentes podem estar sendo executadas pelo processador, sem que cada
ação atrapalhe a execução da outra).

6.2 – Registradores
São as unidades internas de memória utilizadas em diversas operações. Podem ter tamanhos
diferentes e podem ser separados basicamente em:
     • Registradores de propósito geral e
     • Registradores especiais

Ex.: Em algumas arquiteturas poderíamos ter o seguinte conjunto de registradores:
    • Acumulador (ACC)
    • Registrador(es) temporário(s)
    • Flags



                                                Pág 21
Luiz Francisco Bozo
                                                                   Introdução a Organização de Computadores
                                                                                              Roteiro de Aulas


    •   Registradores de propósito geral

        E exemplo mostra uma arquitetura de registradores semelhante aos antigos processadores
        80xx onde temos um registrador acumulador, que recebe operando e o sobrescreve com o
        resultado da operação (caso seja operação aritmética). Registradores temporários e de
        propósito geral, que auxiliam na execução das operações lógicas e aritméticas e
        registradores especiais chamados flags (bandeiras), que são utilizados em diversas
        sinalizações dos estados dos componentes internos (e externos) a UCP.

Em arquiteturas mais atuais podemos ter registradores específicos como: sinal, overflow, zero, carry
(vai um), paridade, etc.

Contador do Programa (CP/PC) ou Contador de Instrução (CI/IC)
Este registrador possui função de grande importância pois é ele que recebe o endereço do início de
qualquer programa (ou bloco) que esteja na MP. Uma vez carregado com o endereço inicial, este
será incrementado a fim de percorrer todas as linhas do programa (ou bloco). Nos sistemas atuais
cada bloco dos diferentes programas em execução terá seu endereço de início que será
incrementado de acordo com o avanço da execução do mesmo independentemente dos demais
programas.

Observações sobre o Tamanho da Palavra
Originalmente a idéia que se tem é que o tamanho dos registradores (ou a palavra) tem a mesma
quantidade de bits que o barramento de dados/endereços (quantidade de linhas no barramento). Isto
foi verdade para arquiteturas de UCPs como as 80xx citadas anteriormente. Com o avanço da
tecnologia e o advento das cachê L1, pode-se aumentar o tamanho do barramento sem
necessariamente aumentar o tamanho da palavra. Como exemplo podemos citar arquiteturas onde a
palavra (registradores de propósito geral, etc) possui 64 bits enquanto que o barramento interno
possui 128 bits até a cachê L1.

6.3 – Unidade de Controle
A unidade de controle é responsável pelos sinais de controle (ativações, habilitações, desabilitações)
tanto de dispositivos internos quanto externos a UCP. Estas ações devem ser organizadas e
sincronizadas, pois as velocidades envolvidas são muito altas e os dispositivos eletrônicos possuem
características elétricas que devem ser consideradas em sua ativação/desativação.

Registrador de Instrução (RI/IR)
Este registrador recebe o código da instrução a ser executada via barramento de dados/endereços
(ver figura no início deste roteiro) e o transfere ao decodificador de instruções. A quantidade de bits
desse registrador determina a quantidade de instruções possíveis.

Decodificador de instruções
Este dispositivo possui barramento de comunicação com o RI. Ao receber um código de uma
instrução, traduz o mesmo e gera o sinal específico relacionado à instrução. O Decodificador de
Instruções terá o número de linhas de sinal igual a quantidade de instruções possíveis.
                                                                   8
        Ex.: Se um sistema possui RI com 8 bits, poderemos ter 2 =256 instruções diferentes e igual
        número de linhas saindo do decodificador e chegando a Unidade de Controle.

Relógio (clock) e Contador de Tempo
O circuito da Unidade de Controle deve controlar e sincronizar todas as operações a serem
executadas, para que isso seja possível a própria unidade deve trabalhar de forma sincronizada. Para
possibilitar esta ação seu circuito eletrônico funciona com pulsos elétricos com intervalo de duração
constante. Na verdade praticamente todos os sistemas dentro do computador deverão trabalhar
sincronizados.
Como as instruções por sua vez são separadas micro-instruções, faz-se necessário criar um
mecanismo que “quebre” o pulso de clock em pulsos menores. Para executar essa ação existe um
dispositivo chamado contador de tempo que recebe o pulso de clock e o solta para o sistema em
linhas separadas. Cada uma dessas linhas terá o pulso do clock com atraso igual a largura do pulso
de clock original, possibilitando criar a temporização para as micro-instruções.




                                                Pág 22
Luiz Francisco Bozo
                                                                 Introdução a Organização de Computadores
                                                                                            Roteiro de Aulas

       Ex.: No desenho a seguir estão representados 4 sinais:
           • t0 – sinal de clock original
           • t1 a t3 – sinais gerados pelo circuito contador de tempo



               t0



               t1



               t2



               t3

6.4 – Instruções de Máquina e Linguagem Assembly
Podemos entender uma instrução como sendo formada por uma palavra binária descrita em uma
arquitetura específica. Essa arquitetura deve ter um conjunto de instruções reconhecidas pelo
decodificador de instruções.
A passagem de instruções para a UCP deve ser feita em binário (linguagem de máquina), o que se
torna cansativo e complexo. A fim de facilitar o trabalho criou-se uma linguagem que converte códigos
de mais fácil entendimento para os seres humanos. Essa linguagem se chama Assembly (montagem)
e o programa que converte (compila) os comandos do assembly para a linguagem de máquina é
chamado Assembler (montador).
Existem diversas versões de assembly para as diversas arquiteturas de UCP.

       Ex.: A seguir demonstra-se uma expressão descrita em linguagem C, seu equivalente em
       binário, hexadecimal e em uma versão da linguagem assembly:

           •   Código em linguagem C:          X = A + B – C;

           •   Código em hexadecimal:          123H
                                               324H
                                               425H
                                               226H

           •   Código em binário:              0001 0010 0011
                                               0011 0010 0100
                                               0100 0010 0101
                                               0010 0010 0110

           •   Código em assembly:           LDA A (load Acc )     Acc    A
                                             ADD B (Acc add B)     Acc    Acc + B
                                             SUB C (Acc sub C)     Acc    Acc - C
                                             STR X (store X)       Acc    X
Cada um dos códigos em Assembly (também chamados de OpCods ou códigos operacionais) é
criado de forma “mnemônica”, ou seja, o código se parece com a palavra que descreve a operação
que ele realiza (na língua inglesa). Assim:
            • LDA – Carregar no acumulador o conteúdo do reg. especificado
            • ADD – Somar o conteúdo do acumulador com o conteúdo do reg. especificado
            • SUB – Subtrair o conteúdo do acumulador com o conteúdo do reg. especificado
            • STR – Colocar o conteúdo do acumulador no reg. especificado




                                               Pág 23

Mais conteúdo relacionado

ODT
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
PDF
Apresentação Sobre Sistemas Operacionais com Orbis OS
PDF
ICC-07 Softwares - Introdução
PDF
Arquitetura de Computadores: Memórias
PDF
Arquitetura de Computadores: Unidade central de processamento
PPTX
Arquiteturas de Computadores - slides
PDF
Resolução de Problemas - Sistemas Operacionais
PDF
Arquitetura de Computadores: Conceitos básicos
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Apresentação Sobre Sistemas Operacionais com Orbis OS
ICC-07 Softwares - Introdução
Arquitetura de Computadores: Memórias
Arquitetura de Computadores: Unidade central de processamento
Arquiteturas de Computadores - slides
Resolução de Problemas - Sistemas Operacionais
Arquitetura de Computadores: Conceitos básicos

Mais procurados (20)

PDF
Arquitetura de Computadores: Barramentos e instruções
PDF
SO-05 Gerenciamento de Memória e Alocação
PPTX
Gerenciamento de memoria
ODP
Aula07 - Arquitetura e Manutenção de Computadores
PPTX
Módulo 5 Arquitetura de Computadores
PDF
SDAC MODULO 7
PDF
Arquitetura de Computadores: Evolução dos computadores
PDF
Arquitetura de Computadores: Sistemas de numeração
PPT
Aspectos basicos de hardware e software
PPT
Aspectos basicos de hardware e software
ODP
Aula05 - Arquitetura e manutanção de Computadores
PDF
Roteiro IOC 05
PDF
Augusto loureiro sistemas microprocessados
ODP
Aula06 - Arquitetura e Manutenção de Computadores
PPTX
PDF
SO-10 Entrada e Saída: Software
PPT
Gerenciamento de Memoria
PPT
Sistemas Operacionais Modernos - Gerenciamento de Memória
PDF
Gerenciamento de memória cap 03 (ii unidade)
Arquitetura de Computadores: Barramentos e instruções
SO-05 Gerenciamento de Memória e Alocação
Gerenciamento de memoria
Aula07 - Arquitetura e Manutenção de Computadores
Módulo 5 Arquitetura de Computadores
SDAC MODULO 7
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Sistemas de numeração
Aspectos basicos de hardware e software
Aspectos basicos de hardware e software
Aula05 - Arquitetura e manutanção de Computadores
Roteiro IOC 05
Augusto loureiro sistemas microprocessados
Aula06 - Arquitetura e Manutenção de Computadores
SO-10 Entrada e Saída: Software
Gerenciamento de Memoria
Sistemas Operacionais Modernos - Gerenciamento de Memória
Gerenciamento de memória cap 03 (ii unidade)
Anúncio

Destaque (7)

PDF
Pequeno exemplo sobre strings nmea
PDF
Roteiro Física 3 (02)
PDF
Roteiro IOC 03_1
PDF
Alocação Dinâmica em C
PDF
Roteiro Física 3 (01)
PDF
Roteiro IOC 02
PDF
Função Retorna MAC ADDRESS do Adaptador de rede
Pequeno exemplo sobre strings nmea
Roteiro Física 3 (02)
Roteiro IOC 03_1
Alocação Dinâmica em C
Roteiro Física 3 (01)
Roteiro IOC 02
Função Retorna MAC ADDRESS do Adaptador de rede
Anúncio

Semelhante a Roteiro IOC 06 (20)

PDF
Introducao aula-i
PDF
Funcionamento de um sistema de computação
KEY
Máquinas Multiníveis - Nível da Microarquitetura
PDF
Programacão para não programadores
PDF
A arquitetura básica de um computador
PDF
Lista2009 2
PDF
Arquitetura computadores
PDF
Aula slides arquitetura microprocessadores .pdf
PDF
Arquitetura de-computadores-apostila-avançada completa
DOC
Arquitetura componentes
PPT
Atr cap1
PDF
OC - 06 - Ciclo de instrucoes.pdf Aula OAC
PPT
IP_Notas01.ppt
PPT
IP_Notas01.ppt
PPT
PDF
Endereçamento de memória
PPT
Microprogramacao
PPT
Microprogramacao
PPT
Aula de introducao ao ZOS
Introducao aula-i
Funcionamento de um sistema de computação
Máquinas Multiníveis - Nível da Microarquitetura
Programacão para não programadores
A arquitetura básica de um computador
Lista2009 2
Arquitetura computadores
Aula slides arquitetura microprocessadores .pdf
Arquitetura de-computadores-apostila-avançada completa
Arquitetura componentes
Atr cap1
OC - 06 - Ciclo de instrucoes.pdf Aula OAC
IP_Notas01.ppt
IP_Notas01.ppt
Endereçamento de memória
Microprogramacao
Microprogramacao
Aula de introducao ao ZOS

Mais de Luiz Francisco Bozo (20)

DOC
Modelo totem
PDF
Esboços de chassis e componentes internos de Servidor
PDF
Tutorial do shell script para Clonar HDs WIN7 usando Linux
PDF
Tutorial do shell script para criar imagens de HDs Win7 usando Linux
PDF
PDF
PDF
Árvore Binária em C
PDF
Configurar Kernel Linux para usar os Sensores de uma Placa-mãe
PDF
Display HD44780 usando PIC 18F4550 e USB
PDF
Configuração do Router/Bridge Wireless Tsunami
PDF
PDF
Status Configuração inicia router/bridge wireless Tsunamil
PDF
Kernel driver
PDF
Pmbok e Agil (folha 01)
PDF
Roteiro IOC 03_2
PDF
Roteiro IOC 01
PDF
Abrasivos Revestidos
PPS
Multiappliance
PPS
Modelo totem
Esboços de chassis e componentes internos de Servidor
Tutorial do shell script para Clonar HDs WIN7 usando Linux
Tutorial do shell script para criar imagens de HDs Win7 usando Linux
Árvore Binária em C
Configurar Kernel Linux para usar os Sensores de uma Placa-mãe
Display HD44780 usando PIC 18F4550 e USB
Configuração do Router/Bridge Wireless Tsunami
Status Configuração inicia router/bridge wireless Tsunamil
Kernel driver
Pmbok e Agil (folha 01)
Roteiro IOC 03_2
Roteiro IOC 01
Abrasivos Revestidos
Multiappliance

Último (20)

PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PDF
Historia-da-Psicologia-Rumos-e-percursos.pdf
PPT
NÚCLEO INTERFÁSICO E DIVISÃO CELULAR.ppt
PDF
Formação politica brasil_2017.pptx.pdf
PPTX
sistema nervoso aula 1 faculdade uniplam
PPTX
Programa Nacional de Saúde do Adulto.pptx
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PPTX
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
PPTX
2. A Cultura do Salão - o fim das trevas.pptx
PPT
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PPSX
A epistemologia de Wilheim G Leibniz.ppsx
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PDF
HORÁRIO GERAL SIGAA 2025_PRÉVIA_SIGAA-1.pdf
PDF
Extintores e Acessórios por Francisco Borges.pdf
PPTX
"BPF, PPHO e APPCC na Indústria de Alimentos"
PPTX
Educação Especial na perspectiva Inclusiva 02.pptx
PPTX
4. A cultura do cinema e as vanguardas.pptx
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPT
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
Historia-da-Psicologia-Rumos-e-percursos.pdf
NÚCLEO INTERFÁSICO E DIVISÃO CELULAR.ppt
Formação politica brasil_2017.pptx.pdf
sistema nervoso aula 1 faculdade uniplam
Programa Nacional de Saúde do Adulto.pptx
Historia da Gastronomia Mundial por Daianna Marques dos Santos
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
2. A Cultura do Salão - o fim das trevas.pptx
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
A epistemologia de Wilheim G Leibniz.ppsx
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
HORÁRIO GERAL SIGAA 2025_PRÉVIA_SIGAA-1.pdf
Extintores e Acessórios por Francisco Borges.pdf
"BPF, PPHO e APPCC na Indústria de Alimentos"
Educação Especial na perspectiva Inclusiva 02.pptx
4. A cultura do cinema e as vanguardas.pptx
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt

Roteiro IOC 06

  • 1. Luiz Francisco Bozo Introdução a Organização de Computadores Roteiro de Aulas Tópico 06 – UNIDADE CENTRAL DE PROCESSAMENTO Introdução: Iremos estudar com um pouco mais de aprofundamento a UCP, nosso foco é a descrição dos registradores, do decodificador de instruções da unidade de controle e aspectos referentes a linguagem de máquina. 6.1 – UCP – Unidade Central de Processamento: Sua função é computar, processar, calcular. Em nossos estudos estamos sempre considerando um processador simplificado, que obedece a arquitetura SISD (execução de uma instrução para um único conjunto de dados/operandos). Veja o esquema a seguir: UCP MP ULA AC CP registradores ENDEREÇOS E DADOS IR Decodif. instruções RDM REM UC Clock Decodificador de Endereços BARRAMENTO DE CONTROLE BARRAMENTO DE ENDEREÇO BARRAMENTO DE DADOS Funções Básicas • Operações Internas (funções de processamento) • Funções de Controle (sinais de controle p/ outros componentes do computador Operações Primitivas São instruções de máquina (binárias) que identificam a operação a ser executada • Somar, subtrair, etc. • Mover dados Ex.: Soma Código binário que identifica a Endereço dos operação de soma operandos Pág 20
  • 2. Luiz Francisco Bozo Introdução a Organização de Computadores Roteiro de Aulas Programa Executável Conjunto seqüencial de instruções de máquina. Para executá-lo é necessário: • Carregá-lo na Memória Principal (ou carregar parte dele) • Colocar o endereço do início do programa no registrador contador de programa (CP/PC – aponta o endereço das instruções) Ciclo de Instrução São os passos necessários para a execução das instruções de um programa pela UCP. Ex.: 1. Buscar a instrução (leitura) 2. Interpretar a instrução (tradução) 3. Buscar os dados, se necessário (carga dos dados) 4. Executar a instrução 5. Reiniciar o ciclo buscando a próxima instrução, se existir. Fluxograma (de 1 a 5): INÍCIO BUSCAR INSTRUÇÃO INTERPRETAR INSTRUÇÃO não FIM? sim FIM Pipeline A fim de aumentar a velocidade de processamento, muitas estratégias de processamento foram implementadas, entre elas a chamada de “pipeline” onde o processador poderá iniciar um ciclo de busca por uma nova instrução enquanto executa a operação com a instrução atual (semelhante a uma linha de produção de uma fábrica onde os setores vão executando suas operações separadamente e todos ao mesmo tempo). Os processadores atuais podem ter 10 estágios de pipeline (até 10 ações diferentes podem estar sendo executadas pelo processador, sem que cada ação atrapalhe a execução da outra). 6.2 – Registradores São as unidades internas de memória utilizadas em diversas operações. Podem ter tamanhos diferentes e podem ser separados basicamente em: • Registradores de propósito geral e • Registradores especiais Ex.: Em algumas arquiteturas poderíamos ter o seguinte conjunto de registradores: • Acumulador (ACC) • Registrador(es) temporário(s) • Flags Pág 21
  • 3. Luiz Francisco Bozo Introdução a Organização de Computadores Roteiro de Aulas • Registradores de propósito geral E exemplo mostra uma arquitetura de registradores semelhante aos antigos processadores 80xx onde temos um registrador acumulador, que recebe operando e o sobrescreve com o resultado da operação (caso seja operação aritmética). Registradores temporários e de propósito geral, que auxiliam na execução das operações lógicas e aritméticas e registradores especiais chamados flags (bandeiras), que são utilizados em diversas sinalizações dos estados dos componentes internos (e externos) a UCP. Em arquiteturas mais atuais podemos ter registradores específicos como: sinal, overflow, zero, carry (vai um), paridade, etc. Contador do Programa (CP/PC) ou Contador de Instrução (CI/IC) Este registrador possui função de grande importância pois é ele que recebe o endereço do início de qualquer programa (ou bloco) que esteja na MP. Uma vez carregado com o endereço inicial, este será incrementado a fim de percorrer todas as linhas do programa (ou bloco). Nos sistemas atuais cada bloco dos diferentes programas em execução terá seu endereço de início que será incrementado de acordo com o avanço da execução do mesmo independentemente dos demais programas. Observações sobre o Tamanho da Palavra Originalmente a idéia que se tem é que o tamanho dos registradores (ou a palavra) tem a mesma quantidade de bits que o barramento de dados/endereços (quantidade de linhas no barramento). Isto foi verdade para arquiteturas de UCPs como as 80xx citadas anteriormente. Com o avanço da tecnologia e o advento das cachê L1, pode-se aumentar o tamanho do barramento sem necessariamente aumentar o tamanho da palavra. Como exemplo podemos citar arquiteturas onde a palavra (registradores de propósito geral, etc) possui 64 bits enquanto que o barramento interno possui 128 bits até a cachê L1. 6.3 – Unidade de Controle A unidade de controle é responsável pelos sinais de controle (ativações, habilitações, desabilitações) tanto de dispositivos internos quanto externos a UCP. Estas ações devem ser organizadas e sincronizadas, pois as velocidades envolvidas são muito altas e os dispositivos eletrônicos possuem características elétricas que devem ser consideradas em sua ativação/desativação. Registrador de Instrução (RI/IR) Este registrador recebe o código da instrução a ser executada via barramento de dados/endereços (ver figura no início deste roteiro) e o transfere ao decodificador de instruções. A quantidade de bits desse registrador determina a quantidade de instruções possíveis. Decodificador de instruções Este dispositivo possui barramento de comunicação com o RI. Ao receber um código de uma instrução, traduz o mesmo e gera o sinal específico relacionado à instrução. O Decodificador de Instruções terá o número de linhas de sinal igual a quantidade de instruções possíveis. 8 Ex.: Se um sistema possui RI com 8 bits, poderemos ter 2 =256 instruções diferentes e igual número de linhas saindo do decodificador e chegando a Unidade de Controle. Relógio (clock) e Contador de Tempo O circuito da Unidade de Controle deve controlar e sincronizar todas as operações a serem executadas, para que isso seja possível a própria unidade deve trabalhar de forma sincronizada. Para possibilitar esta ação seu circuito eletrônico funciona com pulsos elétricos com intervalo de duração constante. Na verdade praticamente todos os sistemas dentro do computador deverão trabalhar sincronizados. Como as instruções por sua vez são separadas micro-instruções, faz-se necessário criar um mecanismo que “quebre” o pulso de clock em pulsos menores. Para executar essa ação existe um dispositivo chamado contador de tempo que recebe o pulso de clock e o solta para o sistema em linhas separadas. Cada uma dessas linhas terá o pulso do clock com atraso igual a largura do pulso de clock original, possibilitando criar a temporização para as micro-instruções. Pág 22
  • 4. Luiz Francisco Bozo Introdução a Organização de Computadores Roteiro de Aulas Ex.: No desenho a seguir estão representados 4 sinais: • t0 – sinal de clock original • t1 a t3 – sinais gerados pelo circuito contador de tempo t0 t1 t2 t3 6.4 – Instruções de Máquina e Linguagem Assembly Podemos entender uma instrução como sendo formada por uma palavra binária descrita em uma arquitetura específica. Essa arquitetura deve ter um conjunto de instruções reconhecidas pelo decodificador de instruções. A passagem de instruções para a UCP deve ser feita em binário (linguagem de máquina), o que se torna cansativo e complexo. A fim de facilitar o trabalho criou-se uma linguagem que converte códigos de mais fácil entendimento para os seres humanos. Essa linguagem se chama Assembly (montagem) e o programa que converte (compila) os comandos do assembly para a linguagem de máquina é chamado Assembler (montador). Existem diversas versões de assembly para as diversas arquiteturas de UCP. Ex.: A seguir demonstra-se uma expressão descrita em linguagem C, seu equivalente em binário, hexadecimal e em uma versão da linguagem assembly: • Código em linguagem C: X = A + B – C; • Código em hexadecimal: 123H 324H 425H 226H • Código em binário: 0001 0010 0011 0011 0010 0100 0100 0010 0101 0010 0010 0110 • Código em assembly: LDA A (load Acc ) Acc A ADD B (Acc add B) Acc Acc + B SUB C (Acc sub C) Acc Acc - C STR X (store X) Acc X Cada um dos códigos em Assembly (também chamados de OpCods ou códigos operacionais) é criado de forma “mnemônica”, ou seja, o código se parece com a palavra que descreve a operação que ele realiza (na língua inglesa). Assim: • LDA – Carregar no acumulador o conteúdo do reg. especificado • ADD – Somar o conteúdo do acumulador com o conteúdo do reg. especificado • SUB – Subtrair o conteúdo do acumulador com o conteúdo do reg. especificado • STR – Colocar o conteúdo do acumulador no reg. especificado Pág 23