Microcontroladores RL78

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

Download "Microcontroladores RL78"

Transcrição

1 Fábio Pereira Microcontroladores RL78 Guia Básico 1ª Edição Versão 1.01 Joinville - SC Edição do Autor

2 Copyright 2013 Fábio Pereira Todos os direitos reservados. É proibida a redistribuição, de forma parcial, do conteúdo deste livro ou arquivo eletrônico. A utilização parcial do material desta obra é condicionada a sua citação como fonte do conteúdo. Todas as marcas registradas, nomes ou direitos de uso citados neste livro pertencem aos seus respectivos proprietários. O autor acredita que todas as informações apresentadas nesta obra estão corretas e podem ser utilizadas para qualquer fim legal. Entretanto, não existe qualquer garantia implícita ou explícita, de que o uso de tais informações conduzirá sempre ao resultado esperado. Acesse: para adquirir cópias impressas adicionais. Material para download disponível em: ISBN:

3 Agradecimentos Este é o meu nono livro e ele não teria sido possível sem a colaboração de algumas pessoas, por isso, os meus agradecimentos a: - André Machado de Oliveira, da Renesas do Brasil, pela amizade e incentivo (há anos) na utilização dos microcontroladores Renesas, além do suporte, ajuda na revisão do texto, sugestões, kits e apoio incondicional ao livro. - Huéliquis Fernandes, da Renesas do Brasil, pela amizade e grande apoio dado à viabilização deste livro e também por acreditar no meu trabalho. - Felipe Torrezan e Leonardo Carlos Afonso, da Renesas do Brasil, pelo apoio técnico, ajuda na revisão e suporte ao livro. - William Severino, da Renesas Electronics America, pelas sugestões iniciais e apoio dado ao livro. - Ritesh Tyagi, diretor da área de marketing de microcontroladores pelo apoio da Renesas Electronics America a edição deste livro. - José Carlos Nunes, da VLA, representante da Renesas no Brasil, pelo apoio dado ao livro, sugestões e amostras. Dedicatória Escrever um livro implica em centenas de horas de dedicação. Por isso, quero dedicar este livro a minha esposa Débora e agradecer pelo carinho, compreensão, apoio e por estar ao meu lado! Amo você! 3

4 Sobre o Autor Fábio Pereira é técnico em Eletrônica (CEFET-PR), bacharel em Direito (ACE-SC), especialista em projeto de equipamentos eletrônicos (CEFET-SC) e autor de outros oito livros na área de programação de microcontroladores (sete deles em português e um em inglês). Também atuou como professor de disciplinas relacionadas a microcontroladores e programação em C em cursos técnicos e universidades na região de Joinville e atualmente trabalha como advogado e nas horas vagas mantém o seu blog FPB ( além de desenvolver projetos de sistemas embarcados. Ao longo dos últimos 20 anos, desenvolveu diversas aplicações utilizando diferentes plataformas tais como 8051, ARM, AVR, Cortex, Coldfire, HC908, HCS08, MSP430, PIC, RL78, Z8-Encore, Z-80 em diferentes linguagens como Assembly, BASIC, C e Pascal. Outros livros do autor: Microcontroladores PIC: Técnicas Avançadas; Microcontroladores PIC: Programação em C; Microcontroladores HC908Q: Teoria e Prática; Microcontroladores MSP430: Teoria e Prática; Microcontroladores HCS08: Teoria e Prática; Tecnologia ARM: Microcontroladores de 32 bits; HCS08 Unleashed: Designer s guide to the HCS08 Microcontrollers; Microcontrolador PIC18 Detalhado : Hardware e Software. Para entrar em contato com o autor, acesse o blog: 4

5 Sobre a Renesas Renesas é uma empresa japonesa na área de eletrônica e foi fundada em 2003 como uma joint venture entre a Hitachi e a Mitsubishi Electric, ambas gigantes japonesas com grande atuação na área da eletrônica. Em 2010 a NEC Electronics Corporation juntou-se à Renesas e trouxe com ela a sua linha de microcontroladores e microprocessadores (expandindo ainda mais a já ampla linha de MCUs e MPUs da Renesas). A linha de produtos fabricados pela Renesas é digna do peso dos três principais sócios da empresa: vai de microcontroladores 8 bits de baixo custo (como os 78K0 desenvolvidos pela NEC e H8 desenvolvidos pela Hitachi), passando pelos microcontroladores de 16 bits (H8, R8C e M16C desenvolvidos pela Hitachi, 78K0R desenvolvidos pela NEC e RL78 da Renesas), microcontroladores de 32 bits (como o R32C, RX e RH850 da Renesas, V850 desenvolvido pela NEC e os SuperH desenvolvidos pela Hitachi), até microprocessadores SoC de alta performance para os mercados móveis e automotivos (utilizando múltiplos núcleos ARM, Cortex e SuperH). Além dos MCUs e MPUs a Renesas fabrica diversos outros semicondutores como integrados LSI, ASSP, Displays, IGBTs, MOSFETs, etc. A Renesas foi o quinto maior fabricante de semicondutores nos anos de 2010 e 2011 e o primeiro em venda de microcontroladores no mesmo período. A participação da Renesas no mercado mundial de microcontroladores é de aproximadamente 28%, com vendas anuais de mais de 4 bilhões de dólares. A empresa possui diversos escritórios ao redor do mundo. No Brasil, a presença da empresa vem crescendo, com um escritório em São Paulo e investimentos em divulgação e ampliação da margem local de mercado. 5

6 6

7 Índice 1. Introdução Uma Breve História da Computação Sistemas Embarcados Conceitos Básicos Microcontroladores RL Pinagens e Encapsulamentos R5F100LEA Kits e Ferramentas de Programação Convenções Utilizadas Ferramentas de Programação O Ambiente Embedded Workbench EWRL Criando o Primeiro Projeto Simulando um Programa Depurando um Programa Gerando o Código Final Arquitetura e Modelo de Programação A CPU RL Registradores Especiais da CPU Registrador PSW Registrador PC Registrador SP Registradores ES e CS Registrador PMC Mapa de Memória Modos de Endereçamento Conjunto de Instruções Assembly Instruções de Manipulação de Dados Instruções Aritméticas, Lógicas e de Comparação Instruções de Incremento e Decremento Instruções de Rotação e Deslocamento de Bits Instruções de Manipulação e Processamento de Bits Instruções de Desvio...71 Microcontroladores RL78 Guia Básico 7

8 Instruções para Sub-rotinas e Funções Instruções de Pulo Condicional Instruções de Controle da CPU Temporização das Instruções Módulo OCD e Código de Segurança (Security ID) Configurações do Chip Suporte à CPU Reset Sistema de Clock Oscilador X Oscilador XT Oscilador Interno de Alta Frequência Oscilador Interno de Baixa Frequência Registradores do Sistema de Clock Exemplo Gerenciamento de Energia Modo Halt Modo Stop Modo Snooze Gerenciamento de Clock Dicas para Reduzir o Consumo de Energia Exemplo Clock/Buzzer Output Exemplo Detector de Baixa Tensão Modo Reset Modo Interrupção Modo Interrupção e Reset Registradores do LVD Watchdog (WDT) Exemplo Regulador Interno de Tensão Portas de Entrada e Saída

9 5.1. Registradores das Portas de E/S Redirecionamento de Funções Exemplo Sistema de Interrupções Categorias de Interrupções Sistema de Interrupções do RL Sistema de Prioridades de Interrupção Latência de Interrupção Utilizando os Bancos de Registradores dos RL Interrupções Externas Exemplo Interrupção de Teclado Exemplo Periféricos de Temporização Timer de Intervalo (IT) Exemplo RTC Configuração do RTC Registradores do RTC Ajuste do RTC Exemplo TAU Visão Geral de uma Unidade TAU Operação em Modo Timer/Gerador de Onda Quadrada Operação no Modo Gerador de Atraso/Disparo Único Operação em Modo Contador de Eventos Operação como Divisor de Frequência Operação no Modo de Captura de Período Operação no Modo de Captura de Ciclo Operação no Modo de Pulso Configurável Operação em Modo PWM Registradores das TAU Outros Timers Microcontroladores RL78 Guia Básico 9

10 8. Periféricos de Analógicos Detalhes Gerais do Conversor A/D Modos de Operação Conversão Simples ou Múltipla Conversão de Um Canal ou Varredura de Canais Formas de Disparo do Conversor Disparo por Software Disparo por Hardware Referência Interna de Tensão Sensor de Temperatura Operação em Modo Snooze Registradores do ADC Exemplo Outros Periféricos Disponíveis Comparador Analógico Conversor A/D de 12 bits Conversor D/A Periféricos de Comunicação Unidades SAU Registradores das SAU Modo UART Configuração do Baud Rate Operação em Modo Snooze LIN API Applilet Exemplo Modo CSI Configuração do Baud Rate API Applilet Modo I 2 C I 2 C Simplificado na SAU Configuração do Baud Rate Comunicação I 2 C API Applilet Unidades IICA (I 2 C) Operação da IICA API Applilet Registradores IICA

11 10. Tópicos Avançados Ajuste BCD Funções de Segurança Checagem de CRC da Flash Checagem de Paridade da RAM Bloqueio de Registradores e da RAM Execução de Opcode Ilegal (Trap) Acesso Ilegal à Memória (IAW) Verificação do A/D Verificação do Clock CRC de Uso Geral Gravação e Apagamento da Flash e DataFlash FSL Utilização da FSL Hardware de Multiplicação e Divisão DMA Registradores dos Canais de DMA Exemplo Otimizando Aplicações para o RL Tamanho do Dado Endereçamento Rápido Campos de Bit Funções CALLT Utilizando o Applilet Configuração do Timer de Intervalo Configuração da UART Exemplos de Aplicação Utilização de Módulos LCD Alfanuméricos Mostrador Analógico no LCD Termômetro Digital Medidor de Distância por Ultrassom Tabela ASCII Microcontroladores RL78 Guia Básico 11

12 12

13 1 1. Introdução Introdução O objetivo deste livro é apresentar a família RL78 de microcontroladores da Renesas, com ênfase nos modelos RL78/G13. Antes de nos dedicarmos ao estudo deles é importante conhecer um pouco da história da computação digital, além de revisar conceitos cruciais na área da eletrônica digital e lógica de programação Uma Breve História da Computação As primeiras máquinas de computação de que se tem notícia datam de 1623 (a máquina de cálculos de Wilhelm Schickard) e 1642 (a máquina Pascaline de Blaise Pascal). Ambas eram totalmente mecânicas e utilizavam intrincados mecanismos para realizar operações de adição. Em 1671, o matemático e filósofo alemão Gottfried Von Leibniz desenhou a Staffelwalze (também conhecida como Stepped Reckoner ou calculadora de passos), a primeira calculadora mecânica capaz de realizar as quatro operações básicas da matemática (adição, subtração, multiplicação e divisão). Figura 1.1 Pascaline Fonte: _dsc03869.jpg Figura 1.2 Stepped Reckoner Fonte: Todas essas máquinas eram apenas calculadoras mecânicas e não podiam ser programadas para executar operações predefinidas. As primeiras máquinas programáveis surgiram no início do século XIX e eram muito diferentes do conceito atual de um computador. O tear Jacquard (criado por Joseph Marie Jacquard em 1801) é provavelmente a primeira máquina passível de ser programada pelo usuário. Utilizando cartões de papel perfurados, era possível programar complexos padrões a serem tecidos, aumentando drasticamente a flexibilidade dos teares, que até então somente podiam tecer um mesmo padrão. Isso permitiu que um mesmo tear fosse utilizado para produzir diferentes padrões de tecidos. Introdução 13

14 Alguns anos depois (1837), Charles Babbage desenhou a sua Analytical Engine (máquina analítica) que seria provavelmente o primeiro computador totalmente programável se ela tivesse sido realmente construída. Figura Tear Jacquard. Fonte: full.view.jpg Figura 1.4 Cartões perfurados para programação do tear Jacquard. Fonte: wiki/file:jacquard.loom.cards.jpg O grande progresso da computação ocorreu com o advento das Tabulating Machines (máquinas de tabular) de Herman Hollerith (manufaturadas pela Computing Tabulating Recording Corporation, que algum tempo depois originou a IBM). As máquinas de tabular de Hollerith também utilizavam cartões de papel perfurados e permitiram que o censo Norte-Americano de 1890 fosse completado em apenas dezoito meses (o censo anterior, de 1880, foi completado em sete anos!). Essas máquinas não eram programáveis, mas foram um passo importante na direção dos computadores programáveis. Em 1941, no Iowa State College, o pesquisador John Vincent Atanasoff projetou e construiu o Atanasoff-Berry Computer (ABC), primeiro computador eletrônico norte-americano. Ele foi projetado especificamente para auxiliar na resolução de equações lineares e, apesar de não ser programável nem ser máquina Turing completa, o ABC apresentou alguns conceitos importantes: Sistema organizado com unidades separadas de computação e de memória (como nos computadores atuais). Memória capacitiva regenerativa com aproximadamente capacitores organizados em dois tambores, cada um com 32 bandas de 50 capacitores (duas bandas não eram utilizadas e ficavam como reserva), resultando numa capacidade total de armazenamento de 60 números de 50 bits. Esse sistema de regeneração foi o precursor dos sistemas de refresh das memórias DRAM atuais e funcionava rotacionando os tambores num eixo com pinças para acesso aos dados. 14

15 Unidade lógica e aritmética (ULA) totalmente eletrônica construída com uso de cerca de 280 válvulas a vácuo. O sistema de I/O era composto de um sistema primário e um sistema secundário para resultados intermediários (utilizado quando os problemas sendo resolvidos excediam a capacidade de armazenamento da memória eletrônica interna). O primeiro computador digital (e binário) totalmente programável foi o Z3, projetado e construído pelo engenheiro alemão Konrad Zuse em Esse computador utilizava cerca de relés no papel de chaves, portanto era eletromecânico. O programa era armazenado externamente numa fita perfurada, permitindo que diferentes programas fossem executados com relativa facilidade. O Z3 possuía em seu conjunto de instruções praticamente todas as funcionalidades encontradas nos computadores modernos, com exceção das instruções de Figura Zuse Z3. Fonte: large.jpg desvio (que foram implementadas posteriormente no microcódigo para cálculos em ponto flutuante). Em 1943, os pesquisadores do Post Office Research Station em Dollis Hill (Inglaterra) apresentaram o protótipo de um dos primeiros computadores eletrônicos: o Colossus Mark 1. Esse computador (na verdade a sua segunda geração, Colossus Mark 2) foi utilizado para auxiliar na decodificação das mensagens alemãs criptografadas durante a Segunda Guerra Mundial. Outro famoso computador dessa era foi o ENIAC (Electronic Numerical Integrator And Computer), um computador eletrônico projetado e construído pelo Laboratório de Pesquisa Balística do Exército Norte-Americano, em 1946, para auxiliar no cálculo de tabelas de artilharia e outros problemas matemáticos complexos (como os relacionados ao projeto das primeiras bombas atômicas). O ENIAC era um computador enorme, composto por milhares de válvulas eletrônicas, diodos de cristal e relés. Possuía registradores decimais de dez dígitos e operava com clock de 100kHz, consumindo cerca de 174kW em operação. Uma de suas grandes fraquezas era o sistema de armazenamento do programa, que era realizado pela interligação de fios no interior do computador. Sendo assim, qualquer alteração implicava esforço considerável. Em 1948, alguns melhoramentos foram adicionados ao ENIAC; o mais importante foi um Figura ENIAC. Fonte: Introdução 15

16 dispositivo de leitura de programa utilizando tabelas de funções (proposto pelo matemático John von Neumann). Esse mecanismo funcionava como uma ROM (Read-Only Memory ou memória somente de leitura) de programa primitiva. Outro computador famoso e importante foi o ASCC (Automatic Sequence Controlled Calculator - calculadora automática de sequência controlada) da IBM (também conhecido como IBM Mark I), projetado por Howard H. Aiken da Universidade de Harvard e construído pela IBM em Ele foi o primeiro computador totalmente automático e que funcionava de forma muito semelhante aos computadores modernos. O ASCC era um computador eletromecânico e possuía memórias separadas para o armazenamento das instruções do programa e os dados. Essa arquitetura ficaria conhecida como arquitetura Harvard. Já o IBM SSEC (Selective Sequence Electronic Calculator - calculadora eletrônica de sequência seletiva), construído em 1948, implementava outra abordagem para a sua arquitetura interna: um espaço de memória unificado onde são armazenadas tanto as instruções quanto os dados. Essa arquitetura ficou conhecida como Von Neumann ou Princeton, em homenagem ao matemático John von Neumann da Universidade de Princeton (EUA), ainda que John Presper Eckert (um dos homens por trás do projeto do ENIAC) tenha proposto a mesma arquitetura anos antes de Von Neumann. Essas duas arquiteturas de computadores (Von Neumann e Harvard) ainda estão em uso mesmo nos mais modernos computadores da atualidade. A Figura 1.7 mostra os diagramas simplificados dessas duas arquiteturas. A arquitetura Von Neumann (também chamada Princeton) caracteriza-se por utilizar três barramentos de comunicação que são compartilhados pela memória e E/S, um para o endereçamento (seleção da posição a ser lida ou escrita), um para o controle (seleção do tipo de operação a ser realizada) e outro para dados (que carrega a informação propriamente dita). A arquitetura Harvard, por sua vez, utiliza conjuntos de barramentos separados para as memórias e E/S, diferenciando ainda entre memória de programa (onde ficam armazenados as instruções do programa) e de dados (onde ficam os dados utilizados pelo programa). CPU Endereço Controle Memória Programa/ Dados CPU Endereço (programa) Dados (programa) Controle (programa) Endereço (dados) Dados (dados) Controle (dados) Memória de Programa Memória de Dados Dados Periféricos Arquitetura Von Neumann (Princeton) Figura 1.7 Endereço (periféricos) Dados (periféricos) Controle (periféricos) Arquitetura Harvard Periféricos Cada arquitetura apresenta prós e contras: Von Neumann oferece mais flexibilidade, pois não faz distinção entre instruções e dados. Por outro lado, ela impõe uma única largura para o barramento de dados, implicando que uma CPU de 8 bits busque instruções de 8 ou múltiplos de 16

17 8 bits. Outro ponto fraco da arquitetura Von Neumann é um problema conhecido como gargalo de Von Neumann, causado pela capacidade limitada de transferência de dados da memória, quando comparada à necessidade da CPU de acessar a memória para leitura de instruções e a leitura/escrita de dados. Apesar de todos os problemas impostos por essa arquitetura, ela ainda é vastamente utilizada pela maioria dos computadores atuais e dos microprocessadores e microcontroladores no mercado. Na arquitetura Harvard, a velocidade é o benefício mais relevante do arranjo de múltiplos barramentos: enquanto executa uma instrução, a CPU pode ler e escrever dados na memória de dados e simultaneamente buscar a próxima instrução na memória de programa. Neste caso, os prós e contras se misturam devido à distinção entre a memória de programa e de dados: normalmente não é possível ter dados na memória de programa ou instruções na memória de dados. Algumas máquinas Harvard incluem instruções especiais que permitem o acesso à memória de programa para leitura/escrita de dados. Outras implementam áreas especiais de memória compartilhadas por instruções e dados. Além das arquiteturas de projeto citadas, existem também dois diferentes conceitos básicos de projeto do conjunto de instruções de um processador: o conceito CISC e o conceito RISC. O conceito CISC (computador com conjunto complexo de instruções) defende que a máquina possua uma grande quantidade de instruções (normalmente acima de 100), capazes de desempenhar as mais diferentes tarefas. Máquinas CISC normalmente possuem instruções complexas que realizam uma série de operações. Já o conceito RISC (computador com conjunto reduzido de instruções) defende que a máquina possua um conjunto pequeno de instruções, mas que devem ser executadas rapidamente. Máquinas RISC normalmente possuem instruções simples e rápidas e necessitam de múltiplas instruções para realizar operações mais complexas. Normalmente encontramos máquinas RISC associadas à arquitetura Harvard, ao passo que as máquinas CISC normalmente utilizam a arquitetura Von Neumann Sistemas Embarcados A aplicação de computadores em dispositivos móveis ou capazes de ser movidos resultou em uma geração totalmente diferente de computadores e originou o termo embedded system ou sistema embarcado. Um dos primeiros sistemas embarcados de que se tem notícia foi o Apollo Guidance Computer, ou AGC. Ele foi um computador (na verdade um microcomputador) de 16 bits (15 de dados mais um de paridade), que operava a 1,024MHz e que possuía words de memória RAM e words de memória de programa. Este microcomputador foi um dos primeiros computadores digitais a utilizar circuitos integrados e foi utilizado para o controle das espaçonaves Apollo (que em diversas missões nas décadas de 60 e 70, levaram o homem à Lua). Ele também possuía uma IHM (Interface Homem Máquina) composta de um teclado numérico e displays eletroluminescentes, através da qual os astronautas podiam operá-lo, inserir Introdução 17

18 e visualizar dados, executar comandos e programas e até mesmo reprogramá-lo (como aconteceu na missão Apollo 14). A Módulos AGC e DSKY Fonte: Figura 1.8 B Módulo DSKY. Fonte: 1968_apollo.jpg O AGC utilizava a primeira geração de circuitos integrados (portas NOR duplas com 3 entradas cada e implementadas utilizando tecnologia RTL Resistor Transistor Logic), mas foi o advento do microprocessador (o 4004 desenvolvido pela Intel em 1971) e posteriormente do microcontrolador (o TMS1000 desenvolvido pela Texas Instruments em 1971 e lançado em 1974) que permitiu que os sistemas embarcados pudessem ser barateados e terem reduzidos drasticamente o seu tamanho físico e o consumo de energia (todos fatores importantes quando se fala em sistemas embarcados). Atualmente os microcontroladores e o termo sistema embarcado possuem uma aplicação muito ampla, sendo utilizados em equipamentos simples (como torradeiras, cafeteiras, etc.) até complexos (como equipamentos médicos, smartphones, GPS, etc.) Conceitos Básicos Eletrônica é a ciência que estuda e aplica a eletricidade (o movimento de cargas elétricas) aos componentes (resistores, capacitores, indutores, semicondutores etc.) para construir circuitos complexos que podem interagir com o ambiente ou com os seres humanos. De cafeteiras a TVs LCD, de lâmpadas elétricas a smartphones, de relógios de pulso a tablets e computadores, interagimos diariamente com um grande número de diferentes dispositivos elétricos e eletrônicos, alguns dos quais são tão pequenos ou simples que sequer nos damos conta da sua existência. Dentro do universo da eletrônica, uma das áreas mais interessantes e que movimenta o mercado é a dos microprocessadores e microcontroladores, pequenos chips que incluem internamente praticamente toda a eletrônica necessária para construir máquinas e dispositivos dotados de alguma forma de inteligência. A base por trás dos microcontroladores e microprocessadores é a eletrônica digital. Para melhor entendê-la, é necessária uma breve reflexão sobre como o universo funciona. 18

19 O mundo é analógico: a temperatura de uma sala, a intensidade da luz, o tempo, as dimensões físicas de uma caixa, o som, a distância entre casas e trabalhos, tudo isso é medido por grandezas analógicas. Elas podem ser medidas utilizando algum tipo de unidade de medição e podem variar consideravelmente (imagine que nada no mundo é exatamente igual; mesmo os mecanismos produzidos pela máquina mais precisa serão ligeiramente diferentes se medidos com a devida precisão). Por outro lado, os computadores modernos são máquinas eminentemente binárias. Eles somente podem reconhecer dois tipos de informação: 0 (falso) ou 1 (verdadeiro). As imagens, filmes e cores que vemos na tela de um computador ou em filme em DVD, a música que ouvimos de um CD player ou de um MP3 player, tudo isso pode ser reduzido somente a zeros e uns. As razões para utilizar um sistema binário (digital) em vez de um sistema analógico são muito simples: 1. Por existirem somente dois níveis de tensão, é mais simples projetar os circuitos eletrônicos de computadores digitais. A utilização de transistores como chaves permite obter dois níveis distintos de tensão (0V para chave aberta ou falso e 5V para chave fechada ou verdadeiro). 2. A matemática por trás dos modernos computadores é baseada na álgebra booleana, criada por George Boole (um matemático e filósofo inglês que viveu no século XVIII e que criou a álgebra booleana, baseada em dois estados: verdadeiro e falso). Vemos então que os computadores utilizam a base binária, ao passo que nós, seres humanos, utilizamos a base decimal, constituída de 10 diferentes símbolos (0 a 9) e adotada em virtude de possuirmos 10 dedos nas mãos (as mãos foram o primeiro instrumento de cálculo na história da humanidade), mas além dessas duas bases, existem outras bases numéricas importantes, entre elas a octal (que utiliza 8 diferentes símbolos, de 0 a 7) e hexadecimal (base 16 diferentes símbolos, de 0 a 9, A, B, C, D, E, F). A base hexadecimal permite representar diretamente um valor binário utilizando poucos dígitos. Ela foi muito importante nos primórdios da computação, pois permitia que os sistemas de apresentação de dados utilizassem displays com poucos dígitos, assim como os teclados também eram mais fáceis de construir (displays eram itens complexos e caros até a década de 80, foi somente com a invenção dos LEDs e posteriormente dos displays LED que houve uma redução significativa no custo dos mesmos). A facilidade de representação de valores binários em hexadecimal é oriunda do processo de conversão, que é absolutamente simples e intuitivo (o mesmo não ocorre com binário e decimal, por exemplo). Para entender a razão desta simplicidade, vejamos como funciona o sistema de bases numéricas. Primeiramente, é importante observar que em qualquer base numérica existem dígitos e através da junção de múltiplos dígitos é que se pode representar uma quantidade arbitrária qualquer. O primeiro dígito (o menos significativo) em qualquer base tem sempre o peso 1. Ele corresponde a base elevada a potência 0. O dígito de magnitude imediatamente superior é o da Introdução 19

20 base elevada a potência 1 e assim por diante. Os pesos das diferentes posições nas bases numéricas podem ser vistos na tabela 1.2. Binário Decimal Hexadecimal A B C D E F Tabela 1.1 Peso Binário 2 3 =8 2 2 =4 2 1 =2 2 0 =1 Decimal 10 3 = = = =1 Hexadecimal 16 3 = = = =1 Tabela 1.2 Seguindo a tabela 1.2, o número 1001 binário equivale a 1*8 + 0*4 + 0*2 + 1*1 = 9 decimal, o número 1001 decimal equivale a uma milhar (1*1000) mais uma unidade (1*1) e o número 1001 hexadecimal equivale a 1* *1 = 4097 decimal. É fácil perceber que com dois dígitos binários podemos representar até 4 diferentes valores (00, 01, 10 e 11), com dois dígitos decimais podemos representar até 100 diferentes valores (de 0 a 99) e com dois dígitos hexadecimais podemos representar até 256 valores (de 0 a FF). Mas além da simplificação da representação de dados (em termos de redução no número de dígitos), a base hexadecimal oferece ainda a facilidade adicional de permitir a simples e rápida conversão de/para binário. Tudo o que é necessário é agrupar os dígitos binários em nibbles (conjuntos de 4 bits) e em seguida realizar diretamente a conversão de/para hexadecimal. Vejamos alguns exemplos: em binário pode ser separado em 0100 e 0010, 0100 equivale a 4 hexadecimal, 0010 equivale a 2 hexadecimal, então binário equivale a 42 hexadecimal em binário, 1010 equivale a A hexadecimal, 0110 equivale a 6 hexadecimal, então binário equivale a A6 hexadecimal. A recíproca também é 20

21 verdadeira: 7B hexadecimal, 7 hexadecimal equiva e 0111 binário e B hexadecimal equivale a 1011 binário, então 7B hexadecimal equivale a binário! A aritmética, em qualquer que seja a base, também é baseada em princípios comuns e deve sempre levar em consideração a quantidade de símbolos únicos existentes na base, para cada posição numérica. Assim, a soma de em decimal é feita agrupando os dígitos de magnitude equivalente. Nos casos onde não há dígito para representar a magnitude desejada, ocorre o transporte para a próxima posição: No caso, a adição de 7 com 5, resulta que não há um símbolo decimal único para representar a grandeza, por isso, há um transporte para a próxima posição. Nas operações em outras bases (seja binário, hexadecimal, etc.), o procedimento é exatamente o mesmo. Vejamos a adição dos valores binários : Outro exemplo, desta vez em hexadecimal. Vejamos a adição de 9 + 9: Quando se realiza operações aritméticas envolvendo bytes (conjuntos de 8 bits), diz-se que ocorre um transporte (carry em inglês) quando há um transporte binário do bit 7 (o oitavo bit do byte). No caso das operações de subtração, utiliza-se basicamente o mesmo princípio da adição e os circuitos somadores, no entanto, para a subtração, faz-se a soma do minuendo com subtraendo, sendo este escrito com sinal inverso: é o mesmo que Isto permite que as unidades lógicas e aritméticas dos microprocessadores e microcontroladores possam realizar operações de subtração a partir de um circuito somador. Para isso, utiliza-se uma representação binária chamada de complemento de dois, que consiste no complemento (inversão de todos os bits) e a adição de um. Assim, para obtermos o equivale a -4, utilizamos o valor absoluto 4 para obter o complemento de dois conforme abaixo: Valor absoluto (4) Complemento Resultado Para realizar a operação 10-4 podemos, através de uma adição (8 bits), fazer: Introdução 21

22 Resultado A representação em complemento de dois também é utilizada nas operações com números sinalizados (como os signed char e signed int em C). Neste caso, o bit mais significativo (aquele mais à esquerda) representa o sinal (0 = positivo e 1 = negativo), enquanto que os demais bits representam a magnitude do número. Assim, a representação binária de 8 e 16 bits em complemento de dois segue a seguinte forma: sinal Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 sinal 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 Figura 1.9 A tabela a seguir mostra uma escala reduzida dos valores decimais de 8 bits sinalizados e a sua representação binária em complemento de dois. Decimal Binário Tabela 1.3 Agora que já vimos alguns conceitos importantes acerca de bases numéricas e suas operações básicas é hora de rever alguns dos conceitos relacionados aos circuitos digitais que formam a base para os computadores e microcontroladores. Circuitos digitais podem ser construídos com transistores (circuitos TTL - Transistor- Transistor Logic), MOSFETs (circuitos CMOS - Complementary Metal-Oxide-Seminconductor), etc. Nos circuitos TTL, transistores NPN e PNP, figura 1.10B, são utilizados para controlar os níveis lógicos no interior do chip. Nos circuitos CMOS, MOSFETs canal N e canal P (figura 1.10C), fazem o papel das chaves. O propósito é sempre o mesmo: utilizar um elemento de comutação para simular uma chave, de forma a produzir os dois estados lógicos possíveis. Com base na álgebra booleana existem quatro funções básicas na eletrônica digital: NÃO, Figura Três elementos de comutação 22

23 E, OU e OU exclusivo (ou simplesmente EOU). A função NÃO realiza a inversão do nível lógico de entrada: NÃO 0 = 1 e NÃO 1 = 0. A função E retorna verdadeiro (1) quando todas as entradas são verdadeiras, a função OU retorna verdadeiro quando qualquer uma das entradas é verdadeira e a função EOU retorna verdadeiro quando as entradas são diferentes. A tabela 1.4 mostra a tabela verdade para as três funções lógicas básicas. Entrada Saída A B AND OR EOR Tabela Funções lógicas básicas da eletrônica digital Nas figuras 1.11A e 1.11B é possível ver como são construídas portas lógicas NÃO e NÃO-E utilizando MOSFETs. A - Porta lógica NÃO Figura 1.11 B - Porta lógica NÃO-E (NAND) Os símbolos padronizados das funções lógicas básicas (chamadas portas lógicas) estão representados na figura Figura Portas lógicas básicas: NÃO (A), E (B), OU (C) e EOU (D) Utilizando estas funções lógicas básicas é possível criar circuitos digitais complexos que podem ser classificados em duas categorias: circuitos combinacionais e sequenciais. Nos circuitos combinacionais, a saída é uma função do sinal de entrada. Alguns exemplos são os somadores, subtratores, comparadores digitais etc. A figura 1.13A mostra a implementação de um somador completo (o bloco básico dos circuitos aritméticos de qualquer computador). Nos circuitos sequenciais, a saída é uma função não somente do conteúdo atual da entrada, mas também dos estados anteriores. Alguns exemplos de circuitos lógicos sequenciais Introdução 23

24 são os flip-flops, registradores, contadores, latches etc. A figura 1.13B mostra um latch de dados que constitui um dos elementos básicos de memória nos computadores modernos. A - Somador completo Figura 1.13 B - Latch de dados Os circuitos lógicos sequenciais e combinacionais são elementos construtivos básicos das CPUs (Unidades Centrais de Processamento) dos microprocessadores e microcontroladores que utilizamos diariamente. Mas o que é microprocessador? Como ele funciona? Qual a diferença entre microprocessador e microcontrolador? Para entender o que é um microprocessador, primeiro devemos entender mais alguns conceitos relacionados a programação. Um programa é a codificação em linguagem computacional de um algoritmo lógico criado para resolver um problema específico. Para escrever um programa, é necessário analisar cuidadosamente o problema a ser resolvido, identificando todos os passos necessários para se atingir a solução. Uma vez determinados os passos para chegar à solução, é preciso criar um algoritmo que os descreva. A utilização de uma ferramenta gráfica como um fluxograma pode auxiliar na criação de tal algoritmo. Como exemplo, imagine o problema simples de contar de 0 até 10. Os passos para a solução deste problema poderiam ser: 1. Iniciar a contagem em A contagem atual é igual a 10? 3. Sim? Então vai para o final. 4. Não? Então incrementa a contagem em um. 5. Retorna ao passo 2. Listagem 1.1 O fluxograma que descreve o algoritmo sugerido pode ser visto na figura Estando de posse do algoritmo, é possível iniciar a codificação do programa de forma que um computador entenda, mas como se faz isso? A resposta é simples: utilizando a linguagem binária de zeros e uns! 24

25 Figura Fluxograma À primeira vista pode parecer incrível que um computador capaz de desempenhar tarefas tão complexas (como navegar pela Internet, reproduzir música, jogos etc.) somente seja capaz de diferenciar zeros de uns, mas é exatamente isso que acontece. De fato, é possível agrupar bits formando-se sequências maiores, que podem representar números, instruções, cores ou o que quer que o programador deseje representar. Qualquer computador, microcomputador, microprocessador, microcontrolador, etc. reconhece algumas sequências de bits como instruções. Essas instruções dizem o que ele deve fazer: adicionar números, armazenar algo na memória, desviar para outro ponto do programa etc. A CPU é responsável pela leitura dessas instruções da memória, sua interpretação e execução. Esses grupos de bits que possuem significado especial para a CPU são chamados de códigos de operação (em inglês operation codes ou opcodes). Computadores diferentes frequentemente possuem diferentes CPUs e diferentes CPUs possuem diferentes opcodes para as instruções que elas reconhecem (isso explica por que você não pode executar uma aplicação de um celular Android em um celular iphone ou vice versa). Tomemos como exemplo a instrução clear (CLRB). Ela apaga (preenche com zero) um registrador ou o conteúdo de uma posição da memória. Nos microcontroladores RL78, essa instrução pode ser representada por diversos opcodes (dependendo do tipo de operando da instrução), assim, a instrução CLRB end (apaga o conteúdo da posição de memória indicada por end) é representada pelo código binário xxxxxxxx yyyyyyyy (onde xxxxxxxx yyyyyyyy é o endereço em binário de end). Após a leitura do opcode na memória do chip, a CPU decodifica a instrução e executa a operação indicada. Depois de apagar o conteúdo da posição de memória end, a CPU busca uma nova instrução no endereço seguinte da memória e o processo de decodificação e execução é realizado novamente. A figura 1.15 demonstra os ciclos básicos de execução de uma instrução. No interior da CPU encontramos normalmente alguns importantes elementos (que variam de um modelo de CPU para outro): o decodificador de instruções (responsável por decodificar Introdução 25

26 cada opcode), o PC (Program Counter - contador de programa, responsável por controlar a sequência do programa), a unidade lógica e aritmética (ULA, responsável pelos cálculos), o registrador acumulador de resultados, além de outros registradores de propósitos gerais. O decodificador de instruções é um circuito lógico que traduz os opcodes na sequência interna de microoperações necessárias para realizar a operação descrita pela instrução. Algumas CPUs utilizam um decodificador chamado de hardwired, ao passo que outras utilizam um decodificador baseado em microcódigos. Busca instrução na memória Decodifica a instrução Escreve o resultado da operação Figura Ciclos de execução de uma instrução. Os decodificadores hardwired são normalmente mais rápidos, pois fazem com que grupos de bits do opcode selecionem e ativem diretamente as partes da CPU necessárias para a execução da instrução. Os decodificadores baseados em microcódigos utilizam máquinas de estado para realizar a decodificação das instruções, o que os torna normalmente mais lentos e ao mesmo tempo mais flexíveis que os decodificadores hardwired. A maioria das CPUs modernas inclui também algum tipo de memória interna. Os elementos básicos de memória interna são os registradores, geralmente utilizados para o armazenamento temporário de dados e no controle da operação da CPU. Os registradores mais importantes em praticamente todas as arquiteturas são o contador de programa (PC) e o acumulador. O contador de programa (PC) é um registrador especial responsável pelo controle e sequenciamento do fluxo do programa. Devido ao fato de ser uma máquina sequencial (na maioria dos casos), a CPU deve executar uma sequência de instruções armazenadas em algum tipo de memória. A função do PC é apontar o endereço de memória onde a próxima instrução a ser executada encontra-se armazenada. A instrução apontada pelo PC é buscada e enviada ao decodificador seguindo os passos descritos na figura Antes de completar a instrução corrente a CPU automaticamente incrementa o PC de forma que ele aponte sempre o endereço de memória da próxima instrução. O acumulador é utilizado principalmente nas operações lógicas e aritméticas. A maioria das CPUs utiliza o conteúdo do acumulador como um operando nas instruções aritméticas e lógicas (o outro operando pode ser um registrador ou um valor lido da memória). Como veremos mais adiante, os RL78 não possuem um registrador acumulador específico, ao invés disso existe um conjunto de registradores que podem também atuar como acumuladores. Outro componente importante da CPU é a unidade lógica e aritmética (ULA). Esse circuito lógico combinacional é utilizado por todas as operações aritméticas e lógicas. Na maioria dos sistemas, a ULA possui duas entradas (os operandos das operações): uma é geralmente conectada ao acumulador e a outra, a um registrador ou recebe um valor lido da memória. Os resultados das operações da ULA são normalmente armazenados no acumulador. 26

27 Antes de retomarmos o tópico de programação, vejamos a diferença entre microprocessador e microcontrolador. Em poucas palavras, podemos dizer que microprocessador é um chip com uma CPU, ULA e circuitos básicos de suporte. Esses chips necessitam de memórias externas e outros chips para poderem realizar tarefas úteis. Já o microcontrolador é um chip que integra num mesmo encapsulamento a CPU, ULA, circuitos de suporte, memórias e periféricos. Um microcontrolador é frequentemente referido como um computador num único chip. A aplicação alvo de um microprocessador também é diferente daquela de um microcontrolador. Enquanto um microprocessador é projetado para ser utilizado em computadores e dispositivos computacionais (como tablets e smartphones) de uso geral, capazes de executar programas complexos e sistemas operacionais, um microcontrolador, por outro lado, é projetado para realizar tarefas específicas e executar programas mais simples (geralmente sem a necessidade de um sistema operacional). É cada vez mais complexo estabelecer uma distinção entre microprocessadores e microcontroladores, pois estes tornam-se mais e mais complexos e muitas vezes confundem-se com microprocessadores. Voltando ao tópico de programação, é fácil constatar que a utilização de números binários e opcodes para escrever um programa pode ser bastante trabalhosa, especialmente porque dificultam a leitura e o entendimento do código, além de aumentar a probabilidade de erros (inclusive aqueles oriundos de falhas de digitação). Por isso, ainda na década de 1950 surgiu a primeira linguagem de programação, o assembly. Na verdade, a linguagem assembly é somente uma representação simbólica dos opcodes. Utilizando um programa especial (chamado Assembler ou montador), os mnemônicos assembly são traduzidos diretamente para códigos binários (opcodes). Essa tradução é feita numa razão de um para um, ou seja, cada instrução assembly é traduzida em um único opcode. Sendo assim, para podermos programar uma máquina, é necessário primeiramente conhecer quais instruções essa máquina é capaz de entender e como utilizá-las corretamente. Considerando a CPU dos RL78, existem cinco instruções (de um conjunto de oitenta e uma) que podem ser utilizadas para implementar o programa descrito na listagem 1.1: CLRB: apaga o conteúdo de um registrador ou endereço da memória. CMP a,b: compara o conteúdo de uma registrador ou posição da memória (operando a ) com o conteúdo do segundo operando ( b ), modificando os bits Z, CY e AY, de acordo com o resultado (a comparação é feita pela subtração do operando b do operando a ). INC: adiciona um ao operando. BR: desvio incondicional para o endereço especificado. BZ: desvio para o endereço especificado no caso do flag Z = 1. A figura 1.16 apresenta uma adaptação do fluxograma da figura 1.13 utilizando instruções assembly do RL78. Introdução 27

28 Início CLRB CNT CMP CNT,#10 INC CNT Fim Figura 1.16 A listagem 1.2 mostra o programa codificado em linguagem assembly. Ele foi escrita com base em algumas considerações iniciais: 1. O programa é armazenado a partir do endereço 0x000CE (0x significa que o número está em hexadecimal). Este é normalmente o endereço inicial da memória flash para armazenamento de programas nos microcontroladores RL78; 2. A variável cnt está localizada no endereço 0xEF00 da memória, o primeiro endereço válido da memória RAM no modelo do RL78/G13 utilizado (o R5F100LE); 3. Utilizaremos o prefixo N: para especificar um endereço de 16 bits na memória do microcontrolador, esta é a notação utilizada pelo compilador IAR para representar o modo de endereçamento direto de 16 bits (maiores detalhes serão vistos no capítulo 3); 4. Uma constante (como o valor 10 decimal) é escrita precedida do símbolo #. Este símbolo indica ao assembler que o valor que o segue é uma constante imediata; 5. Os endereços e opcodes estão escritos em base hexadecimal. Analisando o fluxograma da figura 1.16 e a listagem 1.2, podemos entender o funcionamento do pequeno programa apresentado. É fácil perceber que a instrução CMP possui um importante papel no controle do programa. Endereço Opcode Assembly Comentários 000CE F500EF CLRB N:cnt Apaga o conteúdo da memória cnt 000D1 4000EF0A repete: CMP N:cnt,#10 Compara o valor de cnt com 10 (cnt-10) 000D5 DD07 BZ final Desvia para final se Z=1 (Z=1 se na comparação anterior cnt era igual a 10) 000D7 A000EF INC N:cnt Incrementa cnt em um 000DA EFF7 BR repete Desvia para repete 000DC final: Listagem

29 A instrução CMP N:cnt,#10 realiza a comparação entre dois valores: o conteúdo da variável cnt e o valor imediato 10 decimal. Observando a coluna dos opcodes, encontramos o valor 0x4000EF0A, sendo 0x40 o código da instrução, 0x00EF o endereço do operando cnt na memória de dados (o endereço da variável é 0xEF00 e na instrução é escrito em formato little endian, iniciando pela parte menos significativa) e finalmente a constante com a qual deve ser feita a comparação (0x0A que é a representação hexadecimal de 10 decimal). Os termos little endian e big endian são utilizados em computação para especificar como uma máquina armazena dados numéricos de múltiplos bytes na memória. No formato little endian tais dados são armazenados na memória sempre iniciando-se pelo seu byte menos significativo, já no formato big endian, tais dados são armazenados na sua forma natural, ou seja, iniciando-se pelo byte mais significativo. Exemplo: o número 0x1234 hexadecimal é armazenado 0x34,0x12 no formato little endian e 0x12,0x34 no formato big endian! Observe que a comparação é realizada por meio de uma operação de subtração realizada no interior da ULA. De acordo com o resultado da comparação (subtração) alguns bits do registrador PSW são alterados: Z, AC e CY. Se o valor do contador for igual a 10, o bit Z é setado. Em seguida, a instrução BZ final é o chamado desvio condicional. Este tipo de instrução avalia uma condição e efetua o desvio do programa caso a condição seja verdadeira. No caso, a instrução avalia o estado do bit Z (localizado no registrador PSW) e desvia para final caso Z=1. Caso Z=0, a instrução não produz efeito e o programa segue a sua sequência natural. Note que o opcode da instrução é 0xDD07, onde 0xDD indica a instrução propriamente dita (BZ) e 0x07 é o endereço de destino do desvio. Nestas instruções o endereço de destino é escrito relativamente ao endereço da instrução de desvio, ou seja, o valor 0x07 indica que o endereço de destino é igual ao endereço de BZ (0x000D5) mais o deslocamento 0x07, ou seja, 0x000DC. A próxima instrução INC N:cnt faz o incremento do valor da variável cnt, ou seja, soma um ao conteúdo dela. Novamente podemos perceber que o opcode da instrução é 0xA000EF, onde 0xA0 indica a instrução INC e 0x00EF é o endereço little endian da variável cnt. A última instrução BR final provoca o desvio do fluxo do programa para o endereço indicado por repete, ou seja 0x000D1. O opcode da instrução é 0xEFF7, sendo 0xEF o código da instrução e 0xF7 o deslocamento do endereço de destino. Observe que neste caso o endereço de destino está localizado antes da instrução de desvio e por isso o deslocamento é negativo. O valor de deslocamento é calculado da seguinte forma: 0xD1 (o destino) 0xDA (endereço onde está a instrução de desvio) = 0xF7. Note que 0xF7 é a representação em complemento de dois do número -9 decimal. Analisando o programa inteiro podemos perceber que inicialmente a variável cnt é iniciada em zero CLRB N:cnt, em seguida verificamos se o valor dela é igual a 10 CMP N:cnt,#10, caso negativo BZ final, o programa segue, incrementa a variável INC N:cnt e em seguida desvia BR repete para uma nova comparação. Quando a comparação da variável com Introdução 29

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1 Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR

INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR Nelson Fabbri Gerbelli O que é informática? INFORMAÇÃO TECNOLOGIA INFORMÁTICA INFORmação automática 2 ÁBACO Na China, 3000 anos antes de Cristo, surgiu

Leia mais

3 Sistemas de Numeração:

3 Sistemas de Numeração: 3 Sistemas de Numeração: Os computadores eletrônicos têm como base para seu funcionamento a utilização de eletricidade. Diferente de outras máquinas que a presença ou ausência de eletricidade apenas significam

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

Leia mais

Tecnologia da Administração Computador: origem, funcionamento e componentes básicos Parte I Sumário Introdução Origem Funcionamento Componentes Básicos Referências Introdução O objetivo deste material

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira CIRCUITOS DIGITAIS Engenharia de Computação

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira CIRCUITOS DIGITAIS Engenharia de Computação AULA 01 INTRODUÇÃO Eduardo Camargo de Siqueira CIRCUITOS DIGITAIS Engenharia de Computação O COMPUTADOR O homem sempre procurou máquinas que o auxiliassem em seu trabalho. O computador é consciente, trabalhador,

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

Leia mais

AULA 01 CONCEITOS BÁSICOS DE PROGRAMAÇÃO. Eduardo Camargo de Siqueira INFORMÁTICA APLICADA TÉCNICO EM ELETRÔNICA

AULA 01 CONCEITOS BÁSICOS DE PROGRAMAÇÃO. Eduardo Camargo de Siqueira INFORMÁTICA APLICADA TÉCNICO EM ELETRÔNICA AULA 01 CONCEITOS BÁSICOS DE PROGRAMAÇÃO Eduardo Camargo de Siqueira INFORMÁTICA APLICADA TÉCNICO EM ELETRÔNICA CURIOSIDADE 2 O COMPUTADOR O homem sempre procurou máquinas que o auxiliassem em seu trabalho.

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Aula 01 Tecnologias e Perspectiva Histórica Edgar Noda Pré-história Em 1642, Blaise Pascal (1633-1662) construiu uma máquina de calcular mecânica que podia somar

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

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 (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias Visão Geral da Arquitetura de Computadores Prof. Elthon Scariel Dias O que é Arquitetura de Computadores? Há várias definições para o termo arquitetura de computadores : É a estrutura e comportamento de

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Microprocessadores. Prof. Leonardo Barreto Campos 1

Microprocessadores. Prof. Leonardo Barreto Campos 1 Microprocessadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Arquitetura de Microprocessadores; Unidade de Controle UC; Unidade Lógica Aritméticas ULA; Arquitetura de von Neumann; Execução de

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Informática Instrumental Aula 1. Prof. Msc. Fernando Nakayama de Queiroz

Informática Instrumental Aula 1. Prof. Msc. Fernando Nakayama de Queiroz Informática Instrumental Aula 1 Prof. Msc. Fernando Nakayama de Queiroz Ementa da disciplina 1. Apresentação do sistema operacional windows e linux; 2. Aprendendo a operar o teclado e principais teclas

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES PROCESSADORES CHIPS TRANSISTORES O que é um chip? - conhecido como circuito integrado; - pequeno e fino pedaço de silício no qual os transistores, que formam o microprocessador, foram encapsulados; - processadores

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr. Índice 1. SISTEMAS NUMÉRICOS 1.1 Caracterização dos Sistemas Numéricos 1.2 Sistemas Numéricos em uma Base B Qualquer 1.2.1 Sistema de Numeração Decimal 1.2.2. Sistema de Numeração Binário 1.2.3 Sistema

Leia mais

Gerações de Computadores. INF005 - Arquitetura de Computadores e Software Básico Aula 3 Flávia Maristela (flavia@flaviamaristela.

Gerações de Computadores. INF005 - Arquitetura de Computadores e Software Básico Aula 3 Flávia Maristela (flavia@flaviamaristela. Gerações de Computadores INF005 - Arquitetura de Computadores e Software Básico Aula 3 Flávia Maristela (flavia@flaviamaristela.com) Como é formado o meu computador? Computador = hardware + software 1ª

Leia mais

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal

Leia mais

Sumário. Organização de Computadores Módulo 3. Primeira Geração Válvulas (1945 1955) Primeira Geração Válvulas (1945 1955)

Sumário. Organização de Computadores Módulo 3. Primeira Geração Válvulas (1945 1955) Primeira Geração Válvulas (1945 1955) Sumário M. Sc. Luiz Alberto lasf.bel@gmail.com www.professorluizalberto.com.br Organização de Computadores Módulo 3 1. História da Arquitetura de Computadores - Continuação 1.1. 1.2. Segunda Geração Transistores

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Introdução à Computação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Informática x Computação

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo (pipeline) Execução de programas http://www.ic.uff.br/~debora/fac! Dar noções iniciais dos componentes básicos de um sistema de computador, assim também como conceitos fundamentais necessários para a manipulação de informação dentro do

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 02: Conceitos Básicos Conceitos Básicos Conceitos fundamentais: dado, informação e processamento de dados Conceitos de algoritmo, algoritmo ótimo, hardware. Software e

Leia mais

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

Fabio Bento fbento@ifes.edu.br

Fabio Bento fbento@ifes.edu.br Fabio Bento fbento@ifes.edu.br Eletrônica Digital Sistemas de Numeração e Códigos 1. Conversões de Binário para Decimal 2. Conversões de Decimal para Binário 3. Sistema de Numeração Hexadecimal 4. Código

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email:

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email: AULA 1 Disciplina: Informática Básica Professor: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Estudo de caso Empresa do ramo de seguros Presidência RH Financeiro Vendas e Marketing TI CRM Riscos Introdução

Leia mais

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO O seguinte artigo apresenta uma UCP hipotética construída no software simulador DEMOWARE Digital Works 3.04.39. A UCP (Unidade Central de Processamento)

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Conceitos e Evolução Capítulos 1 e 2

Conceitos e Evolução Capítulos 1 e 2 Aula 2 ARQUITETURA DE COMPUTADORES Conceitos e Evolução Capítulos 1 e 2 Prof. Osvaldo Mesquita E-mail: oswaldo.mesquita@gmail.com 1/48 CONTEÚDO DA AULA Conceitos Importantes O que é arquitetura de computadores?

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2 MEMÓRIA CONCEITO Bit- 0 1 Essência de um sistema chamado BIESTÁVEL Ex: Lâmpada 0 apagada 1 acesa 0 e 1 únicos elementos do sistema de numeração de base 2 A que se destina a memória: Armazenamento das instruções

Leia mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03 CPU - Unidade Central de Processamento Processador Aula 03 A CPU (Unid. Central de Processamento A unidade Central de Processamento, a CPU (Central Processing Unit), atua como o cérebro do sistema, processando

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores ARQUITETURA DE COMPUTADORES Sistemas de Numeração 1 Sistemas de Numeração e Conversão de Base Sistema Decimal É o nosso sistema natural. Dígitos 0,1,2,3,4,5,6,7,8 e 9. Números superiores a 9; convencionamos

Leia mais

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD. AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO

Leia mais

Processadores. Prof. Alexandre Beletti Ferreira

Processadores. Prof. Alexandre Beletti Ferreira Processadores Prof. Alexandre Beletti Ferreira Introdução O processador é um circuito integrado de controle das funções de cálculos e tomadas de decisão de um computador. Também é chamado de cérebro do

Leia mais

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP Estrutura de um Computador Linguagem de Programação Rone Ilídio UFSJ - CAP Hardware e Software HARDWARE: Objetos Físicos que compões o computador Circuitos Integrados, placas, cabos, memórias, dispositivos

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13 Índice 1. Circuitos Digitais - Continuação...3 1.1. Por que Binário?... 3 1.2. Conversão entre Bases... 3 2 1. CIRCUITOS DIGITAIS - CONTINUAÇÃO 1.1. POR QUE BINÁRIO?

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Elisa Maria Pivetta Cantarelli. PDF created with pdffactory Pro trial version www.pdffactory.com

Elisa Maria Pivetta Cantarelli. PDF created with pdffactory Pro trial version www.pdffactory.com Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Conceitos básicos Elisa Maria Pivetta Cantarelli A informática, que torna a INFORmação automática, não deve intimidar. Computador

Leia mais

Lição 1 Introdução à programação de computadores

Lição 1 Introdução à programação de computadores Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto Parte 01 Fundamentos de Arquitetura de Computadores Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Definição de Computador ii. Máquina Multinível iii. Evolução do Computador Histórico

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

Leia mais

Informática I. Aula 4. http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1

Informática I. Aula 4. http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1 Informática I Aula 4 http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

Conheça o 4017 (ART062)

Conheça o 4017 (ART062) 1 de 11 20/02/2013 18:14 Conheça o 4017 (ART062) Este artigo não é novo, mas sua atualidade se manterá por muito tempo, o que jusitifica o fato dele ser um dos mais acessados desse site. De fato, o circuito

Leia mais

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke MINISTÉRIO DA EDUCAÇÃO - Unidade de São José Curso Técnico em Telecomunicações CONTADORES Marcos Moecke São José - SC, 25 SUMÁRIO 5. CONTADORES... 5. CONTADORES ASSÍNCRONOS... CONTADOR ASSÍNCRONO CRESCENTE...

Leia mais

LÓGICA DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais