İçeriğe atla

Makine dili

Makine dili (Machine code)

Makine dili, mikroişlemci ya da mikrodenetleyici gibi komut işleme yeteneğine sahip entegrelerin işleyebilecekleri, yapısına göre değişebilen ama genellikle her biri 8 adet 0-1'den (bit) ibaret komutlardan oluşan dile verilen addır. Her bir komutun mnemonic olarak adlandırılan bir tanımı ve işlem kodu (İngilizce: op code) olarak adlandırılan bir sayı karşılığı vardır. Mnemonic'ler, op kodun ne işe yaradığını hatırda tutmaya yarar. Örneğin Z-80 mikroişlemcisinde bir alt yordamı çağırmak için kullanılan komutun mnemonic'i Call NNdir ve program yazarken Call NN mnemonic'inin işlem kodu olan "205" sayısı programa konur. Yani bir makine dili program 205 14 45 195 22 15 gibi ardışık sayılardan, daha doğrusu bu sayıların binary karşılığı olan 0 ve 1'lerden oluşur.

Makine dili, işlemcinin verilen komutlar doğrultusunda çalıştırılmasını sağlayan ve işlemci mimarisine göre değişen en alt seviyedeki programlama dilidir. Bu dil sadece 0 ve 1 ikililerinin anlamlı kombinasyonlarından meydana gelmektedir. 0 ve 1 ikilileri işlemcinin komut seti doğrultusunda işleme uygulanacak operasyon, operasyonun gerçekleştirileceği verinin hafızada bulunduğu adres ve hafızaya ulaşım yolları gibi bilgileri ifade edecek şekilde bir araya gelmekte ve işlemci tarafından kodu çözülerek gerekli işlemin yerine getirilmesi sağlar. Diğer programlama dillerin gerektirdiği derleyici ya da yorumlayıcı kullanımını gerektirmediğinden ve donanımı doğrudan kontrol etme gücü olduğundan kullanılır.

Kullanılan işlemcinin komut setinden ibaret olan makine dili komutları donanıma bağımlıdır. Günümüzde kullanılan i386 (32 bit intel) ve i486 gibi işlemci standartlarının her birine ait birer komut seti bulunmaktadır. Bu komut seti yalnız o mimariye yöneliktir. Bunun temelinde yatan asıl sebep işlemcinin hafıza birimi üzerinden okuduğu bir veri parçasının (bir ya da birkaç bayt) işlemciye bir emir teşkil edecek bir ifade olabilmesi için bu veri parçasının işlemci üzerinde donanımsal olarak bir işleme karşılık gelmesi gerekliliğinden kaynaklanır.

Makine diline "birinci kuşak programlama dili" denir. Genellikle ikinci kuşak programlama dili olan Assembly ile karıştırılır. Assembly'de işlem kodu yerine mnemonic'ler yazılır. Bu sayede program insanlar açısından anlaşılır olur. Daha sonra assembler denen bir program kullanılarak, yazılan bu assembly programı, makine diline çevrilerek kullanılabilir.

İlgili Araştırma Makaleleri

Komut kümesi mimarisi, CPU'nun yazılım tarafından nasıl kontrol edileceğini tanımlayan bilgisayar soyut modelinin bir parçasıdır. ISA, işlemcinin ne yapabileceğini ve bunu nasıl yapacağını belirterek donanım ve yazılım arasında bir arayüz gibi davranır.

<span class="mw-page-title-main">Komut</span> bilgisayarın uygulaması için iletilen işlem

Komut, bilişim biliminde mikroişlemci üzerinde çalışan programların yapı taşlarına denir. Bir işlemcinin çalıştırabileceği komutlar, o işlemcinin komut kümesini oluşturur. İşlemciler, mimarilerine göre komutları farklı şekillerde işletebilirler. Bilgisayarın komut hattının uzunluğu ve genişliği, kaç komutun aynı anda işletilebileceğini belirler.

MIPS, Microprocessor without Interlocked Pipeline Stages, MIPS teknolojileri adlı firma tarafından 1985 yılında geliştirilmiş indirgenmiş komut kümesi türü bir mikroişlemci mimarisidir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Mikrodenetleyici</span>

Mikrodenetleyici bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir giriş/çıkış çevre birimleri ile birlikte bir veya daha fazla CPU kapsar.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, dijital bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.

Program kelimesi sözcük kaynağı olarak belirli şartlara ve düzene göre yapılması öngörülen işlemlerin bütünü anlamına gelmekte ve ayrıca izlence olarak tanımlanmaktadır. Ancak günümüz Türkçe kullanımı içinde genel anlamı, yapılacak bir işin bölümlerini, bu bölümlerin sırasını ve zamanını gösteren tasarı, planlama şekline dönüşmüştür. Bu sebeple okullarda, haftanın belli günlerinde, belli saatlerde verilecek dersleri gösteren çizelgelere; tören, gösteri, gezi vb. nin öngörülen ayrıntılarını gösteren basılı kâğıtlara; siyasi partilerin, toplumsal örgütlerin veya hükûmetin açıkladığı ana ilkelerin tümüne de genel olarak Program ismi verilmektedir.

<span class="mw-page-title-main">Intel 80286</span>

Intel 80286 veya i286, 8086/8088'dan sonraki intel işlemcisidir.

İndirgenmiş Buyruk Küme Bilgisayar, işlemci tasarım alanında 1980'li yıllarda önerilen ve giderek CISC'in yerini alan bir buyruk kümesi mimarisidir.

<span class="mw-page-title-main">Intel 8086</span> Intel tarafından geliştirilmiş bir mikroişlemci yongasıdır

8086 Intel tarafından geliştirilmiş, x86 mimarisi 'nin gelişmesine yol açan 16-bit mimarisinde bir mikroişlemci yongasıdır. Intel tarafından 8086 tasarımının geliştirmesine 1976 yılı baharında başlanmış ve 1978 yılı yaz aylarında ilk çip piyasaya sürülmüştür. 1979 yılında piyasaya sürülen Intel 8088, daha ucuz ve az sayıda çevre birimi kullanımına olanak veren, ayrıca IBM PC tasarımında kullanılan 8254 CTC, 8255 PIO ve 8259 PIC gibi 8080-ailesi çevre birimleri ile uyumlu olacak şekilde 8-bitlik bir data bus eklenerek hafifçe modifiye edilmiş bir versiyondur. İlave olarak daha basit ve ucuz PCB tasarımı gerektirmekte ve daha az sayıda DRAM çipine gereksinim duymaktadır. Intel 8088 orijinal IBM PC tasarımında kullanılan işlemci olması özelliğiyle de kayda değerdir.

<span class="mw-page-title-main">Pentium</span>

Pentium, Intel’den beşinci nesil x86 mimarisi bir mikroişlemcisidir. 486 serisinin ardılıydı ve ilk olarak 22 Mart 1993 tarihinde duyurulmuştu.

<span class="mw-page-title-main">PowerPC</span>

PowerPC, AIM olarak bilinen Apple-IBM-Motorola ittifakının 1991'de geliştirdiği bir RISC mikroişlemcisidir. Genel olarak kişisel bilgisayarlar içindir. PowerPC merkezi işlem birimleri (CPU) gömülü (embedded) ve yüksek performans işlemcileri olduğu için popüler olmuştur. PowerPC 1990'da AIM' in ve PReP'in temel taşı oldu, fakat mimari Apple'ın Macintosh'unun 1994–2006 modellerinde daha başarılı bulundu.

<span class="mw-page-title-main">Mikroişlemci</span> ana işlem biriminin fonksiyonlarını tek bir yarı iletken tümdevrede birleştiren programlanabilir sayısal elektronik bileşen

Mikroişlemci, işlemci olarak da bilinen, merkezî işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken tüm devrede (IC) birleştiren programlanabilir bir sayısal elektronik bileşendir.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

Bilgisayar Biliminde düşük seviyeli programlama komut kümesinde hiç soyutlama imkânı vermeyen ya da az bir soyutlama sağlayan programlama dili anlamına gelir. Buradaki "düşük" kelimesi programlama diliyle makine dili arasında bulunmayan ya da az bulunan bir soyutlama imkânını temsil eder. Bu yüzden düşük seviyeli programlama dilleri "donanıma yakın" programlama olarak da anılır.

IA-32 (32-bit Intel mikromimarisi, çoğunlukla i386, x86-32 veya x86 olarak bilinir,bugün bile Intel'in en başarılı ticari mikroişlemci mimarisi olarak kabul edilir., Grubun ilk üyesi Intel 80386 dır bundan önceki x86 tasarımları 16 bittir -Intel 8086, 80186 ve 80286 işlemcileri. Bu mikromimari komut kümeleri dünyadaki kişisel bilgisayarların büyük çoğunluğu içinde bulunan mikroişlemciler için geçerlidir.

İşlem kodu, bilgisayar teknolojisinde makine dili komutunun, gerçekleştirilecek işlemi belirten kısmıdır. Bunların özellikleri ve biçimi, söz konusu işlemcinin komut kümesinde ortaya koyulur. Bir komutta, normalde işlem kodundan yanı sıra üzerinde işlem gerçekleştirilmesi gereken bir veya daha fazla belirteçleri vardır. Fakat bazı işlemlerde örtük (implicit) işlem kodları olabilir veya hiçbir işlem kodu olmayabilir. İşlem kodları ve işlenen (operand) belirteçleri için neredeyse tekdüze alanları olan komut setleri vardır. Bazılarında ise daha karmaşık ve çeşitli uzunluk yapıları vardır.

<span class="mw-page-title-main">Java sanal makinesi</span>

Java Sanal Makinesi (JSM), Java platformunun nesne modülü formatı olan class uzantılı sınıf dosyalarının belleğe yüklenip çalıştırılması için gereken hizmetleri sunan bir sistem programıdır ve temel görevinin sınıf dosyalarını yorumlamak olduğu söylenebilir. Ancak, JSM'ni salt bir yorumlayıcı olarak görmek büyük haksızlık olur. Zira, yorumlama ile birlikte JSM'nin şu görevleri de vardır.