İşlmeciler nasıl çaılışır?

Katılım
13 Mar 2022
Mesajlar
59
Puanları
1
Yaş
20
Bir süredir yazılımla ilgileniyorum ve bu alanda kendimi geliştirmeye çalışıyorum. Bir program yazdığımızda bu programın derleyiciler tarafından binary kodlarına çevirildiğini biliyorum ama anlamadığım şey işlemciler bu bir ve sıfırların ne anlama geldiğini nasıl anlıyor?
 
Derleyiciler o birleri ve sıfırları keyfine göre değil işlemcilerin komut setine göre üretirler. Komut setleri fabrikada yarı iletken seciyesinde işlemciye gömülürler. RISC ve CISC deyimlerini mutlaka duymuşsundur. Assembly dili işlemcilerin komut setine en yakın dildir. Üşenmezsen şu videoları seyredebilirsin.

https://youtube.com/playlist?list=RDCMUCS0N5baNlQWJCUrhCEo8WlA&playnext=1
 
Video öneriniz için teşekkür ederim bu tarz videolar her zaman ilgimi çeker izlemekten üşenmem ama
tam olarak merak ettiğim şey o komut setleri Assembly dilini nasıl anlayıp işlem yapabiliyor?
 
Video öneriniz için teşekkür ederim bu tarz videolar her zaman ilgimi çeker izlemekten üşenmem ama
tam olarak merak ettiğim şey o komut setleri Assembly dilini nasıl anlayıp işlem yapabiliyor?
En basitinden şöyle hayal et :

Yazılım kodu 1 ve 0 değeri olan bit denilen dizilerinden oluşur. Her bir 1 ve 0, işlemci içindeki elektronik devreleri tetikleyerek veya dururarak ilgili elektronik kısımları aktif veya pasif yapar. Zil butonuna bastığında zilin çalması (1 durumu) , bıraktığında zilin susması (0 durumu) gibi. Bu şekilde işlemcinin içinde milyonlarca buton olduğunu hayal et. Herbir komutun bit sıralamasına göre farklı çalışacak şekilde, bu butonlar koordineli biçimde bas veya bırak yapacak şekilde tasarlanmıştır.

Bilemiyorum daha basitinden nasıl anlatılır. Umarım zihninde birşeyleri canlandırabilmişimdir.
 
En basitinden şöyle hayal et :

Yazılım kodu 1 ve 0 değeri olan bit denilen dizilerinden oluşur. Her bir 1 ve 0, işlemci içindeki elektronik devreleri tetikleyerek veya dururarak ilgili elektronik kısımları aktif veya pasif yapar. Zil butonuna bastığında zilin çalması (1 durumu) , bıraktığında zilin susması (0 durumu) gibi. Bu şekilde işlemcinin içinde milyonlarca buton olduğunu hayal et. Herbir komutun bit sıralamasına göre farklı çalışacak şekilde, bu butonlar koordineli biçimde bas veya bırak yapacak şekilde tasarlanmıştır.

Bilemiyorum daha basitinden nasıl anlatılır. Umarım zihninde birşeyleri canlandırabilmişimdir

En basitinden şöyle hayal et :

Yazılım kodu 1 ve 0 değeri olan bit denilen dizilerinden oluşur. Her bir 1 ve 0, işlemci içindeki elektronik devreleri tetikleyerek veya dururarak ilgili elektronik kısımları aktif veya pasif yapar. Zil butonuna bastığında zilin çalması (1 durumu) , bıraktığında zilin susması (0 durumu) gibi. Bu şekilde işlemcinin içinde milyonlarca buton olduğunu hayal et. Herbir komutun bit sıralamasına göre farklı çalışacak şekilde, bu butonlar koordineli biçimde bas veya bırak yapacak şekilde tasarlanmıştır.

Bilemiyorum daha basitinden nasıl anlatılır. Umarım zihninde birşeyleri canlandırabilmişimdir.
Öncelikle cevabınız için teşekkür ederim hocam ama anlamadığım kısım bu değil benim anlamadığım kısım örneğin 1 sayısını gönderdiğim de cpu bunu nasıl algılıyor?
 
Ben anlatamadım heralde. Komut seti işlemcinin içerisinde gömülüdür. İşlemci çalışmaya başladığı anda kullanıcı kodunu hafızadan sırayla hücre hücre okumaya başlar her hücre içerisindeki komutu kendi komut setiyle karşılaştırır eğer komut seti içerisinde varsa ona göre işlem yapar. Bit bit değil byte byte işlem yapar. Gönderdiğim video serisinde bunu en ince ayrıntısına kadar anlatmış.

 
Bit bit değil byte byte işlem yapar
Üstad ben de biliyorum bayt bayt işlem yaptığını. Ancak arkadaş daha işin çok başında. Olabildiğince basite indirgeyip anlatmak istedim.
Öncelikle cevabınız için teşekkür ederim hocam ama anlamadığım kısım bu değil benim anlamadığım kısım örneğin 1 sayısını gönderdiğim de cpu bunu nasıl algılıyor?
İşte buradan sonra işin içine kapı devreleri, flip-floplar vb. lojik devreler giriyor. 1 ve 0 'ların nasıl algılanıp yorumlandığı dijital elektronik kapsamı içerisinde. İnternetten bol bol kaynak ve tutorial izlemeniz gerekiyor.
 
Son düzenleme:
Mevzu transistör ile alakalı.Transistörlerin bacakları verilen elektriğe göre elektriği iletiyor yada iletmiyor. yani ya var ya yok durumu.oda 1 ve sıfıra tekabül ediyor. yoksa gerçekte bir ve sıfır yok.

Lojik kapı var kısaca
 
Üstad ben de biliyorum bayt bayt işlem yaptığını. Ancak arkadaş daha işin çok başında. Olabildiğince basite indirgeyip anlatmak istedim.
Valla ne yalan söyleyim ben hem lisede hem ünide dijital elektronik dersi aldım hem lise hem ünide mikroişlemci dersi aldım. Mikroişlemcilerin çalışma prensibini üni bitttikten sonra bu işlerle uğraşmaya başlayınca anlayabildim. Ben biraz kalın kafalıyımdır belki ama bunu basite indirgemenin yolu pek yok.
 
Valla ne yalan söyleyim ben hem lisede hem ünide dijital elektronik dersi aldım hem lise hem ünide mikroişlemci dersi aldım. Mikroişlemcilerin çalışma prensibini üni bitttikten sonra bu işlerle uğraşmaya başlayınca anlayabildim. Ben biraz kalın kafalıyımdır belki ama bunu basite indirgemenin yolu pek yok.
Estağfurullah üstad.

Dediğiniz yolların aynısından ben de geçtim, Lise, üni ve daha sonrasında kendi çabalarım. Size hak vermemek elde değil, anlaşılması zor gibi geliyordu. Ancak kendimce bir yol keşfettim, sırf kendime anlatabilmek için. Bilmiyorum bunun eğitim biliminde belki bir ismi vardır. Ben buna kendimce "Benzetim" ve "Hayallendirme" diye isim taktım.

Mesela RAM'i ornek vereyim. RAM'i anlamak için söyle bir hayali ortam kurdum. Mutfaktayız, 50 kişilik bir yemek hazırlayacağız. 25 kilo patates soyulacak. RAM'i bir masa olarak hayal ediyorum. Masa küçük ve darsa, her seferinde çuvaldan en fazla 10 patates alıp masanın üzerinde koyabiliyoruz ve birim zamanda en fazla 10 patatesi soyabiliyoruz. Bunlar bitince elimizdeki bıçağı bırakıp bir on tane daha almak için çuvala eğiliyoruz, sayıyoruz, masaya koyuyoruz. Bu da tabii ki boşa geçen zamanı artırıyor. Oysa masamız iki kat daha geniş be büyük olsa birim zamanda 20 patatesi doğrayabiliriz ve çuvaldan almak için daha az zaman harcarız. Buradan " RAM büyük olursa işlem daha hızlı olur"gibi bir çıkarımı beynime yazıyorum.
Mesela Merkezi işlem birimini, bir fabrikanın müdürü gibi hayal ediyorum. Elinde patrondan gelen yapılacak işler listesi (Program) var, bunları sırasıyla ilgili birimlere koordineli biçimde aktarıyor. Her birim, fabrikadaki bir departman gibi. Mesela Port'lar, kamyonların yükleme için yanaştığı yerler gibi. Örnekleri artırmak tamamen sizin hayal gücünüze ve yaratıcılığınıza kalmış. İnan ben bu yöntemle çok daha kolay anlayabildim. Tabii herkesin farklı yöntemleri olabilir. Ama bende işe yaradı. Bu yöntemi sadece mikroişlemcile için değil, anlamakta zorlandığım her konuya uyguluyor ve olumlu sonuç alıyorum.

Bu nedenle genç arkadaş için olabilecek en basit senaryo ile anlatmak istedim. İşe yarar umarım. Kolay gelsin.
 

Forum istatistikleri

Konular
130,108
Mesajlar
933,182
Kullanıcılar
453,163
Son üye
gurkangunc

Yeni konular

Çevrimiçi üyeler

Geri
Üst