Click here to load reader

Mikroprogramlanmis kontrol

Embed Size (px)

Citation preview

  1. 1. MKROPROGRAMLANMI KONTROL Muhammet ZER [email protected] BLGSAYAR MMARS DERS Cevriye HAYIRLI [email protected] Ayhan DEMRC [email protected] Aykut GNDODU [email protected]
  2. 2. Geen Derste Ne ledik ? Bilgisayar Mimarisi2 MKROLEMCLERE GENEL BAKI MKROLEMCY OLUTURAN BRMLER VE GREVLER MKRO LEMLER VE KONTROL BRM
  3. 3. Bilgisayar Mimarisi3 Programlama Nedir Ve Trleri Nelerdir ? Dallanma Yaplar Ve eitleri Kesmeler Ve eitleri Mikroilemcilerin Programlanmas PIC Programlama Bugn Konuacaklarmz
  4. 4. Programlama dili, yazlmcnn bir algoritmay ifade etmek amacyla, bir bilgisayara ne yapmasn istediini anlatmasnn tektipletirilmi yoludur. Bir programc komutlar yazmak iin farkl programlama dilleri kullanabilir. Programlama dilleri, programcnn bilgisayara hangi veri zerinde ilem yapacan, verinin nasl depolanp iletileceini, hangi koullarda hangi ilemlerin yaplacan tam olarak anlatmasn salar. u ana kadar 2500'den fazla programlama dili yaplmtr. Bilgisayar Mimarisi4 PROGRAMLAMA DLLER VE ZELLKLER
  5. 5. Bilgisayar Mimarisi5 Donanm ve yazlmn bir veya daha fazla yaplandrmas o program altrmak iin bir tr yol salar. Programlama dili uygulamasnda iki yaklam vardr: Derleme ve yorumlama. Herhangi bir teknii kullanarak bir programlama dili uygulamak mmkndr. PROGRAMLAMA DLLER VE ZELLKLER (devam)
  6. 6. PROGRAMLAMA DLLER VE ZELLKLER (devam) Bilgisayar Mimarisi6 Genellikle donanm zerinde alanlar yazlm zerinde yorumlananlardan daha hzldr. Yorumlanan programlarn performansn gelitirmek iin annda derleme programlar kullanlr. Derleyiciden gelen kt ya donanm tarafndan ya da yorumlayc diye adlandrlan programlar tarafndan altrlr.
  7. 7. Programlama dilleri insanlarn alglamasna yakn olmasna gre gruba ayrlr. Alt seviye programlama dilleri: Makine koduna olduka yakn programlama dilleridir.Makina hakimiyeti oldukca gelimitir.Bu programlama dillerini bilen kiilerin mikro ilemciler hakknda bilgi sahibi olmas gereklidir.(Assembly programlama dili gibi) Bilgisayar Mimarisi7 PROGRAMLAMA DLLER VE ZELLKLER (devam)
  8. 8. Orta seviye programlama dilleri: Olduka esnek olan bu diller hem st hem alt seviye programlama yapabilirler. Alt seviye dillere oranla biraz daha anlalrdr. (C programlama dili gibi.) st seviye programlama dilleri: Olay tabanl programlama dilleri olarak da adlandrlrlar yalnz bu programlama dilleri sadece belirli fonksiyonlar etrafnda alrlar ve programlama hakimiyetini azaltrlar. Bilgisayar Mimarisi8 PROGRAMLAMA DLLER VE ZELLKLER (devam)
  9. 9. Yksek seviyeli programlama dillerinde yazlan programn alabilmesi iin makine diline evrilmesi gerekir. Bunun iin program hangi yksek seviyeli dil ile yazldysa o dilin derleyicisi kullanlr. Bilgisayar Mimarisi9 PROGRAMLAMA DLLER VE ZELLKLER (devam)
  10. 10. Bylece yksek seviyeli programlama dili ile yazlm olan kaynak program, makine dilindeki ama programa dntrlr. Kaynak programn ieriinin deitirilmesi mmkndr, ancak derlenmi olan ama programn ieriine mdahale etme imkan yoktur. Bilgisayar Mimarisi10 PROGRAMLAMA DLLER VE ZELLKLER (devam)
  11. 11. Bilgisayar Mimarisi11 Assembly Programlama Dili Assembly dili alt seviye bir programlama dilidir ve karmak programlar yazmak iin kullanlr. Assembly insanlar tarafndan anlalmas zor olan makina dilinin saysal ifadelerini, daha kolay anlalr ve programlanabilir olan alfabetik ifadelerle deitirip alt seviyede programlama iin bir ortam oluturur.
  12. 12. Assembly dilinin zel kullanm alanlar Bilgisayar Mimarisi12 1. Bilgisayar sistemini yakndan tanmak iin, 2. Device driver (cihaz srcleri) yazmak iin, 3. Chiplere program yklemek iin (PIC, microcontroller gibi...) 4. letim sistemlerinin yapmnda (OS), 5. Virs programlar yazmak iin, 6. Elektronik tablolama (Excel gibi) programlarnda.
  13. 13. Bilgisayar Mimarisi13 Basic Programlama Dili Basic (Beginner's All Purpose Symbolic Instruction Code) dili 1964 ylnda John Kemeny ve Thomas Eugene Kurtz tarafndan gelitirilmi olup, eitim amal bir programlama dilidir. Mikrobilgisayarlar iin ilk Basic uygulamasn Microsoft 'un kurucular olan Paul Allen ve Bill Gates yazmtr. renmesi ve kullanm kolay bir dil olan Basic dilinin zamanla QBasic, Turbo Basic, Power Basic, BasicA, Visual Basic, Visual Basic.Net gibi trevleri gelitirilmitir.
  14. 14. Bilgisayar Mimarisi14 C Programlama Dili 1970'lerin banda Ken Thompson ve Dennis Ritchie tarafndan UNIX letim Sistemi iin 1972 ylnda gelitirilmi bir C programlama dili, gnmzde neredeyse tm iletim sistemlerinde kullanlmaktadr. Dnya'nn en ok kullanlan sistem programlama dilidir.
  15. 15. Mikroprogramlama15 Mikrodenetleyiciler - PIC ile rnek Uygulama videomuzu izleyelim.
  16. 16. Bilgisayar Mimarisi16 C++ Programlama Dili 1980'lerin balarnda Bjarne Stroustrup tarafndan gelitirilen C 'yi kapsayan ve ok paradigmal, yaygn olarak kullanlan, genel amal bir programlama dilidir. Genel olarak her C program ayn zamanda bir C++ programdr, ama her C++ program bir C program deildir.
  17. 17. Bilgisayar Mimarisi17 C++ Programlama Dili (devam) C++' C 'den ayran ve C++'n nesne ynelimli bir dil olmasna da olanak salayan en temel zellik, snflardr. Snflar sayesinde yeni veri trleri yaratlabilir ya da varolan trlerden yenileri tretilebilir
  18. 18. Bilgisayar Mimarisi18 C# Programlama Dili C# dili de C++ gibi bir C trevidir. C programlama dilinde bir tamsay deikeni 1 attrmak iin ++ soneki kullanlr. C++ dili adn, C diliyle Nesneye Ynelimli Programlama yapabilmek iin eklentiler (C With Classes) almtr. Benzer ekilde C++ diline yeni eklentiler yaplarak ((C++)++) bir adm daha ileriye gtrlm ve tamamen nesneye ynelik tasarlanm C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yaknlam hali ve bir melodi anahtar olan C# Major kullanlmtr.
  19. 19. Bilgisayar Mimarisi19 Visual Basic Programlama Dili Visual Basic, Microsoft tarafndan, Basic programlama dili zerinde gelitirilmi, olay ynlendirmeli, st seviye, nesne tabanl ve grsel bir programlama dilidir.Microsoft Visual Basic dilinin deiik trevleri oluturulmutur: VBA (Visual Basic for Applications); Microsoft Office gibi, deiik yazlmlar ierisinde alabilecek yazlmlar gelitirilmesinde kullanlr.
  20. 20. Bilgisayar Mimarisi20 Visual Basic Programlama Dili (devam) VBScript ; Internet Explorer, ASP ve Windows Script Host stnde Visual Basic betikleri altrlmasnda kullanlan trevi. Visual Basic.NET ; Visual Basic 6.0 Platformunun varisi olmakla birlikte farkl bir yapdr ve .NET Framework zerinde alr ve geriye doru, Visual Basic 6.0 ve ncesi srm kodlarla uyumsuzdur.
  21. 21. Bilgisayar Mimarisi21 Pascal Programlama Dili Pascal programlama dili, bilgisayar bilimcisi Niklaus Wirth tarafndan 1970 'te yapsal programlamay derleyiciler iin ok daha kolay hale getirmek amacyla gelitirilmitir. Bir ok renciye bilgisayar programlamay reten ve eitli versiyonlar bugn hala yaygn olarak kullanlmaya devam eden nemli programlama dillerinden biridir. Adn matematiki ve dnr Blaise Pascal'dan alan Pascal, Algol programlama dilinden tremitir.
  22. 22. Pascal Programlama Dili Mikroprogramlama22
  23. 23. Bilgisayar Mimarisi23 Delphi Programlama Dili Delphi programlama diline, zellikle nesne ynelimli programlama anlayyla yaplandrlm. Turbo Pascal dilinin grsel srm denilebilir. Nesne, snf, kaltm, fonksiyon, ar ykleme gibi temel nesneye ynelim programlama tekniklerini ve daha fazlasn ieren gl ve esnek bir programlama dilidir.
  24. 24. Bilgisayar Mimarisi24 PIC Basic Pro Programlama Dili PIC Basic Pro , Micro Engineering Labs firmas tarafndan PIC mikrodenetleyicileri iin gelitirilmitir. BASIC programlama dilinin kolay renilebilme zelliinden dolay dnyann en ok kullanlan programlama dillerinden biridir.
  25. 25. Mikroprogramlama25 ASSEMBLY DL C DL PASCAL DL # include main() { Printf(merhaba C); } Begin Write(merhaba pascal); End. 8 byte 8330 byte 95644 byte Programlama Dilleri Arasnda Karlatrma
  26. 26. Dallanma (Branch) lemi Bilgisayar Mimarisi26 JMP (jump) komutu ile bellein bir blmnden dier bir blmne program ak ynlendirilebilir. Dallanma ilemi direkt olarak yaplabilecei gibi belli bir koula gre de yaplabilir.
  27. 27. Dorudan Dallanma Bilgisayar Mimarisi27 JMP komutunun 3 farkl kullanm ekli vardr. Bunlar: Ksa (Short) Dallanma Yakn (Near) Dallanma Uzak (Far) Dallanma
  28. 28. Bilgisayar Mimarisi28
  29. 29. rneimizin Aklamalar Bilgisayar Mimarisi29 OFFSET : Dallanlacak konumun adresi MOV, JMP : Altprograma Dallan Opcode : Operation Code (lem kodu) Operand : +,-,*,/ gibi ilemlerin tm ADR : Tablodaki dallanma adresleri
  30. 30. Bilgisayar Mimarisi30 Dallanma komutu, 16 bit bir saklaycy operand olarak kullanabilir. Bu tr dallanma, dolayl dallanmadr ve saklaycnn iindeki adres dallanma adresi olarak kullanlr. Saklaycnn adresi IPa (instruction process) alnr ve program bu adresten itibaren yrtlr. Ayn ilem indisli adresleme kullanlarak da gerekletirilebilir. Dorudan Dallanma
  31. 31. Koullu Dallanma Bilgisayar Mimarisi31 artl dallanma komutlarnn ilk harfi J ile balar ve takip eden 1,2 yada 3 harf art gsterir. Genele olarak JXXX eklinde gsterilebilir. Duruma bal olan dallanmalar; aret (Sign-S), Sfr (Zero-Z), Elde (Carry-C), Elik (Parity-P) ve tama (Overflow-O) bayraklarn test ederler. Eer test edilen durum doru ise, program ak dallanma komutu ile belirtilen adresten devam eder. Eer durum yanl ise, dallanma gereklemez ve sradaki komut icra edilir.
  32. 32. Bayraklarn Durumunu Test Etmek in Kullanlan Koullu Dallanma Komutlar Bilgisayar Mimarisi32
  33. 33. RNEK: Bilgisayar Mimarisi33 MOV : Klavyeden karakter okur. CMP : Girilen karakter 0 m? Karlatrr. JNS : Sfr olanan kadar dng devam etsin. TABLE adresli yerden balayan bir dallanma tablosu yandaki gibidir. Her adres 2 Bytetr.
  34. 34. RNEK: Bilgisayar Mimarisi34 CMP ileminin sonucunda negatif bir deer elde edilecei iin S bayra kurulur (S=1). Bu durumda dallanma gereklemeyecek ve program bir sonraki komutu yrtecektir.
  35. 35. LOOP Komutu Bilgisayar Mimarisi35 Loop komutu CX saklaycsn azaltma ile duruma bal dallanma ilemlerinin birleimidir. Her seferinde CX saklaycs1 azaltlr. CX=0 olduu durumda dngden klarak normal ak sras takip edilir. MOV SI, OFFSET BLOCK1 MOV DI, OFFSET BLOCK2 MOV CX,100 TEKRAR: LODSW; Block1den veri okunmakta (DS:SIin iaret ettii yerden) ADD AX, ES:[DI]; Block2 verisi ile topla STOSW; ES:[DI] ile belirtilen Block2 blgesinde sakla. LOOP TEKRAR
  36. 36. Mikroprogramlama36 Kesmeler videomuzu izleyelim.
  37. 37. Kesmeler (Interrupts) Bilgisayar Mimarisi37 Sistemde meydana gelen kesmeleri 3 farkl kategori altnda incelemek mmkndr. Bunlar ; Donanmsal Kesmeler sel Kesmeler Yazlm Kesmeleri
  38. 38. Donanmsal Kesmeler Bilgisayar Mimarisi38 Yazlm kesmeleri programc tarafndan arlrken donanm kesmeleri elektriksel yolla arlmaktadr. Her mikro ilemcinin ve mikro denetleyicinin donanm kesmesi iin bir INT ucu vardr. Bu INT ucu aktiflendiinde (elektriksel olarak 5v gerilimle uygulanmas durumunda) mikro ilemci o anda altrlmakta olan koda ara verir ve baka bir kodu uygulamaya balar.
  39. 39. Donanmsal Kesmeler (devam) Bilgisayar Mimarisi39 Yani bu tur kesmelerde kesmenin olu mekanizmas dsal ve elektriksel olaylara baldr. Bu yolla donanm kesmesi oluturulmasna kesme istei IRQ (interrupt request) denir. rn: Klavye zerindeki bir tua baslmas. Byle bir durumda CPU, yapmakta olduu ii brakp baslan tuun deerini deerlendirecektir.Bu tr kesmeler, 8259A olarak isimlendirilen elektronik devre yardmyla kontrol altnda tutulur.
  40. 40. Sk Kullanlan Baz Donanmsal Kesmeler Bilgisayar Mimarisi40
  41. 41. sel Kesmeler Bilgisayar Mimarisi41 Mikro ilemcinin bir makine kodunu altrrken problemle karlatnda kendi kendisini ard kesmelerdir. Dier bir deyile baz geersiz program sonularnn elde edilmesi halinde CPUnun kendisi tarafndan oluturulmaktadr. rn:0 ile blm eklindeki bir ilem sonucunda meydana gelen meydana gelen kesme.
  42. 42. Yazlmsal Kesmeler Bilgisayar Mimarisi42 Bu tr kesmeler, RAM veya ROMda bulunan alt rutinlerin arlmasyla oluturulur. Programc tarafndan sk sk kullanlrlar. Yazlm kesmelerinin normal fonksiyon armalarndan ilevsel bir fark yoktur. Bunlar programc tarafndan yazlan INT makine komutuyla koda dahil edilirler. Kesme arma, uzak CALL komutuna benzer, nk geri dn adresi (IP/CS) (instruction process /Code Segment) ikilisine srayla yerletirilir.
  43. 43. Bilgisayar Mimarisi43 Kesme vektr, mikroilemci gerek modda (real mode) alrken, hafzann ilk 1024 bytelk alannda (00000h- 003FFh) sakl olan 4 bytelk bir adrestir. Dolaysyla 256 farkl kesme vektr bulunur. Her kesme vektr, bir kesme hizmet programnn adresini oluturan IP (instruction process) ve CS (Code Segment) adresi ierir. Yazlmsal Kesmeler (devam)
  44. 44. Bilgisayar Mimarisi44 lk 32 kesme vektr(0-31) 8086-80486 ve daha sonraki ilemciler iin ayrlmtr. Geriye kalan kesme vektrleri (32-355) kullanc iindir. Ayrlm olan vektrlerin bazlar, blme hatas veya programn yrtm srasnda oluan hatalar iindir. Kod numaralar 32 ile 96 arasnda yer alan kesmeler DOS kesmelerdir. Yazlmsal Kesmeler (devam)
  45. 45. Bilgisayar Mimarisi45 Yazlmsal Kesmeler (devam)
  46. 46. Kesme Komutlar Bilgisayar Mimarisi46 3 farkl kesme komutu bulunmaktadr. Bunlar: INT INTO INT3 Bu komutlar gerek modda vektr tablosundan bir vektr okur ve sonra da bu vektrle adreslenen kesme hizmet programn arr. Korumal modda ise kesme aklayc tablo (Interrrupt Descriptor Table)dan bir tanmlayc okur.
  47. 47. INT KOMUTU Bilgisayar Mimarisi47 Programcnn kullanmna sunulan 256 farkl kesme komutu bulunmaktadr. Kesme vektrnn adresi hesaplanrken, kesme tipi numaras 4 ile arplr. rn: 21h x4 = 84h ; Kesme 21i kullandmzda bellein 1024 byten iinden 132. srada olan (84h) alana gidilecek burada 4 bytelk adres ile belirtilen adrese gidilip kesme alt program icra edilecektir.
  48. 48. IRET Bilgisayar Mimarisi48 IRET komutu ile aadaki ilemler gerekletirilir. IP , CS , Flag registerinin eski deeri stack zerinden pop edilir. Korumal moddaki karl IRETDdir.
  49. 49. INTO Bilgisayar Mimarisi49 Tama (Overflow) durumunda oluan bir kesmedir. Eer Overflow=0 ise INTO komutu herhangi bir ileme neden olmaz Eer Overflow=1 ise 4 numaral kesmeyi arr. alma mant JO (Jump Overlow) komutu ile benzerlik gsterir.
  50. 50. Bilgisayar Mimarisi50 Bu komutlarn kullanm amac, mikroilemcinin kesme sinyallerine cevap vermesini veya vermemesini salamaktr. CLI komutu kullanldnda I=0 olur ve mikroilemci Maskelenemez kesmeler (Non-maskable Interrupts) olarak isimlendirilen kesmelerin dndaki hibir kesme isteine cevap vermeyecektir. STI komutu kullanldnda I=1 olur ve mikroilemci tekrar gelen kesme isteklerine cevap verecektir. Temizle Kesme Ve Bayrak Kesme (CLI ve STI)
  51. 51. Mikroilemci, ilemci (bazen ksaltma olarak P kullanlr) ana ilem biriminin (CPU) fonksiyonlarn tek bir yar iletken tm devrede birletiren programlanabilir bir saysal elektronik bileendir. Mikroilemci, ana ilem birimindeki kelime boyutunun (word size) 32 bit ten 4 bit e drlmesiyle domutur. Kelime Boyutu:rnek vererek aklayacak olursak; Char deikeni 2 bytetr.1 Byte 8 bit olduundan Char deikenine 16 bit diyebiliriz.Char deikeninin 4 bitlere ayrlarak ilenmesidir.Makine dili iin syleyecek olursakda 01010100110 lerin 4 e ayrlarak ilenmesidir. Bilgisayar Mimarisi51 Mikroilemci Nedir?
  52. 52. Bylece, ana ilem biriminin mantksal devrelerinin transistrleri tek bir paraya sdrlabilmitir. Bir veya daha ok mikroilemci, tipik olarak bir bilgisayar sisteminde, gml sistemde ya da bir mobil cihazda ana ilem birimi olarak grev yapmaktadr. Bilgisayar Mimarisi52 Mikroilemci Nedir? (devam )
  53. 53. Mikroilemci temelde transistrlerden oluan bir devre elemandr. Bunun dnda temel ilevi 0110101 zerinde ilem yaparak dijital sonular retmektedir. Mikrodenetleyiciler ise mikroilemciden farkl olarak birok paradan oluan (Ram,seri balant portu vb.) sistemin tmne verilen isimdir. Mikrodenetleyici bir sistemin iinde mikroilemci bulunur. Bilgisayar Mimarisi53 Mikroilemci ve Mikrodenetleyici Arasndaki Fark
  54. 54. Bilgisayar Mimarisi54
  55. 55. Mikroprogramlama55 Mikroilemcileri Grnts videomuzu izleyelim.
  56. 56. Bilgisayar Mimarisi56
  57. 57. Bilgisayar Mimarisi57 Mikroilemcilerin Tarihsel Geliimi Mikroilemcilerin tarihi geliimlerini bir kerede ileyebildikleri bit says referans alnarak drt grupta incelemek mmkndr. 8 bit Mikroilemciler 16 bit Mikroilemciler 32 bit Mikroilemciler 64 bit Mikroilemciler
  58. 58. Bilgisayar Mimarisi58 8Bit Mikroilemciler lk mikroilemci, Intel firmas tarafndan 1971 ylnda retilen 4 bitlik 4004 mikroilemcisidir. 4004, 2300 transistre, 108 kHz hzna, 0,06 MIPS (Saniyede Milyon Komut - Million of Instruction per Second) gcne, 4 bit kelime uzunluuna ve 640 Bayt bellek kapasitesine sahipti.
  59. 59. Bilgisayar Mimarisi59 16Bit Mikroilemciler lk 16 bitlik mikroilemci, 1978 ylnda Intel firmas tarafndan NMOS teknolojisi ile retilen 8086 ilemcisidir. 8086 mikroilemcisi, hem dahili hem de harici veri iletiminde 16 bit kullanmaktayd.
  60. 60. Bilgisayar Mimarisi60 lk 32 bitlik mikroilemciler 1984 ylnda Motorolann rettii 68020 ve 1985 ylnda Intelin rettii 80386 mikroilemcileridir. 80386 ilemcisi veri ve adres bilgilerinin iletimi iin 32 hattan oluan yol kullanyordu ve haberleme 32 bit olarak gerekletiriliyordu. Intel tarafndan gelitirilen 32-bitlik ilemciler IBM uyumlu PClerde, Motorola tarafndan gelitirilenler ise i istasyonlarnda kullanldlar. 32Bit Mikroilemciler
  61. 61. Bilgisayar Mimarisi61 64Bit Mikroilemciler lk 64 bitlik mikroilemciler, IA-64 veya Itanium ad ile 1999 ylnda gndeme getirildi. HP ve Intelin ortak almas olarak sunulan Itanium, sunucu sistemler iin gelitirilmesi hedeflendi.
  62. 62. Bilgisayar Mimarisi62 Mikroilemcili Sistemlerde Bulunan Birimler Giri Birimi (Input Unit) Klavye (Keyboard) Disket src (Disk driver) Optik okuyucu (Optic reader) Analog Dijital eviriciler (Analog Digital Convertor - ADC) Harici bellek (External memory)
  63. 63. Bilgisayar Mimarisi63 Mikroilemcili Sistemlerde Bulunan Birimler k Birimi (Output Unit) k birimi, mikroilemcili sistemde ikili say eklinde ilenen bilgileri kullanclarn anlayabilecei hale dntrmede kullanlan elemanlardr. Grntleme elemanlar Yazclar Ik yayan diyotlar Ses aygtlar Dijital Analog eviriciler
  64. 64. Bilgisayar Mimarisi64 Mikroilemcili Sistemlerde Bulunan Birimler Kontrol Birimi Kaydediciler Aritmetik ve Mantk birimi (ALU) Yardmc Elemanlar Yazclar
  65. 65. Bilgisayar Mimarisi65 Kontrol Birimi Mikroilemcinin yapt ilemleri kontrol eden ve iletiimi denetleyen birimdir. Mikroilemci iinde ve dnda bulunan birimler arasndaki veri iletiimini denetler ve ALU ierisindeki ilemleri kontrol eder.
  66. 66. Bilgisayar Mimarisi66 Kontrol Birimi (devam) Mikroilemci ile evre birimlerinin e zamanl olarak (synchronization) almas iin gerekli sinyaller kontrol birimi tarafndan salanr. Komut okuma (fetch) ve komut ileme (execute) ilemlerini yerine getirir
  67. 67. Bilgisayar Mimarisi67 Kaydediciler (Registers) Mikroilemcide verilerin ilenmesi srasnda, komutlarn verilerin geici olarak saklanmas iin kullanlan devrelerdir. Kullanm amalarna gre kaydediciler 4e ayrlr. Veri kaydedicileri Adres kaydedicileri Kontrol kaydedicileri Durum kaydedicileri
  68. 68. Bilgisayar Mimarisi68 Aritmetik ve Mantk Birimi (Aritmetic Logic Unit, ALU) Veriler zerinde aritmetik (toplama, karma, arpma, blme), mantksal (VE, VEYA, DEL vb.) veya karlatrma ilemleri yapan devrelerdir.
  69. 69. Bilgisayar Mimarisi69 Yardmc Elemanlar Mikroilemcinin performansn arttrmak amacyla kullanlrlar. rnek olarak; Matematik ilemci Paralel ilemci n bellekler
  70. 70. Bilgisayar Mimarisi70 Mikroilemcinin almas Bir mikroilemcinin almasnda, kontrol birimi tarafndan yerine getirilen temel iki ilem vardr. Komut okuma (fetch) ve komut yrtme (execute). Komut okuma,mikroilemcinin hafzadan bir ilem kodu (operation code-opcode) alp komut saklaycsna (Instruction Register IR) getirme ilemine denir. Komut saklaycsna gelen komut ile hangi ilemin yaplaca komut kod zcs tarafndan belirlenir. Gereken sinyalleme kontrol birimi tarafndan retilir.
  71. 71. Bilgisayar Mimarisi71 Mikroilemcinin almas (devam) Eer komut ile belirlenen ilem iin,baz ilem verisine (operand) gerek var ise,bu veriler hafzadan okunur. Son olarak komutun yrtlmesi gerekletirilir. Bir komutun yrtlmesi bittikten sonra, benzeri ekilde; tekrar komut okuma ve yrtme ilemleri,sonsuz bir evrim iinde, bir durma (halt) komutu yrtlnceye kadar yaplr.
  72. 72. Bilgisayar Mimarisi72 Bir Mikroilemcinin Program Hafzasnda Bulunan Programn altrlmas
  73. 73. Bilgisayar Mimarisi73 Bir Mikroilemcinin Program Hafzasnda Bulunan Programn altrlmas 1.Program sayac o anda alan komutun adresini zerine alr. PC =[0022] 2.Komut kayts, o anda alan komutu zerinde bulundurur. Ir = 4F 3.Kontrol nitesi bu komuta gre uygun elektronik sinyalleri uygun yere gndererek komutu altrr. 4F iin A akmlatrn sfrlayc iaret gnderir. 4.Daha sonra PC bir sonraki adrese geer ve ayn ilemler tekrarlanr.
  74. 74. Bilgisayar Mimarisi74 Raspberry Pi
  75. 75. Bilgisayar Mimarisi75 Raspberry Pi Raspberry Pi Birleik Krallk'ta Raspberry Pi Vakf tarafndan okullarda bilgisayar bilimini retmek amaclyla gelitirilmi kredi kart byklnde tek kartl bir bilgisayardr. PardusARM Srmnn lk alt Modeldir. Raspberry Pi, ARM1176JZF-S 700 MHz merkezi ilem birimini ieren Broadcom BCM2835 mikroipi zerine kurulmutur. Sabit diske sahip deildir. Booting ve veri depolamas iin SD kart kullanr.
  76. 76. Mikroprogramlama76 Raspberry Pi ye Genel Bak videomuzu izleyelim.
  77. 77. Bilgisayar Mimarisi77 PIC Mikrodenetleyiciler ve Programlama
  78. 78. Bilgisayar Mimarisi78 MKRODENETLEYC Mikrodenetleyici (Microcontroller, MCU veya C ), ilemci (CPU), hafza (RAM/ROM) ve giri -k (I/O ports) birimlerinin tek bir entegre paketi ierisine yerletirilmesi ile gerekletirilmi zel amal bir bilgisayardr. Gnmzde retilen birok mikro denetleyici, zellik ve trlerine gre PWM, ADC, USB, USART, SPI gibi ara birim ve zel amal kaydedicilere de sahiptir.
  79. 79. Bilgisayar Mimarisi79 MKRODENETLEYC PWM(Pulse Width Modulation): Elektronik, sinyal ileme veya kare dalga retme ilemini gerekletirir. ADC(Analog Dijital Converter): Analog sinyalleri dijital sinyallere dntrme ilemini gerekletirir. USB(Universal Serial Bus): USB d donanmlarn bilgisayar vb. cihazlarla ile balant kurabilmesini salayan seri yapl bir balant biimidir. USART(Universal Synchronous Asynchronous Receiver Transmitter): Veri karakterlerini Mikroilemciden parelel formatta alr ve sonra iletim iin,srekli bir seri veri dizisine dntrlr. SPI(Serial Perihpheral Interface): Seri haberlemeleri iin gelitirilmi verimli haberleme standartlarndan biridir.
  80. 80. Bilgisayar Mimarisi80 MKRODENETLEYC Gnmzde entegre retimi yapan birok firma (Intel, Atmel, Michrochip, National Semiconductor, Texas Instruments, vb.) mikrodenetleyici retmektedir. Mikrodenetleyiciler birbirlerinden sahip olduklar niteler(ADC, PWM, Zamanlayc, SPI, vb), giri/k bacak saylar, alma hzlar, veri ve program yolu genilii, bellek kullanm ekilleri alarndan farkllklar arz etmektedirler.
  81. 81. Mikrodenetleyici Kullanm Alanlar Mikrodenetleyici uygulama alanlarna veya mikrodenetleyicilerin kullanld cihazlara rnek olarak; buzdolab evimizde kullandmz amar ve bulak makineleri, mikrodalga frn, TV, video, vb cihazlar deil, kullandmz otomobildeki motor kontrol nitelerini, ABS fren sistemlerini ve hz sabitleyicileri (cruise control) ile birlikte modern yaamn paras olarak grdmz dijital kameralarn, cep telefonlarn, telefon ve faks cihazlarn, lazer yazclar, fotokopileri, vb cihazlar sralayabiliriz. , Bilgisayar Mimarisi81
  82. 82. ISIS Mikroprogramlama82 ISIS elektronik devre izimi gerekletirilirken ve bunun yannda devrenin analizini de yaplabilen bilgisayar destekli devre tasarm programdr.
  83. 83. Mikrodenetleyici Seimi Gnmz de yaygn olarak kullanlan mikro denetleyiciler ve retici firmalar unlardr; Motorola tarafndan gelitirilen 68HC serisi. Atmel tarafndan gelitirilen AVR serisi. Intel tarafndan gelitirilen 8051 veya MSC-51 ailesi. Microchip firmas tarafndan gelitirilen PIC mikro denetleyici ailesi. Texas Instruments firmas tarafndan gelitirilen MSP430 ve ARM ailesi Bilgisayar Mimarisi83
  84. 84. Farkl reticiler tarafndan retilen mikro denetleyicilerin ekirdekleri/mimarileri de farkl yapda ve zellikte retilmektedir. Mikrodenetleyiciler arasnda aadaki farklar bulunabilir: Mimari fark: Harvard, Von Neuman. Kelime genilii: 4, 8, 16, 32, 64 bit. Komut setleri: RISC, CISC komut ileme teknii. Kaydedici eitleri ve saylar, Bilgisayar Mimarisi84 Mikrodenetleyici Seimi
  85. 85. Adresleme yntemleri. Kesme saylar ve zellikleri. Hz / g / boyut zellikleri, alma frekanslar Gerekli evresel birimler (USART,CAPTURE/COMPARE/PWM) Programlama dilleri eitlilii(Basic, C, Pascal, Assembly, vs) Bilgisayar Mimarisi85 Mikrodenetleyici Seimi (devam)
  86. 86. Bir mikrodenetleyici genel olarak aadaki birimlerden oluur: 1. Mikro ilemci 2. Bellek 3. Giri/k birimi Bilgisayar Mimarisi86 Mikrodenetleyici Temel Bileenleri
  87. 87. Bilgisayar Mimarisi87 Mikrodenetleyici Temel Bileenleri
  88. 88. Bilgisayar Mimarisi88 Mikrodenetleyici Temel Bileenleri (devam)
  89. 89. Mikro denetleyicili Uygulama devresi bileenleri Bir PIC mikro denetleyici ile uygulama gerekletirebilmek iin ; Besleme devresi, Reset sinyali, Osilatr devresi, Bilgisayar Mimarisi89
  90. 90. PIC, Microchip firmas tarafndan retilen, Harvard mimarisine ve RISC ilemcisine sahip bir mikro denetleyicidir. PIC kelimesi, Peripheral Interface Controller- evresel Arabirim Denetleyicisi den tretilmi olsada farkl kaynaklarda Programmable Interface Controller -Programlanabilir Arabirim Denetleyicisi veya Programmable Intelligent Computer - Programlanabilir Akll Bilgisayar olarak adlandrlmtr. PIC Mikro denetleyicilerinin birok eidi vardr, veri yolu genilii baz alnarak PIC mikro denetleyicileri; 8- bit(PIC10,PIC12,PIC16,PIC18), 16- bit(PIC24) ve 32-bit(PIC32) olarak snflandrabiliriz. Bilgisayar Mimarisi90 PIC DENETLEYCSNE GENEL BAKI
  91. 91. Bilgisayar Mimarisi91 PIC zerinde alma videomuzu izleyelim. lgili video dosyasn izlemek ve indirmek iin QR kodu, akll telefonlarnzdan taratnz.
  92. 92. Fiyatnn ucuz olmas; Mantksal ilemlerde performansnn yksek olmas; 8, 16 ve 32 bitlik eitlerinin olmas ; Yksek frekanslarda alabilme zellii; Bilgisayar Mimarisi92 PIC Denetleyicisinin Tercih Sebepleri
  93. 93. Uyku modunda (Sleep mode) 1A gibi kk bir akm ekmesi; Yalnzca 2 kondansatr ve bir diren ile alabilme zellii; Farkl bir ok dille (Basic, C,Pascal,Assembly) programlanp, derlenebilmesi Harvard ve RISC mimarisine sahip olmas; k-) retici firmann bata simlatr program MPLAB olmak zere birok kayna cretsiz yaynlamas 6 pinden 80 pine kadar bir ok rn eidinin olmas Bilgisayar Mimarisi93 PIC DENETLEYCSNN TERCH SEBEPLER (devam)
  94. 94. RISC mimari ve ayn komut setine sahiptir. Digital I/O portlar Power-on reset (Yenien balatma-Anlk g kesmek) Power-saving SLEEP mode (Uyku modu) Harici saat arabirimi RAM veri bellei EPROM veya Flash program bellei Bilgisayar Mimarisi94 C MKRODENETLEYCLER AAIDAK ZELLKLERE SAHPTR
  95. 95. Yzlerce PIC Modelinden Hangisini Seeceksiniz? Giri / k port says evresel arabirim destei (USART, USB, vb) Program bellei kapasitesi RAM kapasitesi alma hz Fiziksel boyutu Maliyeti Bilgisayar Mimarisi95
  96. 96. PIC MCU Donanmsal Yaps 96 Bilgisayar Mimarisi
  97. 97. Bilgisayar Mimarisi97 Programlama Nedir Ve Trleri Nelerdir ? Dallanma Yaplar Ve eitleri Kesmeler Ve eitleri Mikroilemcilerin Programlanmas PIC Programlama Bugn Neler Konutuk
  98. 98. Bilgisayar Mimarisi98 Akcayol, A. M. Bilgisayar mimarisi. http://w3.gazi.edu.tr/~akcayol/files/CAL2Function.pdf Microislemciler. (2015 19 Mart) InWikipedia, zgr Ansiklopedi. https://tr.wikipedia.org/wiki/microislemciler http://www.mikroe.com http://www.microchip.com Kaynaka
  99. 99. MKROPROGRAMLANMI KONTROL Muhammet ZER [email protected] BLGSAYAR MMARS DERS Cevriye HAYIRLI [email protected] Ayhan DEMRC [email protected] Aykut GNDODU [email protected]