Flynn Sınıflanırması (Flynn’s Taxonomy)

Yazan : Şadi Evren ŞEKER Micheal Flynn tarafından 1966 yılında yapılan bu sınıflandırma, bilgisayar mimarilerini 4 ana grup altında toplar. Bu gruplar aşağıdaki şekilde sıralanabilir: SISD (Single Instruction Single Datastream) Tek Komut Tek Veri akışı SIMD (Single Instruction Multiple Datastream) Tek Komut Çok Veri akışı MISD (Multiple Instruction Single Datastream) Çok Komut Tek Veri akışı […]

Devam

Von Neumann Makinesi

Yazan : Şadi Evren ŞEKER Bilgisayar bilimleri açısından, von neumann makineleri, günümüz klasik bilgisayarlarının temellerini oluşturur. Bu makine tanımında basitçe bir işlemci, bir hafıza ve giriş / çıkış sistemleri modellenmiştir. Yukarıdaki şekilde görüldüğü üzere, hafıza (memory) ile bir kontrol birimi (control unit) ve bir de aritmetik mantıksal birim (artihmetic logical unit) arasında iletişim kurulmaktadır. Ayrıca […]

Devam

Ön Hafıza (Cache)

Yazan : Şadi Evren ŞEKER Bu yazının bütün hakları saklıdır ve izinsiz kopyalanması veya alıntı yapılması kanunen koruma altındadır. Bu yazıya dilediğiniz şekilde atıfta bulunabilir (reference) ve bağlantı (link) verebilirsiniz. Bilgisayar bilimlerinde sıklıkla kullanılan ve herhangi bir hafıza işleminin nispeten daha küçük ve daha hızlı dolayısıyla da daha pahalı ilave bir hafızada yapılmasını ifade eden […]

Devam

Turing Makinesi (Turing Machine)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar (Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından […]

Devam

Atomluluk (Atomicity)

Yazan: Şadi Evren ŞEKER Latince bölünemez anlamına gelen atom kökünden üretilen bu kelime, bilgisayar bilimlerinde çeşitli alanlarda bir bilginin veya bir varlığın bölünemediğini ifade eder. Örneğin programlama dillerinde bir dilin atomic (bölünemez) en küçük üyesi bu anlama gelmektedir. Mesela C dilinde her satır (statement) atomic (bölünemez) bir varlıktır. Benzer şekilde bir verinin bölünemezliğini ifade etmek […]

Devam

Yükleyici (Loader)

Yazan : Şadi Evren ŞEKER Yükleyiciler basitçe bir programı diskten alıp hafızaya yüklemekle sorumlu programlardır. Bir program yazıldıktan ve derlendikten (compile) sonra programın makine dilindeki karşılığı elde edilir. Bu karşılık tam bir kod olmayıp harici kütüphanelerden faydalanıyor olabilir. Bu kütüphaneler de programa dahil edilip tam bir program elde edildikten sonra (yani bağlandıktan sonra (linker) ) […]

Devam

Konumlandırılabilir Kod (Relocatable Code)

Yazan : Şadi Evren ŞEKER Üretilecek olan makine kodunun hafızada (RAM) herhangi bir yere yerleştirilebilir olması durumudur. Buna göre normalde her programın sabit bir adres tanımı ve bu adres tanımına göre kod içerisinde adres değerlerini içeren komutların bulunması mümkündür. İşte konumlandırılabilir kod bu zorunluluğu kaldırarak hafızanın istenildiği gibi kullanılabilmesini sağlar ve kodun istenen hafıza adresin […]

Devam

2 geçişli çeviriciler (2 pass assemblers)

Yazan : Şadi Evren ŞEKER Bir çeviricinin (assembler), Assembly dilinde yazılmış kaynak kod üzerinden iki kere geçen halidir. Buna göre tek geçişli olan çeviricilerden farklı olarak dilde etiket (label) tanımları yapılabilmekte ve bu etiketlerin anlamları bir tabloda tutularak daha sonra kullanılabilmektedir. 2 geçişli bir çevirici sırasıyla şu işlemleri yapar: 1. Geçişte koddaki semboller (symbols) ve […]

Devam

Borulama (Pipelining)

Yazan : Şadi Evren ŞEKER ismini boru hatlarının işleyişinden alan yaklaşım, kısaca bir işlem borunun sonundayken, borunun başından yeni bir işin konulabileceğini anlatmaktadır. Buna göre örneğin bir işin (process) çalışması için 4 farklı safhadan geçmesi gerekiyor olsun: Fetch (almak) Decode (algılamak) Execute (çalıştırmak) Store (saklamak) Bu dört safhanın her birisi her işlem için tekrarlanacaktır. Yani […]

Devam

Çevirici (Assembler)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde iki farklı kavram için assembler kelimesi kullanılmaktadır. Birincisi Assembly dili adı verilen ve makine diline (machine language) çok yakın düşük seviyeli (low level language) için kullanılan ve nesne kodunu (object code) makine koduna (machine code) çeviren dildir. İkincisi ise birleştirmek, monte etmek anlamında örneğin nesne yönelimli dillerde nesnelerin […]

Devam