Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ARQUITETURA DE PROCESSAMENTO
UAL - Unidade Aritmética e Lógica - tem por função a efetiva execução das
instruções;
UC - Unidade de Controle - tem por funções a busca, interpretação e controle
de execução das instruções, e o controle dos demais componentes do
computador;
Instruções
Um ser humano usa seu conhecimento e inteligência para traduzir uma tarefa
complexa (tal como, por exemplo, a tarefa de buscar uma pasta num arquivo) numa
série de passos elementares (identificar o local do arquivo, fazer o caminho até o
arquivo, identificar o arquivo e retirá-lo do seu local). Para o computador, uma
instrução precisa ser detalhada, dividida em pequenas etapas de operações, que
são dependentes do conjunto de instruções do computador e individualmente
executáveis. Todos os programas para uma determinada UCP, independente da
linguagem de programação utilizada, são transformados na linguagem de máquina
da UCP. As linguagens de máquina são denominadas de linguagens de baixo nível,
observando que o termo utilizado “nível” não tem relação com o nível de qualidade
da linguagem utilizada, mas sim, em relação ao nível de interação da linguagem
com a UCP. As linguagens de mais alto nível utilizam instruções para executarem
tarefas mais complexas. Estas instruções, na realidade, equivalem a uma série de
instruções em linguagem de máquina e existe a necessidade de se utilizar um
programa tradutor (ou compilador) para traduzir esta instrução de alto nível para
uma série de instruções em linguagem de máquina. Ou seja, o programa elaborado
pelo programador (o código-fonte, composto de instruções complexas) precisa ser
"traduzido" em pequenas operações elementares (primitivas) executáveis pelo
hardware. Cada uma das instruções tem um código binário associado, que é o
código da operação.
Para que um programa possa ser executado por um computador, ele precisa
ser constituído por esta série de instruções e estar armazenado em células
sucessivas na memória principal. A UCP é responsável pela execução das
instruções que estão na memória. Quem executa um programa é o hardware e o
que ele espera encontrar é um programa na forma de linguagem de máquina (uma
sequência de instruções de máquina em código binário). A linguagem de máquina
utiliza um código na forma de bits, representando instruções, endereços e dados.
Cada UCP possui um número fixo de instruções ou um conjunto ("set") de
instruções da máquina.
Conjunto de Instruções
Ciclo de Instrução
- chip de 18 pinos;
- somente 35 instruções no seu microcódigo;
- aceita sinal de clock de freqüência até 20 MHz;
- memória de programa do tipo Flash de 2048 words (1 word = 16 bits);
- 224 bytes de memória RAM para dados;
- 128 bytes de memória EEPROM para dados;
- instruções de 14 bits com 200ns de tempo de execução;
- dados de 8 bits por endereço de memória;
- 15 registradores especiais;
- 16 pinos os quais podem ser configurados como entrada e/ou saída;
- outras características especiais como programação in-circuit serial, proteção por
código, watchdog timer (temporizador cão de guarda), módulo CCP, comparador
interno, USART,....
Pinagem do PIC16F628a:
Arquitetura Harvard
Instruções RISC
conteúdo de “f”
DECF f, d Decrementa o valor 1 00 0011 dfff ffff
armazenado em “f”
DECFSZ f, d Decrementa o valor 1 (2) 00 1011 dfff ffff
armazenado em “f”, pula
a próxima instrução se for
igual a “0”
INCF f, d Incrementa o valor 1 00 1010 dfff ffff
armazenado em “f”
INCFSZ f, d Incrementa o valor 1 (2) 00 1111 dfff ffff
armazenado em “f”, pula
a próxima instrução se for
igual a “0”
IORWF f, d Operação lógica “OU 1 00 0100 dfff ffff
INCLUSIVO” do conteúdo
do registrador “W” com o
conteúdo de “f”
MOVF f, d Move o conteúdo de “f” 1 00 1000 dfff ffff
para o registrador “W”
MOVWF f Move o conteúdo do 1 00 0000 lfff ffff
registrador “W” para “f”
NOP -f, Sem operação 1 00 0000 0xx0 0000
RLF d Rotaciona os bits 1 00 1101 dfff ffff
armazenados em “f” para
a esquerda com Carry
RRF f, d Rotaciona os bits 1 00 1100 dfff ffff
armazenados em “f” para
a direita com Carry
SUBWF f, d Subtração do conteúdo 1 00 0010 dfff ffff
em “W” de “f”
SWAPF f, d Troca o primeiro nibble (4 1 00 1110 dfff ffff
bits) com o último nibble
armazenados em “f”
XORWF f, d Operação lógica “OU 1 00 0110 dfff ffff
EXCLUSIVO” do
conteúdo de “W” com o
conteúdo de “f”
OPERAÇÕES DE REGISTRADORES ORIENTADAS A BIT
BCF f, b Muda para “0” o valor do 1 01 00bb bfff ffff
bit “b” de “f”
BSF f, b Muda para “1” o valor do 1 01 01bb bfff ffff
UTFPR – Cornélio Procópio 10
Arquitetura de Microprocessadores Prof. Luiz Marcelo Chiesse da Silva
TRISB 0 0 0 0 0 0 0 0
- pinos RA0, RA2, RA4 e RA6 como entradas digitais e o restante como
saídas:
TRISA 0 1 0 1 0 1 0 1
TRISB 0 0 0 0 0 0 0 0
TRISB 1 1 1 0 1 1 1 1
- pinos RB0 e RB7 como entradas digitais e o restante como saídas digitais:
UTFPR – Cornélio Procópio 13
Arquitetura de Microprocessadores Prof. Luiz Marcelo Chiesse da Silva
TRISA 0 0 0 0 0 0 0 0
TRISB 1 1 0 0 0 0 0 0
TRISB 1 1 1 1 1 1 1 1
- pinos RA0, RA1, RA2, RB0, RB1, RB2, RB3 e RB4 como entradas digitais e
o restante como saídas:
TRISA 0 0 0 0 0 1 1 1
TRISB 0 0 0 1 1 1 1 1