Soruyu biraz daha açman lazım. Mesela fiziksel olarak nasıl bir yapıya sahip olduğunu mu soruyorsun, yoksa çalışma mantığını mı, içindeki componentleri mi, yoksa programları nasıl çalıştırdığını mı?
Genel bi özet geçmeye çalışayım:
Çipin üstünde (yanında yöresinde bir yerde) clock/saat diye bişey var. Bu saat dediğin şey aslında kuvars diye bi kristal. Bu kristale elektrik verdiğinde titremeye başlıyor. Bu titremeyi kullanarak cpu'nun geri kalanına belli bi frekansta elektrik sinyali gönderebiliyorsun.
Misal 3 GHz işlemci dediğin zaman, saati/kristali saniyede 3 milyar salınım yapabilen bir işlemciden bahsediyorsun demek. Bununla sinüs dalgası şeklinde bir elektrik sinyali üretiyorsun, onu da dijitale çevirip işlemcinin geri kalan kısmına gönderiyorsun. İşlemci şöyle bir sinyal alıyor yani: "-_-_-_-_-_-_-_-". Bizim birler sıfırlar bunlar aslında. "-" olduğunda elektrik var, "_" olduğunda elektrik yok demek. Olduğu zamanlarda bir işlem yapıp sonuç alabiliyorsun.
İşlemcinin içinde de "mantık kapısı" dediğimiz yapılar var. Bu arkadaşlar aslında bildiğimiz düz transistörün çeşitli kombinasyonlarla birbirine bağlanmış hali.
Mantık kapısını içinden iki tane kablo çıkan bi kutu gibi düşün. O iki kabloya elektrik verebiliyorsun, kapının türüne göre kutunun üstündeki lamba da yanıp yanmamaya karar veriyor olsun.
Bu durumda mesela elinde AND kapısı varsa, iki kabloya da elektrik verirsen o lamba yanıyor. İşte OR kapısı ise birinden birine elektrik verdiğinde yanıyor. Mesela NOT kapısı ise tek giriş kablosu olur, elektrik verirsen yanmaz, vermezsen yanar falan.
Bunun gibi 5-10 tane mantık kapısı çeşiti var. Bunların milyarlarcasını alıp bi araya getirdiğinde çok kompleks işleri yapabilecek özel çipler üretebiliyorsun. İntel bunu yapıyor mesela, direkt çipin/işlemcinin üzerinde çarpma işlemi yapan bi unit var. Buna CISC mimari deniyor. Bi de daha basit, RISC denilen bi mimari var. Onda mesela çarpma işlemi direkt yok, çarpma yapmak istediğinde aslında ard arda bir sürü toplama işlemi yapıyor. Her çipi amacına göre böyle farklı farklı tasarlayabiliyorsun.
Şimdi bi de RAM var, bu da transistör ama üzerinde saat yok, çünkü işlem yapmıyor, sadece 0-1 (elektrik var-yok) gibi veri tutuyor. CPU'nun üzerindeki çeşitli özel birimler (control unit, address generation unit) gibi, RAM'den belli alanları alıp input olarak işlemciye sokuyor, çıkan sonucu da alıp yine RAM'e yazıyor. Temelde yaptığı şey bu yani. Hangi işlemi yapacağını da RAM'den alıyor, o işlemi yapmak için hangi veriyi nereden alacağını da RAM'den alıyor.
Her işlemcinin üzerinde o işlemciye özel tanımlanmış spesifik komutlar var. Mesela bilgisayar açıldığında işlemci RAM'e bakıp şöyle bi komut görsün:
ADD x10 x20
Bu şu demek, RAM'de 10'da ve 20'de depolanan değerleri input olarak al, toplama işlemi yap (mantık kapılarını kullanarak toplama yapabiliyorsun), sonucu da 10'a geri yaz.
Bu mantık baya hardcode işlemci üzerine gömülmüş bi işleyiş, o yüzden kodu da ona göre yazman gerekiyor.
Bilgisayar mühendisliğinde 4-5 ders halinde anlatılan bir konu aslında bu. Çok yüzeysel özet geçmeye çalıştım ama her alan başlı başına bi dünya.
0