Bilgisayar programcılığından ve bilgisayar/cpu mimarisinden iyi derece anlayan var mı
#4
işlemcilerin çalışma mantığı
başlıklı bu makale birçok soruya yanıt verir nitelikde

Kod:
Bir bilgisayarın en önemli parçası işlemcidir. Kısaca CPU (Central Processing Unit / Merkezi İşlem Birimi) olarak anılan işlemciler, adından da anlaşılacağı üzere bir bilgisayardaki işlemleri yürüten ve sonuçları gerekli yerlere gönderen elemandır. Bugünün mikroişlemcileri bilgisayarınızın beyinidir. İçindeki ince silikon yonga (chip) milyonlarca anahtar ve bağlantı iletkenleri bilgisayarınızın önemli kararlar almasını sağlayan ve bu işlemleri çok hızlı bir şekilde yapan elemandır.
Mikroişlemciler, açma kapama anahtarı gibi çalışan milyonlarca transistörden oluşmaktadır. Bu anahtarların programlanma durumuna göre elektrik sinyalleri bunların üzerinden akar. Bu sinyaller, bilgisayarın yaptığı tüm işleri toplama, çıkarma, çarpma ve bölme gibi temel matematiksel işlemlere indirir. İşlemci de bu işlemleri en basit sayma sistemi olan ikilik (binary) düzen yani sadece 0 ve 1 sayılarını kullanarak yapar.
Mikroişlemciler her türlü işi ikilik sayma sistemine dökmüştür. Mesela “Y” harfi ikilik sistemde “1011001” ile ifade edilebildiği gibi kırmızı gibi bir renk de bunun gibi ikilik tabandaki üç ayrı sayı grubu ile ifade edilir. Aynı şekilde bir ses veya görüntü kaydı da yine buna benzer ikilik sayı grupları ile ifade edilirler.
Bu sayı grupları üzerinde işlem yapmak için işlemci içerisinde bir takım komut listesinden ibaret bir program mevcuttur. Bu komutlar işlemciye iki sayının çıkarılması, toplanması yönünde emir verebildiği gibi klavyeden girilen tercihlere göre bir takım komut satırını atlayıp (şartlı dallanma - conditional branch) diğer komut satırlarını yürütmeye devam edebilir.

birimler

İşlemci üzerinde komutları icra etme işini uygulama birimi (execution unit) ya da fonksiyon birimi (function unit) adı verilen üniteler gerçekleştirir. Modern işlemcilerde değişik komut türlerini işletmek üzere birden fazla fonksiyon birimi bulunur. Çoğunlukla aritmetik/mantıksal birim (arithmetic/logic unit) olarak da anılan tamsayı (integer) birimleri tam sayılar ile ilgili işlemleri yapar. Kayan nokta birimi (FPU-Floating Point Unit~Matemetik İşlem Birimi) ise ondalıklı sayılarla ilgili işlemleri yapar. Bir mikroişlemcide ne kadar fazla fonksiyon birimi varsa aynı anda çalışabilecek komut sayısı da o kadar artar.

Register seti

Registerler, işlem anında bir program tarafından kullanılmakta olan sayıların saklandığı geçici hafıza hücreleridir.

Pipelining

Pipelining , tıpkı bir fabrikadaki seri üretim bandı gibi çalışır. Bir fonksiyon birimi, her komutun işletilmesini aşamalarına ayırır. Basit bir pipeline’de beş ya da altı aşama olabilir. Bir superpipeline’da ise 10 ya da daha fazla aşama olabilir. Böyle bir pipeline’dan aynı anda birkaç komut birden akabilir. Her komut da ayrı bir aşamada işlem görmekte olabilir. Superscalar bir işlemcide her birisinin kendisine ait pipeline’ı olan iki ya da daha fazla fonksiyon birimi yer alabilir. Böyle bir işlemci birkaç komutu birden paralel olarak işletebilir.


Cache

Cache, çalışmakta olan bir programa ait komutların geçici olarak saklandığı bir hafızadır. Cache bellekler, işlemcinin komutları daha hızlı yüklemesini sağlayan yüksek hızlı hafızalardır. Cache bellekler, Level 1 (L1) , Level 2 (L2) ve Level 3 (L1) olmak üzere üçe ayrılırlar

İŞLEMCİ NASIL ÇALIŞIR?

Bir işlemci ile ilgili en çok merak edilen konulardan birisi, o işlemcinin klavye veya fare gibi farklı kaynaklardan aldığı komutları tam olarak nasıl algıladığı ve işleme soktuğudur. Veriler herhangi bir yoldan bilgisayara girildiğinde önce elektrik sinyallerine çevrilirler. Sinyaller iki durumdan oluşur. Kapalı (off=0) veya açık (on=1).
Elektrik sinyali ile bunu yapmak kolaydır; elektrik ya vardır (1) ya da yoktur (0). Bu iki durum prensibi (two state principle) olarak bilinir. İki durum prensibini tanımlamak için iki parçadan oluşan anl##### gelen ikili (binary) terimi kullanılır. Bilgisayarlarda veriler binary digits adlı temel elemanlarına yani kısa adıyla bits’lerine ayrılarak 0 ve 1 (yani açık ve kapalı) sayıları ile değerlendirirler. Verilerin ikili sistem şekline çevrilmiş haline ikili kodlama (binary coding ) denir. Bir bilgisayar içinde devreleri oluşturan yongalar üzerinde milyonlarca mikroskobik elektronik anahtar (switch) vardır. Bir mikro işlemciyi yakından incelediğimizde, her biri elektrik sinyallerinin iletiminde kullanılan çok sayıda ayaklar (pin) içerdikleri görülür.
KOMUT VE PROGRAM KAVRAMLARI
--------------------------------------------------------------------------------

İşlemci komutlar ile çalışır. Bu komutların arka arkaya dizilişlerine Program denir. İşlemcinin yapabileceği her bir işlem bir komut ile ifade edilir. Örneğin TOPLA A,B,C komutu işlemciye A sayısı ile B sayısını toplayıp sonucu C olarak kaydetmesini anlatır. Komutların işlemci içerisinde sırayla çalıştırılmasını yukarıda tanımladığımız Kontrol Birimi gerçekleştirir.

Bu komut nasıl gerçekleştirilir?
1. İşlemci Adres yolunu Kullanarak A Sayısını Bellekten ister.
2. Bellek Veri Yolundan A Sayısını İşlemciye Gönderir.
3. İşlemci Adres yolunu Kullanarak B Sayısını Bellekten ister.
4. Bellek Veri Yolundan B Sayısını İşlemciye Gönderir.
5. İşlemci A ve B Sayısını Toplar ve Sonucu Bulur.
6. İşlemci Adres yolunu kullanarak C Sayısına Bilgi Göndereceğini Belleğe Bildirir.
7. İşlemci Veri Yolunu Kullanarak C Sayısını Belleğe Gönderir.
8. Bellek Gelen Sonucu C Sayısı olarak kaydeder.

İki sayının toplanması yukarıdaki şekilde gerçekleşir. Bütün bu işlemler saniyenin milyarda biri gibi kısa bir sürede gerçekleştirilir. İşlemci TOPLA komutunu bitirir bitirmez hemen arkasından gelen komutu (eğer varsa) gerçekleştirmeye çalışır.
Bir de böyle düşün - Büyük Hilmi
WWW
Cevapla


Bu Konudaki Yorumlar
Bilgisayar programcılığından ve bilgisayar/cpu mimarisinden iyi derece anlayan var mı - Yazar: BigHillMe - 14/04/2013, Saat: 22:39

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Grafik tasarımdan anlayan? Lord Sparhawk 9 4,890 26/02/2019, Saat: 21:35
Son Yorum: batmanforever
  Bilgisayar Oyunları tugruldogan 67 61,272 07/02/2019, Saat: 20:06
Son Yorum: 3RD1
  Hala oynamaya devam ettiğiniz bilgisayar/telefon oyunu Dragon 14 5,958 04/04/2018, Saat: 11:22
Son Yorum: Selman
  Klasik gitarlardan anlayan komşularım tavsiyelerinize ihtiyacım var. kirli sakal 5 5,086 24/01/2017, Saat: 01:09
Son Yorum: caneser
  Bilgisayar için hoparlör tavsiyesi Viyaduk 12 16,507 29/05/2014, Saat: 07:46
Son Yorum: Viyaduk
  Doğal Taşlardan Anlayan Var mı? tamer26 6 9,099 01/05/2013, Saat: 20:42
Son Yorum: tamer26
  Günün kaç saatini internet/bilgisayar karşısında geçiriyorsunuz? Lord Sparhawk 15 19,134 14/08/2012, Saat: 19:20
Son Yorum: linguist

Hızlı Menü:


Konuyu Okuyanlar: