2. İşlemci nedir?
• İşlemci-CPU (Central Processing Unit-Merkezi İşlem Birimi) bilgisayarların
beyni olarak nitelendirilir. Önemi adında da anlaşıldığı gibi bilgisayarın en
önemli kısmıdır. Sadece bilgisayarlarda değil, tüm elektronik cihazlarda
bulunur.
3. Tarihçesi
• İlk işlemciler transistörün icadı ile sadece belirli işlemleri yapmak için
üretiliyordu. İlk tam işlem kapasiteli işlemci ise 1970 yılında intel 4004 ile
meydana çıktı. Buna daha sonra intel 8080 (1974) dahil olunca tüm
elektronik işleçler cpulara bırakıldı.
4. Görevleri nelerdir?
• İşlemciler ülkelerin yöneticileri gibi bilgisayarın yöneticisidirler ve devrenin
beyni konumundadırlar. Nasıl ülke yöneticileri ülkeyi yasalar, bakanlıklar,
hükümet gibi varlıklarla yönetiyorlarsa işlemci de devre için bunu RAM, sabit
bellek, kontrol sinyali gibi kavramlarla yapar.
6. İşlemci Bunu NasılYapar?
• İşlemciler devrenin beyni olarak yönetim işlemini yaparken;
• Giriş birimleri
• İşlemci
Ön bellek
ALU
CU (Kontrol Birimi)
• Çıkış Birimleri
Giriş
İşlemci
Ön Bellek
CU
ALU
Çıkış
7. İşlemci Bunu NasılYapar?
İşlemci işlemleri yaparken giriş biriminden gelen verileri belirli birimlerde
işleyerek çıkış üretir. Şimdi bu birimleri ve görevlerini inceleyelim.
8. Çekirdek (Core veya EU)
Komutların işlendiği bölümdür. İş hattından beslenerek tamsayılarla okuma,
değiştirme, komut çağırma işlemlerini gerçekleştirir. ALU, Durum reg.,
Program Counter gibi bölümleri vardır.
9. ALU (Arithmetic Logic Unit – Aritmetik
Mantıksal Birim)
İşlemciden gerçekleştirilmesi istenen aritmetik ve mantıksal işlemleri
gerçekleştirir. İşlemin sonuçlarından hareketle durum sayacını etkiler.
Aritmetik İşlemler :Toplama, Çarpma, Çıkarma, Bölme, Bölümünden Kalan Bulma
Mantıksal İşlemler : AND (ve), OR (veya), XOR, NAND, NOR, …
10. ALU (Arithmetic Logic Unit – Aritmetik
Mantıksal Birim)
Gelişmiş işlemcilerde de FPU (Floating Point Unit) AdresTakip Sistemi veya
Kayan Nokta birimi şeklinde adlandırılan birimde tamsayı dışındaki sayılarda
işlemi kolaylaşturır.
11. Registerlar
İşlemler sırasında veya sonrasında anlık olarak data muhafazası sağlayan
birimdir. Örnek olarak PC işlemcinin program verisinin adresini tutarak
programın kaldığı yerden devam etmesinin sağlar.
Durum registerlarına örnek olarak da Zero Flag, işlemlerin sonucunun sıfır
olup olmama durumunu işlemden sonra saklar.
12. Önemli Registerlar
• A Register : Akümülatör Register, aritmetik ve I-O işlemlerinde kullınılır.
• B Register : Beyz Register, ağırlıklı olarak adres indexleme işlemlerinde
kullanılır.
• C Register : Count Register, döngülü işlemlerde ve çarpım işlemlerinde
kullanılır.
• D Register : Data Register, I-O işlemlerinde, bölme işlemlerinde, bellek ile
alakalı bazı işlemlerde kullanılır.
13. Önemli Registerlar (Pointerlar)
• Instruction Pointer : Çalıştırılan komutun adresini barındıran registerlardır.
• Stack Pointer : Program bloğu içerisindeki komutların adresini barındıran
registerlardır.
• Base Pointer : Program parçacıklarının referans noktalarını barındıran
registerlardır.Ve çok çekirdekli işlemcilerde ölümcül öneme sahiptir.
14. Önemli Registerlar (Index Registerlar)
• Source Index : Bellekte belli bir dizinin tamamına bir okuma işlemi
uygulanacaksa kullanılır.
• Destination Index : Bellekte belli bir dizinin tamamına bir yazma işlemi
uygulanacaksa kullanılır.
15. Önemli Registerlar (Durum Flagları)
• Direction Flag : Bellekte belli bir diziye işlem uygulanmasına bağlı olarak
değişir.
• Interrupt Flag : İşlemciye dışarıdan bir müdehale ile işlemine devam edip
etmemesine karar verir
• Trap Flag : İşlemcinin tekli veya çoklu işlem yapmasına karar verir .
• Sing Flag : sayısal işlemlerde negatif sayılar için kullanılır.
• Zero Flag : İşlemin sonucunun 0 olmasına göre değişir. Karşılaştırma
işlemlerinde ölümcül önemdedir.
• Carry Flag : İşlemin sonucunda artan sayı olmasına göre değişir.
16. Önemli Registerlar (Segment Registerlar)
• Code Segment :Yürütülecek komutların sırasını takip eder.
• Data Segment : İşlenecek veya yüklenecek verilerin sırasını takip eder.
17. Kontrol Birimi (CU-Control Unit)
İşlemciye gelen kodun anlamlandırılmasında görevlidir. Komutun türüne göre
ALU ve diğer işlemci birimlerinin içerisindeki bölümlerden hangisinin
çalıştırılacağına karar verir. Kontrol sinyallerini bu ünite üretir.
Not : Hız aşırtma işlemi buradaki transistörlerin kesim noktasına erkenden
varması için kontrol sinyallerinin Hertz değerinin artırılması ile gerçekleşir.
18. Ön Bellekler
İşlemcinin dışından gelen veriler işlemcinin hızına yetişemezler. Burada işlemci
komutu veya datayı işlemeden önce hızlı erişebileceği bir belleğe alması ve
oradan okuması gerekir. İşte burada devreye ön bellekler girer. Boyutları 2 –
256 KB arasında değişir.
Kod ön belleği komutların, veri ön belleği de verilerin (dataların) saklandığı
birimdir.
Paylaşımlı Ön Bellek ise çok çekirdekli işlemcilerde çekirdeklerin koordineli
işlemler için ortak kullandığı bellektir.
19. İletişim
İşlemci içinde birimler arası iletişimi ve işlemci ile diğer parçalar arası iletişimi
sağlamak içindir. 32 bit işlemciler için 32 adet, 64 bit işlemciler için 64 adet veri
yolu ve adres bulunur.
Örneğin 32 bitlik bir işlemci RAM’da bir adrese erişmek için bu bitleri kullanır
ve toplamda 2^32 = 4GB veriye erişebilir.
20. AdresYolu
• İşlemcinin yazma veya okuma yapacağı bellek adresleridir. RAM’de bulması
gereken veriyi ararken RAM’e bir adres vermesi gerekir ve bu adres verisi
adres yolundadır.
21. Veri ve KontrolYolu
• İşlemciler ile diğer birimler arasında çift veya tek yönlü data alışverişini
sağlar.
• İşlemci içi veya işlemci ile diğer birimler arasında senkronize çalışmayı ve
koordineyi sağlar.
22. Program Nasıl Çalıştırılır?
• İlk olarak işlemci sabit bellekten bir veri okur ve bunu RAM belleğe yazar.
• Sonra Registerlar uygun pozisyona getirilir.
• RAM’dan program parçacığına ait veriler Cache üzerine yüklenir.
Komutlar artık işletmeye hazır hale gelmiştir ve işlemler işlemcide işlenip
çıktılar üretilmeye başlanır.
23. ÖnemliTeknolojiler
• HyperThreading :Tek bir işlemcide zincir kuralı doğrultusunda çoklu işlem
yapabilme yeteneğidir. Kişisel bilgisayarlarda çok yaygın kullanılır.
• Çok ÇekirdekliYapılar : İşlemcinin aynı anda iki çekirdekle koordineli şekilde birçok
işlem yapabilmesidir.
• Centrino : Düşük güç tüketimi için geliştirilmiş bir teknolojidir ve dizüstü
bilgisayarlarda kullanımı oldukça yaygındır.
• Smart Ön Bellek : Ek olarak kullanılan bir ön bellektir.
• Turbo Boost : İşlemcinin Hız aşırtma işlemi ile clock hızının artırılmasıdır. Uzun süre
yapılması zararlıdır.
• Quick Path ve HT Link : RAM ile işlemci ilişkisinin kuzey köprüsünden daha hızlı
yöntemlerle bağlanmasıdır
24. Mikrodenetleyici Nedir?
İşlemci ve işlemciye bağlı çalışan diğer birimlerin bir arada bulunduğu bir tüm
devre paketidir. Otomasyon ve kontrol işlemleri için işlemciye göre daha
kullanışlı olmasından daha çok tercih edilir.
Paket içinde işlemci, RAM, ROM, I-O sistemleri bulunur.
Genelde Microchip, Atmel, intel,Texas Ins., Motorola gibi şirketler piyasada
daha yaygındır.
25. RAM Nedir?
İşlemci için hızlı şekilde okunup yazılabilen ve geçici olarak verileri saklayabilen
hafıza birimleridir. Adres yolu ile istenilen veri istenilen adresten alınır veya
istenilen adrese yazılır.
26. ROM Nedir?
Mikrodenetleyicilerde kalıcı hafıza birimidir. Program ve veriler burada
saklanır. RAM’e göre yavaştır ve daha ucuzdur.
Not : Bilgisayarlarda işlemci bir çok farklı kalıcı hafıza birimi bulundurur.
Bunlar BIOS, HDD, SSD, FD, CD, USB Memory. Fakat bunlardan bazıları önemli
veya ölümcül derecede değildirler.
27. Mikrodenetleyicilerdeki Diğer Bölümler
• Programlanabilir Paralel I-O Sistemi
• Programlanabilir Analog I-O Sistemi
• Seri I-O
• PWM (Pulse Width Modulation)
• Timer
• Interrupt (Harici veTimer ile Kesme işlemleri)
28. Örnek Mikrodenetleyici (intel 8051)
• 8 Bit – CPU
• 64KB Program Belleği
• 64KBVeri Belleği
• 4KB Program Belleği
• 128B RAM
• EPROM
• 2 Adet 16 Bit Timer/Counter
• 32Adet I-O Hattı
29. Mikrodenetleyici Mimarisi
Mikrodenetleyiciler Harvard mimarisine göre tasarlanırken bilgisayar
mimarileriVon Neuman mimarisine göre tasarlanır. Harvard mimarisi veri ve
programların ayrı belleklerde tutulmasını,Von Neuman ise karışık şekilde
verildiği sistemlerdir.
30. Örnek Bir işlem
Bir mikrodenetleyici veya bilgisayara aşağıdaki işlemi yaptırmak için bir kod
yazalım ve nasıl çalışacağına bakalım. Kodumuzu makine diline en yakın dil
olan assembly ile yazalım ve kodu sabit belleğe yükleyelim.
mov c,0xa // c = 10
islem1: mov d,c // d = c
add d,0x10 // d = d + 16
mov s,c // s = c
mov a,[s] // a = Memory [s]
mov [d],a // Memory[d] = a
Inc c // c = c + 1
cmp c,0xf // c - 15 yap ama registera kaydetme
Jne islem1 // zero flag 0 değil ise islem1’e atla
31. Örnek Bir işlem
Programımızda C Registeri sayaç olarak 10’dan 15’e kadar saydırdık.Ve her
döngüde D = C + 16, S = C yaptırdık.
Böylece D bellekte 26’da 31’e kadar, S ise 10’da 15’e kadar seçti ve S adresinden
D adresine 6 baytlık kopyalama işlemi yapıldı.
32. Teşekkürler
Kaynakça
• Megep
• http://www.Harvard.com/
• http://menuetos.org/
• NTFS Drives (Neil G. DICKSON 2007)
• PC Donanımı Herkes İçin (Mehmet ÇÖMLEKÇİ 2005)
• Bilgisayar Donanımı (Pala ZEYDİN 2005)