MICROCOMPUTADORES (Organização Básica II) Professor Adão de Melo Neto Organização Básica II Microprocessador – 0 microprocessador tipicamente é um único CI (circuito integrado) que contém todos os circuitos das unidades de controle e lógica e aritmética, em outras palavras, a UCP. – É comum chamar o microprocessador de CPU Organização Básica II Unidade de Memória – A unidade de memória mostra dispositivos RAM e ROM. – A RAM (random acess memory) é utilizada para armazenar programas e dados que serão frequentemente alterados durante a operação. É também usada como armazenamento para resultados intermediarios ou finais das operações realizadas durante a execução de um programa. Organização Básica II Unidade de Memória – A ROM (ready only memory) armazena instruções e dados que não mudam e não devem ser perdidos quando o sistema for desligado. Por exemplo, armazena o programa de carga inicial (BIOS) que o microcomputador executa ao ser ligado. Organização Básica II Unidade de Entrada/Saída – Contém os circuitos de interface necessários para permitir que os periféricos se comuniquem adequadamente com o restante do computador. Organização Básica II Microprocessador (ou UCP) – a seção de controle e temporização – a seção de registradores e – a ULA Organização Básica II Microprocessador ou UCP (Seção de controle e temporização) – A principal função é buscar e decodificar (interpretar) códigos de instruções da memória de programa e – então gerar os sinais de controle necessários requisitados pelas outras secões da CPU de modo a realizar a execução das instruções. Organização Básica II Microprocessador ou UCP (Seção de controle e temporização) – Ela também gera os sinais de temporização e de controle (por exemplo: R/W, clock) que são utilizadas pela RAM e ROM externas e pelos dispositivos de E/S. Organização Básica II Microprocessador ou UCP (Seção de registradores) – Contém vários registradores (internos a CPU), e cada um deles realiza uma função especial. – Program counter (PC): • Armazena os endereços dos códigos das instrucões a medida que são buscados da memória. Organização Básica II Microprocessador ou UCP (Seção de registradores) – Contém vários registradores (internos a CPU), e cada um deles realiza uma função especial. – Program counter (PC): • Armazena os endereços dos códigos das instrucões a medida que são buscados da memória. PC = 0000 Organização Básica II Microprocessador ou UCP (Seção de registradores) – Registrador de instrução (IR) • Armazenamento de códigos de instrução a medida que vão sendo decodificados Organização Básica II Microprocessador ou UCP (Seção de registradores) – Registrador de instrução (IR) • Armazenamento de códigos de instrução a medida que vão sendo decodificados IR = 02 Organização Básica II Microprocessador ou UCP (Seção de registradores) – Contém vários registradores (internos a CPU), e cada um deles realiza uma função especial. – Data pointer - ponteiro de dados, DPTR • Armazenamento de endereços de dados a serem lidos da memória Organização Básica II Microprocessador ou UCP (Seção de registradores) – Contém vários registradores (internos a CPU), e cada um deles realiza uma função especial. – Data pointer - ponteiro de dados, DPTR • Armazenamento de endereços de dados a serem lidos da memória DPTR = 0001 Organização Básica II Microprocessador ou UCP (Seção de registradores) – Acumulador ou Registrador A (ou Acc) • Armazena um operando de qualquer instrução lógica ou matemática, bem como o resultado da referida operação. Organização Básica II Microprocessador ou UCP (Seção de registradores) – Registradores R0 a R7 • Muitas funções de armazenamento e contagem. Organização Básica II Microprocessador ou UCP (ULA) – Realiza uma diversidade de operações lógicas e a aritméticas sobre os dados. – Estas operações sempre incluem adição, subtração, AND, OR, XOR. deslocamento, incremento e decremento. Organização Básica II Microprocessador ou UCP (ULA) – As CPUs mais avançadas possuem ULAs que podem multiplicar e dividir. – As operações que uma ULA deve realizar estão sob o controle da seção de temporização e controle, que, naturalmente, faz o que é informado pelos códigos de instrução que ela lê da memória. Organização Básica II PALAVRA – É um grupo de bits. Exemplo de palavra de 16 bits: 10110010 11011111 – Indica o tamanho do barramento de dados (que transporta dados entre a CPU/memória e entre CPU/dispositivos de E/S). – Exemplo: em um computador de 16 bits (2 bytes), as instruções e dados são armazenadas na memória como unidades de 16 bits e são processadas pela CPU em unidades de 16 bits. – Quanto maior o tamanho da PALAVRA mais veloz é o computador (pode executar programas numa taxa mais elevada). Organização Básica PALAVRA (dado ou instrução) – Uma palavra pode ser um DADO ou uma INSTRUÇÃO Organização Básica PALAVRA (DADO) – São, por exemplo, infomações numéricas ou caracteres que devem ser processados por um programa que a CPU está executando. • +8610 corresponde a 010101102 • O código ASCII para o caracter “V” corresponde a 8 bits como 010101102 Organização Básica PALAVRA (INSTRUÇÃO) – São formadas por duas unidades básicas de informação: • opcode ( operação a ser executada) • endereço do operando que deve ser usado na operação. Organização Básica II PALAVRA (INSTRUÇÃO) – Exemplo de uma instrução de 8 bits • 5 bits de opcode e 3 bits de endereço • Opcode: a primeira parte da palavra (bits 7 a 3) que pode ser por exemplo adição, subtração ou transferência de dados. • Endereço do operando: a segunda parte da palavra (bits 2 a 0) que indica a localização onde o operando esta armazenado . Organização Básica II INSTRUÇÃO DE 1 BYTE (EXEMPLO 1) – “MOVA para o acumulador os dados do registrador 3” 11101011 opcode endereço do operando – Opcode (11101) • representa mover um byte de dados de um registrador para o registrador A (acumulador). – Os últimos três bits (011) • especificam que o byte de dados que deve ser transferido está no registrador 3 (0112) Organização Básica II INSTRUÇÃO DE 2 BYTES – 1o BYTE • Contém o opcode. – 2o BYTE • especifica os dados que serão utilizados na instrução usando os modos de endereçamento direto ou endereçamento imediato. – Os bytes são armazenados em posições sucessivas da memória – ENDEREÇAMENTO DIRETO • O operando representa o endereço que indica ao computador onde os dados estão armazenados. – ENDEREÇAMENTO IMEDIATO • O operando é o proprio valor em vez do endereço do valor. Organização Básica II INSTRUÇÃO DE 3 BYTES – Os bytes são armazenados em posições sucessivas da memória Organização Básica II INSTRUÇÃO DE 3 BYTES (EXEMPLO) – Opcode “02” • Diz que ao computador que ele deve desviar (JUMP). • Informa a unidade de controle que é uma instrução de três bytes • Para que ela possa saber para onde desviar, deve buscar na memória os dois próximos bytes. DESVIA PARA O ENDEREÇO “2050”