Makine Dili
Programlama dilleri insan ile makine arasında iletişimi sağlar. İnsan diline yakın üst seviye dillerden alt seviyeye doğru değişiklik gösterir. Makine dili ise, programlama dilleri arasında en alt seviyedeki ve makine için en anlaşılır dildir. Donanım düzeyinde çalışır. Komutlar, 0 ve 1 olarak ifade edilen bitlerden oluşur.
Makine Dili Nedir?
Makine dili, bilgisayarların mikroişlemci seviyesinde çalıştırabildiği programlama dilidir. İşlemcinin çalışırken kullandığı dildir. Komutlar 0’lara ve 1’lere bilgisayarın anlayacağı hâle çevrilerek kullanılır. Genel olarak Python, C# gibi programlama dilleri insanların okuyup anlayabildiği dillerdir. Makine dili bu dillerden daha farklı bir yapıda ikili sayı sistemleri gibi sayı sistemleri ile mantıksal hesaplamalar yaparak görevleri yerine getirir.
Kullanılan işlemciye göre komut seti değişebilir. Günümüzde yaygın olarak 32bit ve 64bit işlemci mimarileri kullanılır. Bilgisayarınıza bir program kurarken bilgisayarın işlemcisiyle uyumlu değilse hata verir. Hata vermesinin sebebi, programda kullanılan makine dilinin işlemcinin komut seti ile uyumlu olmamasından dolayıdır. Komut seti sadece o işlemci mimarisine yöneliktir. Sonuçta, insan tarafından okunabilen her programlama dilinin kaynak kodunun makine diline çevrilmesi gerekir, çünkü ikili kod, makine dili bilgisayar donanımının anlayabileceği tek dildir.
Makine dilinin kullanımı, bilgisayarların ilk günlerine kadar uzanır. 1940'lı yıllarda ilk bilgisayarlar makine dili kullanılarak programlanır. Referans olarak 1840’lı yıllarda İngiliz matematikçi Charles Babbage tarafından geliştirilen Analitik Motor cihazına dayanır.
Makine Dili Nasıl Çalışır?
Makine dili, “instruction cycle” yani “komut döngüsü” içerisinde çalışır. Komut döngüsü 4 ana bölümden oluşur:
- Fetch: Sıradaki veya başlangıç talimatı hafızadan çağırır.
- Decode: Talimatın anlamını çözer.
- Execute: Talimatı çalıştırır.
- Stop: Çalışma sonucunu işler, talimatı durdurur.
Makine dili, 01010100 gibi sayılardan oluşur. Makine ortamında bu sayılar farklı kombinasyonlarda sayı sistemleri kullanılır. Sayı sistemlerinden bahsedecek olursak şu şekildedir:
- İkili sayı sistemi: Binary olarak ifade edilir. Her bir karakter ikilik tabanda gösterilir. Sadece 0 ve 1 rakamları kullanılır.
- Sekizli sayı sistemi: Octal olarak ifade edilir. Sekizlik tabanda gösterim yapılır. Karakterler gösterilirken sadece 0’dan 7’ye kadar olan rakamlar kullanılır.
- Onlu sayı sistemi: Decimal olarak ifade edilir. Karakterleri onluk tabanda gösterir. Gösterim esnasında sadece 0’dan 9’a kadar olan rakamları kullanır.
- Onaltılı sayı sistemi: Hexadecimal olarak ifade edilir. Karakterlerin gösteriminde “0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F” harf ve rakamlar birlikte kullanılır. Örneğin, “Z” harfi onaltılık sayı sisteminde “A5” olarak gösterilir.
Sayı sistemlerinin makine dilinde nasıl göründüğünü anlamak için “Techcareer” kelimesi üzerinden örneklendirelim:
- Binary: 1010100 1100101 1100011 1101000 1100011 1100001 1110010 1100101 1100101 1110010
- Octal: 124 145 143 150 143 141 162 145 145 162
- Decimal: 84 101 99 104 99 97 114 101 101 114
- Hexadecimal: 54 65 63 68 63 61 72 65 65 72
Makine dili, makinenin anlayabileceği seviyede bir dildir. Makine seviyesinde uygulama çalıştırabilmek, kodlama yapabilmek için kodu makine dilinde derlemek gerekebilir. Eski dönemde popüler olan Fortran, Cobol gibi programlama dillerinin yanında günümüzde C++, Java dilleri makine diline derlenir.
Ücretsiz eğitimlerimiz seni bekliyor.
Her biri alanında uzman eğitmenler tarafından hazırlanmış eğitimlerimizden sana uygun olanı keşfedip, hemen eğitime başlayabilirsin. Süre kısıtlaması olmayan eğitimlerimizi, hiç bir ücret ödemeden hemen keşfetmeye başla.