Bu gün mikroişlemciler hakkında biraz detay içerikli şeyler yazmak istiyorum.  Bir çok kişi bir bilgisayarın en temel dijital yapısını bilir.  RAM, ,CPU(mikroişlemci) ve Input/Output üniteleri…  Bilgisayarın en temel bu yapı taşları, ayrı ayrı birimlerdir.  ROM da yapılması gereken program talimatlartalimatları tutulur, bu talimatlar doğrultusunda input ünitelerinden gelen veriler CPU da tüm aritmetik ve matıksal işlemlere tabi tutulur  ve sonuç verileri output ünitelerine gönderilir.

microprocessor

 

Birbirinden ayrı bu birimlerin arasındaki iletişimi sağlamak için üç hat kullanılıyor. Bunlar Adres Hattı, Kontrol Hattı ve Veri Hattıdır. Her hattan birden fazla vardır. Mesela veri hattı eğer 4 tane ise bu hat üzerinden 4 bit veri aynı anda taşınabilir. Ve biz bu bilgisayara 4 bitlik bilgisayar deriz. Günümüzde 32 bitlik ve 64 bitlik kişisel bilgisayarlar kullanılıyor.  Tabi burada işletim sisteminin kullandığı bit sayısı da önem arz ediyor. 64 bitlik bir bilgisayara 32 bit işletim sistemi kurabilirsiniz fakat 32 bitlik bir bilgisayara, 64 bitlik işletim sistemi kuramazsınız.  Bilgisayarınızın bit sayısı, bilgisayarın hızında ve işlem kabiliyetinde doğrudan etkilidir. Bilgisayarınız ne kadar çok bite sahipse o kadar büyük sayılarla işlem yapabilir.

ArchDesign

Kontrol hatları, isminden de anlaşılacağı gibi kontrol sinyallerini taşır. Bu kontrol sinyalleri birimler arasındaki haberleşmeyi yönetir ve I/O ünitelerinin kontrollerini sağlar. Adres Hatları ise RAM adres bilgilerini taşır.

Bir RAM hücresi 1 bitlik veri saklar ve bunlar bir araya gelerek kelime boylarını oluşturur. Bunu bir abaküs gibi düşünün. Abaküsün her satırı kelime boyudur ve her satırdaki boncuklar da RAM hücreleridir.  Mesela 8 bitlik bir kelime boyunda 128 e kadar olan sayılar saklanabilir çünkü 128 sayısı, ikilik tabanda 8 basamaklıdırbasamaklıdır yani 8 bittir. Ram’deki bu her satıra yani her kelime boyuna bir adres verilir.  Ve Ram içerisinde kaç tane kelime boyunuz varsa doğru orantılı olarak o kadar adres hattına ihtiyacınız olacak. Eğer yeterli adres hattınız yoksa RAM içerisindeki yeterli adress hattına sahip olmayan kelime boylarına ulaşamazsınız.  Ayrıca RAM kendi içerisinde ROM ve EEPROM barındırır.  ROM ve EEPROM kalıcı dijital hazfızalardır. Eğer silinmesi istenmeyen bazı veriler varsa buralara yazılır. Mesela program komutları ROM’un içerisine yazılır. Bu yüzden bilgisayar kapansa bile bu program komutlar silinmez. Bilgisayarın ana BIOS programı gibi mesela. 8051ram_sfr

Ram’in dijital yapısı ve çalışma mantığı hakkında bilgiler için şu yazıyı okuyabilirsiniz;

Flip Floplar ve RAM Hücreleri

 

Bir mikroişlemci en az ısınma ile mümkün olabilecek en yüksek hızda yani en yüksek osilatör(Clock) frekansında(2.4Ghz, 3 Ghz gibi..) işlem yapabilmesi için tasarlanır.  Temel olarak 3 bölümden oluştuğunu söylesek yanlış olmaz sanırım. Bunlar, ALU(Aritmetic Logic Unit), CU(Control Unit) ve Register yani kaydecilerdir.    ALU, isminden de anlaşılacağı üzere tüm mantıksal ve aritmetik işlemlerin gerçekleştirildiği yerdir. Bu Birim, içerisinde Mantıksal işlemler için OR, AND, XOR, NAND, NOR gibi operatörleri barındırır.  Aynı zamanda ALU, yine bu operatörlerden oluşturulan Binary Adder, Subtructer, Multiplexer gibi ikilik tabanda toplama, çıkarma ve çarpma işlemleri yapan dijital devreler barındırır.  İşlemci, aritmetik işlemler sırasında bazen bazı küçük anlık verilerin küçük kaydedicilerde tutulmasına ihtiyaç duyar. Mesela bir toplama işleminin eldelikleri, sayıcı bilgileri ve ya RAM e gönderilmek üzere kaydedilen herhangi bir sayı bilgisi. Bu gibi veriler aşağıdaki şemada gösterilen File Register ismideki küçük dijital hafızada tutulur. Tabi buna farklı işlemci mimarilerinde  Working Register ve ya Accumulator de deniyor.

proc

Control birimi,  daha önce de dediğim gibi birimler arasındaki haberleşmeyi ve I/O ünitelerini yönetir.  İşlemciye ROM dan gelen program talimatlarını sayan bir sayaç vardır. Program Counter,yazmış olduğumuz ve ROM dan satır satır gelen program komutlarını sayar ve bu sayede programlama algoritması atlanmaz.

RAM deki adres bilgilerinin tutulduğu Memory Adress kaydedicileri, RAM e kaydedilen verilerin adreslerini tutar. Böylelikle, istenilen veriler RAM den geri çağrılıp tekrar işleme tabi tutulabilir.  ALU biriminde gerçekleştirilen mantıksal işlemler sonucunda ortaya çıkan veriler kontrol birimine gönderilmek üzere Instruction Register ismindeki talimat kaydedicisine gönderilir.  Bütün talimatlar ve veriler aslında hiç bir yere direk gönderilmez.  her zaman ilk önce bir küçük kaydediciye gönderilir oradan da gönderilmesi gereken yerlere gönderilir. Bunun nedeni şudur; bazen bazı işlemlerin hemen yapılmasını istemeyebilirsiniz.  Bu durumda bazı küçük verilerin bir yerlere tutulması gerekir. Ya da önceki talimatları yeni talimatlarla kıyaslamak da isteyebilirsiniz.   CPU içerisinde Multiplexer’ın kullanılmasının sebebi ise adres kaydedicisinin içerisindeki adres bilgisi doğrultusunda doğru adrese giden adres hattını seçmektir.

Kabataslak bir işlemcinin yapısı bu şekildedir. tabi tüm bu birimler  mantıksal operatörlerle bu mantıksal operatörler de transistörlerle oluşturulur. Yani bir işlemcinin neredeyse tamamı Transistörlerden oluşur.  Ve bu gün işlemcilerin üretiminde insanlık, tarihinin en yüksek teknolojisini kullanıyor. Bence Mikro işlemciler  insanlığın üretebildiği en mükemmel ürünlerdir. 🙂