Mikroişlemci Nedir ?
Mikroişlemci, çoğunlukla toplama, çıkarma, sayıları karşılaştırmak, sayıları bir yerden diğerine aktarmak, aritmetik ve mantık işlemlerini gerçekleştiren bilgisayar sistemlerinin merkezi birimine denir. Basit manada; işlemci, merkezi işlem birimi veya mantık yongası olarak da bilinir. Bilgisayarın açıldığı an başlayan, bilgisayarı harekete geçmesini sağlayan bir beyin gibi çalıştığı düşünülebilir. Bir CPU’nun (merkezi işlem birimi) işlevlerini tek bir IC (entegre devre) üstünde birleştiren, çok amaçlı programlanması mümkün olan bir cihazdır.
Mikroişlemci Tarihçesi
İlk mikroişlemci, Federico Faggin’in üretmiş olduğu 4 Bit Intel 4004 olarak kabul edilmektedir. Seramik çift sıralı paket olarak üretilen 4004, daha önce yarı iletken bellek yongaları yapmış olan yonga üreticisi Intel tarafından tasarlanan ve üretilen ilk ticari bilgisayar işlemcisi olarak kendini göstermektedir. Çipin baş tasarımcıları ,tasarım metodolojisini ve silikon bazlı yonga tasarımını oluşturan Busicom ile mimari tanımın tamamlanmasının sonrasında projenin lideri olan Federico Faggin; Mimariyi formüle eden Ted Hoff , hem İntel hem de geliştirilmesinde yardımcı olan Busicom’dan Masatoshi Shima olarak tarihe geçer.
Tam 1 sene sonra 1972’de yine Intel tarafından, iki kat daha güçlü olan bir 8 bit 8008 üretilmesi başarılmıştır. 1978’de İntel, 16-bit 8086 işlemcinin piyasaya sürülmesi ile x86 ailesinin ilki olarak yine tarihe geçmiş olundu. Aynı zamanda 16 bitlik bir çip olan 8088, bir yıldan kısa bir süre sonra üretimi yapılmış oldu. 8088, o sırada hala yaygın olarak kullanılan 8 bitlik yongalarla önceki sürümleri ile uyumlu hale getirmek için tasarlanmış teknolojileri birleştirdi.
Mikroişlemci Türleri
Karmaşık Komut Seti Mikroişlemciler
CISC, sistemi desteklemek için indirme, yükleme vb. gibi diğer düşük seviyeli etkinliklerin yanı sıra siparişleri de karşılayabilmektedir. Ayrıca sadece bir komutla karmaşık matematiksel hesaplamalar gerçekleştirebilir.
Daha basit derleyiciler kullanımı ile iyi çalışan iyi kişisel bilgisayarlar yapımı gerçekleşir. Talimatları birden fazla saat döngüsü bulunmaktadır. Karmaşık komut setlilere bazı örnekler – Intel 386 & 486, Pentium verilebilir.
İndirgenmiş Komut Seti Mikroişlemci
RISC, küçük özel komutları daha hızlı ve yüksek optimizasyonlar ile yürütmektir. Komut seti, basit komutlar ve aynı uzunluk nedeniyle daha kısa haldedir. Kayıtlar eklenmesi ile bellek referanslarını azalması sağlanır.
RISC, talimat alma ve yürütmenin çakışmasına sebep olan ardışık düzen izler. Çoğunlukla yürütmek işlemi yapabilmek için bir CPU döngüsü alırlar. Bazı örnekler – AMD K6 ve K7, vb.
Açıkça Paralel Komut Hesaplama(EPIC)
EPIC, her iki işlemcinin de en iyi özelliklerine sahip, RISC ve CISC’nin bir karışımı bir türdür. Sabit bir genişlik olmaksızın paralel talimatları takip gerçekleştirirler. Derleyicilerin sıralı anlambilim kullanımı yöntemi ile donanımla iletişim kurmasını sağlarlar. Bazı örnekler – Intel IA-64, Itanium, vb.
Süperskalar Mikroişlemciler
Superscalar işlemci, aynı anda birden fazla görevi gerçekleştirmeyi destek sağlayabilir. Birden çok komut taşıma avantajı nedeniyle ALU’larda veya çarpanlarda yaygın olarak bulunmaktadır. İşlemci içinde talimatları iletmek için farklı operasyonel birimler kullanımı vardır.
Uygulamaya Özel Entegre Devre(ASIC)
ASIC’ler, otomotiv emisyon kontrolü kullanımı yapabilme veya kişisel dijital asistan olarak kullanımı yaygındır. Mimarileri çok düzgün bir şekilde belirlenmiş fakat aynı zamanda kullanıma hazır dişlilerle dizayn edilmiştir.
Dijital Sinyal Çok İşlemcileri(DSP)
DSP’ler, video dosyalarını kodlamak ve kodunu çözmek veya analogu dijitale dönüştürmek ve bunun tersini yapma ile ünlüdür.
Matematiksel hesaplamalar için mükemmel işlevleri vardır. RADAR, ev sinemaları, SONAR vb. görevlerin yürütülmesi için bu çipleri kullanır. Intel, Motorola, DEC, vb. gibi şirketler bu türün benzeri birçok mikroişlemci yaptı.
SIMD İşlemciler
Tek Komutlu Çoklu Veri, elemanları seri kullanım yerine paralel kullanan vektörlerdeki hesaplamalar için tasarlanmıştır. Birden fazla ALU’ları mevcuttur ve her birinin veri depolama için yerel bir bellekleri bulunmaktadır.
Bit Dilimli İşlemciler
Bit-Slice işlemciler, kullanıcı tercihine göre belirli kelime uzunluklarına ve yapı taşlarına bulundurur. Ayrıca 4 bitlik ALU’lara, jeneratörlere ve mikro program sıralayıcılara sahiptirler. Bazı örnekler şekildedir: AMD-2900, 29300 serisi ve Texas Instrument SN-74AS88XX serisi.a
Grafik İşlemciler Intel tarafından yüksek çözünürlüklü oyunlar ve filmler için üretilmiş bir mikroişlemci olarak bilinir. Bazı örnekler Intel 82786, Intel i860 ve Intel i750’dir.
Mikroişlemci Nasıl Çalışır ?
- Aritmetik ve mantık birimlerini kullanımı yaparak toplama, çıkarma, çarpma, bölme gibi matematiksel işlemleri gerçekleştirebilmektedir. ALU birimleri bu kısımda devreye girişi ile karmaşık mantıksal işlemleri bile kolayca yapabilmektedir.
- Adres ve veri yolu 8 bitlik bir mikroişlemciyi ele alınacak olursa 2^8 = 256 byte belleğe sahiptir ve bu mikroişlemci 8 bit bellek okuyup yazabilmektedir. (Burada, 4-8-16-32-64 bit birbirinden farklıdır.)
- Mikroişlemciler hem RAM hem de ROM’a bulundurmaktadır. RAM (Random Access Memory), geçici hafıza görevi yapar. Mikroişlemci kapandığı takdirde buradaki veriler silinmektedir. ROM (Ready Only Memory), kalıcı hafızadır ve sistem kapanması durumda dahi buradaki veriler silinmemektedir.
- ROM BIOS olarak bilinmekte olan giriş/çıkış (I/O) ve PC botları, BIOS hafızasına kaydedilmesi ile başlamaktadır.
- BIOS yönlendirmesiyle bilgisayar, önyükleme işlemi için sabit diske yönetilecektir. Sabit diskten alınan talimatlar aracılığı ile, ön yüklemede oluşan bilgiyi RAM’e depolayacaktır.
- RAM ise Rastgele Erişim Belleği anlamına gelmektedir. Komutlara bağlı olarak rastgele baytları okuma işlevi yapabilir ve sistem kapandığında veriler RAM üzerinden silinir.
- Adres yolu (Address Bus) (8-bit, 16-bit veya 32-bit) belleğe bir adres gönderecektir. Benzer şekilde, veri yolu işlevi, verileri bellekten göndermek veya almaktır.
- Okuma yazma satırları (Read/Write) belleğe adres konumunu ayarlayıp ayarlamayacağını bildiriminde önemli bir role sahip durumdadır. Saat satırı (The Clock Line) işlemcinin saat darbesini ayarlama ve sıfırlama satırı sayacı sıfıra ayarlamasını yapma ile programın yürütülmesini de sıfırlar.
- Burada bulunan kayıtlar 0/1’lerle yapılmaktadır. Burada ALU birimine gönderilen bilgilerle işlemler yapılarak 1/0’lar şeklinde sonuçlar alınmaktadır. Bu sonuçlar üç durumlu (3-State) için kullanımı yapılmaktadır.
- Burada, 0/1 bilgileri okuma yazma sayesinde kayıtlanmaktadır ve gerekli adres verilerinde kullanılmak için bekletme işlemi yapılır.
- Komut kod çözücü bu işlemlerden sonra ALU tarafından gerçekleştirilen işlemin çıktısının kodunu çözer ve karşılaştırma kaydıyla birlikte getirme işlemi yapar.
- Talimat setine ayarlı olarak, görevleri her saat döngüsünde gerçekleştirir ve bitiş döngüsünde program sayacı artırılır.
- Çeşitli bit desenleri kümesi olan çoklu talimat kümesi üzerinde çalışması nedeni ile bu talimat bitleri koleksiyonu, işlemcinin montaj dili olarak bilinir. Bu kalıpları çevirme amacı ile bir montajcı kullanılır ve çıktı, işlemcinin programı yürütme yapılabilmesi için bellekte saklamaktadır.
Mikroişlemciler Nerelerde Kullanılır ?
Mikroişlemcilerin birçok kullanım alanları vardır. Bunlar insanların yaşam alanlarından olan evlerden başlayıp endüstriyel alana kadar uzanmaktadır. Bu kullanım alanları örneğin; Evlerde sıcaklığı ayarlamak için bir sensör aracılığı ile mikroişlemciler kullanılmaktadır. Çamaşır, bulaşık, kahve makinesi v.b. ev aletlerinde mikroişlemciler sıklıkla kullanılmaktadır.
Endüstriyel alanlarda ise, arabalar, tekneler, uçaklar, kamyonlar, ağır makineler, asansörler, benzin pompaları, kredi kartı işlem birimleri, trafik kontrol cihazları, bilgisayar sunucuları, çoğu yüksek teknoloji tıbbi cihaz, gözetim sistemleri, güvenlik sistemleri, ve hatta otomatik girişli bazı kapılar üretimlerinde mikroişlemciler kullanılmaktadır.
İletişim alanlarında ise, kullanılan her telefonda, bilgisayarlarda mikroişlemciler bulunmaktadır. Modemlerde kullanımı genellikle mevcuttur, bilgisayar ağları üzerinde sıkça kullanılan, WAN (Geniş Alan Ağı) ve LAN (Yerel Alan Ağı) içerisinde de kullanımları bulunmaktadır.
Mikroişlemci ve Mikrodenetleyici Arasındaki Farklar Nelerdir ?
Mikroişlemci bir merkezi işlem birimi olduğu için işlemlere sadece karar verebilme yeteneği bulunmaktadır faka bu işlemleri gerçekleştirme yeteneği yoktur. Mikrodenetleyici ise içinde işlemci,hafıza,giriş-çıkış,ram,rom gibi birimleri taşımakta olan bir bilgisayar mekanizmasıdır. Yani mikrodenetleyici, tek başına işlemleri denetler ve bu sırada ayrıca gerçekleştirir.
Mikroişlemciler, karmaşık yapılarda kullanımı mevcuttur fakat mikrodenetleyici bunun tersine daha basit işlemlemlerde kullanılmaktadır.
Mikroişlemci Nasıl Kodlanır ?
Bir mikroişlemciyi kodlamak için öncelikle bir mikroişlemci var olması gerekmektedir.
Ardından ise bir derleyici (IDE) kullanılması gerekmektedir. Burada, kullanılabilecek dillerin sayısı çok fazladır. C ve Assembly programlama dilleri genelde en çok kullanılan dillerdir.
Bir IDE aracılığı ile kodlanan mikroişlemcinin IDE üzerinde bulunan Debug yardımıyla kodlanmış olan kodu derleyerek, adım adım kontrol edebilmektedir.
Tekrardan IDE yardımıyla yazılan kodu mikroişlemcinin içine atılması, mikroişlemcinin kodlamasını tamamlayıp çalışması sağlanabilir.
Assembly Dili İçin Kullanılacak IDE’ler Nelerdir ?
1-Microsoft MASM (Macro Assembler)
Microsoft’un x86 mimarisi için ürettiği 16/32/64 bit desteği mevcut olan, en eski derleyicidir. Windows için kullanılmaktadır.
2-Netwide Assembler (NASM)
İntel x86 mimarisi için üretilmiş olan bu derleyici 16/32/64 bit programlar yazılımı için kullanılmaktadır. Linux için kullanılan en popüler derleyicidir.