• 17-07-2014, 09:42:58
    #1
    Bu soruyu internette çok defa görmüşsünüzdür, buradaki ustalarında bu konu hakkında bilgileri olabileceğini ve bizimle paylaşmak isteyebileceklerini düşündüğüm için buradada böyle bir konu açayım dedim

    Şimdi anlamadığım nokta şudur;

    İlk bilgisayar yapacağı işlemleri nereden biliyordu ? Araştırdığıma göre elektronik devreler sayesinde tanıyordu kodları. E iyide elektronik devreler nasıl kendi kendini yönetebiliyor. Biri onlara kurallar belirlemiş olmalı. Yani a tuşuna basıldığında b işi yapılsın gibi. Peki bu kurallar belirlenirken neye dayanarak belirlendi. Yani bu işin en başında ne yatıyor

    Acaba kart üzerindeki elektrik akım seviyelerimi belirliyor yapılacak işlemleri, o zamanda akla şu soru geliyor ki bu akım seviyelerinde yapılacak işi nerede belirlenmiş ?

    Sorduğum sorular doğrumu yanlışmı pek bilgim yok açıkçası. Ancak bu sorunun en klasik şekliyle sorulmuş hali "ilk program neyle yapıldı ?" veya "ilk programlama dili neyle yapıldı" şeklindedir.
  • 17-07-2014, 09:50:01
    #2
    Üyeliği durduruldu
    ilk programlama dili C sonra Java geldi C bir süre sonra C++ C# olarak grup oldu ?
    bunu hazırlamak ve işlemek için bir comut dosyası yeterli, windows makineyi sinyal gönderip alarak başlattı?
  • 17-07-2014, 09:54:34
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşın sormak istediği sanırım ilk programlama dili değil, ilk programlama dili donanım ile nasıl buluştu. Benimde sık sık aklıma gelen sorudur aslında ama üşengeçlikten hiç araştırmadım
  • 17-07-2014, 10:07:35
    #4
    Üyeliği durduruldu
    bLaCk_bLooD adlı üyeden alıntı: mesajı görüntüle
    Arkadaşın sormak istediği sanırım ilk programlama dili değil, ilk programlama dili donanım ile nasıl buluştu. Benimde sık sık aklıma gelen sorudur aslında ama üşengeçlikten hiç araştırmadım
    tamamda ekzantrik şeyler düşünmeye gerek yok ki, elektrik kullanıldı elektriğin formulu donanımla birleştirildi, bu birleştirilme zaten elektriğin formülünde var.
    sinyal alıp verilmeye başlandı bu ilerletirdi sinyaller artırıldı ve her sinyale bir anlam yüklendi.
    pixellerden ekran oluşturuldu sinyaller buraya yansıtıldı git gide gelişti yani bunu yönetebilmek içinde ortaya çıkan donanımın sinyallerine (programlamaya) müdahaleye geçildi. ortaya C çıkarıldı o zamanlar C nedir denilmedi donanıma müdahale edilmesi gereken şeydir denildi yani Ha biz programlama dili yapıyoruz ismide C olsun demediler, ortaya bu iş çıktı bu işide böyle yönteriz dediler buda orataya C çıkmış oldu Cninde o zamanlar tek işi sinyalleri aç kapat oldu tabi binlerce sinyal türetildiği için aman neyse ya

    kısacası arkadaşın sorusunun cevabı Elektriğin formülünden yola çıkılarak bu iş ortaya çıktı
  • 17-07-2014, 10:52:37
    #5
    Emura adlı üyeden alıntı: mesajı görüntüle
    tamamda ekzantrik şeyler düşünmeye gerek yok ki, elektrik kullanıldı elektriğin formulu donanımla birleştirildi, bu birleştirilme zaten elektriğin formülünde var.
    sinyal alıp verilmeye başlandı bu ilerletirdi sinyaller artırıldı ve her sinyale bir anlam yüklendi.
    pixellerden ekran oluşturuldu sinyaller buraya yansıtıldı git gide gelişti yani bunu yönetebilmek içinde ortaya çıkan donanımın sinyallerine (programlamaya) müdahaleye geçildi. ortaya C çıkarıldı o zamanlar C nedir denilmedi donanıma müdahale edilmesi gereken şeydir denildi yani Ha biz programlama dili yapıyoruz ismide C olsun demediler, ortaya bu iş çıktı bu işide böyle yönteriz dediler buda orataya C çıkmış oldu Cninde o zamanlar tek işi sinyalleri aç kapat oldu tabi binlerce sinyal türetildiği için aman neyse ya

    kısacası arkadaşın sorusunun cevabı Elektriğin formülünden yola çıkılarak bu iş ortaya çıktı
    Sizin tabirinizle ekzantrik şeyler düşündüğümüz yok, bahsettiğiniz şeyleri bilmiyor olabiliriz. Benim yukarıda yazıp sizin alıntıladığınız mesajı ben yazdığımda siz bir üstteki mesajınızı düzenlemeden öncesiydi ve yazdığınız tek şey "ilk programlama dili C sonra Java geldi C bir süre sonra C++ C# olarak grup oldu ?" idi. Anlattığınız şeylerde 'nasıl'ın cevabı değil bana göre.
  • 17-07-2014, 11:16:53
    #6
    Konu ağır cahillik kokuyor, yazılanların tek bir tanesi dahi doğru değil.

    İlk programlama dili C falan değildir, teknik olarak ilk programlama dili Assembly dilleridir. bkz: http://en.wikipedia.org/wiki/Assembly_language

    Assembly doğrudan makina dilinin (sadece 1 ve 0lardan oluşan binary kodların) doğrudan okunabilir karşılığıdır. Yani assembly makine diline doğrudan çevirilir, yüksek seviye diller (c,vb6,cobol...) gibi diller ise makine diline derlenir. C# ve Java gibi diller ise çalışma anında makine diline çevrilirler.

    Bilgisayarlar kodlarınızın derlenmiş hali olan 2lik binary dosyalarını okurlar doğrudan kodunuzu değil.

    İlk programlama dili, yani ilk assembler (v0.0 olarak düşünürseniz), tamamen 1 ve 0lar kullanılarak yazıldı, daha sonra bu basit assembler kullanılarak giderek daha karmaşık assemblerlar yazıldı.

    Bilgisayarın bu makina dilini (0 ve 1leri) nasıl anladığına gelecek olursak, binary dosyalarında assembly olarak şuna tekabül eden kodlar vardır:

    OPERATION [operand1] [operand2] ...

    Yani ilk olarak hangi işlem yapılacağı, ve daha sonra gerekli miktarda neler üzerinde yapılacağını bulundurur.

    Neler üzerinde işlem yapılacağına gelirsek, teknik olarak işlemciniz doğrudan ram üzerinde değişiklik yapmaz, kendi üzerinde Register adı verilen hafızalar üzerinde işlem yapar. İşlemciden işlemciye değişmekle birlikte, günümüz mimarisi olan x86 mimarisinde örnek olarak EAX, EBX, ECX registerlarını kullanabiliyoruz.

    Kısaca sizin assembly kodunuzda,

    Alıntı
    ADD EAX, 80
    yazıyorsa, bu EAX registerindeki veriye 80 ekleyip EAX registerine yaz demektir. Yani bu işlemden önce EAX registerinde 50 varsa, işlem sonucunda 130 olacaktır.

    Peki bu kodun doğrudan makine dilindeki karşılığı nedir? Aşağıdaki kodlar 16'lık sistem üzerinde olacak (Hexadecimal, kısaca hex). Daha sonra 1-0lara dönüştüreceğiz.
    ADD komutunun x86 mimarisindeki hex karşılığı 83'tür. ADD için 83 yazdık.
    EAX registerinin karşılığı, C0'dır. Bunun için de C0 yazdık.
    80 dediğimiz bildiğimiz bir sayı olduğu için 16lık sistemde yazmamız yeterli, 50.
    Yani assembly dilindeki
    Alıntı
    ADD EAX, 80
    komutu, HEX olarak makine dilinde
    Alıntı
    83C050
    halindedir. Yani işlemci bu sayının direk ikilik karşılığını okur:
    Alıntı
    100000111100000001010000
    Buradaki ilk 8 rakam hangi işlem olduğunu belirtiyor, sıradaki 2 8 rakam ise parametreleri belirtiyor.
    İşlemci hangi işlemin kaç parametre olduğunu kendi içindeki hafızasından bildiği için doğrudan okuyor.

    Burada anlattıklarım okyanusta bir damla su ancak yine de belli bir fikir verebilmiştir umarım.

    İyi günler, zamanım olursa daha detaylı şekilde anlatabilirim

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:16:53 -->-> Daha önceki mesaj 11:10:46 --

    Yok eğer ki ben işlemcinin bu 1-0ları neye göre anladığını da bileceğim diyorsanız onun da tabi ki çok basit bir mantığı var ancak üniversitede bir dönemde anlatılan bir konu, internetten computer architecture şeklinde bakarsanız pek çok makale ve konu ile karşılaşacağınızı düşünüyorum
  • 17-07-2014, 11:27:18
    #7
    Lulu adlı üyeden alıntı: mesajı görüntüle
    Konu ağır cahillik kokuyor, yazılanların tek bir tanesi dahi doğru değil.

    İlk programlama dili C falan değildir, teknik olarak ilk programlama dili Assembly dilleridir. bkz: http://en.wikipedia.org/wiki/Assembly_language

    Assembly doğrudan makina dilinin (sadece 1 ve 0lardan oluşan binary kodların) doğrudan okunabilir karşılığıdır. Yani assembly makine diline doğrudan çevirilir, yüksek seviye diller (c,vb6,cobol...) gibi diller ise makine diline derlenir. C# ve Java gibi diller ise çalışma anında makine diline çevrilirler.

    Bilgisayarlar kodlarınızın derlenmiş hali olan 2lik binary dosyalarını okurlar doğrudan kodunuzu değil.

    İlk programlama dili, yani ilk assembler (v0.0 olarak düşünürseniz), tamamen 1 ve 0lar kullanılarak yazıldı, daha sonra bu basit assembler kullanılarak giderek daha karmaşık assemblerlar yazıldı.

    Bilgisayarın bu makina dilini (0 ve 1leri) nasıl anladığına gelecek olursak, binary dosyalarında assembly olarak şuna tekabül eden kodlar vardır:

    OPERATION [operand1] [operand2] ...

    Yani ilk olarak hangi işlem yapılacağı, ve daha sonra gerekli miktarda neler üzerinde yapılacağını bulundurur.

    Neler üzerinde işlem yapılacağına gelirsek, teknik olarak işlemciniz doğrudan ram üzerinde değişiklik yapmaz, kendi üzerinde Register adı verilen hafızalar üzerinde işlem yapar. İşlemciden işlemciye değişmekle birlikte, günümüz mimarisi olan x86 mimarisinde örnek olarak EAX, EBX, ECX registerlarını kullanabiliyoruz.

    Kısaca sizin assembly kodunuzda,



    yazıyorsa, bu EAX registerindeki veriye 80 ekleyip EAX registerine yaz demektir. Yani bu işlemden önce EAX registerinde 50 varsa, işlem sonucunda 130 olacaktır.

    Peki bu kodun doğrudan makine dilindeki karşılığı nedir? Aşağıdaki kodlar 16'lık sistem üzerinde olacak (Hexadecimal, kısaca hex). Daha sonra 1-0lara dönüştüreceğiz.
    ADD komutunun x86 mimarisindeki hex karşılığı 83'tür. ADD için 83 yazdık.
    EAX registerinin karşılığı, C0'dır. Bunun için de C0 yazdık.
    80 dediğimiz bildiğimiz bir sayı olduğu için 16lık sistemde yazmamız yeterli, 50.
    Yani assembly dilindeki komutu, HEX olarak makine dilinde halindedir. Yani işlemci bu sayının direk ikilik karşılığını okur:

    Buradaki ilk 8 rakam hangi işlem olduğunu belirtiyor, sıradaki 2 8 rakam ise parametreleri belirtiyor.
    İşlemci hangi işlemin kaç parametre olduğunu kendi içindeki hafızasından bildiği için doğrudan okuyor.

    Burada anlattıklarım okyanusta bir damla su ancak yine de belli bir fikir verebilmiştir umarım.

    İyi günler, zamanım olursa daha detaylı şekilde anlatabilirim

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:16:53 -->-> Daha önceki mesaj 11:10:46 --

    Yok eğer ki ben işlemcinin bu 1-0ları neye göre anladığını da bileceğim diyorsanız onun da tabi ki çok basit bir mantığı var ancak üniversitede bir dönemde anlatılan bir konu, internetten computer architecture şeklinde bakarsanız pek çok makale ve konu ile karşılaşacağınızı düşünüyorum
    oldukça güzel açıklamışsınız, sürekli çevrilerek 2lik tabandaki binary haliyle okuduklarını oldukça rahat anlamış olduk hala aklıma takılan bir problem var, yapılan ilk bilgisayarda, parçalar birleştirildiğinde belli işlemleri yapacağını cihaz nereden biliyordu asıl olarak bunu merak ediyorum, veya onları o donanımsal cihaza nasıl tanıttılar, elektronik aksamlar sayesindemi tanıtıldı, tam olarak bunu anlayamadım aslında, yani örnek veriyorum oturdu bir adam bilgisayarın ana kartını elinde hiçbirşey yokken donanım olarak üretti, ancak kuru bir anakart olarak kaldı bu, bu anakarta yapacağı işlemleri nasıl öğretiyorlar buradaki mantığı anlayamadım, kart üzerindeki elektrik aksamları sayesindemi bir kural oluşturuluyor yani, misal bu binary kodları okuyabilmeyi bilgisayara nasıl öğretildi
  • 17-07-2014, 12:19:35
    #8
    Emura adlı üyeden alıntı: mesajı görüntüle
    tamamda ekzantrik şeyler düşünmeye gerek yok ki, elektrik kullanıldı elektriğin formulu donanımla birleştirildi, bu birleştirilme zaten elektriğin formülünde var.
    sinyal alıp verilmeye başlandı bu ilerletirdi sinyaller artırıldı ve her sinyale bir anlam yüklendi.
    pixellerden ekran oluşturuldu sinyaller buraya yansıtıldı git gide gelişti yani bunu yönetebilmek içinde ortaya çıkan donanımın sinyallerine (programlamaya) müdahaleye geçildi. ortaya C çıkarıldı o zamanlar C nedir denilmedi donanıma müdahale edilmesi gereken şeydir denildi yani Ha biz programlama dili yapıyoruz ismide C olsun demediler, ortaya bu iş çıktı bu işide böyle yönteriz dediler buda orataya C çıkmış oldu Cninde o zamanlar tek işi sinyalleri aç kapat oldu tabi binlerce sinyal türetildiği için aman neyse ya

    kısacası arkadaşın sorusunun cevabı Elektriğin formülünden yola çıkılarak bu iş ortaya çıktı
    Sallıyorsun gibime geldi. Elektriğin formülü aladdinin sihhirli lambası bide kırk haramiler
  • 17-07-2014, 12:21:56
    #9
    Üyeliği durduruldu
    biomooj adlı üyeden alıntı: mesajı görüntüle
    Sallıyorsun gibime geldi. Elektriğin formülü aladdinin sihhirli lambası bide kırk haramiler
    aklıma o geldi