temel bilgisayar ve günümüz bilgisayarları ile assembly

13
Bilgisayar Organizasyonu Ödevi Şahabettin AKCA - 132132178 A.Y.Ü Bilgisayar Mühendisliği

Upload: sahabettin-akca

Post on 13-Aug-2015

80 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Bilgisayar Organizasyonu ÖdeviŞahabettin AKCA - 132132178A.Y.Ü Bilgisayar Mühendisliği

Page 2: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Ödev 1Temel bilgisayarın yapısında kullanılan tüm elemanları tanımlayıp görevlerini anlatınız. Kendi bilgisayarınızın benzerlikleri ve farklarını belirtiniz, karşılaştırınız.

Page 3: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Bilgisayarların tümü benzer donanımları ihtiva eder. Günümüzde kullandığımız bilgisayarlar, “temel bilgisayarın” ilerletilip, geliştirilmesinden ortaya çıkmıştır. Bu temel bilgisayarın yapısını 3 ana başlıkta ele alacağım:

1. Merkezi İşlem Birimi (CPU) 2. Bellek (Memory) 3. Giriş/Çıkış Birimleri

1- Merkezi İşlem Birimi: Mikro işlemci bilgisayar sisteminde programların (tüm işlerin) işletilmesinden sorumlu olan ve tüm bileşenleri merkezi şekilde kontrol eden tümleşik devre elemanıdır. Giriş/Çıkış birimlerine gelen/giden verileri önceden tasarlanmış program çerçevesinde işler.

Temel Bilgisayar Yapısı

Page 4: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

MİB bellek gereksinimi ile veri-komut yoluna göre Von Neumann ve Harvard olmak üzere iki mimariye ayrılır.

Von Neumann Mimarisi

İşlemci birimi ve bellek birimi ayrı olarak tasarlanmıştır. Bilgisayarın çalışması için kullanılacak olan program, mikro işlemci(cpu) tarafından program komutu ve verisi aynı bellek (veri yolu) üzerinden çağırılır.

Bu mimarinin pozitif yönü bellek gereksinimi azdır tek bellek ile işler yapılır.

Negatif yönü ise veri ve komut aynı bellekte olduğundan; CPU, bellekten bilginin gelmesi bekler ve gecikme yaşanır. CISC mimarisinde kullanımı yaygındır. Complex / Karışık bir yapısı olduğundan çok fazla komut seti bulunur ve transistör sayısı fazladır; bu sebep ile de daha fazla güç tükettiğini belirtebiliriz. İlk bilgisayar olan ENIAC’ta ile halen günümüz bilgisayarlarında kullanılmaktadır.

Temel Bilgisayar Yapısı - 2

Page 5: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Harvard Mimarisi

Programın verisi ile kodu ayrı bellek ve veri yolu (bus) üzerinden getirilir. Bu sayede işlemci tek çevrimlik (cycle) sürede; Hem veriyi hemde program komutunu getirip işlemci üzerinden gerekli işlemleri daha hızlı yapabilmektedir.

Bu mimarinin olumsuz yönü ise 2 ayrı belleğe ihtiyaç duyulmasını söyleyebiliriz.

RISC (azaltılmış) mimarisine göre dizayn edildiğinden komutlar daha sade ve CISC’e göre daha az transistör ihtiva eder. Güç tüketimide düşüktür. Daha çok mikro denetleyicilerde kullanılmaktadır.

Temel Bilgisayar Yapısı - 3

Page 6: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

MİB İç Yapısı ve Günümüz Bilgisayarları karşılaştırılması

MİB’in iç yapısını 4 alt başlıkla inceleyeceğim:

a. ALU: Aritmetik ve mantıksal işlem birimi, hesaplama-transferden sorumludur.

b. Kontrol Birimi: İşlemlerin sırasını belirler, gerekli denetim işaretlerini üretir (derste gördüğümüz örnek bayraklar Z,C,S vb.), bellekten okunan kodların çözümüde yine bu birimin görev uhdesindedir.

c. Kaydedici: Hesaplama ve transfer işlemleri sırasında işlemcinin ihtiyaç duyduğu değerlerin tutulduğu kaydedici.

d. İç Yollar: Mikro işlemci içerisinde tüm birimlerin veri transferini ve kontrolünü sağlamak için bir birine bağlanan yollara denir.

Page 7: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

MİB İç Yapısı ve Günümüz Bilgisayarları karşılaştırılması - 2

* Günümüz bilgisayarları ile temel bilgisayarın MİB iç yapısı arasında yeni gelişmeler neticesinde farklar vardır.

1. ALU ya destek olarak FPU birimi (kayan noktalı birim) binary olarak kaydırma yani çarpma ve bölme gibi zorlu işlemleri yapan ayrı birim eklenmiştir.

2. Grafik işlemleri için MMX (multimedya komut seti) birimi eklenmiştir.

3. Von Neumann dar boğazı (kilitlenmesi) olarak bilinen veri ve komutların tek bellekten geldiği için veri yolunda yaşanan yavaşlıkları aşmak için; program komutları işlemci üzerindeki CACHE(L1,L2,L3) ön bellek alanlarında tutularak bu yavaşlık problemi aşılmaya çalışılmıştır. Fakat burada ön bellek olarak kullanılan SRAM hızlı fakat diğer belleklere göre maliyeti daha pahalıdır, bu sebeple kullanımı kısıtlı kalmaktadır.

4. İşlemci genelde temel bilgisayar döneminde işlemci hızı, “saat hızı” ile anılmaktaydı. İşlemci hızları o dönemde 16-100 MHz dolaylarındayken şuan 3000-3400 GHz dolaylarına çıkmıştır. Fakat artık saat hızı tek başına performans ölçütü değildir. İşlemcinin çekirdek sayısı artırılarak 2-4-8 gibi düşük saat hızlarında daha fazla performans alınabilmektedir.

5. İşlemcinin matematiksel olarak işleyebileceği veri uzunluğunu belirten “İşlemci Biti” ile belirtiriz. Temel bilgisayarda 4-8-16 bit iken günümüzde; 32 ve 64 bit işlemciler mobil cihazlarda bile kullanılmaktadır.

Page 8: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Bellek BirimiBellek Birimi: Bilgisayar tarafından kullanılacak veri ve program komutlarının tutulduğu birimdir. MİB ile veri yolu üzerinden bilgi transferi yapılır. ROM (read only memory) ve RAM (random access memory) olmak üzere 2 çeşit bellek vardır.

Ram belleğe rastgele erişilebilir; istenildiği zaman yazılıp, okunabilir. Ram bellek uçucudur, elektrik kesintisinde içerisindeki veriler silinir. Sram ve Dram olarak 2 çeşit Ram bellek mevcuttur. Sram hızlı ve pahalıdır, günümüzde CPU içerisinde ön bellek olarak kullanılmaktadır.

Rom bellek; yalnızca okunabilen bellektedir. Değiştirilmesini istemediğimiz bilgileri okumak için kullanılabilir. Örneğin çamaşır makinemizin içerisindeki mikro işlemciyi ve onun yıkama işlemleri için ihtiyaç duyduğu programı düşünebiliriz, değiştirme gereksinimi duyulmayabilir aksine bilgilerin silinmemesi istenir. Fakat bazı durumlar için bir defaya mahsus programlanabilir PROM veya silinip tekrar programlanabilen EPROM-EEPROM modelleri geliştirilmiştir.

Günümüz bilgisayarları anakartları üzerinde POST-BIOS işlemlerinin tutulması için rom bellek bulunmakta ve bir

saat pili ile bilgilerin bellekte tutulması sağlanmaktadır. İhtiyaç halinde BIOS üzerinde bilgisayarın saati ve bazı bir kaç özellik değiştirilebilmektedir. İşletim sisteminin program ve komutlarının çağırılmasını sağlayan bilgiler burada tutulabilir.

Page 9: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Bellek Birimi - 2Kendi Bilgisayarım ile Karşılaştırma

İş yerimde intel i7 işlemcili Windows 10 Technical Preview modelini; evimde ise Apple Macbook Air modelini kullanıyorum. Gelişen depolama ihtiyaçları ile HDD, SCSI gibi modeller oluşturulmuştur. Hız ve performans olarak yetersiz gelindiği yerlerde kişisel bilgisayarlar için Sata ve SSD, sunucu sistemleri için SAS diskler üretilmiştir. Macbook üzerinde intel i5 işlemcili, 4Gb DDR3 1333 Mhz saat hızında bellek ve 128 Gb SSD disk işletim sistemi,program, resim, video, oyun vb. bilgileri depolama ihtiyacı için geliştirilmiştir.

Ram gibi elektronik belleklere göre daha yavaştır. Fakat SSD, hdd gibi eski teknoloji okuma kafası ve dönen manyetik disklere bağımlı olmadığından daha hızlı FLASH bir depolama biçimidir.

Bir bilgisayar veya programın açılış hızı bilgisayarın en yavaş parçası olan HDD ye bağlıdır SSD gibi hızlı bir disk ile değiştirerek daha kısa sürede programın belleğe oradan işlemciye alınması sağlanabilir. Windows üzerinde bir kez açılan program, Ram de olacağından hdd ye hiç uğramadan ikinci de daha hızlı açılır. (ram in taşmayacağını veya boşaltılmadığı durumlarda) Windows Office, İnternet explorer gibi uygulamalar ile bunu sizde deneyebilirsiniz.

Page 10: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Giriş / Çıkış BirimiKullanıcıdan işlemciye (bilgisayara) bir veri girer ve programlar ile istenen işlemler yapılarak çıkış birimlerine gönderilir.

Giriş Birimleri: Bilgisayar Programın ihtiyacı olan bilgi; klavye, fare, tarayıcı, kamera, mikrofon gibi analog dış dünyadaki

bilgilerin sayısal sinyal olarak bilgisayara (mikro işlemciye) gönderilmesini sağlayan donanımlardır.

Günümüzde Microsoft Xbox 360-One gibi cihazlarda Kinect isimli aygıt ile 3 adet kamera, mikrofon ve uzaklık algılayıcı cihazlar ile giriş birimleri de çok ileri seviyelere gelmiştir. İnsanların görüntülerini algılayarak vücut hareketlerini işleyebiliyor. Zıplama, koşma, eğilme vb. benzeri aktiviteleri bilgisayar giriş birimi olarak alıp işleyip ekrana yansıtıyor. Ses ile yönetilen bilgisayar, telefon ve kişisel asistanlarda giriş birimleri için başka methot ve aygıtlar geliştirilmektedir. Klavye ve farenin popülerliğinin azalacağına bir işaret.

Çıkış Birimleri: İşlemci tarafından işlenen program ve veriler; monitör, yazıcı, hoparlör vb. gibi donanımlara veri yolları

aracılığıyla iletilir.

Page 11: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Kullandığımız Günümüz Bilgisayar DonanımlarıBilgisayar yazılım ve donanım olmak üzere ikiye ayrılır:

Donanım bilgisayar programlarının gerekli işleri yapması gereken fiziksel aygıt ve elektronik devre elemanlarını belirtir.

Yazılım ise fiziksel olmayan tüm komut ve verileri ifade eder. Bu donanımların nasıl çalışacağını ayarlar/düzenler ve işlemler sonrasında ortaya ürün konulmasından sorumludur.

Kullandığımız bilgisayarların donanımları 12 adettir ve diğer sayfada sıralanmıştır.

Page 12: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Kullandığımız Günümüz Bilgisayar Donanımları - 2

1. Mikro işlemci: Komut ve verilerin bellekten getirilerek, çözülmesi ve çalıştırılması görevini yapar. Bir program işletilirken diğer programlardan gelen kesme taleplerine cevap verir. Programlar arası geçiş yapmayı sağlar.

2. Önbellek: Bellek ve veri yolundaki gecikmeleri engellemek için; çok kullanılan komutlar, bu belleğe aktarılır.3. Bellek: Rom ve Ram olarak 2 çeşittir. Rom’da bilgi kalıcı , Ram’de bilgi değiştirilebilir(silinip/yazılabilir) uçucudur.4. Anakart: İşlemci,ram,ses kartı, ekran kartı, DVD, HDD gibi dahili aygıtları bir araya getirerek bunlar arasındaki

haberleşmeyi kontrol eden bilgisayar en önemli parçalarındandır. 5. Veri yolu: Bilgisayar donanımları arsında veri aktarmak için kullanılan entegrelerdir6. Yonga takımı: Anakartın yönetim bölümünü oluşturur, veri akışını kontrol eder.7. Sabit disk: Ram’lere göre daha ucuz olduğundan; daha büyük GB/TB cinsinden verileri saklamak için kullanılır.8. Ses kartı: Programların ürettiği dijital bilgileri, ses olarak bilgisayardan hoparlör aracılığıyla çıkmasını sağlar.9. Modemler / Ethernetler: Bilgisayarların bir birleriyle veya bir ağ ile haberleşmesine olanak sağlayan aygıtlardır.

10. CD / DVD sürücüsü: Bilgisayar arasında veri taşımaya uygun ve hızlı bir yöntemdir. Kapasitesi gelişmektedir.11. Ekran (Monitör): Kullanıcının bilgisayar ile iletişim kurmasını sağlayan görüntüleme aygıtıdır.12. Klavye / Fare: Bilgisayarın en önemli ve sık kullanılan giriş aygıtlarıdır. İlk farenin üretilmesinden beri oldukça

gelişmiştir. Apple sayesinde çok daha fazla işlevi mevcuttur.

Page 13: Temel Bilgisayar ve Günümüz Bilgisayarları ile Assembly

Ödev 2Temel bilgisayarın assemble dilindeki komutları kullanarak anabellekte A,B ve C adreslerinde bulunan sayılar üzerinde “ (A+2*B) - C/2” işlemini yapıp, sonucu D adresine saklayan programı yazınız.Cevap: ORG 100 #program başladı, 0-100 arasında Mikro denetleyici pre-set (öntanımlı) komutları olabilir 100 adresinden başladım

LDA B # AC - aküye b yi attımCIL # b yi sola kaydırarak 2 ile çarpmış oldum.ADD A # akü ile a yı topladım.STA Z # akü yü geçici - temp olarak Z ye attım.

LDA C CIR #sağa kaydırıp 2 ye böldüm.CMA #çıkartma işlemi yapacağımızdan komplement aldım.INC #akü yü 1 artırdım

ADD Z

STA D # sonucu D Register’ına atadık.

END