Transcript
Cap.1 – Introdução aos Microcomputadores Digitais
1. Introdução aos Microcomputadores Digitais 1.1 Organização de um computador digital Um computador digital pode ser descrito de uma forma simplificada segundo o diagrama de blocos:
MEMÓRIA PRINCIPAL
Barramento de dados
CLOCK
Barramento de endereços Barramento de controle
REGS. DE
REGS. ESPECIAIS
PROPÓSITO
UNIDADE
GERAL
DE ENTRADA UNID. DE
UNIDADE DE ARITMÉTICA E LÓGICA
E SAÍDA
CONTROLE
UNIDADE CENTRAL DE PROCESSAMENTO - CPU
DISPOSITIVOS DE E/S
Página 1 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
• Unidade Central de Processamento: • Unidade de Controle • Unidade de Aritmética e Lógica • Registradores de Propósito Geral • Registradores Específicos • Reg. de Dados da Memória • Reg. de Endereços da Memória • Contador de Programa (Program Counter) • Registrador de Instruções • Apontador de Pilha (Stack Pointer) • Outros (conforme a CPU)
- UCP ou CPU - UC - UAL ou ULA
- RDM - REM - PC - RI - SP
• Memória Principal • Memória Secundária • Unidade de E/S • Interfaces • Canais de E/S • Processadores de E/S • Dispositivos de E/S
Histórico: • Primeiros computadores eletrônicos surgiram na década de 30 • IBM PC foi concebido em 1980
Página 2 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
1.2 Memória
Memória: local do computador (hardware) onde se armazenam temporária ou definitivamente dados (números, caracteres e instruções)
Posição de memória ou endereço: localidade física da memória onde se encontra o dado.
Organização da memória: Endereço ... 4MB ... 1048576 ... 1765 ... 4 3 2 1 0
Conteúdo ... 10110101 ... 01001010 ... 01001101 ... 01010000 11111111 11101001 11011010 01100100
Obs: no 8086, a memória é organizada em bytes (conjunto de 8 bits).
Página 3 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
1.3 A CPU e a execução de um programa MEMÓRIA Barramento de dados Barramento de endereços Barramento de controle A
B
C
D
E
F
...
...
RDM
REM
PC RI SP UNID. DE
UNIDADE DE ARITMÉTICA E LÓGICA
CONTROLE
UNIDADE CENTRAL DE PROCESSAMENTO - CPU
Ciclo de busca e execução de uma instrução 1a. etapa: Busca da instrução na memória (“FETCH”) REM <-- PC RDM <-- (REM) 2a. etapa: Decodificação da instrução RI <-- RDM ocorre a decodificação do conteúdo de RI na UC PC <-- PC + n 3a. etapa: Busca dos operandos da instrução (se houver) REM <-- endereço do operando (Ex: REM <-- REM + 1) RDM <-- (REM) 4a. etapa: Execução da instrução
Página 4 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
1.4 Linguagem de máquina e linguagem montadora
Exemplo de um mesmo programa em linguagens de máquina e montadora:
Instrução de máquina (binário)
Operação
10100001 00000000 00000000
Busca o conteúdo da palavra de memória 0 e o coloca no reg. AX Adiciona 4 ao reg. AX
00000101 00000100 00000000 10100011 00000000 00000000
Armazena o conteúdo de AX na palavra de memória de endereço 0
Instrução em linguagem montadora
Comentários
MOV AX,A
ADD AX,4h MOV A, AX
; busca o conteúdo da posição de ; memória dada por A e o coloca no ; reg. AX ; adiciona 4 a AX, resultado em AX ; ; armazena o conteúdo de AX na ; posição de memória definida por A
Observa-se que: • para cada instrução em linguagem montadora corresponde apenas uma instrução em linguagem de máquina; • uma instrução em linguagem de máquina pode corresponder a mais de um byte; • a programação em linguagem de máquina é tediosa e suscetível a erros.
Página 5 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
1.5 Atividade prática: Criando e rodando um programa
A especificação do programa ECO DO TECLADO NA TELA: - iniciar - apresentar um prompt ao usuário - ler um caracter do teclado - exibir o caracter lido na próxima linha da tela do monitor - terminar
O fluxograma:
Início
Apresentar um prompt
Ler um caracter do teclado
Mudar de linha
Exibir caracter lido
Fim
Página 6 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
O programa ECO completo: TITLE PROGRAMA DE ECO DO TECLADO NA TELA .MODEL SMALL .STACK 100h .CODE MAIN PROC ; ;apresentacao do prompt ’?’ MOV AH,2 ;funcao DOS para exibir caracter MOV DL,’?’ ;caracter ’?’ INT 21h ;exibir ; ;entrada do caracter pelo teclado MOV AH,1 ;funcao DOS para leitura de caracter INT 21h ;caracter e’ lido em AL MOV BL,AL ;salvando-o temporariamente em BL ; ;movendo de linha MOV AH,2 ;funcao DOS para exibir caracter MOV DL,0Dh ;caracter ASCII - return INT 21h ;executando MOV DL,0Ah ;caracter ASCII - line feed INT 21h ;executando ; ;exibindo na tela o caracter lido: efeito de ECO MOV DL,BL ;recuperando o caracter salvo INT 21h ;exibir ; ;retorno ao DOS MOV AH,4Ch ;funcao DOS para saida INT 21h ;saindo MAIN ENDP END MAIN
Página 7 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
Explicando as partes: a) O programa inicia sua operação ao ser lançado pelo DOS. b) O usuário é estimulado a interagir pela apresentação de um ‘?’: MOV AH,2 MOV DL,'?' INT 21h
;funcao DOS para exibir caracter ;caracter '?' ;exibir
c) Lendo o caracter teclado pelo usuário e salvando-o em num registrador: MOV AH,1 INT 21h MOV BL,AL
;funcao DOS para leitura de caracter ;caracter e' lido em AL ;salvando-o em BL
d) Movendo o cursor da tela para o início da próxima linha: MOV AH,2 MOV DL,0Dh INT 21h MOV DL,0Ah INT 21h
;funcao DOS para exibir caracter ;caracter ASCII - return ;executando ;caracter ASCII - line feed ;executando
e) Recuperando o caracter lido e exibindo-o: MOV DL,BL INT 21h
;recuperando o caracter salvo ;exibir
f) O programa termina devolvendo controle ao DOS: MOV AH,4Ch INT 21h
;funcao DOS para saida ;saindo
Página 8 de 9
Cap.1 – Introdução aos Microcomputadores Digitais
Como obter o programa ECO.EXE executável. 1. Edite o program ECO utilizando um editor de texto simples, com saída em texto ASCII. Sugestão: use o EDIT do DOS ou o Bloco de Notas (NOTEPAD) do Windows. Sugere-se que o arquivo (texto ASCII) tenha a extensão .ASM
C:\ > EDIT ECO.ASM
2. Rode o programa Montador TASM (Borland). Como resultado, aparece em seu diretório de trabalho um arquivo ECO.OBJ
C:\ > TASM ECO. ASM
3. Rode o programa Lincador TLINK. Como resultado, aparece em seu diretório de trabalho um arquivo ECO.EXE.
C:\ > TLINK ECO.OBJ
4. Rode o programa ECO.EXE, respondendo ao ‘?’ com uma letra K, por exemplo. C:\ > ECO.EXE ?K K C:\ >
<- letra K digitada pelo usuário <- eco da letra K aparece na tela <- note que o controle retorna ao DOS
Tente com outras letras ou procure modificar o programa para obter outros efeitos com caracteres digitados no teclado.
Página 9 de 9