Você está na página 1de 5

1.

2.

Nota Histrica: 1946: Surge o primeiro computador digital, com vlvulas, 1gerao Incio dos Anos 60: Computador feito com transstores, 2gerao Meados dos Anos 60: Utiliza~o de C.Is, primeiro SSI (Short Scale Integration) e depois MSI (Medium Scale Integration ), a 3 gerao 1971: Aparecimento do 1 microprocessador, utiliza~o de C.Is com milhares de transstores/chip Actualmente: Desenvolvimento da tecnologia VLSI (Very Large Scale Integration), centenas de milhares de transstores/chip Introduo. Conceitos Gerais: Computador digital: Sistema que processa dados e que tem capacidade para executar, sequencialmente, operaes aritmticas e lgicas. Dados: informao numrica ou alfanumrica codificada em binrio. Bit: Unidade mnima de informao Palavra: Agrupamento bsico de bits susceptvel de ser interpretada por um computador o Os dados so conjuntos de bits agrupados em palavras o O n de bits define o comprimento da palavra o Palavra de dados: Agrupamento de bits, com um determinado comprimento, que interpretado pelo computador como uma quantidade. o Palavra de instruo: Agrupamento de bits, com um dado comprimento, que interpretado pelo computador como uma ordem para realizar uma determinada tarefa. Byte: uma palavra de 8 bits Nibble: agrupamento de 4 bits MSB: Most Significant Bit, bit de maior peso (ou bit mais significativo) LSB: Least Significant Bit, bit menos significativo (ou bit de menor peso) Diagrama de Blocos de um computador: o CPU: (Central Processing Unit) a unidade central de processamento, o crebro do sistema. Microprocessador (P): um CPU realizado num s circuito integrado LSI. o Microcomputador (C): computador digital de pequenas dimenses, cujo CPU um microprocessador. o Memria: o suporte fsico, destinado ao armazenamento de informao. o Minicomputador: Computador digital de pequenas dimenses, mas de constituio mais complexa do que o microcomputador. o Portos I/O: So os circuitos de entrada/sada de dados; so os meios fsicos atravs dos quais, o computador troca informao com o seu mundo exterior. o Perifricos: So as entidades que no fazem parte do computador, mas que computador comunicam com ele, enviando e/ou recebendo informao. Existem perifricos de entrada e de sada. Exemplos: teclado, display, monitor vdeo, impressora, unidade de discos, gravador, modem, etc Computadores dedicados: concebido para ser usado em aplicaes num campo especfico. Computador de uso geral: desenhado para resolver uma gama variada de problemas. Vantagens de Ps: o Versatilidade o Fiabilidade o Baixo custo o Pequena dimenso reas de utilizao: o Sistemas de clculo o Tratamento de dados alfanumricos o Telecomunicaes o Controlo de processos o Monitorizao de sinais o Instrumentao Utilizao em monitorizao e/ou controlo: Software: Conjunto de programas usados no sistema e respectiva documentao. Hardware: Suporte fsico dum sistema digital; por exemplo, um microcomputador. Trata-se da realidade palpvel. Linguagens de programao: Programa: uma sequncia de instrues que define a realizao de uma tarefa e que escrita numa determinada linguagem. Linguagem de programao: o conjunto dos smbolos e das regras usado para representar a informao. o Linguagem de alto nvel: as instrues so escritas, usando uma gram|tica semelhante { que usada pelo Ser Humano. Exemplos: BASIC, FORTRAN, COBOL, PASCAL, C, Java Programa Fonte: o Linguagem assembly: Representao de nvel intermdio entre a linguagem de alto nvel e a linguagem mquina; uma linguagem mnemnica mais elaborada, que permite a substitui~o de endereos por etiquetas (labels). o Cdigo de mquina: Os microprocessadores s reconhecem informa~o codificada em conjuntos de 0s e 1s, isto , codificada em cdigo mquina, usando linguagem mquina. Programa Objecto: O programa escrito em linguagem m|quina o programa objecto ( object program) e escrito em cdigo objecto (object code). Compilador: Ferramenta (Software) que toma o programa escrito em linguagem de alto nvel e o converte em linguagem adequada ao executor (cdigo objecto). O programa todo convertido para cdigo objecto e s posteriormente executado. Interpretador: Ferramenta que permite memorizar o programa fonte e que procede sua converso para cdigo objecto, por fases. Cada instruo traduzida (convertida para cdigo objecto) e, em seguida, executada; segue-se a traduo da instruo seguinte. Assembler: Conversor de cdigo assembly para cdigo mquina. Cross-Assembler: Programa que usado para converter o cdigo assembly de um computador (ou, com maior rigor, de um microprocessador) no de outro. Cross-Compiler: Anlogo ao cross-assembler, mas usado em linguagem de alto nvel. Linguagem de Alto Nvel o Utilizao de referencias simblicas o Facilidade de desenvolvimento de programas o Obteno de programas quase auto-documentados o Desenvolvimento de programas independente do microprocessador do sistema Linguagem Assembly: o Utilizao de referencias simblicas

3.

o Dispensa de utilizao de compiladores e/ou tradutores o Facilidade de controlo de tempos de execuo dos programas o Eficincia em termos de ocupao de memria Linguagem mquina: o Utilizao de cdigo binrio (hexadecimal) o Utilizao de endereos fixos o Difcil interpretao pelo Homem o Escrita e introduo dos programas no microcomputador, morosa e muito susceptvel de erros o A nica linguagem que aceite pelos microprocessadores

4.

Memrias Memrias: Para armazenar os programas e os dados que se destinam a ser tratados por um microcomputador o Voltil: Quando se desliga a fonte de alimentao, perde-se a informao memorizada. o No Voltil: A informao memorizada mantm-se, mesmo na ausncia de tenso de alimentao. De massa: Por vezes recorre se utilizao de elementos externos ao microcomputador para armazenar a informao (p. ex., discos, diskettes, bandas magnticas); Parmetros: o Tempo de acesso o Densidade de informa~o memorizada por chip o Custo/bit o Consumo de energia Tecnologias mais usadas na implementao de memrias de Tecnologias mais usadas na implementao de memrias de semicondutor: o Bipolar (TJBs) o MOS Estticas: utiliza~o de latches com configura~o semelhante dos registos que usam tecnologia bipolar Dinmicas: A informao armazenada numa pequena capacidade. Para evitar a perda de informao, motivada pelas resistncias de fugas, enviam-se periodicamente impulsos de refrescamento (refreshing) o CCD Vantagens: o Nas memrias dinmicas implementadas em tecnologia MOS, os registos apresentam uma estrutura mais do que nas est|ticas, permitindo maior densidade de clulas por chip. As memrias din}micas apresentam menor custo/bit e funcionam com consumo de energia mais baixo, mesmo considerando o consumo do circuito de refrescamento. No entanto, as memrias estticas apresentam a vantagem de dispensarem a utilizao de circuitos de refrescamento e de permitirem um acesso mais rpido aos seus registos, para a execuo de operaes de escrita e leitura de dados. Memrias usando tecnologia bipolar (TTL, LSTTL, ECL): o De acesso rpido, mas... o Consumo elevado o Baixa densidade de clulas por chip o Custo elevado Memrias: o RAM o ROM o PROM o EPROM o EEPROM Arquitectura Bsica de um Microprocessador Diagrama de blocos de um Microprocessador Blocos de um Microprocessador o ALU (Aritmetric Logic Unit): a unidade aritmtica e lgica, que efectua as operaes aritmticas e lgicas. Ou seja, a ALU pode somar, subtrair, complementar, incrementar, decrementar, deslocar palavras para a direita e para a esquerda e efectuar operaes lgicas; negao, E, OU e OU-Exclusivo o Unidade de controlo: descodifica as instrues provenientes da memria e gera os sinais necessrios para controlar o sistema Registo de Instrues (IR Instrution Register): armazena instrues (informao organizada em bytes) provenientes da memria, que posteriormente vo ser descodificadas Descodificador de Instrues e Controlador de Sequncias (ID e CS Instrution Decoder and Control Sequencer): descodifica as instrues e gera as sequncias de palavras adequadas para controlar a sua execuo Circuitos de Temporizao e de Controlo (CT e C Timing and Control): recebem as sequncias de palavras provenientes do CS e que, em funo estas, geram os sinais elctricos apropriados para controlar a execuo das instrues. Estes circuitos, tm ainda capacidade para desencadear interrupes ou estados de espera, quando tal solicitado do exterior Diagrama de blocos da unidade de controlo 3 tipos de sinais: o Dados (palavras de dados e de instruo) o Controlo o Endereo Relao entre o n de linhas de endereos e o n de posies acessveis: o A utilizao de N linhas de endereo permite enderear 2N palavras. Linha(s) de Chip Enable(CE) (por vezes, tambm assinaladas com a indicao CS, Chip Select): se existir(em) permitir(em) aumentar a capacidade de endereamento. Registos dedicados: o Contador de Programa (PC Program Program Counter Counter): usado para orienta~o interna; contm o endereo da prxima instruo a ser executada o Ponteiro de Pilha (SP- Stack Pointer): usado para enderear pilhas (stacks) de dados criadas em memria. As pilhas s~o blocos de dados do tipo LIFO (Last In First Out) o Registo de Estados (FR Flag Register Register): Contm bits que do conta de alguns acontecimentos que ocorrem aquando da execuo de operaes pela ALU Troca de informao:

5.

6.

Canal ou barramento de dados (data bus): conjunto de linhas bidireccional, atravs do qual so transmitidas palavras de dados e instrues o Canal ou barramentos de endereos (address bus): conjunto de linhas unidireccional e tristate, atravs do qual se enviam os endereos das posies de memria e dos portos entrada/sada a aceder o Canal ou barramento de controlo (control bus): conjunto de linhas atravs do qual se enviam sinais de controlo e de sinalizao Microprocessador 8085 INTEL Descrio do pin-out do 8085: o Vcc, Vss: Pinos de alimentao (VCC=+5V, VSS=GND) o X1, X2: Ligao do cristal que activa o relgio do sistema. (No 8085 320ns<T<2ms) o A15-A8: Os 8 bits mais significativos do canal de endereos o AD7-AD0: Canal de dados, os 8 bits menos significativos do canal de endereos. Os dados e os endereos surgem aqui multiplexados no domnio do tempo surgem, aqui, multiplexados no domnio do tempo. Consoante o tipo de operao que est a ser efectuado, assim surge, nestes pinos, informao relativa a dados ou a endereos o ALE (Address Latch Enable): Sada onde surgem impulsos cujo flanco descendente usado para validar a informao contida nas linhas AD7 -AD0 como byte relativo a endereos (e no a dados). o WR(-): Sada tri-state que quando activada (em que, quando activada, em 0 ) indica que a informao disponvel no canal de dados se destina a ser escrita numa posio de memria ou num porto de sada o RD(-): Sada tri-state que, quando activada (em 0) indica que o canal de dados se encontra disponvel para receber informao proveniente de uma posio de memria ou de um porto de entrada o IO/M(-): Sada tri-state que indica se a operao de leitura ou de escrita, a ser efectuada, se destina a um porto de entrada/sada ou a uma posio de memria. o READY: Entrada que, quando assume o valor lgico 0, indica ao P que um perifrico a que este pretende aceder, n~o est| pronto para receber ou enviar informa~o, pelo que o P deve entrar em estado de espera (wait state) o RESET IN: Entrada que, quando (activada em 0), provoca o carregamento do valor 000H no carregamento do valor 000H no Program Counter do P o RESET OUT: Sada que, quando assume o valor 1, indica que foi efectuado o RESET do P. O impulso gerado neste pino tem um tempo de dura~o mltiplo do perodo do relgio e pode ser usado para inicializar o P o HOLD: Entrada que quando assume o valor lgico 1 indica ao P que algum no mundo exterior (um perifrico ou outro P) solicita, para si, o controlo dos canais de informa~o. Aps terminar a opera~o em curso, o P liberta os canais o HLDA: Sada atravs da qual o P responde a uma solicita~o enviada atravs das linha HOLD. Depois de terminar a operao em curso, o terminar a opera~o em curso, o P provoca uma P provoca uma transi~o 10 no estado desta sada e liberta os canais de informao o CLK (OUT): Sada onde surge um sinal de relgio com uma Sada onde surge um sinal de relgio com uma frequncia que metade da do sinal ocorrido em X1, X2 e que, frequentemente, utilizado para sincronizar a lgica exterior ao CPU o S0, S1: Sadas de state cujos estados permitem saber qual o estado do P o S0 0 0 1 1 S1 0 1 0 1 Estados do P Paragem (Halt) Escrita (Write) Leitura (Read) Busca de memria ou I/O (Fetch)

INTR (Interrupt Request): Entrada que, quando activada (INTR=1), indica ao P que um perifrico pretende interromper a sua actividade. O controlo do programa passar, em seguida, a depender dum byte que ser| colocado no canal de dados o INTA (-)(Interrupt Ackowledge): Sada que indica, ao meio exterior, que o P tomou conta dum pedido de interrupt o TRAP: Entrada que, quando activada (em 1), interrompe a execuo programa e coloca, no Program Counter, um endereo previamente definido, 0024H o RST 7.5, 6.5, 5.5: Entradas de interrupt an|logas { TRAP o SOD: Sada de informao em Srie o SID: Entrada de informao em Srie interrupts endereos: o TRAP0024H o RST 7.5003CH o RST 6.5 0034H o RST 5.5 002CH Ordem decrescente: o TRAP;RST 7.5; RST 6.5; RST 5.5; INTR Estrutura interna do P: o Existem diversos registos de uso geral de 8bits B, C, D, E, H e L o O Acumulador um registo de 8bits o O ponteiro da pilha (Stack Pointer) e o Contador do Programa (Program Counter) s~o registos de 16bits Campo de cdigo de operao: o Um conjunto de bits que definem o cdigo de opera~o (OP. CODE Operation Code) O conjunto de posies reservado numa instruo. O conjunto de posies reservado, numa instruo, para o OP. CODE Campo do operando: Conjuntos de bits que constituem operandos ou identificam a localiza~o destes (identificam registos do P, registos de memria ou portos I/O). As posies reservadas, para estes bits so estes campos Formatos (c/exemplos): o 1 byte o 2 byte o 3 byte Modos de endereamento: o Directo: Os bytes 2 e 3 da instruo contm o endereo do registo: (Byte 2)= Parte menos significativa do endereo. (Byte)3)= Parte mais significativa do endereo. Exemplo STA 8000H/LDA 3000H o Registo: A instruo especifica o registo, ou o par de registos, que contm os dados da operao. o

7.

8.

Exemplo INX H/DCX D Registo Indirecto: A instruo especifica o par de registos cujo contedo o endereo do registo de memria que contm os dados da operao Exemplo ADD M/SUB M o Imediato: Os dados esto contidos na prpria instruo (no byte 2 ou nos bytes 2 e 3) Exemplo MVI 51H/MVI C Agrupamento Funcional das instrues do 8085: o Grupo de transferncia de dados Provoca a transferncia de dados entre registos. A execu~o destas instrues, n~o afecta o estado das flags o Grupo de operaes aritmticas Provoca a realizao de operaes de soma, subtraco, incremento ou decremento, envolvendo o contedo de registos internos do P e/ou de memria o Grupo de operaes lgicas Provoca a realizao de operaes lgicas entre o contedo de registos Provoca a realizao de operaes lgicas entre o contedo de registosdo P ou entre o contedo destes e o contedo de registos de memria. Podem executar-se as funes AND, OR, XOR, NOT e algumas funes especiais como a comparao e a rotao o Grupo da transferncia de controlo ou salto Provoca alterao na execuo sequencial do programa: Salto (Jump) incondicional Salto condicionado pelo estado de alguma das flags Chamada incondicional duma sub-rotina Chamada duma Chamada duma sub--rotina, condicionada pelo estado de alguma das condicionada pelo estado de alguma das flags Regresso incondicional duma sub-rotina Regresso de uma sub-rotina condicionado pelo estado de alguma das flags o Grupo de controlo, Strack e I/O Inclui instrues de manipula~o de pilha (stack), de controlo de portos I/O e de inibio/ desinibio de interrupes Nomeclatura: o r - Registo do P o rp Par de registos. Qualquer dos pares BC, DE ou HL o rh o registo do par, que contm o byte de maior peso o rl o registo do par, que contm o byte de menor peso o M registo de memria cujo endereo o contedo do par HL o n nmero binrio de 8 bits (palavra de dados) nmero binrio de 8 bits (palavra de dados), n o contedo do byte o contedo do byte 2 duma instruo o n1-n2 nmero binrio de 16 bits, n1 o byte mais significativo e n2 o byte menos significativo byte menos significativo. o (r) contedo de um registo o (rp) contedo de um par de registos Condies, ccc: o Z(zero):Z=1 o NZ (no zero):Z=0 o C (carry):CY=1 o NC (no carry):CY=0 o PE (parity even):P=0 o PO (parity odd):P=1 o P (positive):S=0 o M (minus):S=1 Ciclo de relgio (estado): o A unidade b|sica de tempo o ciclo de relgio, que o perodo do relgio do sistema e que designado por estado (state o u machine state) Ciclo mquina: o Por cada vez que o P enderea a memria ou perifrico ou um porto I/O, ocorrem vrios estados e temos um ciclo mquina. Cada ciclo mquina gasta vrios estados Ciclo de instruo: o O tempo necess|rio para que o P extraia uma instru~o da memria e a execute o ciclo de instr uo Transferncia de Informao entre um Microcomputador e os seus Perifricos A transferncia de informao entre um microcomputador e os seus perifricos faz seus perifricos faz-se atravs dos portos de entrada/sada se atravs dos portos de entrada/sada(portos I/O). Constituio: o Um descodificador de endereo o Um circuito lgico de controlo o Um conjunto de buffers tristate que, no caso dos portos de sada, pode ser substitudo por um conjunto de registos de memr ia do tipo pode ser substitudo por um conjunto de registos de memria do tipo latch Organizao dos portos I/O: o Endereamento prprio (isolated I/O): Usa-se uma linha do canal de controlo para distinguir os portos I/O da memria. o Endereamento de memria (memory mapped I/O ): O acesso aos portos I/O feito da mesma forma que o acesso aos registos de memria. Seleccionam-se uns endereos para aceder a memria e outros para aceder a portos I/O para aceder a portos I/O Operao de I/O: o Transferncia por entrada/sada programada (programmed I/O): O microprocessador desencadeia e controla a operao de transferncia de informao. o Transferncia por interrupo (interrupt I/O): O perifrico inicia a operao e o microprocessador controla-a. o Transferncia por acesso directo memria, DMA (Direct Memory Access): O perifrico desencadeia e controla a operao de transferncia de informao. Conceitos sobre programao estruturada A programao a tcnica de escrever programas. A escrita de um programa deve ser feita criteriosamente por forma a obter estruturas em que exista: o Simplicidade: Obteno de blocos (segmentos de programa) que executem funes bem definidas, claramente identificadas e que sejam pouco extensas. o

o o o o Fases: o

Modularidade: Obteno de blocos (mdulos) que, na medida do possvel, tenham concepo funcionamento e teste independentes dos restantes concepo, funcionamento e teste independentes dos restantes mdulos. Fiabilidade: Obteno de programas cujo funcionamento seja assegurado. Todas as condies de funcionamento (p. Ex. Gamas de valores possveis de assumir pelas variveis) devem ser levadas em linha de conta e todos os resultados possveis devem ser previstos. Adaptabilidade: Obteno de estruturas em que a alterao das condies de funcionamento e a extenso dos programas sejam possveis e fceis Eficincia: Obteno de programas em que o numero de instrues, a ocupao de memria e/ou tempo de execuo sejam minimizados de memria e/ou tempo de execuo sejam minimizados.

9.

Anlise do problema: Consiste em identificar claramente a situao em jogo, definir o objectivo a atingir e especificar, de forma inequvoca, as sadas pretendidas para cada uma das combinaes de entradas possveis. o Concepo dum algoritmo: a definio do mtodo (sequncia de aces) para resolver o problema. o Obteno dum fluxograma que traduza o algoritmo concebido: a representao grfica utilizada para a definio, anlise ou soluo do problema. o Codificao do algoritmo o Converso do cdigo obtido para cdigo executvel o Teste de correco de erros o Gravao do programa, para posterior utilizao o Documentao do projecto o Manuteno Fluxogramas: o Elemento (de um fluxograma): designao atribuda a cada um dos smbolos que o constituem designao atribuda a cada um dos smbolos que o constituem. o Elemento processamento: o elemento bsico do fluxograma. o Elemento deciso: utilizado para alterar o fluxo do controlo do programa. Trs estruturas bsicas: o Estrutura Sequncia (Sequence): constituda por um encadeamento de elementos de processamento o Estrutura Se-Ento-Seno (If-Then-Else): constituda essencialmente por um elemento deciso e dois elementos processamento o Estrutura Faa-Enquanto (Do-While): constituda por um elemento deciso e um elemento processamento. Nvel: o Conceito: utilizado quando se procede fase de anlise do problema, e traduz, em linhas gerais, as tarefas que devem ser realizadas pelo microcomputador. o Algoritmo: Representa-se pormenorizadamente a forma como as tarefas podem se, pormenorizadamente, a forma como as tarefas podem ser realizadas. A elaborao de fluxogramas, a nvel de conceito e de algoritmo pode ser feita independentemente da escolha do C que vai ser usado para resolver o problema ser usado para resolver o problema. o Instruo: Representam-se, de forma pormenorizada, as operaes a efectuar pelo microcomputador. Este fluxograma deve ser elaborado de tal forma que seja possvel obter, directamente a partir dele, a codificao do algoritmo em linguagem apropriada ao executor (microcomputador). Programa Estruturado: Diz-se que um programa estruturado em relao a um determinado conjunto de figuras bsicas, se o seu fluxograma puder ser elaborado a partir de um encadeamento de figuras (estruturas) desse conjunto. Microcomputador SDK-85 O microcomputador SDK-85 um computador dedicado, de aplicao no ensino sobre o microprocessador 8085. Caractersticas: o Visualizar o contedo de todas as posies de memria e de todos os registos o Introduzir e executar programas, quer de forma contnua, quer passo a passo o Parar e retomar a execuo de programas sempre que necessrio Configurao: o Um CPU: O microprocessador 8085 -Intel o Um Teclado: Com 24 teclas, atravs do qual possvel introduzir, no P , dados codificados em hexadecimal. Adiante, apresenta-se uma descrio das funes se uma descrio das funes associadas a cada tecla o Um display: onde possvel visualizar dados (contedos de registos internos do onde possvel visualizar dados (contedos de registos internos do P e de registos de memria) e endereos. o Um controlador de teclado e display: o C.I 8279, que usado para controlar a troca de informao com o exterior atravs daqueles dois perifricos. o Um descodificador de endereos: C.I. 8205 que usado para aceder aos perifricos instalados e a outros que se venham a instalar. Saliente-se que existe, no C, uma |rea de placa de circuito impresso destinada { expans~o de circuito impresso destinada { expans~o de hardware o Memria RAM: um chip 8155, com capacidade de 2568 bits. possvel expandir esta capacidade para o dobro, inserindo outro chip no C. o Memria ROM: um chip 8355 (ou uma EPROM 8755) com capacidade de 20488 bits, onde est| memorizado o programa monitor do microcomputador. Esta capacidade tambm se pode expandir para o dobro (4kbyte), inserindo outro chip no microcomputador.