SİTE
İÇİ ARAMA |
|
Blogroll |
|
|
|
Kaydediciler ve Hafıza |
|
Gönderiliyor lütfen bekleyin... |
|
|
Mikroişlemcinin ve
hafızanın fiziksel yapısı ile programcının bu donanımlara bakışı biraz
farklı olabilir. İşte biz bu makalemizde programcı gözüyle bu donanımları
inceleyeceğiz. Ayrıca bu makalemizde yeni bir program yazarak
kaydedicilerin nasıl çalıştığını ve mikroişlemcinin hafızaya nasıl eriştiğini anlamaya çalışacağız.
Assembly programcısı sisteme nasıl
bakıyor?
Mikroişlemci bir çok karmaşık birimden oluşur, neyse ki programcılar donanımsal
olarak sistemleri fazla yakından bilmek zorunda değillerdir. Bir assembly
programcısı sadece mikroişlemci içindeki birkaç kaydediciyle ilgilenir. Bunun
dışındaki birimler genelde okullarda bilgilendirmek amacıyla verilir, örneğin
CPU içinde bir ALU biriminin olduğunu bir çok programcı bilir ama bu birimin
çalışması ile ilgilenmezler. Bir assembly programcısı keskin bakışlarını
mikroişlemcinin içinden çekip :) sistemin tamamına baktığında bile, donanımların
ve donanımları birbirine bağlayan birimlerin çalışması ile ilgili fazla birşey
göremez yada görmesine gerek yoktur. Programcılık ve elektroniğin sınır noktası
budur aslında. Assembly programcıları kaydediciler, hafıza veya sistemi
oluşturan birimlerde dolaşan elektron akımlarını 1’ler ve sıfırlar olarak
görürler ve genelde bu 1 ve 0’lardan enaz 8 tanesini yan yana gördüklerinde
bir şeyler anlamaya veya yorumlamaya başlarlar.
X ışınlı gözlerimiz PC üzerinde?
Şekil 1 - PC’nin kabaca iç organizasyonu
Bir sisteme
bilgisayar diyebilmeniz için o sistemin en az 1 CPU, memory (RAM-ROM/Hafıza) ve
I/O (Input-Output/Giriş-Çıkış) birimin olması gerekir. Elbette bu birimle
birbirlerine yollar (bus) ile bağlı olmalı ve sistemin açılabilmesi için
hafızasında bir firmware programının yüklü olması gerekir. Yukarıdaki şekilde bu
birimleri görüyorsunuz. Dikkat ederseniz bütün yollar CPU’ya çıkıyor, diğer
birimler arsında doğrudan bir bağlantı yok, bunun böyle olması gerekir yoksa
işler kontrolden çıkabilir. Aslında her modern bilgisayarda DMA (Direct Memory
Access/Doğrudan Bellek Erişimi) adında bir transfer yapısı mevcuttur fakat bu
özellik kullanıcı tarafından kapatılabildiğinden dolayı birimler
arasındaki en temel bağlantı yukarıdaki şekildeki gibidir. Ayrıca DMA özelliği
kullanıldığında CPU veri transferinden elini ayağını tamamen değil kısmen çeker,
CD-ROM kilitlenmelerinde Ctrl+Alt+Del kombinasyonun zorda olsa çalışması bundan
dolayıdır. Ne demişler kontrolsüz güç, güç değildir :)
Konuyu fazla
dağıtmadan isterseniz X ışınlı gözlerimizle CPU’ya zoom yapalım :)
X ışınlı gözlerimiz CPU üzerinde?
Şekil 2 - Mikroişlemcinin kabaca iç yapısı
Sistemi içindeki birimleri birbirine bağlayan yollar, mikroişlemcinin içinde de
devam eder. BUS dediğimiz bu yapılar birçok iletkenden oluşur. Kontrol yolunda
R/W (oku/yaz) gibi kontrol sinyalleri, veri yolundan işlenecek veriler gidip
gelir. Adres yolu iste tek yönlüdür ve CPU’dan diğer birimlere doğru sinyal
akışı olur, örneğin hafızaya bir veri yerleştirilmeden önce adres yolundan
verinin yerleştirileceği hafıza adresinin bilgisi gönderilir. Bunu daha iyi
anlamak için aşağıdaki animasyonu izleyebilirsiniz yada animasyonu offline
izlemek için download
edebilirsiniz.
Makale:
Kaydediciler ve Hafıza Assembly ve X86 Programlama Eren Erener
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|
|