C/C++ Öğreniyorum (#2)

  • Konbuyu başlatan PwnLab.Me
  • Başlangıç tarihi
P

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18
Süleyman KAYA tarafından yazılmıştır.

[TR] C/C++ Öğreniyorum (#2)​

Giriş​


Merhaba, ben Süleyman Kaya. 9. sınıf öğrencisi ve bilgisayar bilimleri araştırmacısıyım. Bilgisayar bilimleri için C/C++ öğrenirken edindiğim bilgileri paylaşmak üzere bu yayın serisini sizlerle paylaşıyorum. Kaynak olarak Fahrettin Erdinç’in “Mühendislik Öğrencileri İçin Temel Klavuz: C++/C” kitabını kullanacağım. Bu yazımda bilgisayarların mimarisine değineceğim.

Bilgisayar Nedir?​


Dışarıdan veri alan ve bu veriler üzerinde matematiksel ve mantıksal işlem yapıp dışarıya veren makinelere bilgisayar denir.

Bilgisayarlar Nasıl Çalışır?​

CPU (Central Proccesor Unit)​


Türkçe’ye Merkezi İşlem Birimi olarak tercüme edilen CPU, bilgisayarın beynidir; giriş aygıtlarından gelen komutları ve verileri alır, matematiksel ve mantıksal işlemleri yapar ve işlem sonuçlarını çıkış aygıtlarına gönderir. Ayrıca önemli bulduğumuz verilerin diske kaydedilmesini sağlar.

Giriş Aygıtları​


CPU’ya komut göndermeye veya veri girmeye yarayan klavye ve fare gibi donanımlardır.

Çıkış Aygıtları​


CPU tarafından gerçekleitirilen işlem sonuçlarını görüntülemeye yarayan ekran ve yazıcı benzeri donanımlardır.

Sabit Disk​


Kaydedilen dosyaların veya yüklenen programların bulunduğu kalıcı bellektir.

RAM (Random Acces Memory)​


Çalışan programların ve üzerinde işlem yapılan verilerin bulunduğu geçici bellektir. Normalde sabit diskte bulunan bir program, çalıştırıldığı zaman RAM’e taşınır. RAM Bellek sabit diskten çok daha hızlı çalışır; bu nedenle normalde sabit diskte bulunan bir program çalıştırıldığı zaman RAM belleğe taşınır ve CPU program ile burada etkileşim kurar.

İşlemci Nasıl Çalışır?​


Bir işlemcinin bir işi yapması veya bir komutu çalıştırması dört aşama ile açıklanır. Bunlar Fetch (Komut Al), Decode (Komutu Çöz), Execute (Komutu Çalıştır) ve Store (Sonucu Kaydet)’tir.

Fetch (Komut Al)​


Yazılan programlar bilgisayara yüklenir ve daha sonra belli bir görevi gerçekleştirmek için çalıştırılır. Çalıştırılan programlar RAM belleğe taşınır. İki sayının toplamını bulan bir program düşünelim. RAM Bellekte kodlar makine dili olarak bulunur. PC (Program Counter) çalıştırılması gereken komutu gösterir. CPU, çalıştırılması gereken komutu öğrenmek için PC’a bakar. Daha sonra PC’ın gösterdiği yere (RAM Bellek Adresine) gidip komutu alır, yani fetch eder. Komut fetch edildikten sonra PC bir sonraki komutu göstermeye başlar, yani bir alt komuta kayar.

Decode (Komutu Çöz)​


Komut fetch edildikten sonra sıra bu komuta ne yapılacağına karar vermeye gelir. Program counter tarafından gösterilen komut alınır ve ne anlama geldiği çözülür. Buradaki komutumuz programın başlatılmasını sağlayan BAŞLA komutudur. BAŞLA komutunu alan ve bu komutu çözerek hangi işin yapılacağına karar veren CPU bir sonraki aşamaya geçer.

Execute (Çalıştır)​


Fetch edilerek RAM bellekten alınan komut, decode edilmiş ve ne iş yağılacağınıa karar verilmiştir. Bu aiamada artık gerekli işlem yapılacak yani komut çalıştırılacaktır. Buradaki komut BAŞLA komutudur ve programın çalışmasını sağlar.

Store (Kaydet)​


Bu aşamada eğer execute işlemi sonunda bir değer ortaya çıkmışsa kaydedilir.

CPU ve RAM Bellek İlişkisi​


Program yazarken dışarıdan alınan verileri veya işlem sonuçlarını saklamak için değişkenler kullanırız. Bu değişkenlerin bazıları BIT (Bİnary Digit) tipindedir, yani sadece 1 veya 0 gibi değerleri saklar. Bazıları ise BYTE tipindedir ve 0–255 arası değerleri saklar. BIT, BYTE, INTEGER gibi veri tipleri RAM belleğin fiziksel yapısından kaynaklanır.

RAM Bellek Yapısı​


Basitçe söylemek gerekirse RAM bellek yan yana sekiz gözden oluşan ve üst üste koyulan raflar gibidir. Bu raftaki her bir göze 0 veya 1 gibi ikili sayılar yerleştirilir. RAM bellek yapısı özellikle değişkenler ve veri tipleri için önemlidir. Belleğe kaydedilen farklı türdeki veriler farklı miktarda yer kaplar.

Kapanış​


Bir sonraki yayınımda temel algoritma bilgisine değinmeyi planlıyorum. İyi günler dilerim.
 
Moderatör tarafında düzenlendi:
Geri
Üst