8. M KRO LEMC M MAR S Geli en donan m ve yaz l m teknolojilerine ve yonga üreticisine ba l olarak mikroi lemcilerin DONANIM ÖZELL KLER BELLEK B R M YLE ÇALI MA ÖZELL KLER ADRES YOLU / VER YOLU ÖZELL KLER YARDIMCI LEMC ÖZELL KLER KOMUTLARIN ÇALI MA EK LLER ÇALI MA HIZI, SAAT HIZI YAZILIM ÖZELL KLER PROGRAMLAMA MODEL ADRESLEME MODLARI KOMUT KÜMES de i iklikler gösterir. M MAR YAPISAL ÖZELL KLER N BÜTÜNÜDÜR!
Harvard Mimarisi 1930- lk elektromekanik bilgisayar n mimarisinde, program ve veri için ayn anda çal abilen birbirinden farkl iki bellek alan kullan r. Harvard Mark 1 1944 Von Neumann Mimarisi 1943-Program ve veri belle ini ayn bellek alan nda kullanma temeline dayan r. lk genel amaçl elektronik bilgisayar (ENIAC, Electronic Numerical Integrator and Calculator) Harvard mimarisi kullan larak üretilmi tir. 1945 ndirgenmi Komut Kümeli Bilgisayar (RISC, Reduced Instruction Set Computer) Karma k Komut Kümeli Bilgisayar (CISC, Complex Instruction Set Computer) Aç kça Paralel Komut leyen Bilgisayar (EPIC, Explicitly Parallel Instruction Computing) 2
Tablo 8-1 Intel Firmas n n Üretti i Merkezi lem Birimlerinin Mimari Özellikleri 3
ekil 8-1 Y llara göre i lemciler ve performanslar 4
Yanda görülen performans grafikleri, a a da verilen nternet uygulamalar kullan larak elde edilen ortalamalar n ba l kar la t rmas n verir. Internet Uygulaması: Adobe* After Effects* 5.5 Adobe* Photoshop* 7.01 Adobe* Premiere* 6.5 Discreet* 3ds max*5.1 Macromedia* Dreamweaver* MX Macromedia* Flash MX Microsoft* Windows Media* Encoder 9 Series Network Associates* McAfee* VirusScan* 7.0 WinZip Computing WinZip* 8.1 Baz Intel lemcilerin nternet Uygulamalar ve Sistem Performans Grafikleri Yanda görülen performans grafikleri, a a da verilen ofis uygulamalar kullan larak elde edilen ortalamalar n ba l kar la t rmas n verir. Masaüstü Sistem Performansı: Ofis Uygulamaları: Adobe* Acrobat* 5.0.5 Microsoft* Access 2002 Microsoft* Excel 2002 Microsoft* Internet Explorer 6 Microsoft* Outlook* 2002 Microsoft* PowerPoint* 2002 Microsoft* Word 2002 Network Associates* McAfee* VirusScan* 7.0 ScanSoft* Dragon Naturally Speaking* 6 Pref WinZip Computing WinZip* 8.1 5
8.1. Bilgisayar Kelimeleri Veri Kelimeleri, Komut Kodlar, Adresler 8.1.1. Veri Kelimeleri Tablo 8-2 kili nümerik veri kelimeleri ve s n rlar S n r De erler Kelime Tipi aretsiz aretli Bit 0, 1 +, - Yar m Bayt (Nibble, 4-Bit) 0 15-8 +7 Bayt (Byte, 8-Bit) 0 255-128 +127 Kelime (Word, 16-Bit) 0 65535-32768 +32767 Uzun Kelime (Long word, 32-Bit) 0 4,294,967,295-2,147,483,648 +2,147,483,647 Tek kesinlikli ±1.18 x 10-38, ±3.4 x 10 38 Kayan Noktal (32-Bit) Çift kesinlikli ±9.46 x 10-308, ±1.79 x 10 308 Kayan Noktal (64-Bit) Tablo 8-3 QuickBASIC derleyicisi için veri tipleri ve s n rlar Veri Tipi S n r De erler Tek kesinlikli Kayan Noktal ±1.4 x 10-45, ±3.4 x 10 38 Çift kesinlikli Kayan Noktal ±4.94 x 10-324, ±1.79 x 10 308 6
8.1.2. Komut Kodlar Komut kodlar ise ayn veya de i ik mimari yap daki mikroi lemcilerde de i ik biçimlerde, büyüklükte ve içerikte olmakla beraber çerçeve olarak benzer ekildedir. Bir komut kodu i lem kodu (Opcode) ve i lenenin veri de eri veya adresinden olu ur. A a da 20-Bit mikroi lemci için komut kodlar ve adresler için bir örnek gösterilmi tir. 4-Bit lem kodu 16-Bit lenenin veri de eri veya adresi Bit 19 18 17 16 15 14 13 12 11....... 3 2 1 0 6800 benzeri bir 8-Bit mikroi lemci için i lem kodu ve i lenen adresler 8-Bit kelimeler eklinde olabilir. Bu nedenle komutlar 1-bayt, 2-bayt veya 3-bayt biçimindedir. Bellek Adresi 0200 0201 0202 0203 Bellek Kelimesi kili Onalt l k Aç klama 10010110 01011110 10010111 10001010 96 5E 97 8A Akümülatör yazmac na yükle için i lem kodu Yüklenecek i lenen veri de eri Akümülatör yazmac n sakla için i lem kodu lenen veri de erinin saklanaca adres 8.1.3. Adresler Mikroi lemci donan m nda veya yaz l m nda, verilerin veya komut kodlar n n bellek biriminde bulundu u yerin konumu, bulundu u yer Adres olarak tan mlan r. 7
8.2. Mikroi lemcinin Çal mas Mikroi lemci program, mikroi lemcinin ad m ad m ne yapaca n belirleyen komutlardan meydana gelir. Mikroi lemci 8-Bitlik ise, komut kelimeleri 1-bayt, 2-bayt veya 3-bayt büyüklü ünde s ral olarak bellekte saklan r. Program RAM da saklan rsa daha sonra de i tirilebilir. E er ROM da saklan rsa de i tirilemez kal c olur. Mikroi lemci bir ba lang ç adresinden ba layarak bellekteki komutlar okuyacak, çözecek ve çal t racakt r. Önce i lem kodundan ne yapaca n çözer. E er varsa bir sonraki a amada ne yapaca n çözer. Sonra i lem ve i lenenlerle ilgili i lemleri ad m ad m yapar. 8
8.3. Mikroi lemcinin Basitle tirilmi Modeli 9
Mikroi lemci Yollar Mikroi lemcinin içinde iç veri yolu ve iç adres yolu olmak üzere iki yol bulunur. Mikroi lemciyi d dünyaya ba layan adres, veri ve kontrol yolu olmak üzere üç yol vard r. Mikroi lemci Yazmaçlar Yürütülmekte olan program n adresini tutan Program Say c s (PC, Program Counter) Mikroi lemci çal rken veri belle indeki verinin adresini sa layan Veri Adresi Yazmac (DAR, Data Address Register), Program belle inden i lem kodunu okuyan ve gerekli kontrol i aretlerinin üretilmesini sa layan Komut Yazmac (IR, Instruction Register) Akümülatör ve Veri Yazmaçlar Bunlar i lenenlerden birini ve i lem sonucunu tutan Akümülatör (A, Accumulator) lenenlerden di erini tutan Veri Yazmac (DR, Data Register) 10
8.4. Mikroi lemcide Program n Çal mas X + Y = Z i lemi örnek al narak mikroi lemcide bir program n nas l çal r? Bellek Adresi 0020 0021 0022 0023 0024 0025 0026 0027 0028 Bellek Kelimesi A6 50 01 BB 50 02 B7 50 03 Tablo 8-4 Mikroi lemci dilinde makine dili program K sa Komut Ad Aç klama LDA Akümülatöre (A) veri yükle, LDA için i lem kodu X i lenen 16-Bit adresinin büyük a rl kl 8-Biti küçük a rl kl 8-Biti ADD A n n içeri ine Y i lenenini ekle için i lem kodu Y i lenen 16-Bit adresinin büyük a rl kl 8-Biti küçük a rl kl 8-Biti STA Akümülatörü bellekte sakla, STA için i lem kodu 0029 3E HLT Dur için i lem kodu Z i lenen 16-Bit adresinin büyük a rl kl 8-Biti küçük a rl kl 8-Biti 11
X + Y = Z eklinde bir toplama i lemini gerçekle tiren program: Mikroi lemcili bir sistemde, X de i keni yerine bu de i kenin sakland 5001H gibi, yine ayn ekilde Y de i keni için 5002H ve toplama sonucunun sakland Z de i keni için 5003H gibi bir bellek adresi kar l k dü ürülürse program (5001H) + (5002H) = (5003H) ekline dönü ür. Mikroi lemcinin içyap s dü ünüldü ünde bu i lem gerçekle tirilirken önce 5001H adresindeki de er A yazmac na yüklenir (LDA). Sonra 5002h adresindeki de er A yazmac na eklenir (ADD). Son olarak A yazmac ndaki sonuç 5003H adresinde saklan r (STA) ve program durur (HLT). 12
ekil 8-2 Mikroi lemcinin 0020H adresinden i lem kodunu yakalamas. 1. PC=0020H, R/W= 1, Bellekten Okuma (Read), (M) IR, IR=A6H. 2. LDA komutu mikroi lemcide çal t r lmaya ba lan r. 13
ekil 8-3 Mikroi lemcinin 5001H adresinden i lenen adresini yakalamas. 3. PC +1 PC. _ 4. PC=0021H, R/W= 1, (M) DARH, DARH=50H 5. PC +1 PC. _ PC=0022H, R/W= 1, (M) DARL, DARL=01H, DAR=5001H. 6. LDA komutu çal t r l r. DAR=5001H Adres yolu, R/W= 1 X=(5001H), (M) A, A=X. 14
ekil 8-4 Y i leneninin A yazmac na eklenmesi 7. PC=0023H, R/W= 1, (M) IR, IR=BBH. ADD komutu mikroi lemcide çal t r lmaya ba lan r. 8. PC=0024H, R/W= 1, (M) DARH, DARH=50H 9. PC=0025H, R/W= 1, (M) DARL, DARL=02H, DAR=5002H. 10. ADD komutu çal t r l r. DAR=5002H Adres yolu, R/W= 1 Y=(5002H), (M) + A A, A=X+Y. 15
ekil 8-5 Toplama sonucunun A yazmac ndan belle e transferi 11. PC=0026H, R/W= 1, (M) IR, IR=BBH. STA komutu mikroi lemcide çal t r lmaya ba lan r. 12. PC=0027H, R/W= 1, (M) DARH, DARH=50H 13. PC=0028H, R/W= 1, (M) DARL, DARL=03H, DAR=5003H. 14. STA komutu çal t r l r. DAR=5003H Adres yolu, R/W= 0 Belle e Yazma (Write), Z=(5003H), A M, Z=X+Y. 15. PC=0029H, R/W= 1, (M) IR, IR=3EH. 16.HLT komutu çal r. 16
8.5. Mikroi lemci Sistemlerinin Mimari Yap lar 8.5.1. Motorola 6800 Mikroi lemcisi ekil 8-6 Motorola 6800 Mikroi lemcisinin ç Blok Diyagram 17
8.5.2. Motorola 6802 Mikroi lemcisi ekil 8-7 Motorola 6802 Mikroi lemcisinin ç Blok Diyagram. 18
8.5.3. Motorola 6801 Mikrodenetleyicisi ekil 8-8 Motorola 6801 Mikrobilgisayar n ç Blok Diyagram. 19
8.5.4. Motorola 68HC11 Mikrodenetleyicisi ekil 8-9 68HC11 Mikrodenetleyicinin Blok Diyagram. 20
8.5.5. Motorola 68HC08 Mikrodenetleyicisi ekil 8-10 68HC908GP32 Mikrodenetleyicinin Blok Diyagram. 21
8.5.6. Intel 8051 Mikrodenetleyicisi ekil 8-11 Intel 8051 Mikrodenetleyicinin ç Blok Diyagram. 22
8.5.7. Intel 80286 lemci ekil 8-12 Intel 80286 Mikroi lemcisinin ç Blok Diyagram. 23
8.5.8. Microchip PIC Mikrodenetleyici ekil 8-13 Microchip PIC16F876 Mikrodenetleyicinin ç Blok Diyagram. 24
8.5.9. ADSP218x Say sal aret lemcisi ekil 8-14 Say sal i aret i leyici mimarisi için bir örnek 25
8.5.10. Bellek ve Giri /Ç k Harital Mimariler ekil 8-15 Bellek ve Giri /Ç k Birimi Kontrol Uçlar Ayr lm Mikroi lemci Mimarisi 26
8.6. Mikroi lemcilerin Programlama Modelleri 8.6.1. 6800, 6802 Mikroi lemcisinin Programlama Modeli ekil 8-16 6800 ve 6802 Mikroi lemcileri için Programlama Modeli. 27
ekil 8-17 6800 Mikroi lemcisindeki ALU yap s n n blok diyagram. 28
8.6.2. 6801 Mikroi lemcisinin Programlama Modeli ekil 8-18 6801 Mikroi lemcisinin Programlama Modeli 29
8.6.3. 68HC08 Mikroi lemcisinin Programlama Modeli ekil 8-19 68HC08 Ailesi Mikroi lemcilerin Programlama Modeli 30
8.6.4. 68HC11 Mikroi lemcisinin Programlama Modeli ekil 8-20 68HC11 Mikroi lemcisinin Programlama Modeli 31
8.6.5. ADSP218x Say sal aret leyicisinin Programlama Modeli ekil 8-21 ADSP-218x Say sal aret lemcisinin programlama modeli 32