hafta1_tefpic
Transkript
B Öğr.Gör. Dr. Bülent ÇOBANOĞLU 'Bilgisayar' terimi, latincede hesaplamak anlamına gelen 'computere' kelimesinden üretilen 'computer' sözcüğünün Türkçe'ye çevrilmesinden gelmektedir. Bilgisayar sistemleri iki temel öğeden oluşmaktadır. Bunlar; yazılım ve donanımdır. Her ikisi de birbirinin tamamlayıcıdır, birisi olmazsa diğeri pek bir anlam ifade etmez. Bilgisayarın gözle görülen, elle dokunulan fiziksel parçalarına donanım, donanıma hayat veren onun çalışmasını sağlayan her türlü program ise yazılım olarak adlandırılır. Mikrobilgisayar kavramını tanıyacak Bir mikrobilgisayar sistemi, klasik bilgisayar sistemleri gibi ve aşağıdaki blok şemadaki görülen mikroişlemci, bellekler , giriş-çıkış birimleri ve her birimi birbirine bağlayan yollardan oluşur. Ancak bu birimler mikrobilgisayarlar için farklı donanımlarla gerçekleştirilebilir. Örneğin bir mikrobilgisayar sisteminde genellikle geleneksel bir klavyeden daha çok tuş takımları, bir ekrandan daha çok LED veya bir kaç satırlık LCD göstergeler bulunur. Giriş ve çıkışları da PCI, PCI-E, SATA gibi gelişmiş portlardan ziyade 8-bitlik paralel portlar, USB veya RS232 gibi seri portlardır. Bellek birimleri de son derece küçük boyutta (Kilobayt) olup hızları da (10-40Mhz) PC belleklerin yanında çok düşük kalır. Mikrobilgisayarlarda kullanılan mikroişlemci de düşük hızlarda çalışan bir işlemcidir ve genellikle hızları bir kaç 100Mhz den fazla olamaz. Temel Bilgisayar Sisteminin Bileşenleri Mikrobilgisayar kavramını tanıyacak Mikrobilgisayar terimi 1980li yıllardan önce küçük boyutlu bilgisayarları (PC, Commodore 64, Apple II) ifade etmek için kullanılsa da, VLSI (Very Large Scale Integrated Circuit- Çok Geniş Ölçekli Tümleşik Devre) tasarım ve üretim tekniğinin gelişmesi ile farklı bir tasarım mimarisine kavram olarak hizmet etmeye başlamıştır. Günümüzde de kullandığımız kişisel bilgisayarların (PC) mikro bir modeli olan mikrobilgisayarlar; tek bir çip içerisinde bilgisayar yeteneklerinin düşük performanslı olarak bir araya getirilmesini ifade eder. Doğal olarak bir bilgisayarın bir çipe sığdırılmasında bazı parametrelerden feragat etmek zorunludur. Bu parametrelerin başında da kapasite ve hız gelir. Bu yüzden mikrobilgisayarlar, sadece bir veya bir kaç belirlenmiş görev için tasarlanan gömülü sistemlerde (embedded systems) kullanılır. Mikrobilgisayarlardan mikroişlemcili genel bir bilgisayarın (PC) yeteneklerini beklemek mantıklı değildir. Ancak özellikle cep telefonu ve avuç-içi bilgisayar alanındaki teknolojik gelişmeler, mikrobilgisayarların kullanım alanlarını süratle artırmaktadır. Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek MİKROİŞLEMCİ Mikroişlemci bir bilgisayar sisteminde programların işletilmesinden sorumlu olan ve tüm bileşenleri merkezi şekilde kontrol eden tümleşik devredir. Aşağıdaki şekilde görüldüğü gibi, temel dört birimden oluşur: ALU: Aritmetik ve mantıksal hesaplamalardan, transferlerden, kaydırmalardan sorumlu olan işlemcinin en önemli birimidir. ALU içerisindeki yazmaçlar ile mikroişlemcinin kaç bitlik bir işlemci olduğu belirlenir. Kontrol birimi: Tüm işlemlerin sırasını belirler ve gerekli denetim işaretlerini üretir. Aynı zamanda bellekten okunan kodların çözümü de bu birimde yapılır Kaydediciler: Hesaplama ve transfer için gerekli olan değerlerin tutulduğu kaydedicilerdir. Sayıları her mikroişlemci ailesi için farklı olabilir. Dahili Yollar: Mikroişlemci içindeki tüm birimlerin veri alışverişini ve birimlerin kontrolünü sağlamak için birimleri birbirine bağlayan yollara denir. Adres, veri ve kontrol yolları olarak üç tiptir. Yolların bit genişliği mikroişlemcilere özeldir. Bununla birlikte, günümüz mikroişlemcileri cep bellek (cache), grafik hızlandırma birimleri (MMX), matematik işlemci birimi (FPU) ve diğer birimleri de içermektedir. Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Veri,adres ve kontrol yolu Kontrol Birimi ve Kod Çözücü ALU Kaydediciler Veri,adres ve kontrol yolu Merkezi İşlem Biriminin iç yapısı Dikkat: Mikroişlemci ile Merkezi İşlem Birimi (MİB, CPU) aynı kavram değildir. Temel mikroişlemci birimleri ile MİB birimleri aynı birimleri kapsamaktadır. Ancak mikroişlemci daha kapsamlı bir kavramdır. Bu iki terim birbirinin yerine kullanılmakla birlikte ifade ettikleri kavramlar farklı birimleri içerebilir. Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek MİKRODENETLEYİCİ Mikrodenetleyici kavramı hem MİB hem de mikroişlemci kavramlarını içermektedir. Mikrodenetleyici kavramı aynı zamanda mikrobilgisayar kavramı ile örtüşmektedir, çünkü mikrodenetleyici çevresel birimleri de içeren bir mikrobilgisayardır. Mikrodenetleyiciler yukarıdan da görüldüğü gibi temel bir bilgisayar sisteminde bulunması gereken mikroişlemci, RAM (veri belleği), ROM (program belleği) birimleri yanında Giriş/Çıkış portları, osilatör ve zamanlayıcı/sayıcı birimlerini de kapsayabilmektedir. MİKRODENETLEYİCİ Mikro denetleyici (Microcontroller, MCU veya µC ), işlemci (CPU), hafıza (RAM/ROM) ve giriş-çıkış (I/O ports) birimlerinin tek bir entegre paketi içerisine yerleştirilmesi ile gerçekleştirilmiş özel amaçlı bir mikro bilgisayardır. Günümüzde üretilen birçok mikro denetleyici, özellik ve türlerine göre PWM, ADC, USB, USART, CAN, SPI, I2C gibi ara birim ve özel amaçlı kaydedicilere de sahiptir. Günümüzde entegre üretimi yapan birçok firma (Intel, Atmel, Michrochip, National Semiconductror, Texas Instruments, vb.) mikro denetleyici üretmektedir. Mikro denetleyiciler birbirlerinden sahip oldukları üniteler(ADC, PWM, Zamanlayıcı, SPI, vb), giriş/çıkış bacak sayıları, çalışma hızları, veri ve program yolu genişliği, bellek kullanım şekilleri açılarından farklılıklar arz etmektedirler. Mikro denetleyici temel bileşenleri Bir mikro denetleyici genel olarak aşağıdaki birimlerden oluşur: 1. Mikroişlemci 2. Bellek 3. Giriş/çıkış birimi 4. Saat darbe üretici Formülize edersek; MCU = CPU + RAM/ROM + I/O portları + Saat darbe üreteci Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyici temel olarak dört bileşenden oluşur: 1-MİB (Merkezi İşlem Birimi): CPU( Central Processing Unit) olarak bilinen işlemci çekirdeği programın çalışması için gerekli aritmetik ve mantıksal işlemleri yürütür. Çekirdek aynı zamanda bellek ünitelerindeki verileri okur veya depolar. Mikrodenetleyici çekirdeği saklayıcılar, Aritmetik Mantık Birimi (ALU-Arithmetic Logic Unit), sayıcılar, yığın işaretçisi/göstericisi gibi fonksiyonel birimlerden oluşmaktadır. 2- Bellek birimleri: ROM program kodunun depolandığı, RAM ise geçici veya program verilerinin depolandığı bellek türüdür. RAM bir bakıma mikrodenetleyicinin kullandığı bir çeşit müsvedde kağıttır. Bu bellek sürekli yazılır ve silinir; ancak ROM bellek bir kere programlandıktan sonra programın çalışması boyunca değiştirilmez (IAP “Uygulama Esnası Programlama” teknolojisi hariç). 3-Giriş/çıkış birimi :Mikrodenetleyiciden dış dünyaya giden sinyallerin gönderilmesinde veya dış dünyadan mikrodenetleyiciye gelen sinyallerin alınmasında kullanılır. 4-Saat darbe üretici: Tümdevre içerisindeki birçok fonksiyonel birimin senkronize bir şekilde çalışması için gerekli olan saat işaretini üretir. Mikro denetleyici temel bileşenleri Mikro denetleyici temel bileşenleri Mikro denetleyici uygulama devresi bileşenleri Bir PIC mikro denetleyici ile uygulama gerçekleştirebilmek için ; • Besleme devresi, • Reset sinyali, • Osilatör devresi, • Uygulama devresi elemanlarına İhtiyaç vardır. Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyiciler: • Yalnız başlarına çalışabilirler • Tek-tümdevre elemandırlar • Sistem kararları genellikle harici sinyallere bağlıdır • Elektronik bir cihazın davranışlarını denetlerler • Bir devrenin beyni konumundadırlar. Genel olarak bir mikrodenetleyici aşağıdaki birimlerden oluşmaktadır: • Bir mikroişlemci çekirdeği (CPU) • Program ve veri belleği (ROM, RAM) • Giriş/Çıkış (I/O) birimleri • Saat darbesi üreteçleri • Zamanlayıcı/Sayıcı birimleri • Kesme kontrol birimi • A/D ve D/A (Analog/Dijital–Dijital/Analog) çeviriciler • Darbe genişlik üreteci (PWM) • Seri Haberleşme Birimi (UART, RS-232, CAN, I2C vb.) • Diğer çevresel birimler Mikrodenetleyiciler, harici işaretleri temel alarak sistem kararlarını verebilecek tüm donanımlara sahiptirler. Diğer bir değişle, bir mikrodenetleyici özel bir elektronik sistem veya bir cihazın, fonksiyon ve davranışlarını kontrol etmede bir beyin gibi rol oynar Mikro denetleyici Kullanım Alanları Mikro denetleyici uygulama alanlarına veya mikrodenetleyicilerin kullanıldığı cihazlara örnek olarak; yalnızca evimizde kullandığımız buzdolabı, çamaşır ve bulaşık makineleri, mikrodalga fırın, TV, video, vb cihazlar değil, kullandığımız otomobildeki motor kontrol ünitelerini, ABS fren sistemlerini ve hız sabitleyicileri (cruise control) ile birlikte modern yaşamın parçası olarak gördüğümüz dijital kameralarını, cep telefonlarını, telefon ve faks cihazlarını, lazer yazıcıları, fotokopileri, vb cihazları sıralayabiliriz. Mikro denetleyici seçimi Başlangıçta 'Intel' ve 'Texas Instruments' firmaları tarafından üretilen mikrodenetleyiciler günümüzde, birçok firma { Motorola, Microchip, Hitachi, Siemens, AMD, Intel, Atmel, Dallas Semiconductor, vb.} tarafından üretilmektedir. Entegre üretimi yapan birçok firma aynı zamanda mikro denetleyici de üretmektedir. En büyük iki üretici olan Microchip ve Motorola’yı NXP(Philips) ve Texas, National, Renesas (Hitachi) , Atmel ve diğerleri izlemektedir. Yaşanan teknolojik gelişmelerin yanında, firmalar arası rekabet de mikrodenetleyici fiyatlarının önemli ölçüde ucuzlamasını sağlamıştır. Fiyatlarının düşmesine paralel olarak içerdikleri özel fonksiyonel birimlerin çeşit (A/D çevirici, EEPROM bellek, CAN ve I2C seri haberleşme, ve farklı sensorlar) ve sayılarının artması daha ekonomik, hızlı ve esnek sistemlerin tasarlanabilmesi sonucunu doğurmuştur. Günümüzde yaygın olarak kullanılan mikro denetleyiciler ve üretici firmaları şunlardır; * Motorola tarafından geliştirilen 68HC serisi. * Atmel tarafından geliştirilen AVR serisi. * Intel tarafından geliştirilen 8051 veya MSC-51 ailesi. * Microchip firması tarafından geliştirilen PIC mikro denetleyici ailesi. * Texas Instruments firması tarafından geliştirilen MSP430 ve ARM ailesi Her mikro denetleyici üreticisi, ürün yelpazesinde birçok farklı mikro denetleyici bulundurmaktadır. Bu kadar çok çeşit içinden hangisinin seçileceğine karar vermek için mikro denetleyicilerin genel özelliklerini bilmek gerekir. Mikro denetleyici seçimi * Farklı üreticiler tarafından üretilen mikro denetleyicilerin çekirdekleri/mimarileri de farklı yapıda ve özellikte üretilmektedir. Mikro denetleyiciler arasında aşağıdaki farklar bulunabilir: * Mimari farkı: Harvard, Von Neuman. * Kelime genişliği: 4, 8, 16, 32, 64 bit. * Komut setleri: RISC, CISC komut işleme tekniği. * Kaydedici çeşitleri ve sayıları, * Adresleme yöntemleri. * Kesme sayıları ve özellikleri. * Hız / güç / boyut özellikleri, * Çalışma frekansları * Gerekli çevresel birimler (USART,CAPTURE/COMPARE/PWM–CCP modülü vs) * Programlama dilleri çeşitliliği (Basic, C, Pascal, Assembly, vs) Hangi üreticinin seçileceği konusunda genellikle tasarımcılar komut setini, programlamasını ve programlama için gerekli programları iyi bildikleri üreticiyi seçmektedir. Zaten her üreticinin bir ürünü için, bir başka üreticinin ürettiği hemen hemen aynı işi yapacak bir ürün bulunabilmektedir. Hangi üreticinin seçileceğine karar verildikten sonra sıra o üreticiye ait hangi mikrodenetleyicinin seçileceğine gelmiştir. Mikro denetleyici seçimi * Piyasada birçok mikro denetleyici üreten firma olduğundan bahsetmiştik. Bunlar içinde neden Microchip firmasının ürettiği PIC'lerin seçildiği sorusu akla gelebilir. * Bunun en temel sebebi Microchip firmasının web sayfalar ı üzerinden sağladığı teknik destektir. Tüm mikrodenetleyicilere ilişkin ayrıntılı bilgiler ve farklı mikrodenetleyiciler ile yapılmış, farklı uygulama örnekleri firma tarafından ücretsiz olarak dağıtılmaktadır. Hepsinden önemlisi, firma devamlı geliştirme kte olduğu MPLAB adlı simülasyon programını da ücretsiz olarak dağıtmaktadır. Böylece PIC programlamak isteyen bir kişi, assembly editor, derleyici, simülatör ve programlayıcı ihtiyaçlarının hepsini tek bir program ile ve ücretsiz olarak gidermiş olmaktadır. Ayrıca bir çok programlama dili ile PIC programlayıcı programlanabilmektedir. * Firmanın sağladığı bu desteğe bağlı olarak gelişen bir başka avantaj ise, bu konu ile ilgili kaynağın çok olmasıdır. Mikroişlemci ve Mikrodenetleyici kavramlarını ayırt edebilmek Mikrodenetleyiciler hakkında bazı yanlış kanılar birçok insanın bu alanı uzmanlara bırakmalarına neden olmuştur. Bunlardan bazıları şunlardır: • • • • • • Öğrenilmelerinin uzun bir süreci gerektirmesi Geleneksel dijital entegrelerden pahalı olması Çok pahalı geliştirme ve destek cihazlarına ihtiyaç duyması Üretici firmalardan yakın destek alınamaması Zor ve özel şartlar için geliştirilmiş örneklerin kolayca elde edilememesi Tek elemanlı çözümlerin gerçekleştirilmesinin zor olması ve harici elemanlara olan ihtiyaç Bu kanıların birçoğu teknolojik gelişmelerin sonucu olarak artık tarihe gömülmüştür. Örnek olarak, şu anda piyasada satılan bazı mikrodenetleyicilerin fiyatları çok basit fonksiyonlu geleneksel sayısal tümdevrelerden daha da ekonomik hale gelmiştir. Buna bağlı olarak mikrodenetleyicilere ait geliştirme donanımları (emulatörler, lojik analizörler) ve yazılımları (derleyiciler, simülatörler ve kaynak kodu analizörleri) çok daha ucuza alınabilir hale gelmiştir. Artık kaliteli bir C dili derleyicisi 500 $ civarında elde edilebilmektedir. Bundan 10 yıl öncesi böyle bir kolaylık ve maddi erişilebilirlik söz konusu değildi. 1) Mikrodenetleyici ve mikroişlemci arasındaki fark nelerdir? 2) Bir mikrodenetleyicinin temel birimleri nelerdir? 3) Mikrodenetleyicilerin popüler olma sebepleri nelerdir? 4) Mikrodenetleyici seçiminde dikkat edilecek kriterleri listeleyiniz? 5) Mikrodenetleyicili sistemlerin endüstriyel alanlarda kullanılırken karşılaşılabilecek zorlukları ve uygulama sınırlandırmalarını maddeler halinde yorumlayınız? 6) Niçin PIC MCU ları tercih ederiz? Bilgisayar Mimarisi kavramını açıklayabilmek Mikroişlemcili bir sistemde bulunan mikroişlemcinin temel işlevi; işlenen ve kullanılan verileri birimler arasında iletme, iletilen verileri işleme, verileri bir durumdan diğerine çevirme ve verileri uygun yerde saklamadır. Verileri iletme/işleme işlevlerini gerçekleştiren ve bir programın mantıksal çalışmasına doğrudan etki eden mikroişlemcinin mimarisini; mikroişlemci içerisinde bulunan birimlerin özellikleri, yapıları, birimler arasında oluşan veri iletimi ile verilerin saklanma şekli ve mikroişlemcide kullanılan komut seti belirler. Diğer bir değişle, mikroişlemci mimarisi; mikroişlemci kapasitesi, bellek yapısı ve tasarım felsefesi tarafından şekillendirilir. Mikroişlemcinin kapasitesi; mikroişlemcide bulunan birimlerin özellikleri, kaydedici sayısı, kaydedicilerin büyüklüğü, kullanılan yollardaki hat sayısı, kayar noktalı hesaplama birimi, vb. etkenler tarafından belirlenir. Mikroişlemci bellek yapısı; bellek bölgelerinin sayısı, her bir bellek bölgesinde saklanabilecek bit sayısı, adreslenebilecek toplam bellek bölgesi sayısı ve bir bellek bölgesine erişim şekline göre tanımlanır. 21 Bilgisayar Mimarisi kavramını açıklayabilmek Mikroişlemcinin tasarım felsefesi; Komut Kümesi-yazılım Mimarisi (Instruction Set Architecture – ISA) ve Donanım Sistem Mimarisi (Hardware System Architecture – HSA) ölçütlerine göre farklılık arz eder. Mikroişlemci tarafından kullanılan komut yapısı ve sayısı, yani komut seti ve komut setinde bulunan komutların özellikleri bakımından iki tür mimari ön plana çıkmıştır: •Karmaşık komut kümeli mikroişlemciler (Complex Instruction Set Computers – CISC) •Azaltılmış komut kümeli mikroişlemciler (Reduced Instruction Set Computers - RISC) Mikroişlemcinin bellekleri kullanım şekli ve bellek yapısı da farklı iki mimariye yön vermiştir: •Von Neuman Mimarisi (Tümleşik Tek bellek) •Harvard Mimarisi (Yalıtılmış Çift bellek) Mikroişlemcileri yukarıdaki ölçütlerin dışında da sınıflamak mümkündür. Örneğin bit sayısı, çekirdek sayısı, güvenirlilik, dayanıklılık, enerji verimliliği gibi bir çok parametre kullanılarak sınıflandırma yapılabilir. Ayrıca bu mimarilerin dışında da bir çok mimari türü mevcuttur. Ancak bir mikroişlemcinin performansını ve çalışma şeklini belirleyen en önemli kriterler bellek kullanımı ve komut yapısıdır. 22 RISC ve CISC mimarilerinin farklarını sayabilmek Bellek gereksiniminin en aza indirilmesini sağlayan temel CISC mimarisi mikroişlemcinin karmaşıklığını artırsa da ve mikroişlemci performansının düşmesine neden olsa da, programlama işlemlerini basit hale getirmektedir. Bu mimaride mikroişlemci çok sayıda komut içerir ve her eylem için bir komut tanımlanmıştır. CISC mimaride "donanım yazılımdan hızlıdır" prensibi geçerlidir. Böylece CISC işlemciler karmaşık kodları çözmek için daha yoğun donanım kullanırlar bu da çipin maliyetini artıran bir unsurdur. Ayrıca daha fazla güç de tüketirler. Karmaşık yapıda ve farklı uzunluktaki komutlara sahip olan CISC mimarisi, birden fazla işlem ile ilgili emirleri bir komut içerisine yerleştirmesi nedeni ile komut sayısında ve gerekli bellek gereksiniminde tasarruf sağlar. 1960’larda geliştirilen ve ilk mimari yapı olan CISC mimarisi, az bellek kapasitesine gereksinim duyulan yerlerde yaygın olarak kullanılması yanında, Intel 80x86, Pentium ve Motorola 68030, vb. gibi işlemciler ile IBM 360 ve DEL WAX gibi büyük sistemlerde kullanılmaktadır. CISC tasarım felsefesi ile geliştirilen mikroişlemcili sistemlerde, ‘kademeli komut işleme’ tekniği olarak adlandırılan ve aynı anda yalnızca bir komut üzerinde işlem yapılan komut işleme tekniği kullanılır. 23 RISC ve CISC mimarilerinin farklarını sayabilmek Komut kodu bellekte ve işlenecek verilerin MİB’deki kaydedicilerde bulunduğu varsayılarak, kademeli komut işleme tekniğinde oluşacak işlem sırası listelenirse; 1. Program sayıcısının gösterdiği adresten (bellekten) komutu al getir (FI-Fetch Instruction) 2. Getirilen komutun kodunun çözülmesi ve mikro-kodların elde edilmesi (DIDecode Instruction) 3. Komutun ALU’da çalıştırılması (EI-Execute Instruction) 4. Sonucun ilgili kaydediciye yüklenmesi (WB- Write back Result) Açıklanan bu işlemlere göre, bir komutun işlenebilmesi dört adımda gerçekleştirilir. Gerçekleştirilen adımlardan birisi bitmeden diğer adıma geçilemez. Dört adım sonucunda tek bir komutun işlemesi biter ve yeni bir komut işlenmeye başlar. Komut FI DI EI WB FI DI EI WB FI Aşaması Zaman CISC bir komutun çalışma evreleri 24 RISC ve CISC mimarilerinin farklarını sayabilmek CISC mimarisinde oldukça çeşitli olan komutları çalıştırmak için mikro-kod kullanılmaktadır. Farklı uzunlukta olan bu komutların çözümünde oldukça karmaşık devrelere (kod çözücülere) ihtiyaç vardır. CISC bir komutun mikrokod çevrimi 25 RISC ve CISC mimarilerinin farklarını sayabilmek Neredeyse hiç kimse bir CISC makinedeki karmaşık assembly dili komutlarının tamamını kullanmamaktadır. Günümüzde programcılar tüm karmaşık komut kümelerini neredeyse hiç kullanmayan yüksek-düzeyli dil derleyicilerini tercih etmektedirler. Karmaşık komut seti kullanan mimarilerin işlemlerin belirli bir hızda yapılması gereksinimini karşılayamaması, komutların basitleştirilmesine ve RISC işlemci mimarisinin oluşmasına neden oldu. RISC işlemcilerde işlemler, az sayıda basit komut ile gerçekleştirilir. RISC işlemciler hala hazırda, IBM, DEC, HP, Motorola, APPLE ve SUN gibi süper bilgisayarlar yanında işistasyonları ve PC’lerde kullanılmaktadırlar. İşlemcilerin kullandığı komutların basitleştirilmesi ve komutların sayısının azaltılması, komut işleme hızını artırır. Diğer bir deyişle, daha az sayıda ve basit yapıya sahip komutlar kullanan işlemci, karmaşık komut seti kullanan işlemciye göre daha hızlı çalışır. RISC işlemlerde işlemcinin performansını artıran önemli bir etken, Kanal Komut İşleme Tekniği (pipelining) olarak isimlendirilen ve aynı anda birden fazla komutun işlenmesini sağlayan teknolojidir. Bu teknolojinin kullanımı, daha fazla bellek ve daha gelişmiş derleme tekniği gereksinimlerini ortaya çıkarır. Bu gereksinimleri tam anlamıyla karşılayabilen çok geniş ölçekli entegre (VLSI) teknolojisinin 1990’larda geliştirilmesi ile RISC işlemciler büyük sistemlerin yanı sıra PC’lerde kullanılmaya başlandı. 26 RISC ve CISC mimarilerinin farklarını sayabilmek RISC mimari, daha basit komutlar kullanarak tümdevre karmaşıklığını azaltmaktadır. Ancak RISC komutlarının daha kısa olması belirli bir görevin tamamlanabilmesi için daha fazla komuta gereksinim duyulmasına yol açabilir. Ayrıca RISC mimariler için üretilen derleyiciler daha önce CISC mimarisinde bulunan donanım birimlerinin görevini üstlenmek üzere ekstra komutlar kullanmaktadır. RISC işlemci çekirdeği çalışma akışı Komut evreleri FI DI EI WB FI DI EI WB FI DI EI WB FI DI EI FI DI EI WB FI DI FI DI EI WB FI FI DI EI WB 2 3 4 5 Tamamlanan Komut adedi 1 RISC mimariye uyumlu kanal işleme (pipelining) tekniği ile komutların işletilmesi 27 RISC ve CISC mimarilerinin farklarını sayabilmek RISC ve CISC işlemciler birbirleri ile hızlarına, komut işleme tekniklerine, kullanılan transistor sayılarına, vb. kriterlere göre karşılaştırılabilirler. İki mimari arasındaki farklar şöyle özetlenebilir: 1- Hız: İki işlemci mimarisinin karşılaştırılmasından ilk önemli farkın; hızları olduğu bulunur. İki işlemci mimarisi arasındaki hız farkı, kullanılan komut işleme teknikleri sonucu oluşur. RISC işlemciler, genellikle aynı saat frekansında çalışan CISC işlemcilere göre daha hızlıdır. 2- Komut işleme tekniği: Mimariler arasındaki ikinci önemli fark; komut işleme tekniğidir. CISC işlemcilerde ‘kademeli komut işleme’ tekniği kullanılırken, RISC işlemcilerde ‘kanal komut işleme tekniği’ (pipeline) kullanılır. CISC tekniği ile aynı anda tek bir komut işlenebildiği ve komutun, işlenmesi bitmeden yeni bir komut üzerinde çalışmaya başlanamaz. RISC tekniğinde ise, aynı anda çok sayıda komut işlenmektedir. Komutların birbirini takip etmesi nedeni ile her bir komut bir birim uzunluktadır ve her işlem adımında bir komuta ait işlemler bitirilir. 3- Transistör sayısı: CISC ve RISC yapıları arasındaki üçüncü önemli fark; işlemcilerde kullanılan transistor sayısıdır. CISC işlemcilerde kullanılan transistor sayısı, RISC işlemcilere göre daha fazladır. Daha fazla sayıda transistor kullanılması, daha geniş alan gereksinimi ve daha fazla ısı ortaya çıkarır, Oluşan daha fazla ısı nedeniyle soğutma ihtiyacı ortaya çıkar ve soğutma işlemi, ısı dağıtıcısı veya fanlar kullanılarak gerçekleştirilir. 4- Donanımsal yapı (Tasarım şekli): İki mimari arasındaki bir diğer fark; donanımsal yapıları ve tasarım şekilleridir. RISC işlemciler , CISC işlemcilere göre daha basit yapıda olduklarından daha kolay tasarlanırlar . 5. Komut yapısı; RISC mimarisi, CISC’in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. RISC mimaride aynı uzunlukta basit komutlar kullanılırken CISC mimaride karmaşık yapıda değişken uzunlukta komutlar kullanılır. 28 RISC ve CISC mimarilerinin farklarını sayabilmek RISC mimarisinin yukarıdaki üstünlükleri yanında bazı mahsurları da bulunmaktadır. Sakıncalar olarak; daha fazla bellek kapasitesi gereksinimi ve güçlü komutlara sahip olunmaması sayılabilir. RISC mimarisi, CISC’in güçlü komutlarından yoksundur ve aynı işlemi yapmak için daha fazla komuta gereksinim duyar. Diğer bir deyişle, RISC mimarisinin sakıncası, CISC mimariye göre daha karmaşık yazılımlara gereksinim duymasıdır. Sistemde güçlü komut eksikliği, ikinci bir yardımcı işlemci yada ayrı bir ‘pipeline’ bölümü yardımı ile giderilebilir. Yarı iletken teknolojisindeki gelişmeler, CISC sisteminin az bellek gereksinimi ve basit program yazılımı gibi üstünlüklerin öneminin kaybolması sonucunu ortaya çıkarmakta ve RISC mimarisine daha önem kazandırmaktadır. Bu karsılaştırma sonucunda, 'hangi mikro denetleyici mimarisi tercih edilmelidir?' sorusunun tam olarak tek bir cevabı yoktur. Bu sorunun cevabı, tasarımcının hangi kriterleri önemsediği ile ilgidir. Bu kriterler; yonga alanı ve esnekliktir. Daha hızlı çalıştıklarından dolayı günümüzde çoğu mikro denetleyici ve işlemciler RISC mimarisi kullanmaktadırlar. Bununla beraber her iki mimarinin özelliklerini de ta ş ıyan karma mimariler de söz konusudur. 29 Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Giriş: Mikroişlemci ve mikrodenetleyiciler bellek kullanımı açısından Von Neuman ve Harvard olarak adlandırılan iki mimariden biri üzerine tasarlanırlar. Von Neuman mimarisi Princeton Üniversitesi tarafından diğeri de adından da anlaşılacağı üzere Harvard Üniversitesi tarafından tasarlanmıştır. O günkü teknolojiye uygun olan Von Neuman mimarisi tercih edilse de ilerideki yıllarda teknolojinin uygun hale gelmesi sonucu Harvard mimarisi 1970’li yılların sonlarında özellikle mikrodenetleyici tasarımında standart hale gelmiştir. Günümüzde her iki mimari yapının özelliklerini içeren mikrodenetleyiciler (MAXQ ailesi) de bulunmaktadır. Bu mikrodenetleyiciler karma mimariye sahip olup iki mimarinin üstün olan özelliklerini kullanarak performans artışı elde ederler. Von Neuman Mimarisi İşlem biriminin bellek biriminden ayrıştırılması bu mimarinin en önemli özelliğidir. Komut ve veri için aynı belleğin kullanıldığı ‘Von Neuman Mimarisinde’, komut ve veriler aynı yol kullanılarak iletilirler. Bu durum, komut ve verinin iletilmesinin gerektiği durumlarda veri ile ilgili iletişim sistemlerinin, komut ile ilgili iletişim işlemlerini beklemesini gerektirir. ‘Von Neuman Mimarisi’ kullanan mikroişlemcilerde de komutlar bellekten alındıktan sonra kodu çözülerek gerekli işlemler gerçekleştirilir ve elde edilen sonuçlar belleğe tekrar gönderilir. Bu işlemler sırasında, yolların hızının mikroişlemcinin hızına yetişememesi nedeni ile sistemde darboğaz (bottleneck) olarak isimlendirilen olay gerçekleşebilir. Bu sakıncanın yanında oluşabilecek diğer bir sakıncalı işlem; veri ve komutların aynı bellekte sıralı olarak bulunması nedeni ile bu iki bilginin birbirine karışması ihtimalinin yüksek olmasıdır. 30 Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Von Neuman (Princeton) mimari blok diyagramı Detaylandırılan iki sakıncayı ortadan kaldırmaya ve Von Neuman Mimarisi kullanan sistemlerin performansını artırmaya yönelik olarak önbellek (cache) sistemi geliştirilmiştir. Önbellekler, işlenecek komutların ve verilerin ana bellekten getirilerek işlem birimine yakın bir bellekte tutulması amacıyla kullanılmaktadır. Ana bellekten alınan komut ve veriler ayrı önbelleklere yerleştirilerek hem ayrıştırılması sağlamakta, hem de oluşan darboğaz ortadan kaldırılmaktadır. Günümüz kişisel bilgisayarları da Von Neuman mimarisinde çalışmaktadırlar sistemde sadece tek bellek (RAM) vardır ve tüm komutlar ve veriler aynı ortamda saklanır. Mikroişlemcili sistemlerin büyük çoğunluğu Von Neuman mimarisinde çalışırken mikrodenetleyici sistemlerin çoğu Harvard mimaride çalışır. 31 Harvard ve Von Neuman mimarilerinin farklarını sayabilmek Harvard Mimarisi Komutlar ve veri ile ilgili bilgilerin ayrı belleklerde saklandığı ‘Harvard Mimarisi’ kullanan mikroişlemcili sistemlerde, veri ve komutları iletmek amacıyla kullanılan yollar birbirinden bağımsızdır. İletim için kullanılan yolların farklı olması, aynı anda veri ve komutun iletilmesini mümkün hale getirir. Diğer bir ifadeyle, komut kod bellekten okunurken, komutun gerçekleştirilmesi sırasında ihtiyaç duyulan veri, veri belleğinden okunabilir. Harvard Mimarisi, performansın çok önemli olduğu sistemlerde ve günümüzde özellikle sayısal işaret işleme görevini yapan tümleşik devrelerde (DSP: Digital Signal Processor) ve güvenliğin önemsendiği mikrodenetleyicilerde tercih edilmektedir. Harvard mimari blok diyagramı 32 1.Mikroişlemci sistem mimarisi neyi ifade etmektedir? 14. Bütün komutların aynı uzunlukta olmaları 2.Mikroişlemci kapasitesini belirleyen unsur nedir? nedeniyle donanımı basit ve komutların icra 3.‘CISC’ terimini açıklayınız? süresinin kısa olduğu mikroişlemci / mikro 4.‘RISC’ terimini tanımlayınız? denetleyici mimarisi hangisidir? 5.‘CISC’ yapısında komut işleme şeklini detaylandırınız? 15. Program ve verilerin aynı belleği 6.‘CISC’ yapısını kullanan mikroişlemcilere örnekler veriniz? kullandığı ilk mikroişlemci / mikro denetleyici 7.‘RISC’ yapısını kullanan mikroişlemcilere örnekler veriniz? mimari yapısı hangisidir? 8. PIC Mikro denetleyiciler hangi mimarileri kullanır? 16.‘RISC’ mimarisinin CISC’e göre üstünlüklerini 9. Von Neuman mimarisinin diğer adı nedir? sıralayınız? 10. Komutların karmaşık ve daha yetenekli olduğu, düşük 17. Veri ve program komutlarının farklı belleği ana belleğin daha etkili kullanımının sağlandığı mikroişlemci kullandığı mikroişlemci / mikro denetleyici / mikro denetleyici mimarisi hangisidir? mimari yapısı hangisidir? 11. ‘RISC’ yapısında komut işleme aşamalarını açıklayınız? 12. ‘CISC’ yapısında komut işleme aşamalarını açıklayınız? 13. ‘RISC’ ve ‘CISC’ yapılarını karşılaştırınız? 33
Benzer belgeler
Mikroişlemciler
Mikroişlemci bellek yapısı; bellek bölgelerinin sayısı, her bir bellek bölgesinde
saklanabilecek bit sayısı, adreslenebilecek toplam bellek bölgesi sayısı ve bir bellek
bölgesine erişim şekline gör...
MATEMATİK BİLGİSAYAR BÖLÜMÜ
komut içerir ve her eylem için bir komut tanımlanmıştır. CISC mimaride "donanım yazılımdan
hızlıdır" prensibi geçerlidir. Böylece CISC işlemciler karmaşık kodları çözmek için daha yoğun
donanım kul...
indir
Farklı üreticiler tarafından üretilen mikro denetleyicilerin çekirdekleri/mimarileri
de
farklı yapıda ve özellikte üretilmektedir. Mikro denetleyiciler arasında
aşağıdaki farklar bulunabilir:
• Mim...
Tam Sayfa Görünüm
MİB ve ALU’da işlenen komutlar ve yapılan işlemler ikili sayı düzeninde gerçekleştirilir. Komut, işlem, veri, vb. kavramların ikili sayı
sistemi ile ifadesi, ‘makine kodu’ olarak isimlendirilir. ...
Test Çalışma Notları
denetleyici üretmektedir. Mikro denetleyiciler birbirlerinden sahip
oldukları üniteler(ADC, PWM, Zamanlayıcı, SPI, vb), giriş/çıkış bacak
sayıları, çalışma hızları, veri ve program yolu genişliği, ...