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
                         
                     
                 
                
                
             | 
         
        
            | 
                
             | 
         
     
                 |