Uvod u mikroprocesore - University of...

21

Transcript of Uvod u mikroprocesore - University of...

Page 1: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteraturaUvod u mikropro esoreMilan Bankovi¢3. 10. 2007.

Milan Bankovi¢ Uvod u mikropro esore

Page 2: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteraturaSadrºaj I1 Osnovne informa ije o kursuTema kursaPredavanja vs. veºbe2 Organiza ija mikropro esoraLogi£ka kolaStruktura mikropro esoraOstale komponente mikrora£unarskog sistemaVLSI dizajn3 Arhitektura mikropro esoraOsnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura ma²inske instruk ijeMilan Bankovi¢ Uvod u mikropro esore

Page 3: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteraturaSadrºaj IINa£in adresiranja operanada4 Asemblerski jezi iPojam i svojstva asemblerskih jezikaC kompilator vs. asemblerPovezivanje5 GNU AlatiGNU C kompilatorGNU asemblerGNU linker6 Literatura Milan Bankovi¢ Uvod u mikropro esore

Page 4: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Tema kursaPredavanja vs. veºbeTema kursaMikropro esorski sistemiDizajn i organiza ija mikropro esoraArhitektura mikropro esoraAsemblersko programiranje

Milan Bankovi¢ Uvod u mikropro esore

Page 5: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Tema kursaPredavanja vs. veºbePredavanja vs. veºbeNa predavanjima se prou£ava dizajn i prin ip rada logi£kih kolakoja u£estvuju u izgradnji mikropro esora.Tako�e na predavanjima se izu£avaju osnove VLSI dizajna.Na veºbama se prou£ava arhitektura IA-32, kao iprogramiranje na asemblerskom jeziku ove arhitekture.

Milan Bankovi¢ Uvod u mikropro esore

Page 6: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Logi£ka kolaStruktura mikropro esoraOstale komponenteVLSI dizajnLogi£ka kolaOsnovna logi£ka kola (AND, OR, NAND, NOR, NOT)Kombinatorna kola � logi£ke funk ijeSekven ijalna kola � memorije

Milan Bankovi¢ Uvod u mikropro esore

Page 7: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Logi£ka kolaStruktura mikropro esoraOstale komponenteVLSI dizajnStruktura mikropro esoraAritmeti£ko logi£ka jedini aJedini a za rad sa pokretnim zarezomKontrolna jedini aRegistriUnutra²nje magistrale

Milan Bankovi¢ Uvod u mikropro esore

Page 8: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Logi£ka kolaStruktura mikropro esoraOstale komponenteVLSI dizajnOstale komponente mikrora£unarskog sistemaUnutra²nja memorijaMemorija sa stalnim sadrºajemKe² memorijaSpolja²nje magistraleUlazno-izlazni ure�aji

Milan Bankovi¢ Uvod u mikropro esore

Page 9: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Logi£ka kolaStruktura mikropro esoraOstale komponenteVLSI dizajnVLSI dizajnVLSI dizajn � onako kako stvari zaista stojeKonkretni problemi implementa ije kolaMikroelektronika

Milan Bankovi¢ Uvod u mikropro esore

Page 10: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Osnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura instruk ijeNa£in adresiranjaOsnovne karakteristikeSkup registara i njihova upotrebaSkup instruk ija�irina registara i magistralaAdresiranje operanada instruk ija

Milan Bankovi¢ Uvod u mikropro esore

Page 11: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Osnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura instruk ijeNa£in adresiranjaMa²inski jezikMa²inski jezik je jedini jezik koji ra£unar razume.Instruk ija ma²inskog jezika je niz bitova koji se dovodi naulaze mikropro esora, u ilju da pro esor izvr²i neku opera ijuMa²inski jezik je samim tim odre�en arhitekturommikropro esora

Milan Bankovi¢ Uvod u mikropro esore

Page 12: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Osnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura instruk ijeNa£in adresiranjaFonNojmanovi ra£unariProgram je niz instruk ija koje se nalaze u memoriji, i koje seizvr²avaju jedna za drugom, osim u slu£aju instruk ije skoka.Poda i se £uvaju u istoj memoriji u kojoj i program.Svaka instruk ija se izvr²ava u dve faze: faza dohvatanja i fazaizvr²enja.

Milan Bankovi¢ Uvod u mikropro esore

Page 13: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Osnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura instruk ijeNa£in adresiranjaStruktura ma²inske instruk ijeMa²inska instruk ija se sastoji iz opera ionog koda i nula ilivi²e operanada.Opera ioni kod de�ni²e ²ta treba uraditi, kao i kako su datioperandi.Operandi mogu biti vrednosti registara, poda i iz memorije ilikonstante.U zavisnosti od maksimalnog broja memorijskih operanada,pro esori se dele na jednoadresne, dvoadresne, i troadresnera£unare.Postoje i nuloadresni pro esori.Milan Bankovi¢ Uvod u mikropro esore

Page 14: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Osnovne karakteristikeMa²inski jezikFonNojmanovi ra£unariStruktura instruk ijeNa£in adresiranjaNa£in adresiranja operanadaNeposredno adresiranjeDirektno adresiranjeIndirektno adresiranjeIndeksno adresiranje

Milan Bankovi¢ Uvod u mikropro esore

Page 15: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Pojam i svojstvaC kompilator vs. asemblerPovezivanjePojam i svojstva asemblerskih jezikaAsemblerski (simboli£ki) jezik je simboli£ki ekvivalentma²inskom jeziku pro esora.Umesto opera ionog koda navodi se simboli£ka oznakainstruk ije.Umesto adresa operanada navode se simboli (labele)Registri se predstavljaju svojim imenimaKonstante se zapisuju na uobi£ajen na£inRelativno vs. apsolutno adresiranjeAsembler je program koji prevodi asemblerski program uma²inski. Milan Bankovi¢ Uvod u mikropro esore

Page 16: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Pojam i svojstvaC kompilator vs. asemblerPovezivanjeC kompilator vs. asemblerPrevo�enje vi²ih programskih jezika je znatno komplikovanije.C kompilator najpre proizvodi asemblerski kod, koji se zatimasemblerom prevodi na ma²inski jezik.Fajl dobijen asembliranjem naziva se objektni fajl.Prevo�enjem C funk ije proizvodi se istoimeni simbol kojiozna£ava adresu po£etka prevedenog koda.Gornje svojstvo se koristi za povezivanje C koda saasemblerskim. Milan Bankovi¢ Uvod u mikropro esore

Page 17: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura Pojam i svojstvaC kompilator vs. asemblerPovezivanjePovezivanjeObjektni fajlovi u sebi sadrºe prevedeni kod pojedinih funk ija.Simboli koji odgovaraju ovim funk ijama predstavljaju globalnesimbole datog objektnog fajla.Unutar jednog objektnog fajla se mogu referen irati simboli izdrugih objektnih fajlova. Zato je neophodno da takav simbolpostoji u nekom od ostalih objektnih fajlova, i da je jedinstven.Spajanje svih objektnih fajlova u jedan rezultuju¢i fajl, pri£emu se povezuju sve referen e koje nisu interno razre²ene sasimbolima u drugim objektnim fajlovima naziva se povezivanje(linkovanje).Prilikom linkovanja se vr²i povezivanje i sa bibliote£kimfunk ijamaPovezivanje moºe biti stati£ko, deljeno i dinami£ko.Rezultat povezivanja je izvr²ni fajl.Milan Bankovi¢ Uvod u mikropro esore

Page 18: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura GNU C kompilatorGNU asemblerGNU linkerGNU C kompilator � g Prevodila za programski jezik C.Pored C�a podrºava i druge jezike (C++, Ada, F77).Prevo�enje se izvodi u nekoliko faza: pretpro esiranje,kompajliranje, asembliranje i linkovanje.U op²tem slu£aju obavlja sve ove faze, ali se uz pomo¢ op ijakomandne linije moºe prekinuti nakon svake od ovih faza.Za tre¢u fazu koristi GNU asembler � as.Za £etvrtu fazu koristi GNU linker � ld. Podrazumevano linkujestandardnu biblioteku jezika C.Milan Bankovi¢ Uvod u mikropro esore

Page 19: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura GNU C kompilatorGNU asemblerGNU linkerGNU asembler � asPrevodi kod napisan u asemblerskom jeziku na ma²inski jezik.Razume dve vrste sintakse: AT&T sintaksu, i Intel-ovusintaksu.Ulazni fajl je tekstualni fajl sa ekstenzijom .s. Izlazni fajl jebinarni fajl, sa ekstenzijom .o (i istim imenom kao i polazni)Podrºava mnogo razli£itih arhitektura.

Milan Bankovi¢ Uvod u mikropro esore

Page 20: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteratura GNU C kompilatorGNU asemblerGNU linkerGNU linker � ldPovezuje date objektne fajlove kao i navedene biblioteke ujedinstven izvr²ni fajl.Podrazumevano vr²i dinami£ko povezivanje.Za povezivanje se moºe koristiti i g , ²to je pogodno zbogautomatskog povezivanja sa standardnom bibliotekom.

Milan Bankovi¢ Uvod u mikropro esore

Page 21: Uvod u mikroprocesore - University of Belgradepoincare.matf.bg.ac.rs/~milan/download/micro/dvocas_1/...u nek olik o faza: p retp ro cesiranje, k ompajliranje, asembliranje i link ovanje.

O kursuOrganiza ijaArhitekturaAsemblerski jezi iGNU AlatiLiteraturaLiteraturaMikropro esorski sistemi � Aleksandar Samardºi¢GNU programerski alati � Aleksandar Samardºi¢IA-32 Intel Ar hite ture Software Developer's Manual (Vol1,2,3)Veºbe(http://www.matf.bg.a .yu/∼milan/? ontent=mikro_papers)

Milan Bankovi¢ Uvod u mikropro esore