Programlamadili.Net Yeni Nesil Programlama Portali
 
Makale Ara: 
Kullanıcı Adı : Şifre :
  • Makale Kategorileri
ACPI [0]
Action Script [5]
ASP [12]
ASP.NET [23]
Assembly [3]
Bash [1]
C [4]
C# [9]
C++ [10]
Cobol [1]
Delphi [31]
Flash [5]
Html [9]
JAVA [36]
Java Script [11]
JSF [2]
Jsp [1]
Lua [1]
Matlab [2]
MySQL [26]
Oracle [1]
Pascal [31]
Perl [4]
Photoshop [2]
PHP [108]
Python [8]
REXX [6]
Ruby [1]
SEO [4]
Visual Basic [20]
  • Gorsel Ders Kategorileri
Asp [25]
Asp.Net [5]
Csharp [33]
Delphi [3]
Fireworks [4]
Flash [10]
Java Script [0]
Photoshop [0]
PHP [11]
Vb.Net [9]
Visual Basic [4]
  • Dil
English
Deutsch
deutsch
  • Reklam Alani
Assembly / Bilgisayarlar ve Mikroişlemciler
Bilgisayarlar ve Mikroişlemciler
Yazar: FERDIKUCUK
Eklenme: 03/04/08    Okunma: 88    
 
 


Biraz bilgisayar tarihine değinelim, daha sonra mikroişlemcilere geçeceğiz.

Aslında abaküs'e kadar dayanıyor. Öncelikle matematikteki daha sonra fen bilimlerinde ve teknolojideki gelişmeler ve yeni teknikler bizi şu anda bulunduğumuz noktaya getirdi. İlk hesaplayıcılardan sonra Pascal ve Babbage'in mekanik hesaplayıcıları gelmektedir. Elektronik devre elemanlarının geliştirilmesi ve tüplü tranzistörlerin sayesinde ilk elektronik hesaplayıcılar, yani modern bilgisayara giden yol açılmış oldu. 1936-1951 arasındaki bu donemde 1945 de ENIAC yapıldı. ENIAC ile işlemler soket bağlantılarının değiştirilmesi ile yaptırılıyor idi. 70bin direnç, 10bin kondansatör, 18bin tüplü tranzistör ve çalışırken harcanan 150-200 kilowatt enerjisi ile dev ama sadece dört işlem yeteneği, çok yavaş çalışması, kablolarla programlamanın zorluğu ve çok sık arıza yapmasıyla da hantal bir cihaz idi.

1948 yılında germanyum, 1954 de silisyum tranzistörler bulundu. Artık vakum tüpleri yerini yarı iletken tranzistörler aldı. Mikroelektronik geliştikçe tranzistörler küçüldü ve sonunda bunları tek bir devre parçasında birleştirme fikri gelişti. Artık entegre devreler yani çipler karşımızda. Harcanan daha az enerji, daha küçük devreler taşınabilir radyolar gibi ürünleri beraberinde getirdi.

İntelin ilk ticari amaçlı işlemcisi 1971 yılının 4004 çipi idi. Dört bitlik bir işlemci olup sadece hesap makinalarında kullanıldı. Bizi ilgilendiren 1978 yilinda üretilen 8086. Bu işlemci 8bitlik basit ve yavaş bir işlemcidir. Fakat şu andaki Pentium 4 mimarisi bile geriye uyumlu olarak bu işlemciyi desteklemektedir. Farkları hız, ek birçok komut ve yeni teknolojilerdir. Biz de bu 8086 ile başlayan x86 komut setini programlıyor olacağız. Aşagıda bir ilerleme yer almaktadır.

8086 -> 80186 -> 80286 -> 80386 -> 80486 -> Pentium -> Pentium Pro -> Pentium !! -> Pentium !!! -> Pentium 4

İntel işlemciler 80386 den itibaren bazı yenilikler getirdiği için ( 32bit ve multitasking işlemci ) artık bizim için temel teşkil etmektedir.
Pentium 4 3000C işlemcisi için biraz açıklama yapalım: Mimari:Pentium 4 İşlemci çekirdek hızı: 3000Mhz (yani bir saniyede 3 milyar komut işler) C: Veriyolunun 800Mhz olduğu anlamında. Klasik özellikler: 32bit işlemci, 64 bit veriyolu, 4Gbyte bellek adresleme, Hypertreading teknolojisi ile çift işlemci gibi çalışma ve gelişmiş mimari özellikleri ile tek döngüde iki işlem yapabilme özellikleri bulunuyor.

İşlemcimizin 32 bit olması ne demek? Öncelikle bit nedir? 1 byte bilgi tek karakterden oluşur. Yani notepad içine yazdığınız tek bir 'A' harfi 1 byte yer kaplar. 1 byte bilgisayarda 8 bit yani 8 tane '1' veya '0' dan oluşur.

binary 11111111 = decimal 255 eder.
binary 01000001 = decimal 65 eder. Bu değeri içinde saklayan bir 8bitlik saklayıcı 'A' harfini gösterir. Yani matematiksel değerlerinin yanında bu 8 bitlik değerler ASCII karakter setine göre belirli bir karaktere de denk gelmektedir.

İlk sayfada 0C85:0100 B402 MOV AH,02 şeklinde bir satır bulunuyor idi. Buradaki B402 16lık sayı sistemindeki 2 byte bilgidir. Ve bu makina dili komutu assembly olarak Mov ah,02 ye denktir. Bu komut ise ah registerine (işlemcideki 8bit saklayıcılardan biri) 02 hexadecimal değerini atar. İleride bit düzeyinde işlemler de yapacağımız için 16 lık 10 luk ve 2 lik sayı sistemlerinin birbirine dönüşümlerini bilmek zorundayız. Örnek bir binary-decimal dönüşümü aşağıdadır.

binary 01001110 için Decimal karşılığı=0*2^7+1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+0*2^0=64+8+4+2=78 eder.

Daha önce de belirttiğimiz gibi işlemci sadece matematiksel değerlerden anlar. İster kod isterse data olsun esas olan bitlerdir. 32 bit işlemciler 1 döngüde 32 bit yani 4 byte bilgiyi işleyebilme özelliğine sahiptir. Çarpma, bölme, bellekten işlemciye veri alınması ve gönderilmesi gibi...

İşlemciler teknik özellikleri yanında iç frekansları ile de karşılaştırılmaktadır. Pentium 3 1000Mhz bir işlemci saniyede 1 milyar işlem yapar. Fakat işlemcide her komut aynı sürede tamamlanmaz. Bu komutun karmaşıklığı ile alakalıdır. İşlemci içinde bir tür sinyal üreten saat bulunur. Bu işlemcinin hızını tayin eder. İşlenecek olan komut saat darbesinin verilmesi ile işlem görmeye başlar ve bir sonraki saat darbesine kadar tamamlanmak zorundadır. İşlemcideki tüm komutlar için bu geçerlidir.



Taglar: Assembly Nedir? Bilgisayarlar ve Mikroişlemciler Register'lar

Isminiz:
E-mail adresiniz:
Güvenlik Kodu:
  
 

 

Istatistikler ,
Sitemizde su anda 30 kategori, 377 makale , 104 görsel ders ve 3 Ziyaretci bulunmaktadir...
Toplam üye sayimiz : 496

Copyright © 2007 Programlamadili.net - Programlama & Tasarim: Recep Ikiz & Ferdi Küçük

| Site Haritasi |

"Ne Aradığını Bilmeyen Bulduğunun Farkına Varamaz "
ACPI Programlama dili, Action Script Programlama dili, ASP Programlama dili, ASP.NET Programlama dili, Assembly Programlama dili, Bash Programlama dili, C Programlama dili, C# Programlama dili, C++ Programlama dili, Cobol Programlama dili, Delphi Programlama dili, Flash Programlama dili, Html Programlama dili, JAVA Programlama dili, Java Script Programlama dili, JSF Programlama dili, Jsp Programlama dili, Lua Programlama dili, Matlab Programlama dili, MySQL Programlama dili, Oracle Programlama dili, Pascal Programlama dili, Perl Programlama dili, Photoshop Programlama dili, PHP Programlama dili, Python Programlama dili, REXX Programlama dili, Ruby Programlama dili, SEO Programlama dili, Visual Basic Programlama dili,
Reklam alanı