uvod u prog masinski jezik

38
Mašinski jezik 1.1. OSNOVNE KOMPONENTE RAČUNARA Računari su mašine za obradu podataka. One na osnovu određenog skupa ulaznih podataka koje zadaje korisnik računara generišu odgovarajući skup izlaznih podataka.

Upload: marizor

Post on 18-Nov-2015

31 views

Category:

Documents


4 download

DESCRIPTION

mašinski jezik

TRANSCRIPT

  • Mainski jezik1.1. OSNOVNE KOMPONENTE RAUNARA

    Raunari su maine za obradu podataka. One na osnovu odreenog skupa ulaznih podataka koje zadaje korisnik raunara generiu odgovarajui skup izlaznih podataka.

  • Osnovne funkcionalne jedinice digitalnog raunara

    FON skripta Glava1

  • Razlikujemo dva osnovna tipa eksternih memorija:

    (1) memorije sa sekvencijalnira pristupom, realizovane u vidu magnetnih traka i(2) memorije sa direktnim pristupom, realizovane najese u vidu magnetnih diskova ili disketa.

  • Kapacitet eksterne memorije je u sluaju diskova tipino od 100 do 1000 puta vei od kapaciteta operativne memorije,a vrijeme pristupa joj je, zbog korienja mehanikih pokretnih dijelova, redovno 10000 do 100000 puta vee nego kod operativne memorije.

  • Ulazne i izlazne jedinice, operativna memorija, centralni procesor, eksterne memorije i komandni pult raunara obrazuju njegov fiziki dio koji se nazlva hardver (engl. hardware). Sam hardver nije dovoljan za uspean rad raunara.

  • Da bi raunar u procesu obrade podataka mogao da sve operacije obavi eljenim redosledom neophodno je da se definie program rada raunara (ill kratko program) kojim e sve aktivnosti raunara biti precizno i jednoznano odredene, kako po pitanju sadrzaja, tako i po pitanju redosleda izvodenja. Svaki program predstavlja niz pojedinanih instrukcija i uskladistava se u memoriju raunara. Prema tome, memorija raunara sadri podatke i programe koji su binarno kodirani pomou nbitnih memorijskih rijei. Da li n jedinica i nula u nekoj memorijskoj eliji predstavlja numeriki podatak ili mainsku instrukciju, to zavisi od interpretacije te biname rijei i isti se sadraj u principu moe interpretirati bilo kao podatak, bilo kao instrukcija.

  • Koncepcija da se radom raunara upravlja pomou programa naziva se princip prograsnskog upravljanja.

  • 1.2 OPERATIVNA MEM0RIJAOperativna memorija se sastoji od niza memorijskih elija u kojima se uvaju binarno kodirane veliine. Svaka od ovih veliina ima istu duinu od n binarnih cifara. Binarna clfra, koju nazivamo bit, moe biti 0 ill 1. Stoga u svaku memorijsku eliju moemo uskladititi jedan od 2n razliitih poreanih jedinica i nula.

  • Za n=3 moe biti jedna od sledeih 8 veliina: 000, 001, 010, 011, 100, 101, 110, 111. Ove veliine moemo interpretirati kao nenegativne cijele brojeve 0, 1, 2, 3, 4, 5, 6, 7.

  • Sadraj memorijske elije se esto naziva memorijska rije i za n se kaze da je to duina memorijske rijei.

  • Razlike u duinama rijei

  • Obraujui podatke svaki raunar stalno mijenja sadraj memorijsklh elija. Da bi se omoguio efikasan mehanizam pristupa sadraju memorijskih elija, one su numerisane rednim brojevima od 0 do m-1 pri emu se redni broj ellje naziva adresa elije, a m je kapacitet memorije izraen u memorljskim rijeima.

  • Memorija sa m adresabilnih elija i njihovim binarnim sadrtajem

  • adresni registrom memorije (ARM), prihvatni registar memorije (PRM).

  • 1.3 SIMBOLICK0 ADRESIRANJEPri pisanju programa javlja se potreba da se memorijske elije simboliki oznae.

  • Za potrebe karakterizacije navedenog simbola pogodno je uvesti funkcije adr i val koje respektivno oznaavaju poetnu memorijsku adresu i vrednost upisanu unutar memorijske zone oznaene simbolom X. U prethodnom primjeru gdje je X cjelobrojna veliina imamoadr(X) = 1023 , val(X) = 123456 .Ako bi X bila oznaka za neki skup i u tom sluaju ako bi imaliadr(X) = 2048 , val(X) = { 1. 9. 8,4 }to bi oznaavalo da se skup X trenutno sastoji od elemenata 1, 9, 8, 4 i da je uskladiten u memorijskoj zoni koja poinje od adrese 2048.

  • Neophodno je evidentirati vezu izmedu simbola i adrese na kojoj se nalazi vrednost promenljive koju taj simbol oznaava. Prevodioci za programske jezike tu vezu notiraju u specijalnoj tabeli koja se naziva tabela simbola.

  • Prema tome, svakom simbolu pridruene su dvije veliine: (1) vrednost promenljive koju taj sinbol oznaava, i (2) vrednost simbola.Vazno je jasno uoiti razliku koja postoji izmedu ovih pojmova: vrednost promenljive je sadrzaj memorijske zone pridruzene posmatranom simbolu, a vrednost simbola je sadrzaj tabele simbola u retku koji odgovara ovom simbolu.

  • U memoriji se podaci esto premetaju iz lokacije u lokaciju. Operaciju prenosa podataka lz neke polazne lokacije (sa simbolikom adresom) X u odredinu lokaciju Y oznaavaemo simbolom := koji se takode naziva i simbol dodele vrednosti (engl. assignment). Prema tome, operaciju Y := X treba interpretirati na sledei nain: "uzima se kopija sadrzaja memorijske lokacije X i prenosi se u lokaciju Y razorivi pri tome njen prethodni sadraj.

  • X:=123456 je ispravno

    123456 := X je pogreno

    U programiranju simbol = predstavlja u veini sluajeva relacioni operator pa X = Y oznaava relaclju koja moe biti istinita (ako je sadraj lokacije X jednak sadraju lokacije Y), ili neistinita (ako je sadrzaj lokacije X razliit od sadraja lokacije Y). X + Y = 777777 je ispravno

    X + Y := 777777 je pogreno

  • Za razmjenu sadraja dvije memorijske elije neophodno posedovati jednu pomonu lokaciju koju emo oznaiti sa T. Da bi sadraj lokacije X preao u lokaciju Y i obratno, potrebno je obaviti tri operacije prenosa podataka

    Ovo se postie pomou programaT := X ; X := Y ; Y := TPermutacija veliina X, Y, Z postie se sa programomT := X ; X := Y ; Y := Z ; Z := T

  • 1.4 CENTRALNI PROCESOR I PRINCIP PROCRAMSKOG UPRAVLJANJAUloga procesora je da izvrava instrukcije uskladitene u operativnoj memoriji raunara. Procesor mora imati mogunosti da lokalno uskladiti izvesnu koliinu podataka i za to se koriste brzi procesorski registri. Registar je po definiciji elija za uskladitenje jedne memorijske rei.

  • Razlikujemo dve vrste registara: - adresabilne i - interne.

    Adresabilni registri su dostupni programeru. Nasuprot tome interni registri nisu dostupni programeru ve se njihov sadraj inicijalizuje automatski u toku rada procesora.

  • Sastavni djelovi centralnog procesora i njegove veze sa menorijom

  • Prenos instrukcija i podataka na relaciji procesor - memorija obavlja se pomou niza bidirekcionalnih veza koje se nazivaju magistrala podataka. Ova magistrala je u procesoru vezana na memorijski registar podataka (MD) koji spada u grupu internih procesorskih registara. Izbor memorijske lokacije iz koje procesor uzima ili u koju stavlja podatke obavlja se pomou adrese koja se odreduje u procesoru, uskladitava u adresni registar (MA) i zatim preko jednosmjerne adresne magistrale prenosi u memoriju.

  • Prenos po magistralama je paralelan .Ako adresa koja se paralelno prenosi po adresnoj magistrali ima c bita onda se pomou takve adrese moe direktno adresirati A=2c memorijskih lokacija, pa je A maksimalni kapacitet memorije.Uobiajeno je da se kapacitet memorije izraava u jedinicama K=2 10 K=1024 "kilo iliM=2 20 M=1048576 "mega"

  • U optem sluaju monoprogramskih raunara najvaniji su:- interni i -adresabilni reglstri INTERNI PROCESORSKI REGISTRI

    IR = Register Instrukcije - (Instruction Register )MA = Memorijski adresni registar - (Memory Address Register)MD = Memorijski registar podataka - (Memory Data Register)IB = Interni bafer registar - (Internal Buffer Register)

  • ADRESABILNI PROCESORSKI REGISTRI2.1 REGISTRI ADRESA

    PC = Programski broja - (Program Counter )AR = Adresni registar podataka - (Data Address Register)DP = Ukazatelj podatka (Data Pointer )BR = Bazni registar (Base Register)DC = Broja podataka (Data Counter)XR = Indeks registar (Index Register )FX = Fiksni indeks (Fixed Index)XC = Indeksni broja (Index Counter)SP = Ukazatelj steka (Stack Pointer)

  • 2.2 REGISTRI PODATAKA

    DR = Registar podataka (Data Register)AC = Akumulator (Accumuiator) SR = Registar stanja procesora (Status Register)

    2.3 UNIVERZALNI REGISTRI

    GR = Registar opte nameme (General Register)

  • Osnovna ideja principa programskog upravijanja

  • 1.5 MAINSKE INSTRUKCIJEMainska instrukcija mora da specificira operaciju koju procesor treba da obavi, a takoe i adrese podataka (ili podatke) sa kojima se operacija obavlja. Zbog toga svaka instrukcija redovno ima dva dijela: - operacioni dio (koji se naziva kod operacije) i - adresni dio (koji specificira podatke).

  • Tri uobiajene strukture mainske instrukcije

  • Pretpostavimo da OP na pr. predstavlja kod operacije sabiranja. AC := AC + A1Obavljanja binarnih operacija izmedu akumulatora i memorijske lokacije ima za poslijedicu da su kod jednoadresnog sistema neophodne posebne operacije za prenos podataka iz memorije u akumulator i obratno, iz akumulatora u memoriju. Ako sa M oznaimo proizvoljnu memorijsku lokaciju, onda se prenos podatka iz memorije u akumulator moe oznaiti sa AC := M. Obrnuti prenos iz akumulatora u memoriju oznaava se analogno sa M : = AC.

  • Pretpostavimo sada da su zadate memorijske lokacije X, Y i Z i neka je potrebno obaviti operaciju sabiranjaZ:= Y + X Ako radimo sa jednoadresnim raunarom onda za obavljanje ove operacije trebamo sledee tri instrukcije:AC := X ; dohvatanje prvog argumenta iz memorijeAC := AC + Y ; sablranje posle koga AC sadri traenu sumuZ := AC ; prenos rezultata u odredinu lokaclju Z

    U sluaju dvoadresnog sistema komandi Z := X ; Inicijalizaclja poetne vrednosti promenljive Z Z := Z + Y ; Izraunavanje sume

    U sluaju troadresnog sistema komandi Z := X + Y

  • FON skripta Glava1