MICROPROCESSADORES E MICROCONTROLADORES Parte 1

Tamanho: px
Começar a partir da página:

Download "MICROPROCESSADORES E MICROCONTROLADORES Parte 1"

Transcrição

1 MICROPROCESSADORES E MICROCONTROLADORES Parte 1 José Wilson Lima Nerys Página: s: [email protected] e [email protected] Prof. José Wilson 1 Lima Nerys 1 Microprocessadores

2 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 2 Lima Nerys 2 Microprocessadores

3 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 3 Lima Nerys 3 Microprocessadores

4 Prof. José Wilson 4 Lima Nerys 4 Microprocessadores

5 Prof. José Wilson 5 Lima Nerys 5 Microprocessadores

6 Linha do Tempo Octograma chinês (4000 ac) Pascaline Calculadora de Blaise Pascal (1642) Tear automático com cartão perfurado (1801) Computadores Z1, Z2 e Z3 (1936) Máquina de Von Newman Programa armazenado (1946) Ábaco (4000 ac) Logaritmo John Napier Tabela de Logaritmo (1614) Calculadora de 4 funções de Leibniz (1671) Máquina de diferenças e Analítica (Babbage) (1822) Computador Colosso Válvulas (Alan Turing) (1943) IBM 7090 Transistores Fortran Cobol Pascal (1960) Prof. José Wilson 6 Lima Nerys 6 Microprocessadores

7 Linha do Tempo bits (1972) bits (1976) bits (1979) ARM 32 bits (1983) Atmel AVR 8 bits (1996) Arduíno (Atmel AVR) 8 bits (2005) bits (1971) bits (1974) bits (1978) bits (1980) PIC 8 bits (1985) Pentium 200MMX 64 bits (1997) Raspberry pi (ARM) 32 bits (2011) Prof. José Wilson 7 Lima Nerys 7 Microprocessadores

8 Evolução dos Processadores Prof. José Wilson 8 Lima Nerys 8 Microprocessadores

9 Evolução dos Processadores Prof. José Wilson 9 Lima Nerys 9 Microprocessadores

10 Evolução do microprocessadores Prof. José Wilson 10Lima Nerys 10 Microprocessadores

11 Quantidade de Transistores 8085 (1976) transistores (5 MHz) instruções/segundo 8 bits. Dual Core (2007): 820 milhões de transistores milhões de instruções/segundo 64 bits. Tecnologia: 45 nm. 3,33 GHz Prof. José Wilson 11 Lima Nerys 11 Microprocessadores

12 Quantidade de Transistores e Memória Prof. José Wilson 12Lima Nerys 12 Microprocessadores

13 Número de bits dos Registradores 1 nibble Bit 3 Bit 2 Bit 1 Bit 0 Decimal Hexa Menor valor positivo Maior valor positivo F Capacidade: 2 4 = 16 nibbles Prof. José Wilson 13Lima Nerys 13 Microprocessadores

14 - + Prof. José Wilson 14Lima Nerys 14 Microprocessadores

15 Número de bits dos Registradores 1 byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1 byte = 8 bits Menor valor positivo Decimal Hexa Maior valor positivo FF 15 Capacidade: 2 8 = 256 bytes Intervalo dos valores positivos e negativos (notação com sinal): 0 a 127 = 00h a 7Fh -1 a -128 = FFh a 80h Prof. José Wilson Lima Nerys 15 Microprocessadores

16 Número de bits dos Registradores 1 word = 16 bits Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Intervalo dos valores positivos Capacidade: 2 16 = words Intervalo dos valores positivos: 0 a = 0000h a FFFFh Intervalo dos valores positivos e negativos (notação com sinal): 0 a = 0000h a 7FFFh -1 a = FFFFh a 8000h Prof. José Wilson Lima Nerys 16 Microprocessadores

17 Número de bits dos Registradores double word = 32 bits Bit 31 Bit 30 Bit 29 Bit 28 Bit 27 Bit 26 Bit 25 Bit 24 Bit 23 Bit22 Bit 21 Bit20 Bit 19 Bit18 Bit17 Bit 16 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Capacidade: 2 32 = double-words Intervalo dos valores positivos: 0 a = h a FFFF FFFFh Intervalos considerando números com sinal: Intervalo positivo: 0 a = a 7FFF FFFFh Intervalo negativo: -1 a = FFFF FFFF a h Prof. José Wilson 17Lima Nerys 17 Microprocessadores

18 Quantidade de Transistores Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 2 transistores por bit Quanto maior o número de transistores, maior a quantidade possível de registradores Aumento no desempenho Prof. José Wilson 18Lima Nerys 18 Microprocessadores

19 Aumento do desempenho Universidade Federal de Goiás Frequência de Clock Ano Processador Frequência de Clock Tecnologia (tamanho transistor) khz 10 µm khz MHz a 10 MHz a 10 MHz a 50 MHz 1997 Pentium II 450 MHz 0,25 µm 1999 Pentium III 500 MHz até 1,2 GHz 0,25 µm 2004 Pentium 4 (Prescott) 4 GHz 90 nm 2007 Core 2 3,33 GHz 45 nm 2010 Core i5 3,33 GHz 32 nm Prof. José Wilson 19Lima Nerys 19 Microprocessadores

20 Índice de Desempenho de um Microprocessador (velocidade de processamento) Tempo de processamento = tempo ciclo número de ciclos instrução instruções programa 1. Aumento da frequência de clock 2. Aumento do número interno de bits 3. Aumento do número externo de bits 4. Aumento da capacidade e velocidade da memória cache 5. Redução do número de ciclos para execução de cada instrução 6. Execução de instruções em paralelo Prof. José Wilson 20Lima Nerys 20 Microprocessadores

21 Aumento de Clock O sinal de clock é responsável pelo sincronismo entre as unidades de processamento internas ao microprocessador e pelas unidades externas. Quanto maior a frequência de clock mais rápido o processamento. No entanto, não se pode aumentar de forma indefinida essa frequência. Isso pode causar falhas de processamento e sobreaquecimento. O aumento depende de pesquisas com o objetivo de reduzir o tamanho dos componentes básicos do microprocessador e aumento da quantidade de componentes, sem perda de estabilidade no funcionamento. Prof. José Wilson 21Lima Nerys 21 Microprocessadores

22 Aumento do número interno de bits Uma maior quantidade de bits dos registradores e dos barramentos internos permite a movimentação de uma maior quantidade de dados por unidade de tempo, aumentando o desempenho do microprocessador. Aumento do número externo de bits Um número maior de bits externos permite a movimentação de uma maior quantidade de dados por unidade de tempo com os periféricos, tais como memória, unidade de entrada e saída, controlador de acesso direto à memória (DMA). Prof. José Wilson 22Lima Nerys 22 Microprocessadores

23 Redução do número de ciclos para executar cada instrução A execução de uma instrução normalmente é feita em duas etapas: busca (onde a instrução é transferida da memória para a unidade de decodificação) e execução (onde os sinais de controle ativam, em uma sequência lógica, todas as unidades envolvidas na execução). No microprocessador 8085 as instruções mais rápidas são executadas em quatro ciclos de clock; as mais lentas, em até 16 ciclos de clock. A redução do número de ciclos de clock na execução de uma instrução torna o processamento mais rápido. Prof. José Wilson 23Lima Nerys 23 Microprocessadores

24 Aumento da capacidade e velocidade da memória cache Como já foi dito anteriormente, ao longo dos anos, o aumento de velocidade de processamento dos microprocessadores tem sido muito maior do que o aumento da velocidade de acesso à memória principal. Assim, a velocidade de acesso à memória principal torna-se um limitador de desempenho dos processadores. Em razão desse problema foi criada a memória cache. A memória cache (constituída de memória RAM estática) é usada para acelerar a transferência de dados entre a CPU e a memória principal (constituída de RAM dinâmica, de menor volume, porém mais lenta). O aumento da capacidade e da velocidade da memória cache resulta no aumento da velocidade de transferência de dados entre a CPU e a memória principal e, consequentemente, resulta no aumento do desempenho global do sistema. Prof. José Wilson 24Lima Nerys 24 Microprocessadores

25 Execução de instruções em paralelo O microprocessador 8085 compartilha um barramento comum entre suas unidades internas e seus periféricos, o que significa dizer que não permite a execução simultânea de duas operações que utilizem o barramento. Assim, apenas uma instrução é executa por vez. Uma arquitetura que permita que duas ou mais operações sejam executadas simultaneamente torna o processamento mais rápido. Prof. José Wilson 25Lima Nerys 25 Microprocessadores

26 Microprocessador Microcontrolador Microcontrolador Microprocessador Memória de Programa Unidade Lógica e Aritmética (ULA) Unidade de Temporização e Controle Memória de Dados Registro de Instruções e Decodificador de Instruções Registradores Unidade de Entrada e Saída Prof. José Wilson 26Lima Nerys 26 Microprocessadores

27 Microprocessador Unidade Lógica e Aritmética (ULA) Unidade de Temporização e Controle Registro de Instruções e Decodificador de Instruções Registradores Microcontrolador Registradores - São usados para o Memória de Programa armazenamentos internos da CPU. Existem diversos registradores na CPU e o principal deles é chamado de Acumulador. Os registradores são construídos com flip-flops, Memória de Dados que podem reter (armazenar) dados. O acumulador contém um dos dados usados na operação que se deseja e ainda o resultado da Unidade de Entrada e Saída operação, que substitui o dado original. Prof. José Wilson 27Lima Nerys 27 Microprocessadores

28 Unidade Lógica e Aritmética (ULA ou ALU) - realiza funções básicas de processamento de dados (adição, subtração, funções lógicas, etc.). Microcontrolador Microprocessador Memória de Programa Unidade Lógica e Aritmética (ULA) Unidade de Temporização e Controle Memória de Dados Registro de Instruções e Decodificador de Instruções Registradores Unidade de Entrada e Saída Prof. José Wilson 28Lima Nerys 28 Microprocessadores

29 Microprocessador Unidade Lógica e Aritmética (ULA) Unidade de Temporização e Controle Microcontrolador Unidade de Temporização e Controle: Memória de Programa Responsável pela geração dos sinais de controle para todas as unidades, a partir da informação da Unidade de Decodificação. Os sinais de controle são sincronizados, de acordo com o sinal de clock. Memória de Dados Registro de Instruções e Decodificador de Instruções Registradores Unidade de Decodificação: Registrador de Instruções e Decodificador de Instruções Unidade de Entrada e Saída Responsável pela identificação da instrução a ser executada, a partir do código de operação (opcode). Prof. José Wilson 29Lima Nerys 29 Microprocessadores

30 Memória de Programa: ROM (Read-Only Memory) Memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas. Microprocessador Unidade Lógica e Aritmética (ULA) Microcontrolador Memória de Programa Unidade de Temporização e Controle PROM (Programmable Read-Only Memory) Podem ser escritas com dispositivos especiais mas não podem mais ser apagadas. Memória de Dados Registro de Instruções e Decodificador de Instruções EPROM (Erasable Programmable Read-Only Memory) Podem ser apagadas pelo uso de radiação ultravioleta permitindo sua reutilização. Exemplo para o caso do 8051: Microcontrolador 8751 Registradores EEPROM Permite apagar eletricamente e gravar várias vezes. Unidade de Entrada e Saída FLASH Equivalente à memória EEPROM. Porém, ocupa menos espaço; menor consumo de energia; alta durabilidade. Prof. José Wilson 30Lima Nerys 30 Microprocessadores

31 Memória de Programa Universidade Federal de Unidade Goiás Lógica e Aritmética Escola de (ULA) Engenharia Elétrica, Mecânica e de Computação Memória de Dados: Unidade de Temporização e Controle Memória de Dados Registro de Instruções e Decodificador de Instruções Memória RAM Permite a leitura e a gravação de dados. Registradores Unidade de Entrada e Saída Memória Dinâmica (DRAM) Baixa densidade, mas lenta. Capacitores com circuitos com atualização de dados - refresh. Memória estática (SRAM) Alta densidade. Rápida. Baseada em Flip-flops. Memória CACHE - Pequena quantidade de memória RAM estática (SRAM) usada para acelerar o acesso à memória principal (RAM dinâmica). Quando há necessidade de transferir dados da (para) memória dinâmica, estes são antes transferidos para a memória cache Prof. José Wilson 31Lima Nerys 31 Microprocessadores

32 Unidade de Entrada e Saída (I/O) Microprocessador A entrada de dados de um microprocessador (via teclado, mouse ou outros Unidade Lógica e Aritmética dispositivos) e a saída de dados (via (ULA) vídeo, impressora ou outros) exige circuito integrado adicional como interface. Unidade de Temporização e Controle O microcontrolador já possui essa unidade internamente. Exemplos de periféricos usados como unidade de entrada e saída: Registro de Instruções e Decodificador de Instruções CI 8156 RAM e porta de entrada e saída Microcontrolador Memória de Programa Memória de Dados CI 8355 ROM e portas de Registradores entrada e saída) Unidade de Entrada e Saída Prof. José Wilson 32Lima Nerys 32 Microprocessadores

33 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 33Lima Nerys 33 Microprocessadores

34 Ferramentas do Curso: 1. Simulador do microprocessador 8085 Abacus 2. Programas aplicados ao microcontrolador 8051: Edição e Compilação: MCU 8051 IDE Simulação: MCU 8051 IDE e Proteus 3. Simulador do PIC MPLAB X IDE Prof. José Wilson 34Lima Nerys 34 Microprocessadores

35 Arquitetura RISC x Arquitetura CISC Prof. José Wilson 35Lima Nerys 35 Microprocessadores

36 Arquitetura RISC Memória de Programa Unidade de Controle Memória de Dados Arquitetura CISC Memória de Programa Unidade de Entrada e Saída Unidade de Controle Memória de Dados Registradores Prof. José Wilson 36Lima Nerys 36 Microprocessadores

37 Arquiteturas em uso nos computadores atuais: CISC Complex Instruction Set Computing (Computador com Conjunto Complexo de Instruções) Exemplos: Intel e AMD RISC Reduced Instruction Set Computing (Computador com Conjunto Reduzido de Instruções) Exemplos: PowerPC (da Apple, Motorola e IBM), SPARC (SUN) e MIPS R2000 Híbrida Combinação de ambas arquiteturas. Exemplo: Pentium Pro. O núcleo mais interno usa filosofia RISC. Prof. José Wilson 37Lima Nerys 37 Microprocessadores

38 38 Algumas Características RISC X CISC: RISC Instruções básicas executadas em apenas 1ciclo uso intenso de superposição na execução de instruções (através de pipeline) Uso reduzido da memória basicamente 2 instruções de acesso à memória (load/store). Instruções de tamanho fixo. Exemplo: as instruções do PIC 16F628 têm tamanho fixo de 14 bits. Muitos registradores. Exemplo: PIC típico possui de 32 a 128 registradores. Não há necessidade de decodificação das instruções antes de executá-las. As instruções são semelhantes às microinstruções da arquitetura CISC. CISC No mínimo 4 ciclos de clock (8085) para executar uma instrução. Tem pouca ou nenhuma superposição na execução de instruções Muitas instruções com acesso à memória. Uso intenso da memória (load, store, mov... ) Instruções de tamanho variável. Exemplo: 8085 tem instruções de 1, 2 e 3 bytes. Poucos registradores. Exemplo: 8085 possui 7 registradores de propósito geral (A, B, C, D, E, H e L) Ciclo de busca inclui busca na memória e identificação em decodificadores. Uso de micro-instruções gravadas no processador. Prof. José Wilson Lima Nerys 38 Microprocessadores

39 Algumas Características RISC X CISC: RISC Número pequeno (ou médio de instruções). Exemplo: PIC 12 e PIC 16 possuem 32 instruções. Instruções simples 1 ciclo para execução Programa compilado tem maior número de instruções em assembly, comparado com mesmo programa implementado em arquitetura CISC. Uso maior de memória CISC Número elevado de instruções. Exemplo: 8085 possui cerca de 74 instruções, que resultam em cerca 255 códigos de operação (opcodes) Instruções complexas múltiplos ciclos para execução. Menor número de instruções assembly, comparado com mesmo programa implementado em arquitetura RISC. No entanto, é mais lento na execução. Uso de uma quantidade menor de memória. Prof. José Wilson 39Lima Nerys 39 Microprocessadores

40 Algumas Características RISC X CISC: Tempo de processamento = tempo ciclo número de ciclos instrução instruções programa Na arquitetura RISC, esse é um item fundamental para aumento do desempenho a execução em paralelo de instruções (com pipeline) reduz o número de ciclos na execução de cada instrução. Na arquitetura CISC, esse é um item fundamental para aumento do desempenho o número de instruções por programa pode ser reduzido, uma vez que cada instrução executa várias tarefas. Prof. José Wilson 40Lima Nerys 40 Microprocessadores

41 Etapas de execução de uma instrução: Prof. José Wilson 41Lima Nerys 41 Microprocessadores

42 CONJUNTO DE INSTRUÇÕES: Grupos de instruções mais comuns em processadores de qualquer arquitetura: Instruções de desvio (No CISC o valor de retorno é guardado na pilha; no RISC é guardado em um registrador. Instruções de transferência entre registradores e memória (No RISC: load/store; no CISC: load, store, mov etc) Instruções de transferência entre registradores Instruções de transferência entre posições de memória Operações aritméticas (soma, subtração...) Operações lógicas (and, or, not, rotação...) Prof. José Wilson 42Lima Nerys 42 Microprocessadores

43 CICLO DE EXECUÇÃO: RISC As instruções são executadas em um único ciclo de via de dados. São instruções muito parecidas com as micro-instruções da arquitetura CISC. Não precisam de decodificação. Não é possível ter instruções de multiplicação e divisão, por exemplo, por exigir muitos ciclos para execução. Multiplicações são resolvidas com adições e deslocamentos. CISC Antes de executar uma instrução, há necessidade de busca da instrução na memória e de decodificação. Utiliza-se micro-códigos gravados no processador, para a execução das instruções. Prof. José Wilson 43Lima Nerys 43 Microprocessadores

44 MEMÓRIA E REGISTRADORES: RISC Possui uma quantidade muito grande de registradores (em média 512 com 32 visíveis por vez: 8 para variáveis globais e ponteiros, 8 para parâmetros de entrada, 8 para variáveis locais e 8 para parâmetros de saída). Número reduzido de acesso à memória (o acesso à memória torna o processamento mais lento). Alocação de variáveis em registradores. Um ou dois modos de endereçamento para acesso à memória CISC Possui um número reduzido de registradores, comparado com o RISC. Alocação de variáveis em posições de memória, ao invés de registradores. Vários modos de endereçamento para acesso à memória. Prof. José Wilson 44Lima Nerys 44 Microprocessadores

45 MICRO-CÓDIGOS: RISC As instruções geradas por um compilador para uma máquina RISC são executadas diretamente no hardware, sem o uso de micro-códigos. A ausência de interpretação contribui para o aumento da velocidade de execução. CISC As instruções básicas são gravadas na forma de micro-códigos, que atuam no hardware estabelecendo os passos de cada instrução. Há necessidade de busca e decodificação das instruções. O programa compilado tem uma quantidade menor de instruções assembly do que um programa RISC, mas é mais lento na execução. Prof. José Wilson 45Lima Nerys 45 Microprocessadores

46 PIPELINE: Técnica usada para acelerar a execução de instruções. A cada ciclo de clock, enquanto uma instrução está na etapa de execução, a instrução seguinte está sendo buscada. O resultado global é que, a cada ciclo, uma nova instrução é iniciada e uma instrução é encerrada. No caso mostrado a instrução B faz referência à memória. Ciclos Busca da instrução A B C D E Execução da instrução A B C D Referência à memória B Prof. José Wilson 46Lima Nerys 46 Microprocessadores

47 PIPELINE: Enquanto a instrução A precisa de apenas um ciclo para busca e um para execução, a instrução B precisa de dois ciclos para execução. Caso a instrução B interfira na etapa de execução da instrução C (por exemplo, usando o mesmo registrador ou quando a instrução C precisa do resultado da instrução B) é necessário aguardar o término da instrução B antes de executar a instrução C. Ciclos Busca da instrução A B C NOP D E Execução da instrução A B NOP C D Referência à memória B Prof. José Wilson 47Lima Nerys 47 Microprocessadores

48 VANTAGENS RISC: Velocidade de execução O uso de pipeline torna os processadores RISC duas a quatro vezes mais rápidos que um CISC de mesmo clock Simplicidade de Hardware Ocupa menos espaço no chip, devido ao fato de trabalhar com instruções simples. Instruções de máquina simples e pequenas, o que aumenta sua performance. Prof. José Wilson 48Lima Nerys 48 Microprocessadores

49 DESVANTAGENS RISC: O desempenho de um processador RISC depende diretamente do código gerado pelo programador. Um código mal desenvolvido pode resultar em tempo de execução muito grande. Um programa originalmente compilado para uma máquina CISC tem um equivalente compilado para máquina RISC com uma quantidade muito maior de códigos assembly, ocupando um espaço maior na memória. A arquitetura RISC requer sistema de memória rápida para alimentar suas instruções. Normalmente possuem grande quantidade de memória cache interna, o que encarece o projeto. Prof. José Wilson 49Lima Nerys 49 Microprocessadores

50 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 50Lima Nerys 50 Microprocessadores

51 Prof. José Wilson 51Lima Nerys 51 Microprocessadores

52 Característica Microprocessador 8085 Microprocessador 8088 Microprocessador 8086 Barramento de endereço 16 bits 20 bits 20 bits Capacidade de endereçamento de memória ( 64 kb ) ( 1 MB ) Barramento de dados 8 bits Interno: 16 bits Externo: 8 bits ( 1 MB ) Interno: 16 bits Externo: 16 bits Manipulação de STRINGS NÃO SIM SIM Registradores Internos 8 bits e 16 bits 16 bits 16 bits Uso de segmentação para endereçamento / 8088 NÃO SIM SIM Aritmética Decimal completa NÃO SIM SIM Etapas de Busca e Execução Em sequência: Busca Executa Unidades Independentes: Unidade de Interfaceamento com Barramento (BIU) responsável pela Busca e Unidades Independentes: Unidade de Interfaceamento com Barramento (BIU) responsável pela Busca e Unidade de Execução (EU) Unidade de Execução (EU) Prof. José Wilson 52Lima Nerys 52 Microprocessadores

53 / 8088 Registradores do 8085 Registradores do 8088 / 8086 A Acumulador AH AL (A) AX Acumulador Primário H L Apontador de dados BH BL BX Acumulador e Registrador Base B C CH CL CX Acumulador e Contador D E DH DL DX Acumulador e Endereçador de I/O SP Apontador de pilha SP Apontador de pilha BP SI DI Apontador base usado na pilha Índice da Fonte usado para indexação Índice de Destino usado para indexação PC Contador de Programa IP Ponteiro de Instrução CS Segmento de Código Registradores de DS Segmento de Dados segmento. São usados para a SS Segmento de Pilha formação do ES Segmento Extra endereço absoluto. FLAGS Registrador de Flags FLAGS Registrador de Flags Prof. José Wilson 53Lima Nerys 53 Microprocessadores

54 Arquitetura do 8085 Prof. José Wilson 54Lima Nerys 54 Microprocessadores

55 Arquitetura do 8085 (detalhe) Prof. José Wilson 55Lima Nerys 55 Microprocessadores

56 Arquitetura do 8086/88 Prof. José Wilson 56Lima Nerys 56 Microprocessadores

57 Arquitetura do 8051 Universidade Federal de Goiás Prof. José Wilson 57Lima Nerys 57 Microprocessadores

58 Arquitetura do PIC 16F Universidade Federal de Goiás Prof. José Wilson 58Lima Nerys 58 Microprocessadores

59 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 59Lima Nerys 59 Microprocessadores

60 Princípio de Funcionamento 8085 LOAD CLOCK ENABLE A B Chave de 3 estados LOAD CLOCK LOAD CLOCK ENABLE C D ENABLE LOAD CLOCK ENABLE Prof. José Wilson 60Lima Nerys 60 Microprocessadores

61 Célula básica de um registrador: CARREGA (LOAD) Entrada X CLK D Flipflop Q HABILITA SAÍDA (OE) Saída Y Chave 3 estados Linha do barramento CARREGA REGISTRADOR (LOAD) HABILITA SAÍDA (OUTPUT ENABLE) (OE) COMENTÁRIO 0 0 Registradores isolados do barramento. Barramento flutuando 0 1 Transfere dados do registrador para o barramento 1 0 Carrega o registrador com os dados do barramento Prof. José Wilson 61Lima Nerys 61 Microprocessadores

62 Princípio de Funcionamento 8085 MOV D,A LOAD CLOCK A = 15 H LOAD ENABLE B CLOCK LOAD 15 H ENABLE CLOCK C LOAD ENABLE D D = 15 H CLOCK ENABLE Prof. José Wilson 62Lima Nerys 62 Microprocessadores

63 Frequência de Clock CLK f Ciclo de Clock clock f cristal A: f cristal = 500 khz a 3,125 MHz 8085A-2: f cristal = 500 khz a 5 MHz Exemplo: Se f cristal = 2 MHz f clock = 1 MHz T clock = 1 s Prof. José Wilson 63Lima Nerys 63 Microprocessadores

64 Ciclos de Clock, de Máquina e de Instrução Ciclo de Instrução Ciclo de Instrução Ciclo de Máquina 1: M1 Ciclo de Máquina 2 : M2 CLK Estados T1 T2 T3 T4 T1 T2 T3 Ciclo de Busca Ciclo de Execução Ciclo de Execução Prof. José Wilson 64Lima Nerys 64 Microprocessadores

65 Diagrama de Temporização M1 M2 CLK Estados T1 T2 T3 T4 T1 T2 T3 ALE PC FORA PC+1 PC INST IR PC FORA PC+1 PC INST IR A15-A8 PC H PC H AD7-AD0 PC L INST PC L INST Prof. José Wilson 65Lima Nerys 65 Microprocessadores

66 M1 M2 T1 T2 T3 T4 T1 T2 T3 PC FORA PC+1 PC INST IR SBE PC FORA PC+1 PC INST IR A15-A8 PC H PC H AD7-AD0 PC L INST PC L INST ALE RD\ WR\ IO-M\ Prof. José Wilson 66Lima Nerys 66 Microprocessadores

67 Princípio de Funcionamento 8088/8086: A BIU coloca o conteúdo do IP (que é somado ao registrador CS) no barramento para efetuar a busca de instrução; O registrador IP é incrementado (aponta para a próxima instrução); A instrução lida é passada para a fila; A EU pega a primeira instrução da fila; Enquanto a EU executa esta instrução a BIU faz uma nova busca de instrução para preencher a fila. Se a instrução a ser executada pela EU for muito demorada a BIU preenche toda a fila. Prof. José Wilson 67Lima Nerys 67 Microprocessadores

68 Princípio de Funcionamento 8088/8086: Há 2 situações em que não são aproveitadas as instruções contidas na fila. São elas: Na execução de instruções de desvio. Neste caso a fila é descartada (ou seja, é sobrescrita); Quando a instrução faz referência à memória. Prof. José Wilson 68Lima Nerys 68 Microprocessadores

69 Segmentação Consiste em combinar 2 registradores de 16 bits para gerar um endereço de memória de 20 bits (2 20 = = 1 Mb) Registrador de Segmento + Registrador de Offset Endereço Físico = (Conteúdo do Registrador de Segmento) 16 + (Conteúdo do Registrador de Offset) Prof. José Wilson 69Lima Nerys 69 Microprocessadores

70 Endereço Físico (ou absoluto) XXXX0 0YYYY Registrador de Segmento (16 bits) 15 0 Extra Segment - ES Code Segment - CS Stack Segment - SS Data Segment - DS Registrador de Offset (16 bits) 15 0 Stack Pointer - SP Base Pointer - BP Source Index - SI Destination Index - DI Prof. José Wilson 70Lima Nerys 70 Microprocessadores

71 Vantagens da Utilização de Memória Segmentada Por haver uma área específica para armazenamento de código e outras áreas para armazenamento de dados, pode-se trabalhar com tipos diferentes de conjuntos de dados. (por exemplo, em um ambiente multitarefa onde um programa atende várias entradas de dados). Programas que referenciam endereços lógicos (0000 a FFFF no caso do 8088) podem ser carregados em qualquer espaço (físico) da memória (00000 a FFFFF): possibilita a realocação de programas. Prof. José Wilson 71Lima Nerys 71 Microprocessadores

72 Memória Offset + Byte Endereçado Segment o 16 Início do Segmento Exemplo 1: Exemplo 2: Segmento = 2000H; Offset = 2000H Representação: 2000H:2000H Endereço Físico = 20000H H = 22000H Segmento = 4000H; Offset = 2000H Representação: 4000H:2000H Endereço Físico = 40000h h = 42000h Prof. José Wilson 72Lima Nerys 72 Microprocessadores

73 Alocação de diferentes regiões para diferentes conjuntos de dados F F F F F H Offset + CS 16 Offset + DS 16 Offset + ES 16 Offset + SS kb 64 kb 64 kb 64 kb H Prof. José Wilson 73Lima Nerys 73 Microprocessadores

74 Princípio de Funcionamento 8051 T clock f 1 clock Se f = 12 MHz Se f = MHz T T máquina T máquina máquina 12 T 12 12MHz Prof. José Wilson 74Lima Nerys 74 Microprocessadores 12 11,0592 clock 1 s MHz 12 f clock 1,085 s

75 Princípio de Funcionamento 8051 Estado S1: a próxima instrução é buscada na ROM, colocada no barramento principal e encaminhada para o registrador IR. Estado S2: a instrução é decodificada e o PC é incrementado. Estado S3: os operandos da instrução são preparados Prof. José Wilson 75Lima Nerys 75 Microprocessadores

76 Princípio de Funcionamento 8051 Estado S4: os operandos são enviados para os registradores temporários TMP1 e TMP2, na entrada da ULA Estado S5: a ULA executa a instrução Estado S6: o resultado da ULA é colocado no barramento principal e encaminhado para o registrador final. Prof. José Wilson 76Lima Nerys 76 Microprocessadores

77 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 77Lima Nerys 77 Microprocessadores

78 Flags no 8085 Registrador F: Registra o estado da última operação realizada na ULA Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 S Z AC P CY Prof. José Wilson 78Lima Nerys 78 Microprocessadores

79 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 S Z AC P CY Flag de Sinal: Assume valor 0 para número positivo (bit 7 = 0) e 1 para negativo (bit 7 = 1) Flag de Zero: Assume valor 0 para número diferente de zero e 1 para número igual a zero. Flag Auxiliar de Carry: Assume valor 1 quando há transporte do Bit 3 para o Bit 4 Prof. José Wilson 79Lima Nerys 79 Microprocessadores

80 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 S Z AC P CY Flag de Paridade: Assume valor 1 quando há uma quantidade par de dígitos 1 no acumulador. Assume valor 0 quando há uma quantidade ímpar. Flag de Carry: Assume valor 1 quando há transporte do Bit 7 para o bit 8 (O Bit 8 é fora do acumulador) Prof. José Wilson 80Lima Nerys 80 Microprocessadores

81 Registrador de Flags 8086 (Registrador de Estado do Programa (PSW) É um registrador de 16 bits, mas apenas 9 bits são usados para as flags: Seis deles são bits de status que refletem os resultados de operações aritméticas e lógicas. Três são bits de controle O D I T S Z A P C Flag de Overflow Flag de Trap Flag Auxiliar de Carry Flag de Direção Flag de Sinal Flag de Paridade Flag de Interrupção Flag de Zero Flag de Carry Prof. José Wilson 81Lima Nerys 81 Microprocessadores

82 Registrador de Flags 8086 (Registrador de Estado do Programa (PSW) Flags de Status C Flag de carry reflete o vai um do bit mais significativo, nas operações aritméticas (de 8 ou 16 bits). Ele também é modificado por algumas instruções de rotação e deslocamento. Nas operações de subtração (aritmética em complemento dois) o carry é invertido e passa a funcionar como borrow (empréstimo). Se, após uma operação de subtração, obtém-se C = 1, isso indica que não houve borrow, mas C=0, indica que houve borrow. P Flag de Paridade indica a paridade (par), dos 8 bits menos significativos, do resultado da operação realizada. P = 1 número par de 1 nos 8 bits menos significativos P = 0 número ímpar de 1 nos 8 bits menos significativos A Flag Auxiliar de Carry reflete o vai um do bit 3, em uma operação de 8 bits. Prof. José Wilson 82Lima Nerys 82 Microprocessadores

83 Registrador de Flags 8086 (Registrador de Estado do Programa (PSW) Flags de Status Z Flag de Zero indica se uma operação teve zero como resultado. Z = 1 se o resultado da operação for igual a zero Z = 0 se o resultado da operação for diferente de zero S Flag de Sinal é igual ao bit de mais alta ordem do resultado de uma operação aritmética. S = 0 resultado positivo S = 1 resultado negativo O Flag de Overflow seu conteúdo é obtido através de uma operação XOR do carry in com o carry out do bit de mais alta ordem do resultado de uma operação aritmética. Ele indica um overflow de magnitude, em aritmética binária com sinal. Indica que o resultado é muito grande para o campo destino. Prof. José Wilson 83Lima Nerys 83 Microprocessadores

84 Registrador de Flags 8086 (Registrador de Estado do Programa (PSW) O Flag de Overflow seu conteúdo é obtido através de uma operação XOR do carry in com o carry out do bit de mais alta ordem do resultado de uma operação aritmética. CY_IN CY_OUT OV = (XOR) Prof. José Wilson 84Lima Nerys 84 Microprocessadores

85 Registrador de Flags 8086 (Registrador de Estado do Programa (PSW) Flags de Controle T Flag de Trap (armadilha) usada para a depuração de programas. Coloca o 8086 no modo passo a passo. Após cada instrução uma interrupção é gerada automaticamente. I Flag de Interrupção habilita ou desabilita a interrupção externa (pedida pelo pino INTR). Ao contrário do 8085, onde as interrupções RST 7.5, RST 6.5 e RST 5.5 podem ser habilitadas/desabilitadas individualmente, no 8086 todas são habilitadas ou desabilitadas ao mesmo tempo. A habilitação/ desabilitação individual pode ser feita através do controlador de interrupção I = 1 interrupção habilitada I = 0 interrupção desabilitada D Flag de Direção determina se as operações com strings vão incrementar ou decrementar os registradores de indexação (SI e DI). D = 1 SI e DI serão decrementados, ou seja, a string será acessada a partir do endereço mais alto em direção ao mais baixo. D = 0 SI e DI serão incrementados, ou seja, a string será acessada a partir do endereço mais baixo em direção ao mais alto. Prof. José Wilson 85Lima Nerys 85 Microprocessadores

86 Registrador de Flags 8051 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CY AC F0 RS1 RS0 OV P Carry Auxiliar de Carry Uso Geral Overflow Paridade RS1 RS0 Banco Selecionado Prof. José Wilson 86Lima Nerys 86 Microprocessadores

87 Registrador de Flags 8051 OV overflow A flag de overflow é setada quando há um carry do bit 7, mas não do bit 6 ou um carry do bit 6, mas não bit 7. A flag de overflow é útil em operações com número sinalizado representados na forma de complemento de 2. Há duas situações que resultam em OV setado: Se a soma de dois números positivos for maior que 7F H e menor que FFH a flag de overflow indica que o número não deve ser interpretado como número negativo. Se a soma de dois números negativos (bit 7 = 1) resultar em um número no intervalo de 00 H a 7F H (ou 100 H a 17F H, considerando a flag de carry, que sempre estará presente nessa situação), a flag de overflow indicará que o número não é pra ser interpretado como número positivo. Prof. José Wilson 87Lima Nerys 87 Microprocessadores

88 Exemplos para a flag de overflow: 1. MOV A,#100 64H = : ADD A,#44 2CH = : Registrador de Flags 8051 Resultado: 144 = 90 H = : (OV = 1) Decimal Hexadecimal H CH H Há transporte do bit 6 para o 7, mas não há do bit 7 para o bit 8. Os dois números (64H e 2CH) são positivos na operação com sinal. Assim, o resultado deve ser interpretado como número positivo, mesmo tendo bit 7 igual a 1. Prof. José Wilson 88Lima Nerys 88 Microprocessadores

89 Exemplos para a flag de overflow: Registrador de Flags ADD,#01H (Ao resultado da operação anterior: 90H) Resultado: 145 = 91 H = : (OV = 0) H H H Não há transporte do bit 6 para o 7, nem do bit 7 para o bit 8. O número 90H é negativo nas operações com sinal e o número 01H é positivo. Nesse caso não há flag de overflow. Prof. José Wilson 89Lima Nerys 89 Microprocessadores

90 Pilha no 8085 e 8051 Prof. José Wilson 90Lima Nerys 90 Microprocessadores

91 Região de memória usada para guardar endereço de retorno e valores temporários Instruções que usam a pilha: CALL RET PUSH POP Interrupções SP Endereço Mnemônico Código 2000 H LXI SP,20FFH 31 FF H 2004 H xxxxx xxxxx xxxxx xxxxx 20FF H Prof. José Wilson 91Lima Nerys 91 Microprocessadores

92 Transferência de dados envolve sempre um par de bytes 16 bits O byte mais significativo é sempre guardado primeiro na pilha O byte menos significativo é retirado primeiro da pilha O Ponteiro de Pilha SP aponta sempre para o topo da pilha (último valor armazenado) Registradores utilizados PSW A + Flags B B + C D D + E H H + L Prof. José Wilson 92Lima Nerys 92 Microprocessadores

93 PUSH reg16 guarda conteúdo do registrador de 16 bits na pilha 1. O valor de SP é decrementado em 1 2. O byte mais significativo é armazenado na posição SP 1 3. O valor de SP é decrementado em 1 4. O byte menos significativo é armazenado na posição SP 2 POP reg16 carrega registrador de 16 bits com conteúdo da pilha 1. O conteúdo apontado por SP é copiado para o byte menos significativo 2. O valor de SP é incrementado em 1 3. O conteúdo apontado por SP + 1 é copiado para o byte mais significativo 4. O valor de SP é incrementado em 1 Prof. José Wilson 93Lima Nerys 93 Microprocessadores

94 Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H PUSH PSW Flags PUSH B Endereço da RAM Conteúdo Endereço da RAM Conteúdo 2089 SP inicial: A 208B 2090h 208A 208B 208C 208D 208C D 45 C B F 208E E 23 F A 208F F 01 A SP após a instrução: 208Eh SP após a instrução: 208Ch Prof. José Wilson 94Lima Nerys 94 Microprocessadores

95 Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H POP B POP PSW Endereço da RAM Conteúdo Endereço da RAM Conteúdo A 208A 208B 208B 208C D C D 45 C B F 208E E 23 F A 208F F 01 A SP após a instrução: 208Eh SP após a instrução: 2090h Prof. José Wilson 95Lima Nerys 95 Microprocessadores

96 Pilha Exemplo de aplicação Endereço Mnemônico Código 2000 H LXI SP,203FH H MVI A,20H 3E H PUSH PSW F H CALL MOSTRAA CD 6E H POP PSW F1 200A H ADI 01H C C H JNZ 2005 H DA F H JMP 2003 C H Prof. José Wilson 96Lima Nerys 96 Microprocessadores

97 Pilha no 8051 Transferência de dados envolve dados de 8 bits e 16 bits. Registradores de 16 bits, como DPTR, são guardados em duas operações PUSH e retiradas em duas operações POP Exemplos: PUSH ACC Guarda conteúdo do acumulador PUSH DPH Guarda 8 bits mais significativos do DPTR PUSH DPL Guarda 8 bits menos significativos do DPTR POP ACC Recupera conteúdo do acumulador Prof. José Wilson 97Lima Nerys 97 Microprocessadores

98 Ao contrário do 8085, o apontador de pilha SP é incrementado no 8051, nas operações PUSH. PUSH reg8 guarda conteúdo do registrador de 8bits na pilha 1. O valor de SP é incrementado em 1 2. O byte é armazenado na posição SP + 1 POP reg8 carrega registrador de 8bits com conteúdo da pilha 1. O conteúdo apontado por SP é copiado para o registrador indicado 2. O valor de SP é decrementado em 1 Prof. José Wilson 98Lima Nerys 98 Microprocessadores

99 Diferenças básicas entre o uso da Pilha no 8051 e no 8085 Característica Variação do apontador de pilha SP Região da memória SP é decrementado nas operações para guardar valores na pilha (PUSH, CALL, chamada de interrupção) A região da pilha é a mesma do programa do usuário, podendo haver sobreposição SP é incrementado nas operações para guardar valores na pilha (PUSH, CALL, chamada de interrupção) A pilha é reservada na memória RAM e o programa na memória ROM, não havendo risco de sobreposição Tamanho do dado guardado São movimentados 16 bits em cada operação de pilha São movimentados 8 bits nas operações PUSH e POP e 16 bits nas operações LCALL, RET e chamadas de interrupção. Prof. José Wilson 99Lima Nerys 99 Microprocessadores

100 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 100Lima Nerys 100 Microprocessadores

101 Instruções de Transferência de Dados do 8085 Instrução Efeito Descrição MOV A,B (A) (B) Copia no registrador A (acumulador) o conteúdo do registrador B MOV C,E (C) (E) Copia no registrador C o conteúdo do registrador E MOV A,M (A) ((H,L)) Copia no registrador A o conteúdo da posição de memória M, indicada pelos registradores H e L MVI D,byte (D) byte Carrega o registrador D com valor byte, buscado na memória MOV M,B ((H,L)) (A) Copia na posição de memória M, indicada pelos registradores H e L, o conteúdo do registrador A o conteúdo LXI H,word (HL) word Carrega registrador duplo HL com o valor de 16 bits word LDA ender. (A) (ender.) Carrega acumulador com conteúdo do endereço ender. STA ender. (ender.) (A) Copia no endereço ender. o conteúdo do acumulador XCHG (H) (D) (L) (E) Os conteúdos dos registradores H e L são trocados com os conteúdos dos registradores D e E. Obs.: as instruções de transferência de dados não afetam nenhuma flag. Prof. José Wilson 101Lima Nerys 101 Microprocessadores

102 Exemplos usando instruções de transferência de dados Endereço Instrução Descrição 2000H MVI C,20H O registrador C é carregado com o valor hexadecimal 20h 2002H MOV B,C Copia em B o conteúdo do registrador C 2003H LXI H,2030H Carrega registradores H e L com os valores 20H e 30H 2006H 2007H 200AH MOV M,B LDA 2030H XCHG Copia o conteúdo de B na posição de memória apontada por HL (2030H) Copia no acumulador o conteúdo da posição na posição de memória M, indicada pelos registradores H e L, o conteúdo do registrador A o conteúdo Os conteúdos dos registradores H e L são trocados com os conteúdos dos registradores D e E. Assim, D=20H e E=30H Prof. José Wilson 102Lima Nerys 102 Microprocessadores

103 Instruções Aritméticas do 8085 Instrução Efeito Descrição ADD B A A + B Acumulador A recebe o resultado da adição A + B ADC D A A + D + CY Acumulador recebe o resultado da adição A + B + CY ADI byte A A + byte Acumulador recebe o resultado da adição A + byte ACI byte A A +byte +CY Acumulador recebe o resultado da adição A + byte + CY SUB M A A - ((H,L)) Acumulador recebe resultado da subtração A conteúdo da posição indicada pelo registrador duplo HL SUI byte A A byte Acumulador recebe o resultado da subtração A byte INR C C C + 1 Incrementa em 1 o conteúdo do registrador C INX H HL HL + 1 Incrementa em 1 o conteúdo do registrador duplo HL DCR L L L 1 Decrementa em 1 o conteúdo do registrador L DCX B BC BC 1 Decrementa em 1 o conteúdo do registrador duplo BC DAA Faz o ajuste decimal do conteúdo do acumulador Obs.: Todas as flags (com poucas exceções) são afetadas: Z, S, P, CY, AC Prof. José Wilson 103Lima Nerys 103 Microprocessadores

104 Exemplos usando instruções de transferência de dados e aritméticas Endereço Instrução Descrição 2000H MVI A,20H O registrador A é carregado com o valor hexadecimal 20h 2002H MVI B,30H O registrador B é carregado com o valor hexadecimal 30h 2004H ADD B O acumulador recebe o resultado de A + B 2005H INR A Incrementa em 1 unidade o conteúdo do acumulador 2006H SUI 02H Subtrai em duas unidades o conteúdo do acumulador 2008H ADI 05H Adiciona 05H ao conteúdo do acumulador 200AH DAA Faz o ajuste decimal do conteúdo do acumulador 200BH LXI D,2050H Carrega registradores D e E com valores 20H e 50H 200EH INX D Incrementa em 1 registrador duplo DE 200FH LXI H,2070H Carrega registradores H e L com valores 20H e 10H 2012H DAD D Adiciona o conteúdo de DE ao conteúdo de HL Prof. José Wilson 104Lima Nerys 104 Microprocessadores

105 Instruções de Desvio do 8085 Instrução Efeito Descrição JMP ender. PC ender. JNC ender. PC ender., se CY=0 JC ender. PC ender., se CY=1 JNZ ender. PC ender., se Z=0 JZ ender. PC ender., se Z =1 CALL ender. RET PC ender. ((SP)) ender. + 3 PC ((SP)) Processamento é desviado, de forma incondicional, para o endereço ender.. Processamento é desviado para o endereço ender., se a flag de carry CY for zero (CY = 0). Processamento é desviado para o endereço ender., se a flag de carry CY estiver setada (CY = 1). Processamento é desviado para o endereço ender., se a flag de zero Z for zero (Z = 0). Processamento é desviado para o endereço ender., se a flag de zero Z estiver setada (Z = 1). Processamento é desviado para uma subrotina, cujo endereço é ender.. Retorna ao encontrar RET. Busca a pilha a posição da próxima instrução e retorna para o processamento anterior do programa. Obs.: as instruções de desvio não afetam nenhuma flag. Prof. José Wilson 105Lima Nerys 105 Microprocessadores

106 Exemplos usando instruções de desvio Endereço Instrução Descrição 2000H MVI A,20H O registrador A é carregado com o valor hexadecimal 20h 2002H MVI B,30H O registrador B é carregado com o valor hexadecimal 30h 2004H ADD B O acumulador recebe o resultado de A + B 2005H JNC 2004H Se CY=0, desvia para 2004; se CY=1, vai para a próxima linha 2008H DCR B Decrementa o registrador B 2009H JNZ 2008H Se Z=0, desvia para 2008H; se Z=1, vai para a próxima linha Prof. José Wilson 106Lima Nerys 106 Microprocessadores

107 Obs.: as instruções lógicas afetam todas as flags (algumas exceções) Universidade Federal de Goiás Instruções Lógicas do 8085 Instrução Efeito Descrição ANA B ANI byte ORA E ORI byte XRA D A A B A A byte A A E A A byte A A XOR D Acumulador recebe o resultado da operação lógica AND (bit a bit) entre o conteúdo do acumulador e o registrador B. Acumulador recebe o resultado da operação lógica AND (bit a bit) entre o conteúdo do acumulador e o byte. Acumulador recebe o resultado da operação lógica OR (bit a bit) entre o conteúdo do acumulador e o registrador E. Acumulador recebe o resultado da operação lógica OR (bit a bit) entre o conteúdo do acumulador e o byte. Acumulador recebe resultado da operação lógica XOR (bit a bit) entre o conteúdo do acumulador e do registrador D RLC A n+1 A n Rotaciona à esquerda o conteúdo do acumulador RAR CMP B A n A n+1 A 7 CY A B Rotaciona à direita o conteúdo do acumulador, incluindo a flag de carry. Ou seja, rotação à direita de 9 bits. Compara o conteúdo de A com o conteúdo de B. O resultado afeta as flags CY e Z. O resultado não é armazenado em A CPI byte A byte Compara o conteúdo de A como o byte. Prof. José Wilson 107Lima Nerys 107 Microprocessadores

108 Endereço Instrução Descrição Exemplos usando instruções lógicas 2000H MVI A,25H O registrador A é carregado com o valor hexadecimal 25h 2002H MVI B,0FH O registrador B é carregado com o valor hexadecimal 0Fh 2004H ANA B O acumulador recebe o resultado da operação A AND B 2005H ORI 70H O acumulador recebe o resultado da operação A OR 70H 2007H RLC Rotaciona à esquerda o conteúdo do acumulador 2008H CPI 99H Compara o conteúdo do acumulador com 99H 200AH JC 2004H Se CY=1, desvia para 2004H 200DH JMP 2002H Desvia para 2002H CPI byte CY Z A > byte 0 0 A = byte 0 1 A < byte 1 0 Prof. José Wilson 108Lima Nerys 108 Microprocessadores

109 Instrução Efeito Descrição Instruções de Pilha e de Controle PUSH PSW PUSH B POP D POP H Pilha (A,F) Pilha (B,C) (D,E) Pilha (H,L) Pilha Guarda na pilha o conteúdo do acumulador (A) e do registrador de flags (F). O conteúdo de A, na posição SP-1; o de F, na posição SP-2. Guarda na pilha o conteúdo dos registradores B e C. O conteúdo de B, na posição SP-1; o de C, na posição SP-2. Carrega os registradores D e E com valores guardados na pilha. O conteúdo da posição atual (SP) é guardado em E; o conteúdo de SP + 1 é guardado em D. Carrega os registradores D e E com valores guardados na pilha. O conteúdo da posição atual (SP) é transferido par o registrador L; o conteúdo de SP + 1 é transferido para H. IN 80H A Porta 80h Copia no acumulador o conteúdo externo que foi lido através da Porta paralela 80H. OUT 80H Porta 90h A Transfere para a Porta 90H o conteúdo do acumulador HLT Para o processamento. Obs.: as instruções de pilha e de controle não afetam nenhuma flag. Prof. José Wilson 109Lima Nerys 109 Microprocessadores

110 Exemplos usando instruções de pilha e de controle Endereço Instrução Descrição 2000H MVI A,25H O registrador A é carregado com o valor hexadecimal 25h 2002H MVI B,0FH O registrador B é carregado com o valor hexadecimal 0Fh 2004H ANA B O acumulador recebe o resultado da operação A AND B 2005H ORI 70H O acumulador recebe o resultado da operação A OR 70H 2007H RLC Rotaciona à esquerda o conteúdo do acumulador 2008H CPI 99H Compara o conteúdo do acumulador com 99H 200AH JC 2004H Se CY=1, desvia para 2004H 200DH JMP 2002H Desvia para 2002H Prof. José Wilson 110Lima Nerys 110 Microprocessadores

111 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 111Lima Nerys 111 Microprocessadores

112 Programa-exemplo 1: contagem crescente Endereço Instrução Descrição 2000H LXI SP,2050H O registrador duplo HL recebe o valor 2050H (pilha) 2003H MVI A,00H O registrador A é carregado com o valor hexadecimal 00H 2005H PUSH PSW Guarda na pilha o conteúdo de A e F (acumulador e flags) 2006H CALL 036EH Mostra no display o conteúdo de A 2009H POP PSW Recupera da pilha o conteúdo de A e F 200AH ADI 01H Adiciona 01H ao conteúdo de A 200CH JMP 2005H Desvia para 2005H 200FH HLT Encerra o programa Prof. José Wilson 112Lima Nerys 112 Microprocessadores

113 Programa-exemplo 2: contagem crescente decimal Endereço Instrução Descrição 2000H LXI SP,2050H O registrador duplo HL recebe o valor 2050H (pilha) 2003H MVI A,00H O registrador A é carregado com o valor hexadecimal 00H 2005H PUSH PSW Guarda na pilha o conteúdo de A e F (acumulador e flags) 2006H CALL 036EH Mostra no display o conteúdo de A 2009H POP PSW Recupera da pilha o conteúdo de A e F 200AH ADI 01H Adiciona 01H ao conteúdo de A 200CH DAA Faz a correção decimal do conteúdo do acumulador 200DH JMP 2005H Desvia para 2005H 2010H HLT Encerra o programa Prof. José Wilson 113Lima Nerys 113 Microprocessadores

114 Programa-exemplo 3: contagem decrescente decimal Endereço Instrução Descrição 2000H LXI SP,2070H O registrador SP recebe o valor 2070H (pilha) 2003H MVI A,00H O registrador A é carregado com o valor hexadecimal 00H 2005H PUSH PSW Guarda na pilha o conteúdo de A e F (acumulador e flags) 2006H CALL 036EH Mostra no display o conteúdo de A 2009H POP PSW Recupera da pilha o conteúdo de A e F 200AH ADI 99H Adiciona 99H ao conteúdo de A (subtrai uma unidade) 200CH DAA Faz a correção decimal do conteúdo do acumulador 200FH JMP 2004H Desvia para 2004H 2012H HLT Encerra o programa Prof. José Wilson 114Lima Nerys 114 Microprocessadores

115 Programa-exemplo 4: mostra no display o conteúdo da Tabela Ender. Instrução Descrição 2000H LXI SP,2070H 2003H LXI H,2050H 2006H MOV A,M O registrador duplo SP recebe o valor 2070H (pilha) O registrador duplo HL é carregado com o valor 2050H Carrega em A o conteúdo da posição apontada por HL 2007H PUSH H Guarda na pilha o conteúdo de HL 2008H CALL 036EH Recupera da pilha o conteúdo de A e F 200BH POP H Recupera da pilha o conteúdo de HL 200CH INX H Incrementa em 1 o registrador duplo HL 200DH JMP 2006H Desvia para 2006H Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H Prof. José Wilson 115Lima Nerys 115 Microprocessadores

116 Ender. Programa-exemplo 5: mostra no display o conteúdo da Tabela Com subrotina de atraso de tempo e contador de 16 valores Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H LXI H,2050H O registrador duplo HL é carregado com o valor 2050H 2006H MVI D,10H Contador para leitura de 16 elementos da tabela 2008H MOV A,M Carrega em A o conteúdo da posição apontada por HL 2009H PUSH D Guarda na pilha os conteúdos de D e E 200AH PUSH H Guarda na pilha os conteúdos de H e L 200BH CALL 036EH Mostra no Display de Dados o conteúdo de A 200EH CALL 2020H Chama subrotina de atraso de tempo no ender. 2020H 2011H POP H Recupera da pilha o conteúdo de H e L 2012H POP D Recupera da pilha o conteúdo de D e E 2013H INX H Incrementa em 1 o registrador duplo HL 2014H DCR D Decrementa em uma unidade o conteúdo de D 2015H JNZ 2008H Desvia para 2008H se a Flag Z = 0 (D diferente de 0) 2018H HLT Encerra o programa 205EH 33H Prof. José Wilson Lima Nerys FHMicroprocessadores 44H H 2022H 2023H 2026H Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH 205CH 205DH Atraso de tempo Tabela de Dados Dados MVI B,50H DCR B JNZ 2022H RET Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H 40H 11H

117 Ender. Programa-exemplo 6: mostra no display o conteúdo da Tabela Com subrotina de atraso de tempo. Conta 16 valores através de L Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H LXI H,2050H O registrador duplo HL é carregado com o valor 2050H 2006H MOV A,M Carrega em A o conteúdo da posição apontada por HL 2007H PUSH H Guarda na pilha os conteúdos de H e L 2008H CALL 036EH Mostra no Display de Dados o conteúdo de A 200BH CALL 2020H Chama subrotina de atraso de tempo no ender. 2020H 200EH POP H Recupera da pilha o conteúdo de H e L 200FH INX H Incrementa em 1 o registrador duplo HL 2010H MOV A,L A recebe o valor de L, para verificar se já chegou a 60H 2011H CPI 60H Compara A com 60H. 2013H JNZ 2006H Desvia para 2006H se a Flag Z = 0 (A diferente de 60H) 2016H HLT Encerra o programa 205EH 33H Prof. José Wilson Lima Nerys FHMicroprocessadores 44H H 2022H 2023H 2026H Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH 205CH 205DH Atraso de tempo Tabela de Dados Dados MVI B,50H DCR B JNZ 2022H RET Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H 40H 11H

118 Aula Dia Conteúdo 09/03 (Qui) Não haverá aulas 1 14/03 (Ter) Introdução ao curso de Microprocessadores e microcontroladores: histórico e conceitos básicos. 2 16/03 (Qui) Ferramentas de simulação. Arquitetura CISC x Arquitetura RISC 3 21/03 (Ter) 4 23/03 (Qui) Arquitetura, diagrama de blocos dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC Princípio de funcionamento dos microprocessadores 8085, 8086/8088 e Microcontroladores 8051 e PIC 5 28/03 (Ter) Registradores de Flags. Princípio de operação da pilha 6 30/03 (Qui) Instruções do Princípios de programação do /04 (Ter) Programação básica do Microprocessador /04 (Qui) Programação básica do Microprocessador /04 (Ter) Prova 1 - conteúdo das aulas 1 a 8 (conceitos básicos, pilha, flags, princípio de funcionamento de microprocessadores e microcontroladores e programação do 8085) Prof. José Wilson 118Lima Nerys 118 Microprocessadores

119 Ender. Programa-exemplo 7: mostra no display os valores maiores que 40H, lidos da Tabela Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H LXI H,2050H O registrador duplo HL é carregado com o valor 2050H 2006H MOV A,M Carrega em A o conteúdo da posição apontada por HL 2007H CPI 40H Compara A com 40H (se A > 40H, então Z=0 e CY=0) 2009H JC 2017H Se CY = 1, então A < 40H (A não será mostrado) 200CH JZ 2017H Se Z = 1, então A = 40H (A não será mostrado) 200FH PUSH H Guarda os conteúdos de H e L na pilha 2010H CALL 036EH Mostra no Display de Dados os valores de A > 40H 2013H CALL 2020H Chama subrotina de atraso de tempo no ender. 2020H 2016H POP H Recupera da pilha o conteúdo de H e L 2017H INX H Incrementa em 1 o registrador duplo HL 2018H MOV A,L A recebe o valor de L, para verificar se já chegou a 60H 2019H CPI 60H Compara A com 60H. 201BH JNZ 2006H Desvia para 2006H se a Flag Z = 0 (A diferente de 60H) 205CH 40H 205DH 11H 201EH HLT Encerra o programa 205EH 33H Prof. José Wilson Lima Nerys FHMicroprocessadores 44H H 2022H 2023H 2026H Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH Atraso de tempo Tabela de Dados Dados MVI B,50H DCR B JNZ 2022H RET Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H

120 Ender. Programa-exemplo 8: mostra no display os valores maiores ou iguais a 40H, lidos da Tabela Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H LXI H,2050H O registrador duplo HL é carregado com o valor 2050H 2006H MOV A,M Carrega em A o conteúdo da posição apontada por HL 2007H CPI 40H Compara A com 40H (se A >= 40H, então CY=0) 2009H JC 2014H Se CY = 1, então A < 40H (A não será mostrado) 200CH PUSH H Guarda os conteúdos de H e L na pilha 200DH CALL 036EH Mostra no Display de Dados os valores de A >= 40H 2010H CALL 2020H Chama subrotina de atraso de tempo no ender. 2020H 2013H POP H Recupera da pilha o conteúdo de H e L 2014H INX H Incrementa em 1 o registrador duplo HL 2015H MOV A,L A recebe o valor de L, para verificar se já chegou a 60H 2016H CPI 60H Compara A com 60H. 2018H JNZ 2006H Desvia para 2006H se a Flag Z = 0 (A diferente de 60H) 201BH HLT Encerra o programa 205EH 33H Prof. José Wilson Lima Nerys FHMicroprocessadores 44H H 2022H 2023H 2026H Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH 205CH 205DH Atraso de tempo Tabela de Dados Dados MVI B,50H DCR B JNZ 2022H RET Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H 40H 11H

121 Ender. Programa-exemplo 9: mostra no display os valores maiores ou iguais a 40H e menores que 80H, lidos da Tabela Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H LXI H,2050H O registrador duplo HL é carregado com o valor 2050H 2006H MOV A,M Carrega em A o conteúdo da posição apontada por HL 2007H CPI 40H Compara A com 40H (se A >= 40H, então CY=0) 2009H JC 2019H Se CY = 1, então A < 40H (A não será mostrado) 200CH CPI 80H Compara A com 80H (se A < 80H, então CY = 1) 200EH JNC 2019H Se CY=0, então A >= 80H (A não será mostrado) 2011H PUSH H Guarda os conteúdos de H e L na pilha 2012H CALL 036EH Mostra no Display de Dados os valores de A >= 40H e <80H 2015H CALL 2025H Chama subrotina de atraso de tempo no ender. 2025H 2018H POP H Recupera da pilha o conteúdo de H e L 2019H INX H Incrementa em 1 o registrador duplo HL 201AH MOV A,L A recebe o valor de L, para verificar se já chegou a 60H 201BH CPI 60H Compara A com 60H. 201DH JNZ 2006H Desvia para 2006H se a Flag Z = 0 (A diferente de 60H) 205DH 11H 205EH 33H 2020H HLT Prof. José Wilson Lima Nerys Encerra o programa FHMicroprocessadores 44H H 2027H 2028H 202BH Ender. 2050H 2051H 2052H 2053H 2054H 2055H 2056H 2057H 2058H 2059H 205AH 205BH 205CH Atraso de tempo Dados MVI D,50H DCR D JNZ 2027H RET Tabela de Dados Dados 50H A5H 15H F1H 05H 66H B4H 87H 45H 39H 77H C5H 40H

122 Programa-exemplo 10: Rotação de LEDs para a esquerda Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H MVI A,02 Configura os LEDs como saída de dados e as chaves com 2005H OUT 20H entrada de dados 2007H MVI A,01H A recebe o valor 01H, para ser rotacionado 2009H OUT 22H Transfere o conteúdo de A para a porta 22H 200CH CALL 2015H Chama subrotina de atraso de tempo no ender. 2015H 200DH RLC Rotaciona à esquerda o conteúdo de A 2010H JMP 2009H Desvia para o endereço 2009H 201BH HLT Encerra o programa Atraso de tempo Ender. 2015H 2017H 2018H 201BH Dados MVI D,50H DCR D JNZ 2017H RET Prof. José Wilson 122Lima Nerys 122 Microprocessadores

123 Programa-exemplo 11: Rotação de LEDs para a esquerda e direita, de acordo com a chave acionada CH0 = 1 rotaciona para a esquerda. CH1 = 1 rotaciona para a direita Parte 1 Ender. Instrução Descrição 2000H LXI SP,2070H O registrador duplo SP recebe o valor 2070H (pilha) 2003H MVI A, H OUT 20H Configura os LEDs como saída de dados e as chaves com entrada de dados 2007H MVI B,01H B recebe o valor 01H, para ser rotacionado (necessário porque A vai recebe valores das chaves) 2009H IN 21H Transfere o valor atual das chaves para o acumulador A 200BH ANI 03H Isola os dois bits menos significativos de A (A resulta em 00H, 01H, 02H ou 03H) 200DH CPI 01H Verifica se A = 01H. Se verdadeiro (Z=1), rotacionar à esquerda. 200FH JNZ 201DH Se Z = 0, então A é diferente de 01H. Desvia para verificar se A = 02H 2012H MOV A,B Se Z=1, então A=01H. Transfere conteúdo de B para A, para rotação à esquerda 2013H OUT 22H Transfere para os LEDs o conteúdo de A 2015H RLC Rotaciona à esquerda o conteúdo de A 2016H MOV B,A Devolve para B o conteúdo rotacionado de A 2017H CALL 2030H Chama subrotina de atraso de tempo no endereço 2030H 201AH JMP 2009H Retorna para ver ler novamente o conteúdo das chaves, no endereço 2009H 201DH Prof. José Wilson 123Lima Nerys 123 Microprocessadores

124 Programa-exemplo 11: Rotação de LEDs para a esquerda e direita, de acordo com a chave acionada CH0 = 1 rotaciona para a esquerda. CH1 = 1 rotaciona para a direita Parte 2 Ender. Instrução Descrição 201DH CPI 02H Verifica se A = 02H. Se verdadeiro (Z=1), rotacionar à direita. 201FH JNZ 2009H Se Z = 0, então A é diferente de 02H. Desvia para ler novamente a chave 2022H MOV A,B Se Z=1, então A=02H. Transfere conteúdo de B para A, para rotação à direita 2023H OUT 22H Transfere para os LEDs o conteúdo de A 2025H RRC Rotaciona à direita o conteúdo de A 2026H MOV B,A Devolve para B o conteúdo rotacionado de A 2027H CALL 2030H Chama subrotina de atraso de tempo no endereço 2030H 202AH JMP 2009H Retorna para ver ler novamente o conteúdo das chaves, no endereço 2009H 202DH HLT Encerra programa 202EH 202FH 2030H MVI D,50H D recebe o valor 50H, para gera atraso de tempo 2032H DCR D Decrementa o conteúdo de D 2033H JNZ 2032H Se Z = 0 (D é diferente de zero), então retorna para decrementar D novamente, até zerar 2036H RET Retorna da subrotina de atraso de tempo Prof. José Wilson 124Lima Nerys 124 Microprocessadores

125 Bibliografia [1] ZILLER, Roberto M., Microprocessadores Conceitos Importantes, Edição do autor, Florianópolis, ISBN [2] MALVINO, Albert Paul, Microcomputadores e microprocessadores; tradução Anatólio Laschuk, revisão técnica Rodrigo Araês Farias. São Paulo: McGraw-Hill do Brasil, [3] NERYS, José Wilson Lima, Notas de Aula de Microprocessadores e Microcontroladores. Página: Prof. José Wilson 125Lima Nerys 125 Microprocessadores

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 1. A expressão a seguir pode ser usada para avaliar o desempenho de um microprocessador. Comente cada um dos termos dessa expressão. Valor: 2,5 Tempo de

Leia mais

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone Departamento de Engenharia Elétrica ELE 1084 - Microprocessadores II Prof. Carlos Antonio Alves Sala 59 Fone 3743-1224 [email protected] 1 ELE 1084 Microprocessadores II P R O G R A M A D E E N S I

Leia mais

2º Estudo Dirigido CAP 3

2º Estudo Dirigido CAP 3 2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES

MICROPROCESSADORES E MICROCONTROLADORES MICROPROCESSADORES E MICROCONTROLADORES Parte 1 José Wilson Lima Nerys www.eee.ufg.br/~jwilson [email protected] 1 Prof. José Wilson Lima Nerys 1 Microprocessadores MICROPROCESSADORES E MICROCONTROLADORES

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Microcontroladores Curso de Análise e Desenvolvimento de Sistemas 1 Componentes CPU Memórias Dispositivos de Entrada/Saída (E/S) Input/Output (I/O) 2 CPU A CPU busca informações

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine [email protected] [email protected] 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

Microcontrolador 8051:

Microcontrolador 8051: Microcontrolador 8051: Fonte: CORRADI 2009 O Microcontrolador 8051: Começou a ser produzido no início da década de 80, pela Intel; Hoje é fabricado por várias empresas e com muitas variações; Atualmente,

Leia mais

Arquitetura do 8086/8088

Arquitetura do 8086/8088 Arquitetura do 8086/8088 Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira [email protected] INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Componentes de um computador Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial MICROCONTROLADORES PROFESSOR FLÁVIO MURILO

Componentes de um computador Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial MICROCONTROLADORES PROFESSOR FLÁVIO MURILO Componentes de um computador Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial 1 Componentes dos computadores CPU; Memórias; Dispositivos de Entrada e Saída (E/S) - Input/Output

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET Tópicos: 1 - Modos de endereçamento do 8051 2 - Pilha e instruções de Pilha 3 - Instruções que usam pilha: - instrução CALL - instrução RET 4 - Interrupção 1 - Modos de Endereçamento do 8051 Os modos de

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Baseado nos slides do capítulo

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES

MICROPROCESSADORES E MICROCONTROLADORES MICROPROCESSADORES E MICROCONTROLADORES Microprocessador8085 José Wilson Lima Nerys [email protected] Goiânia, 2009 1 1 Microprocessador 8085 Evolução de Conhecimentos até Microprocessadores 2 2 Microprocessador

Leia mais

Aula 10 Processadores de Propósito Geral

Aula 10 Processadores de Propósito Geral Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina

Leia mais

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira SEL-0415 Introdução à Organização de Computadores Conceitos Básicos Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção dos dispositivos

Leia mais

Componentes de um Computador Típico

Componentes de um Computador Típico Componentes de um Computador Típico Assim como em um aparelho de dvd, no qual é necessário ter o aparelho de dvd e um dvd contendo o filme que será reproduzido, o computador possui a parte física, chamada

Leia mais

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 II) ELEMENTOS DE HARDWARE: DIAGRAMA DE BLOCOS DE UM COMPUTADOR 1) CPU - UNIDADE CENTRAL DE PROCESSAMENTO RESPONSÁVEL PELA EXECUÇÃO

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Componentes básicos de um computador Memória Processador Periféricos Barramento O processador (ou microprocessador) é responsável pelo tratamento de informações armazenadas

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura

Leia mais

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051 SEL 0415 Departamento de Engenharia Elétrica e de Computação EESC-USP SEL 0415 Introdução à Organização de Computadores Aula 8 Microcontrolador 8051 Profa. Luiza Maria Romeiro Codá Autores: Prof. Dr. Marcelo

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm

Leia mais

ARDUINO. Profº. Engº. Robson Dias Ramalho

ARDUINO. Profº. Engº. Robson Dias Ramalho ARDUINO Profº. Engº. Robson Dias Ramalho 3. Microprocessador (E/S) 4. Memória RAM (E/S) 5. Placa de vídeo (E/S) 8. Disco Rígido (E/S) 9. Mouse (Saída) 10. Teclado (E/S) 2. Placa mãe (barramento de dados)

Leia mais

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores]

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores] Memórias RAM e ROM [Introdução à Organização de Computadores] Adriano J Holanda 9/5/2017 Memória de acesso aleatório RAM Random Access Memory Armazenamento temporário de programas em execução e dados;

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior [email protected] Sistema de

Leia mais

Lista de Exercícios 2 Prof. Daniel Caetano Solução

Lista de Exercícios 2 Prof. Daniel Caetano Solução Unidade 4 Lista de Exercícios 2 Prof. Daniel Caetano Solução 4.1) Converta os seguintes números decimais para hexadecimal: 145, 226, 1043, 3456 91h, E2h, 413h, D80h 4.2) Sem converter as bases, faça as

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Conceitos básicos Linguagem/código

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira Departamento de Engenharia Elétrica - EESC-USP SEL-0415 Introdução à Organização de Computadores Memórias Parte 1 Aula 4 Prof. Dr. Marcelo Andrade da Costa Vieira Memória Semicondutora Elemento Básico

Leia mais

Linguagem de Montagem do NeanderX

Linguagem de Montagem do NeanderX Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação

Leia mais

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores

Leia mais

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo Prof. Benito Piropo Da-Rin UCP ou microprocessador: Circuito Integrado inteligente (capaz de cumprir diferentes funções determinadas por instruções ) CI capaz de efetuar todas as operações necessárias

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

Circuitos Lógicos Aula 26

Circuitos Lógicos Aula 26 Circuitos Lógicos Aula 26 Aula passada Mais adição Circuito com maior largura Subtração Mais ULA Aula de hoje Memória Funcionamento e arquitetura ROM, RAM e variações Processador Intel Memória Memória:

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR [email protected] 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

Leia mais

Organização de Memórias

Organização de Memórias Intel 8051 O Intel 8051 é um microcontrolador de 8 bits que pertence a família MCS-51 da Intel e foi lançado em 1977. É tido como o microcontrolador mais popular do mundo, pois é muito versátil e possui

Leia mais

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores

Leia mais

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017 Professora: Janaide Nogueira E-mail: [email protected] Materiais: https://janaide.wordpress.com Componentes Básicos de um Computador Principais Componentes do Gabinete 3 4 CPU ou UCP (Processador)

Leia mais

MICROPROCESSADORES. Aula 10

MICROPROCESSADORES. Aula 10 MICROPROCESSADORES Aula 10 Conteúdo 1. O QUE É UM PROCESSADOR? 2. HISTÓRICO 3. COMPONENTES 4. INFORMAÇÕES IMPORTANTES 5. LINHA DE PROCESSADORES DA INTEL 6. LINHA DE PROCESSADORES DA AMD 7. REFERÊNCIAS

Leia mais

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória

Leia mais

Descrição de uma Unidade Processadora Discreta Microprogramável

Descrição de uma Unidade Processadora Discreta Microprogramável Descrição de uma Unidade Processadora Discreta Microprogramável EDNA MIE KANAZAWA WILIAN SOARES LACERDA UFLA Universidade Federal de Lavras DCC Departamento de Ciência da Computação Cx. Postal 37 CEP 37.200-000

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Unidade Central de Processamento 2. Registradores

Unidade Central de Processamento 2. Registradores Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades

Leia mais

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Visão Geral Sistemas Operacionais P R O F. B R U N O A L B U Q U E R Q U E S C R I G N O L I Visão Geral Organização da Apresentação Introdução Componentes de um Sistema de Computação Conceito de SO Objetivos de um

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

Conceitos Básicos Processador

Conceitos Básicos Processador Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br [email protected] Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

3. Unidade Central de Processamento

3. Unidade Central de Processamento 3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por

Leia mais

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada Célula, Palavra, Ciclo de Instruções e Lógica Temporizada IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 20 e 21/30 Prof.

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1). É uma linguagem de comunicação

Leia mais

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Hardware 2 Unidades Funcionais Processador / U C P Unidade Lógica e Aritmética Unidade de Controle Registradores Memória Principal Dispositivos de

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi [email protected] Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

Algoritmos e Lógica de Programação Componentes e Arquitetura

Algoritmos e Lógica de Programação Componentes e Arquitetura Algoritmos e Lógica de Programação Componentes e Arquitetura Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 21 de fevereiro de 2017 Noções

Leia mais

COMPUTADOR 2. Professor Adão de Melo Neto

COMPUTADOR 2. Professor Adão de Melo Neto COMPUTADOR 2 Professor Adão de Melo Neto Modelo Barramento de Sistema É uma evolução do Modelo de Von Newman. Os dispositivos (processador, memória e dispositivos de E/S) são interligados por barramentos.

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly: FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Lembretes Compreender a função da unidade de controle Apresentar o ciclo

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01 Laboratório de Utilização de Microcomputadores (DCA0302) Diogo Pedrosa Hardware Aula 01 Computador Combinação de diversos dispositivos e circuitos digitais que podem executar uma seqüência de operações

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho Linguagem de Montagem e Assembly André Luiz da Costa Carvalho Linguagem de Montagem Todo programa para ser executado precisar ser convertido de linguagem fonte (alto nível) para um programa equivalente

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 Introdução A Unidade de Controle O Ciclo de Instrução

Leia mais

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Os computadores ditigais podem ser classificados em 5 grupos distintos: Informática A informática engloba toda atividade relacionada ao uso dos computadores, permitindo aprimorar e automatizar tarefas em qualquer área de atuação da sociedade. Informática é a "Ciência do tratamento

Leia mais