Tanımı Kısaca CPU ( Central Process Unit ) yani Merkezi İşlem Birimi’dir. İşlemci için bilgisayarın beynidir diyebiliriz. Adından anlaşıldığı gibi bilgisayardaki işlemleri gerçekleştiren ve gerekli yerlere gönderen elemandır. Konuyu basitçe anlatmak gerekirse bilgisayar üzerinden yaptığımız her şey işlemciye muhakkak uğrar. Yani klavyedeki bir tuşa basmamız, fareyi hareket ettirmemiz birebir olarak işlemcide gerçekleşir. Tarihçesi İlk işlemciler belli işlemleri ve çoğu zamanda yalnızca tek bir işlemi gerçekleştirmek için üretilmişlerdir. Ancak üretilen bu işlemcilerin hem maliyeti çok yüksekti hem de yaptığı iş sınırlıydı. 1970’lerde mikroişlemcilerin üretilmesiyle işlemci tasarımları ve kullanım alanları oldukça değişti. İlk mikroişlemci Intel 4004’ün üretilmesi (1971) ve bunu takiben ilk geniş çaplı kullanım alanına sahip olan Intel 8080’nin üretilmesi (1974) ile merkez işlem birimini yürütme metotları tamamıyla değişim gösterdi ve gelişen teknoloji ile birlikte küçük boyutlu bilgisayarlar ve cep telefonlarının üretilmesi küçük bir işlemcinin geliştirilmesini zorunlu kıldı. Bu sayede işlemcilerin kullanım alanları genişledi ve hayatımızın vazgeçilmez bir parçası oldu. Günümüzde işlemciler; otomobiller, cep telefonları, bilgisayarlar ve daha bir çok üründe kullanılmaktadır. İşlemci Nasıl Çalışır? Bir işlemci ile ilgili en çok merak edilen konulardan birisi, o işlemcinin klavye veya fare gibi farklı kaynaklardan aldığı komutları tam olarak nasıl algıladığı ve işleme soktuğudur. Veriler herhangi bir yoldan bilgisayara girildiğinde önce elektrik sinyallerine çevrilirler. Sinyaller iki durumdan oluşur. Kapalı (off=0) veya açık (on=1). Elektrik sinyali ile bunu yapmak kolaydır; elektrik ya vardır (1) ya da yoktur (0). Bu iki durum prensibi (two state principle) olarak bilinir. İki durum prensibini tanımlamak için iki parçadan oluşan anlamına gelen ikili (binary) terimi kullanılır. Bilgisayarlarda veriler binary digits adlı temel elemanlarına yani kısa adıyla bits’lerine ayrılarak 0 ve 1 (yani açık ve kapalı) sayıları ile değerlendirirler. Verilerin ikili sistem şekline çevrilmiş haline ikili kodlama (binary coding ) denir. Bir bilgisayar içinde devreleri oluşturan yongalar üzerinde milyonlarca mikroskobik elektronik anahtar (switch) vardır. Bir mikro işlemciyi yakından incelediğimizde, her biri elektrik sinyallerinin iletiminde kullanılan çok sayıda ayaklar (pin) içerdikleri görülür. Komut ve Programlama Kavramları İşlemci komutlar ile çalışır. Bu komutların arka arkaya dizilişlerine Program denir. İşlemcinin yapabileceği her bir işlem bir komut ile ifade edilir. Örneğin TOPLA A,B,C komutu işlemciye A sayısı ile B sayısını toplayıp sonucu C olarak kaydetmesini anlatır. Komutların işlemci içerisinde sırayla çalıştırılmasını yukarıda tanımladığımız Kontrol Birimi gerçekleştirir. Bu komut nasıl gerçekleştirilir? 1. İşlemci Adres yolunu Kullanarak A Sayısını Bellekten ister. 2. Bellek Veri Yolundan A Sayısını İşlemciye Gönderir. 3. İşlemci Adres yolunu Kullanarak B Sayısını Bellekten ister. 4. Bellek Veri Yolundan B Sayısını İşlemciye Gönderir. 5. İşlemci A ve B Sayısını Toplar ve Sonucu Bulur. 6. İşlemci Adres yolunu kullanarak C Sayısına Bilgi Göndereceğini Belleğe Bildirir. 7. İşlemci Veri Yolunu Kullanarak C Sayısını Belleğe Gönderir. 8. Bellek Gelen Sonucu C Sayısı olarak kaydeder. İki sayının toplanması yukarıdaki şekilde gerçekleşir. Bütün bu işlemler saniyenin milyarda biri gibi kısa bir sürede gerçekleştirilir. İşlemci TOPLA komutunu bitirir bitirmez hemen arkasından gelen komutu (eğer varsa) gerçekleştirmeye çalışır. İşlemcinin Yapısında Bulunan Birimler Kontrol Birimi: Bütün komutlar buradan işletilir. İletim Yolları (Bus): Bu yollar işlemci ile bilgisayarın diğer birimleri arasındaki bağlantıyı sağlayan iletkenlerdir. Veriyolu (Data Buses) : İşlemci, hafıza elemanları ve çevresel birimleriyle çift yönlü veri akışını sağlar. Kontrol yolu (control buses): İşlemcinin diğer birimleri yönetmek ve eş zamanlamayı (senkronizasyon) sağlamak amacı ile kullandığı sinyallerin gönderildiği yoldur. Kaydedici: Mikroişlemci ile hafıza ve giriş/çıkış (I/O-Input/Output) kapıları arasındaki bilgi alışverişinin çeşitli aşamalarında, bilginin geçici olarak depolanmasını sağlar. Sayıcılar (Counter): İşlemi yapılacak komut ve verilerin adreslerini taşıyarak bilgisayarın çalışması sırasında hangi verinin hangi sırada kullanılacağını belirler. Giriş/Çıkış Tamponları (Buffers): Mikroişlemcinin dış dünyaya adres, veri ve kontrol sinyallerini iletirken dış dünya ile iletişimin sağlandığı bir çeşit kapı görevi görür. Aritmetik Mantık Birimi (ALU-aritmetic logic unit): Mikroişlemcinin en önemli kısmıdır. Toplama çıkarma gibi işlemlerin yapıldığı bölümdür. Herhangi bir girdi birimi aracılığıyla (örneğin klavye) bilgisayara girilen veri önce Ana Belleğe gider. Buradan CPU denilen Merkezi Sistem Birimi üzerinden Kontrol Birimi’ne (Control Unit) gönderilir. Kontrol Birimi verinin türüne göre veriyi ya Aritmetiksel Birim’e (Aritm. Unit) ya da Mantıksal Birime (Logical Unit) gönderir. Burada veri işlenir ve bilgi haline gelir. Tekrar kontrol birimi üzerinden doğrulugu denetlenerek geçer ve CPU denilen Merkezi İşlem Birimi üzerinden Ana Belleğe gider. Son olarak herhangi bir Çıktı Birimi (Output Unit) vasıtasıyla bilgi görüntülenir. En sık kullanılan çıktı birimi Ekran’dır. Mikroişlemciler Mikroişlemcilerin 1970'lerde ortaya çıkması, MİB tasarımlarını ve kullanımını oldukça etkiledi. İlk mikroişlemci olan Intel 4004'ün çıkması (1970) ve yine ilk geniş çaplı kullanım sağlayan mikroişlemci olan Intel 8080 (1974) ile bu tip MİB'ler, merkez işlem birimini yürütme metotlarını tamamıyla ele geçirmiş oldu. O zaman ki tüm üreticiler, bilgisayar mimarilerini geliştirebilmek için tümleşik devre geliştirme programları yayınladılar. Bunun sonucunda da eski yazılım ve donanımlarıyla geri-uyumlu olan komut set uyumlu mikroişlemciler ürettiler. Günümüzün kişisel bilgisayarlarının başarısıyla birleşince de MİB kelimesi genel olarak mikroişlemciler için de kullanılmaya başlandı. Önceki nesil MİB’ler ayrık parçalardan ve pek çok küçük tümleşik devrelerin bir veya birden çok devre kartlarında bulunmasıyla gerçekleştiriliyordu. Mikroişlemciler ise, MİB’lerin çok az sayıda (genellikle bir) tümleşik devre üzerinde üretiminden oluşuyordu. MİB’lerin tek kalıp üzerinde üretilmesinin getirdiği bu boyut açısından bu küçülme, parasitik sığalık geçitlerinin azalması gibi fiziksel faktörler sebebiyle daha hızlı geçiş sürelerinin olmasına olanak sağladı. Bu sayede de senkron mikroişlemcilerin 10 MHz civarlarında olan saat hızları GHz seviyelerine taşındı. Ayrıca, olabildiğince ufak transistörlerin tümleşik devrelere yerleştirilmedeki artış, tek bir MİB’de sahip olunan transistör sayısını ve karmaşıklığı da artırdı. Bu geniş gözlem, Moore Kuralı ile tanımlanmıştır ve bu kuralın MİB'deki kompleks yapının zamana bağlı olarak artışının oldukça keskin bir tahminini yapabildiği ispatlanmıştır. Moore Yasası, Intel şirketinin kurucularından Gordon Moore'un 19 Nisan 1965 yılında Electronics Magazine dergisinde yayınlanan makalesi ile teknoloji tarihine kendi adıyla geçen yasa. Her 18 ayda bir tümleşik devre üzerine yerleştirilebilecek bileşen sayısının iki katına çıkacacağını, bunun bilgisayarların işlem kapasitelerinde büyük artışlar yaratacağını, üretim maliyetlerinin ise aynı kalacağını, hatta düşme eğilimi göstereceğini öngören deneysel (ampirik) gözlem. İşlemci Hızı Neye Göre Belirlenir? İşlemci hızını işlemcinin saat çarpanının, fsb (front side bus) denilen veri yolu hızıyla çarpılması sonucu ortaya çıkan sayı belirler. BIOS ayarlarında fsb ayarı “Advanced Chipset Features” kısmında oluyor ancak “voltage/frequency” menüsünde de olabilir. İşlemcinin Çalışırken Fazla Isınma Nedenleri Çok sayıda program aynı anda çalıştığında, oyun oynandığında veya ağır render işlemleri yapıldığında Tozlanma olduğunda, işlemci üstünde macun kalmadığında İşlemci üstündeki fanın düzgün çalışmaması durumunda Bazı virüslerde işlemcinin ısınmasına neden olur. Dağıtık Sistem Modeli: Dağıtık sistemlerde bilgi işleme, tek bir makinede sınırlanmamış birkaç bilgisayar üzerine dağıtılmıştır. Büyük bilgisayar tabanlı sistemlerin çoğu dağıtık sistemlere geçmiştir. Dağıtık sistemlerde; donanım ve yazılım kaynaklarının paylaşımı yapılabilir, bir hata oluştuktan sonra operasyona devam edilebilir, eşzamanlı işleme sayesinde performans arttırılabilir, farklı sağlayıcılardan gelen yazılım ve donanımlar kullanılabilir. Tüm bu faydaları dışında dağıtık sistemler genelde merkezi sistemlere göre daha karmaşıktırlar ve sistem yönetimi için daha fazla uğraş gerekir. Çoklu işlemci mimarileri en basit dağıtık sistem modelidir. Çoklu işlemcilerde, sistem farklı işlemler üzerinde çalışabilecek çoklu işlemlerden oluşur. Çok Çekirdekli Kavramı: Çok çekirdekli işlemcilerde, çekirdek diye bahsedilen aslında fiziksel manada işlemcinin kendisidir. Zar(die) içinde çok yakın bir zamana kadar sadece bir tane işlemci çekirdeği bulunuyordu. Ancak, mesela çift çekirdekli işlemcileri ele aldığımızda, bir zar içerisinde iki tane işlemci çekirdeği bulunduğunu görürüz. Çok çekirdekli işlemciler denildiği zaman mutlaka değinilmesi gereken çeşitli kavramlar vardır: * İple Bağlama(Threading): Aynı anda birden fazla iş parçacığını işleme sokabilmektir. * Çoklu İşleme(Multi Processing): Threading ve çekirdekler ile yapılan çoklu işlemlerin tümüdür. * Çoklu Görevlendirme(Multi Tasking): Birden fazla programın aynı anda çalıştırılmasını sağlar. Çoklu Çekirdek Tasarımı: Çoklu çekirdek tasarımının en büyük avantajı, aynı anda birden fazla işlem yapabilme kapasitesidir. Bu tür işlemcilerde hızı sağlayan asıl etken, aynı zar üzerindeki iki işlemcinin etkileşmesinin, ayrı ayrı işlemcilerin etkilenmesinden daha hızlı olmasıyla oluyor. Çok çekirdekli işlemcilerde, iki çekirdek aynı veri yolu ve aynı bellek bant genişliğini kullanacağından bu verimin düşmesine neden olur. İşlemci piyasasında işlemci başarımı çok önemlidir ve bu yüzden başarımı en mükemmel yapmak gerekir. Var olan üretim teknolojisi kullanılarak saat hızı ve işleme birimleri arasındaki dengeyi en iyi şekilde sağlayarak başarımı en iyi duruma getiren taraf, işlemci piyasasındaki başarım mücadelesini kazanabilir. Çok iş parçacıklı yazılımlar, çok çekirdekli tek işlemcili ve tek çekirdekli çok işlemcililerde işletim sisteminin iş parçacıklarını çekirdekler arasında paylaştırır. Bir bilgisayarın başarımını arttırmak için saat hızını yükseltmektense daha fazla sayıda çekirdek eklemek başarımı daha fazla arttırır. Çok Çekirdekli İşlemciler: Eski 8086 işlemcilerinden, Athlon 64 ve Intel Pentium 4’e kadarki tüm işlemciler tek çekirdeklidir. Yani bunlar, üzerlerinde tek bir işlem birimi taşıyan işlemcilerdir. Tek vuruşlu işlemcilerde, tek bir uygulama varken saat hızları yüksek olduğunda başarım yüksek olabilir. Çift işlem çekirdeğine sahip olmak demek teorikte çift işlem gücü demektir ancak işlem gücünün artabilmesi için uygulamaların çok çekirdekli işlemcilere göre uyarlanmış olması gereklidir. Eğer yazılım çok iş parçacıklı çalışmak üzere tasarlanmışsa, daha yüksek hesaplama gücüne ihtiyaç duyan ağır bir yazılımdır. Bu tür yazılımları çalıştırmak için çift çekirdekli işlemcileri kullanmak kullanıcıya kolaylık sağlayacaktır. Ayrıca çift çekirdek, kullanıcı internette dolaşırken aynı anda elektronik posta gönderebilmesi gibi birden fazla uygulamayı aynı anda çalıştırmada kolaylık sağlar. Yani çift çekirdek sayesinde aynı anda birçok uygulama sorunsuz çalışır. Dört çekirdekli işlemcilerin ise güçlerini gösterebildikleri az sayıda uygulama var. Çünkü uygulamaların birçoğu çok çekirdekli işlemcilere göre uyarlanmamıştır. Dört çekirdekli işlemciler, dört adet işlem çekirdeğinin ortak bir önbellekte tek bir yonga içine sokulmasıyla üretilirler. Firmaların Çok Çekirdek Çalışmaları: Çok çekirdekli işlemciler üzerinde çalışan birçok firma bulunmaktadır. Bunların bazıları: Intel, AMD, IBM ve Sun Microsystems. İntel’in Bu İ Serisi Neyi İfade Ediyor? Intel bu terimleri işlemcilerinin mimari özelliklerinden ziyade ürün sınıfını birbirinden net olarak ayırabilmek için kullanıyor. Üretim yılının konseptinde her zaman i7 serili işlemciler üst sınıf ürünlerde, i5 ile başlayanlar orta sınıf ürünlerde, i3 ile başlayanlar ise giriş seviyesi cihazlarda kullanılırlar. PEKİ DEĞİŞEN NE O ZAMAN? Her ne kadar nümerik isimleri aynı kalsa da asıl değişen işlemci teknolojisinin ta kendisi. Ancak bu aile isimleri iX kardeşler kadar popüler olmasa da her yeni işlemci jenerasyonunun (neslinin) kendine özel isimleri var. İşte Intel tarafından yakın bir zamanda tanıtımı yapılan ve son dönemlerde ismi bir hayli telaffuz edilmeye başlayan “Skylake” lar da bunlardan bir tanesi, daha doğrusu altıncısı ve aynı zamanda da sonuncusu. Tabi ki hal itibari ile de en çok performans vadeden işlemci ailesi. İ3, İ5 VE İ7’Yİ BİRBİRLERİNDEN FARKLI KILAN NEDİR? Bu işlemci sınıflarını birbirlerinden farklı kılan birçok şey vardır. Bunlardan başlıcaları; 1. işlemcilerin sahip olduğu “Core” diye ifade ettiğimiz çekirdek sayıları, 2. GHz cinsinden ifade edilen çekirdek hızları, 3. Turbo Boost diye ifade edilen aşırtma hızları, 4. Cache Size denilen hafıza özellikleri, 5. Hyper-Threading denilen sanal çekirdek sayıları ve son zamanlarda anakartlar yerine işlemcilerle bütünleşik olarak gelen grafik işlemcilerinin özellikleridir. 1) ÇEKİRDEK SAYILARI Çekirdek sayıları, bu işlemci sınıfları arasındaki farklar söz konusu olduğunda en belirgin olanların başında gelir. Genellikle “dual core”, “quad core” ve “octa core” terimleri ile ifade edilirler. Dual core iki fiziksel çekirdekli işlemcileri, Quad core dört fiziksel çekirdekli işlemcileri, Octa core ise 8 fiziksel çekirdekli işlemcileri ifade etmek için kullanılır. Core i3 serili bir Intel işlemci genellikle dual core yani iki fiziksel çekirdeğe sahiptir. Core i5’ler ve i7’ler ise genellikle quad core yani dört çekirdek taşırlar. Ancak Intel’in yüksek performans için “high end” diye etiketlediği bazı i7 işlemciler de 6 ve 8 çekirdeğe sahiptir. 2) SAAT HIZLARI İşlemci saat hızları bu farklılıklar listesinde ilk sırada gelir. GHz ifadesi GigaHertz’in kısaltılmasıdır. GHz, bir saniyede yapılan işlem birimidir. 1 GHz hızındaki bir işlemci saniyede 1 milyar hertz’lik işlem yapıyor demektir. Şuan en yaygın olan Intel 4.Nesil işlemcilere kısaca bir göz attığımızda en yüksek “Cache GHz” kombinasyonlarının i3’te 4M 3.8 GHz, i5’te 6M 3.9 GHz ve i7 de de 8M 4.4 GHz olduğunu görüyoruz. 3) TURBO BOOST ÖZELLİKLERİ Intel tarafından pazarlama maksatlı kullanılan bir terim olan Turbo Boost, çekirdek saat hızının ihtiyaç durumunda normal hızının daha üzerine yükseltilmesine olanak veren bir teknolojidir. Bu hızın ne kadar bir oranda artacağını ise işlemcinin çekirdek sayısı, işlemci sıcaklığı ve enerji tüketim seviyesi gibi özellikleri belirler. Zaman zaman aşırtma olarak da adlandırılan bu işlem için en önemli husus işlemcinin Watt cinsinden ölçülen TDP (thermal design power) değeridir. Ayrıca eğer bir işlemcinin sonunda K harfi varsa bu o işlemcinin kilidinin açıldığını ve overclock (bir işlemciyi normal çalışma frekansının daha üstünde bir frekansda çalışmaya zorlamak) yapabileceğini gösterir. Bu arada en son nesil işlemciler de dahil olmak üzere Intel ekosistemindeki i3’lerde Turbo Boost” özelliği yoktur. Bu özellik sadece i5 ve i7 sınıfı işlemcilerde bulunur. 4) CACHE KAPASİTELERİ Cache bir önbellekdir, direkt olarak işlemciye bağlıdır ve ona hizmet eder. RAM diye bildiğimiz normal belleklerden çok daha hızlıdır ve asıl olarak çalışmakta olan programa odaklanırlar. O programa ait verileri ve komutları geçici olarak saklayarak bunları çok yüksek hızlarda işlemciye iletirler. İşlemcilerdeki Cache kapasitesi genellikle 2 MB ve 8 MB arasında değişiklik gösterir. Intelin 6. nesil Skylake CPU larına (Desktop) baktığımızda Cache Bellek ortalamasının i3’ler için 3.7 MB, i5’ler için 6 MB ve i7’ler için 8 MB olduğunu görüyoruz. Ayrıca yukarıda da belirttiğimiz gibi işlemcilerin GHz cinsinden ölçülen hızları ancak güçlü Cache bellek desteği ile anlam kazanırlar. Yine 6. nesil işlemcilerden i3’lerin saat hızları ortalaması 3.58 GHz iken i5’lerinkinin 3.44 GHz olması bizi biraz şaşırtabilir, ancak i5’lerdeki çekirdek sayısı ve Cache bellek kapasitesi i3’lerin ortalama iki katıdır. 5) GRAFİK İŞLEMCİ (GPU) DESTEKLERİ Özellikle oyun tutkunları ile video ve fotoğraf tabanlı teknik editörler ya da 3D tasarımcılar için apayrı bir anlam ifade eden grafik işlemciler bir kaç yıl öncesine kadar anakartlar üzerine haricen yerleştirilen ünitelerden biriydiler. Ancak son yıllarda anakartlar yerine işlemci üzerinde bütünleşik olarak kullanılmaya başlandılar. Intel’in şuanki 6.Nesil Skylake işlemcilerinin hepsinde 350 MHz lik HD graphics 530 GPU bulunuyor. Ve tabi ki yine bu yerleşik grafik işlemcilerin hızları işlemcinin omuzundaki rütbeye göre 950 MHz ve 1.2 GHz arasında pozitif yönde değişiklik gösteriyor. 6) HYPER-THREADİNG YETENEĞİ Çoğu kişiye pek de tanıdık gelmeyen “Thread” terimi CPU nun gerçekleştirmek zorunda olduğu programlanmış yapıların bir dizilimidir. Çok daha basit ifadesi ile bir birim iştir. Normal şartlarda tek çekirdekli bir CPU bir seferde sadece tek bir thread yapabilir. Doğal olarak çift çekirdekli işlemcilerde bir seferde iki thread yapabilir. Intelin şuan ki Skylake serisinde yalnızca i3’lerde ve i7’lerde bu özellik bulunuyor, i5 lerde ise böyle bir özellik bulunmuyor. AMD VE İNTEL İŞLEMCİNİN FARKI Günümüzde Intel marka işlemciler AMD işlemcilere göre biraz daha ön plandadır. Son 10 yıl içerisinde evine bilgisayar alanların bilgisayarlarında %75 civarı Intel işlemci bulunmaktadır. Bunun nedeni; Intel firmasının reklam politikası ve hazır sistem bilgisayar satan firmalarla olan anlaşmasıdır. Yani buradan yola çıkarsak, en iyi işlemci Intel'dir anlamı KESİNLİKLE çıkmamalıdır ve artı olarak kaliteli ve geleceğe dönük bir Intel marka işlemci almak istediğimizde fiyatı çok yüksek seviyelerdedir. Yani yeni model bir Intel marka işlemci çok gereksiz ve çok pahalıdır. Artı olarak Intel işlemciler her yeni modelde soket değiştirmektedir. Yani işlemcimizi değiştirmek istediğimizde mecburen anakartı da değiştirmek zorunda kalırız. AMD marka işlemcilerin ise fiyat bakımından tam anlamıyla "ev kullanıcılarına" hitap eden bir yapısı vardır. Reklamı ve piyasası Intel'den biraz daha geride olmasına rağmen, performans olarak Intel ile aralarında çok düşük farklar vardır ve bu farkları günlük kullanımımızda anlamamız mümkün bile değildir. Şöyleki; model olarak birbine denk Intel ve AMD işlemcileri (Intel i5 serisi vs AMD Phenom II x4 serisi veya Intel i7 serisi vs AMD Phenom II x6 serisi) arasında çok düşük performans farkları vardır ve bu farkları hangi oyun oynanırsa oynansın, hangi program kullanırsa kullanılsın, yani kısacası ne yapılırsa yapılsın anlayamayız bile. Artı olarak AMD, her yeni model işlemcide soket değiştirmez, geriye dönük uyumlu olma politikası vardır. Yani AMD marka işlemcimizi değiştirmek istediğimizde üstüne bir de anakartı değiştirmemiz gerekmeyecektir. Performans olarak birbirine çok benzemelerine rağmen Intel marka bir işlemci popülerliği nedeniyle AMD marka bir işlemciden çok daha pahalıdır. Bu nedenle hemen hemen aynı performansı veren iki işlemci arasından AMD olanını seçmek çok daha mantıklı ve ucuzdur. Assembly İkinci kuşak dilidir. Bu dilde komutlar sembollerle ifade edilir. Öğrenilmesi zor bir dildir. Emek ister. Diğer programlama dillerine göre daha fazla kod kullanımı gerektirir. Diğer Dillere göre birçok üstünlüğü vardır. Assembly’den önce kolay bir dil öğrenilmelidir. 0C85:0100 B402 MOV AH,02 0C85:0102 B203 MOV DL,03 0C85:0104 CD21 INT 21 0C85:0106 CD20 INT 20 Mavi renkteki bölümler bellek lokasyonlarıdır. Kırmızı renkteki yazılar assembly kodlarıdır. Koyu yeşil kısımlar ise bu assembly kodlarının makina diline çevrilmiş halidir. Assembly programlama dili örneği format mz org 100h mov ah,09 mov dx,yazi int 21h mov ah,00 int 16h int 20h yazi db "merhaba dunya$" Peki Assembly Bize Ne Sağladı? İşlemci üzerindeki her komuta aracısız erişim sağlar. Oluşturulacak programın kodlaması esnasında yüksek bir kod hakimiyeti sağlar. Az yer kaplar. Daha hızlı çalışır. AVANTAJLARI NELERDİR? İşlemci gücünü en iyi şekilde ortaya koyabilecek tek programlama dilidir. Çok hızlı çalıştıkları için işletim sistemlerinde kernel ve donanım sürücülerinin programlanmasında, hız gerektiren kritik uygulamalarda kullanılmaktadır. Yapısı itibariyle üç boyutlu ekran kartlarında ilgili çizim ve efektlerin işlenmesi amacıyla hem oyunlar hem de programlar içinde ekran kartına hitap eden makina dili kodları kullanılmaktadır. İyi öğrenildiğinde diğer dillerde karşılaşılan büyük problemlerin assembly ile basit çözümleri olduğu görülür. Zaman geçtikçe ve insanlar üreten yerine tüketen bilgisayar kullanıcıları haline geldikçe bu dili bilmenin ayrıcalığı artmaktadır. DEZAVANTAJLARI NELERDİR? Dilin öğrenilmesi uzun zaman ister. Yazılan programlar diğer diller göre daha çok satırdan oluşur. Yazdığınız programın hangi satırlarının ne iş yaptığını bir süre sonra anlamayabilirsiniz. İşlemciye birebir bağımlıdır. BİZİ DİNLEDİĞİNİZ İÇİN TEŞEKKÜR EDERİZ 3.GRUP Ayşenur KÜÇÜK Seray TUNA Mert ÖZKARA Ali KÖRÜKÇÜ Canpolat ESERKAYA Özgür TEKİN