1 / 8

Program

Program. Programátorský model procesoru Instrukční soubor Algoritmizace jednoduchých úloh. Programátorský model procesoru. Paměť. 0000H. Vstupy. Procesor. PSW. C. …. 8. ACC. Řadič. R0. 8. 8. R1. ALU. 16. 8. R7. DPTR. DPH. DPL. 8. SP. SPH. SPL. PC. FFFFH. Výstupy.

lamar
Download Presentation

Program

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Program • Programátorský model procesoru • Instrukční soubor • Algoritmizace jednoduchých úloh

  2. Programátorský model procesoru Paměť 0000H Vstupy Procesor PSW C … 8 ACC Řadič R0 8 8 R1 ALU 16 8 R7 DPTR DPH DPL 8 SP SPH SPL PC FFFFH Výstupy

  3. Malý reálný mikropočítač Více informací např. na www.atmel.com AT89C2051 - + 4.5V

  4. Instrukce procesoru Elementy programu Uloženy v paměti programu počítače Paměť pro Programu buď je nebo není totožná s pamětí pro Data Dělení podle velikosti oblasti paměti, kterou instrukce zabírá: jednobytové, dvoubajtové, tříbajtové, … Prvním bytem instrukce je vždy operační kód Vícebytové instrukce mají v dalších bytech upřesněny své operandy Operandy instrukcí mohou být zcela určeny operačním kódem, i jednobytové instrukce tedy mohou mít své operandy. Počet bytů pro operandy je vždy dán operačním kódem

  5. Vykonávání instrukcí, programu Vykonání každé instrukce trvá určitou dobu. Délka této doby je obecně závislá na složitosti instrukce. Některé instrukce mají i několik různých dob provádění (podle podmínek, za kterých jsou vykonávány). U reálných procesorů je doba vykonávání instrukcí v řádech ns až s. Dále budeme pro jednoduchost předpokládat fiktivní procesor, s jednotnou dobou vykonávání každé instrukce – 1 s. Instrukce jsou vykonávány po sobě, v pořadí, v jakém jsou zapsány v programu. Jen po některých instrukcích může být vykonávána jiná instrukce než je ta, která je v programu bezprostředně následující. Procesor vždy vykonává nějakou instrukci. Zapnutý procesor nezná jinou činnost než vykonávat instrukce. Po zapnutí procesor přečte z dohodnuté adresy, obvykle 0000H, jeden byte a interpretuje ho jako operační kód své první instrukce, provede ji a pokračuje dále.

  6. Zápis instrukce Zápis instrukce se skládá ze jména instrukce a ze seznamu operandů. mov A, R1 Druhý operand Kolika bytová je uvedená instrukce, když má dva operandy? Jméno instrukce Může některá instrukce, která má jako operand konstantu, být jednobytová? První operand Operandem instrukce může být : A co když tam má přímou adresu? • vyjmenovaný registr procesoru • konstanta • místo v paměti určené přímou adresou • místo v paměti určené nepřímou adresou mov A, R1 mov A, #123 mov A, 100 mov A, @DPTR Číselné hodnoty v zápisu instrukcí lze rovnocenně uvádět v dekadické (D) nebo hexadecimální (H) nebo binární (B) soustavě. Zápis hodnoty číselné začíná číslicí 0-9 a může končit určením soustavy. Implicitní je dekadická soustava.

  7. Instrukce procesoru pro přesun (MOV) mov X, Y Instrukce kopíruje osmibitová data ze zdroje Y do cíle X mov A, Rn mov A, DPH mov A, DPL mov A, SPH mov A, SPL mov Rn, A mov DPH, A mov DPL, A mov SPH, A mov SPL, A mov A, #Data8 mov Rn, #Data8 mov DPTR, #Data16 mov SP, #Data16 mov A, Adresa8 mov A, @Rn mov @Rn, A mov A, @DPTR mov @DPTR, A mov Adresa8, A Př.: Vyměnit obsahy registrů R0 a R1 mov A, R0 mov R2, A mov A, R1 mov R0,A mov A, R2 mov R1, A Př.: Do paměti, na adresu AAh vložit hodnotu 123 mov A, #123 mov 0AAH, A Př.: Do paměti, na adresu AAAAh vložit hodnotu 123 mov A, #123 mov DPTR, #0AAAAH mov @DPTR, A Jako vedlejší efekt program také změní obsah registru Acc. Jako vedlejší efekt program také změní obsahy registrů Acc a DPTR. Jako vedlejší efekt program také změní obsahy registrů R2 a Acc.

  8. Instrukce procesoru pro vstup a výstup (IN, OUT) Instrukce zkopíruje osmibitová data z adresou vybraného vstupního portu do akumulátoru Acc. in A, Adresa8 Instrukce zkopíruje osmibitová data z akumulátoru Acc na adresou vybraný výstupní port. out Adresa8, A Vstupní porty nemají vlastnost registru. Jejich obsah je v každém okamžiku dán děním mimo počítač. Instrukce „in“ jednorázově, jen v momentu svého vykonávání, zkopíruje obsah portu do akumulátoru Acc Výstupní porty mají vlastnost registru. Jejich obsah je dán posledním provedením instrukce „out“.

More Related