1 / 168

Mikroprocesorski sistemi Mikroprocesorska elektronika

Mikroprocesorski sistemi Mikroprocesorska elektronika. Osnovi o računarima I poglavlje 1 deo Opšti principi rada-. Računarski sistemi-definicija pojmova. Računarski sistemi su mašine koje vrše brzo izračunavanje i čije su akcije upravljane od strane programa.

Download Presentation

Mikroprocesorski sistemi Mikroprocesorska elektronika

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. Mikroprocesorski sistemi Mikroprocesorska elektronika

  2. Osnovi o računarima • I poglavlje • 1 deo • Opšti principi rada-

  3. Računarski sistemi-definicija pojmova • Računarski sistemisu mašine koje vrše brzo izračunavanje i čije su akcije upravljane od strane programa • Programse sastoji od unapred pripremljene liste instrukcija • Softver, hardver, podaci, i komunikacijesu komponente koje čine računarski sistem

  4. The Big Picture • Since 1946 all computers have had 3, 4, 5, or 6 components

  5. Komponente računarskog sistema • Podacisa kojima se manipuliše - predstavljaju fundamentalnu prezentaciju činjenica i opservacija. • Hardver- obezbedjuje fizičke mehanizme za: i)unošenje(generisanje) podataka iz (ka) spoljnjeg sveta; ii)procesiranjepodataka putem izvršenja instrukcija; iii)memorisanjepodataka; iv)kopiranjepodataka izmedju različitih ulazno-izlaznih uredjaja; v)elektronsko upravljanjerazličitim ulaznim, izlaznim, i memorijskim komponentama.

  6. Komponente računarskog sistema - produžetak • Softver- čine ga sistemski i aplikacioni programi, a definišu ga instrukcije koje se izvršavaju od strane hardvera. • Komunikaciona komponenta- čine je hardver i softver koji obavljaju transport programa i podataka izmedju medjusobno povezanih računara

  7. From Components to Applications Subfields or views in computer system engineering

  8. Arhitektura i organizacija računara • Pojamarhitektura računaratiče se funkcionalnog ponašanja računarskog sistema i uključuje one atribute sistema koji su vidljivi programeru, tj. atribute koji imaju direktan uticaj na logičko izvršenje programa kao što su: • broj bitovakoji se koriste za predstavljanje različitih tipova podataka • skup instrukcija • tehnike za adresiranje memorije • ulazno-izlazni (U/I) mehanizmi

  9. Arhitektura i organizacija računara (produžetak) • Pojamorganizacija računaraodnosi se na operativne jedinice i njihovo medjusobno povezivanje, tj. detalje koji nisu direktno vidljivi programeru, kakvi su na primer: • interfejsiizmedju računara i perifernih uredjaja, • taktna frekvencija, • tehnologija instalirane memorije, • namena i naponski nivoiraznih upravljačkih signala, i dr. • Pojamorganizacijase alternativno, od strane većeg broja autora, nazivaimplementacija

  10. Arhitektura i organizacija računara (produžetak) • U toku svog životnog vekaarhitektura računara se ne menja(ne menja se obim podataka, skup instrukcija, adresni načini rada itd.). Kada je arhitektura dobro projektovana, dobro se prilagodjava budućim tehnologijama, a prihvaćena je od strane tržišta, tada ona može da egzistira nekoliko desetina godina (kao na primer PC mašina). • Organizacija računaraobičnopretrpi veći broj promena(promene se gabariti uredjaja, taktna frekvencija rada, tehnologija izrade ploča i modula itd.).

  11. What is “Computer Architecture” Computer Architecture= Instruction Set Architecture+ Machine Organization+ …..

  12. Application Operating System Compiler Firmware Instruction Set Architecture Instr. Set Proc. I/O system Datapath & Control Digital Design Circuit Design Layout What is “Computer Architecture” ? • Coordination of manylevels of abstraction • Under a rapidlychanging set of forces • Design, Measurement, and Evaluation

  13. Note: Analogija sa piano arhitekturom • Piano arhitektura se definiše specifikacijom tastature. • Tastatura je interfejsovog muzičkog instrumentaprema korisniku. • Tastatura se sastoji od88 dirki, 36 crnih i 52 belih. • Pritiskom na dirku generiše se ton. Uredjenje dirki je identično za sve tipove piana (arhitektura), tako da onaj koji zna da svira na jednom tipu piana zna i na svim ostalim tipovima. (organizacije, tj. implementacije)

  14. Implementation Domains • An implementation domain is the collection of • devices, logic levels, etc. which the designer uses. • Possible implementation domains: • VLSI on silicon • TTL or ECL chips • Gallium Arsenide chips • PLA’s or sea-of-gates arrays • Fluidic logic or optical switches

  15. Three Different Implementation Domains • 2 to 1 multiplexer in three different implementation domains • generic logic gates (abstract domain) • National Semiconductor FAST Advanced Schottky TTL (VLSI on Si) • Fiber optic directional coupler switch (optical signals in LiNbO3)

  16. Hijerarhijska organizacija računara • Računar jekompleksan sistemsastavljen od velikog broja elektronskih komponenata. • Kako se funkcionisanje računara može najefikasnije opisati i rad sa njim uspešno savladati? • Rešenje se ogleda uhijerarhijskoj organizaciji. Svaki korisnik treba da poznaje detalje koji su njemu od interesa.

  17. Hijerarhijska organizacija računara – struktura i funkcija • Na svakom nivou projektant se suočava sa : • strukturom – ukazuje na medjusobni odnos komponenata • funkcijom– opisuje rad svake individualne komponente koja predstavlja deo sistema

  18. Hijerarhijska organizacija računara – funkcija • Osnovne funkcijekoje računar treba da obavi su: • obrada podataka • memorisanje podataka • premeštanje podataka • upravljanje

  19. Operacije koje obavlja računar

  20. Operacije koje obavlja računar – prod.

  21. Hijerarhijska organizacija računara – struktura • Funkcionalne komponenteračunara: • centralna procesorska jedinica (CPU) • glavna memorija • ulazno-izlazni podsistem • sprežni sistem

  22. Globalna struktura računara

  23. Osnovi o računarima • I poglavlje • 2. deo • Jezici i prevodioci-

  24. Odnos hardver, sistremski softver i aplikacioni softver kod računara

  25. Modern Computer Systems Application S/W Computing Problems Operating System H/W Architecture Algorithms And Data Structures Mapping Programming High-level Languages Binding Performance evaluation

  26. Categorization of software with examples in each class

  27. Models and abstractions in programming

  28. Pascal iskaz preveden u asemlerski jezik, a nakon toga asembliran u mašinski jezik

  29. High Level Language Program Compiler Assembly Language Program Assembler Machine Language Program Machine Interpretation Control Signal Specification ° ° Levels of Representation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 ALUOP[0:3] <= InstReg[9:11] & MASK

  30. A Programmer’s View • High-level languages versus low-level languages • In C: • result = count1 + count2 + count3 + count4 • In Pentium assembly language: • mov AX,count1 • add AX,count2 • add AX,count3 • add AX,count4 • mov result,AX

  31. A Programmer’s View • Some simple high-level language instructions can be expressed by a single assembly instruction • Assembly LanguageC • inc resultresult++; • mov size,45 size = 45; • and mask1,128 mask1 &= 128; • add marks,10marks += 10;

  32. A Programmer’s View • Most high-level language instructions need more than one assembly instruction • C Assembly Language • size = value; mov AX,value • mov size,AX • sum += x + y + z;mov AX,sum • add AX,x • add AX,y • add AX,z • mov sum,AX

  33. Advantages of High-Level Languages • Program development is faster • High-level instructions • Fewer instructions to code • Program maintenance is easier • For the same reasons as above • Programs are portable • Contain few machine-dependent details • Can be used with little or no modifications on different types of machines • Compiler translates to the target machine language • Assembly language programs are not portable

  34. Why Program in Assembly Language? • Two main reasons: • Efficiency • Space-efficiency • Time-efficiency • Accessibility to system hardware • Space-efficiency • Assembly code tends to be compact • Time-efficiency • Assembly language programs tend to run faster • Only a well-written assembly language program runs faster • Easy to write an assembly program that runs slower than its high-level language equivalent

  35. Architect’s View

  36. Processor

  37. Variations of the ISA-level can be implemented by changing the microprogram Processor (cont.)

  38. Object Files Executable Image File Compiler Linker Read-Write Memory (RAM) Loader Assembler Run-Time Library: BootProcess Operating System Image: The build and load process for desktop application programs

  39. Hijerarhijska organizacija računara - koncept nivoa • Nivo aplikacionog programa • Nivo višeg programskog jezika • Nivo mašinskog kôda (asemblerski jezik) • Upravljački nivo • Nivo funkcionalne jedinice • Logička kola, tranzistori i veze

  40. A Programmer’s View

  41. Generacije računarskih jezika • Globalno razlikujemo četiri klase računarskih jezika

  42. Evolucija programskih jezika

  43. Prva generacija – mašinski jezik Karakteristike: • svaka instrukcija, na hardverskom nivou, direktno upravlja radom mašine, tj. pojedinim gradivnim blokovima. • instrukcije su numeričke, predstavljene u formi binarnih oblika od 0 i 1 • programiranje je naporno i podložno velikom broju grešaka • efikasnost programiranja je niska • programi nerazumljivi korisniku • direktno se pristupa resursima mašine • veća brzina izvršenja programa • efikasnije korišćenje memorije

  44. Druga generacija – asemblerski jezik Karakteristike: • svaka instrukcija se predstavljamnemonikom, kao na primer ADD • korespondencija izmedju asemblerskih i mašinskih instrukcija jejedan-na-prema-jedan • postoje idirektivekoje nemaju izvršno dejstvo, ali programu na asemblerskom jeziku olakšavaju prevodjenje, dodelu memorije i segmentaciju programa • direktno se pristupa resursima mašine • veća brzina izvršenja programa • efikasnije korišćenje memorije

  45. Treća generacija – HLL Karakteristike: • kompajler prevodi programske iskaze u odgovarajuće sekvence instrukcija na mašinskom nivou • u principu jedan iskaz na HLL-u (High Level Language) se prevodi u n (n >= 1) instrukcija na mašinskom (asemblerskom) jeziku • programiranje je jednostavnije • efikasnost je veća • ispravljanje grešaka lakše • nema direktni pristup resursima mašine • neefikasno iskorišćenje memorije • duži programi

  46. Četvrta generacija – novi jezici Novi tipovi računarskih jezika se karakterišu sledećim osobinama: • implementiraju veštačku inteligenciju (primer je LISP) • jezici za pristup bazama podataka (primer je SQL) • objektno-orijentisani jezici (primeri su C++, Java i dr.)

  47. Mehanizmi za prevodjenje sa HLL-a na mašinski kôd kompilacija – kompilator je program koji na svom ulazu prihvata program napisan na nekom od programskih jezika nazvan izvorni program, a na svom izlazu generiše ekvivalentan program na mašinskom kôdu nazvan objektni program, tj. program u formi mašinskog kôda koji se može direktno izvršavati od strane hardvera računara

  48. Generisanje programa od kompilacije do loadovanja

  49. A Programmer’s View

  50. Ciklus kompilacije • Objektni programkoji se generiše na izlazu kompilatora upisuje se u sekundarnu memoriju • Korisnički programpoznat kaopunilac(loader) smešta program iz sekundarne meorije u glavnu čime je objektni program spreman za izvršenje

More Related