BİLGİSAYAR MİMARİSİ. Halil Özmen

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "BİLGİSAYAR MİMARİSİ. Halil Özmen"

Transkript

1 BİLGİSAYAR MİMARİSİ Halil Özmen Bu belge çok özet bilgi içermektedir. Öğrencilerin sınıfta tuttukları ders notları yerine, veya ders kitabı yerine geçmez. Öğrenci notlarının ve ders kitabının yanında bu belgeyi de destek amacıyla kullanabilir. (Not: "Computer Organization and Architecture", 5/e, William Stallings, Prentice Hall, kitabından yararlanılmıştır ve bu kitaba referanslar içerir.) İÇİNDEKİLER 1. VON NEUMANN MİMARİSİ VE KOMUT İŞLETİMİ Bilgisayar Yapısının Üst Seviye Görünümü Von Neumann Mimarisi Komut İşletimi (Instruction Execution) Komut Çevrimleri (Instruction Cycles) Komut Türleri (Instruction Types) Komut Formatı Komut Çevrim Durumları (Instruction Cycle States) Kesmeler (Interrupts) Kesmeler ve Komut Çevrimi (Interrupts and the Instruction Cycle) Çoklu Kesmeler (Multiple Interrupt) KOMUT SETLERİ (INSTRUCTION SETS) Komut Özellikleri (Instruction Characteristics) İşlenen Türleri (Types of Operands) İşlem Türleri (Types of Operations) Adresleme Kipleri (Addressing Modes) Komut Formatları (Instruction Formats) ARA-BAĞLANTI YAPILARI (YOLU YAPISI) (BUS STRUCTURE) Veri Yolu Bağlantıları (Bus Interconnection) Çoklu Veri Yolu Hiyerarşileri (Multiple-Bus Hierarchies) Veri Yolu Tasarım Öğeleri (Elements of Bus Design) MERKEZİ İŞLEM BİRİMİ (CENTRAL PROCESSING UNIT) İşlemci Yapısı (Processor Organization) Yazmaç Yapısı (Register Organization) Kullanıcı-Görünür Yazmaçlar (User-visible Registers) Kontrol ve Statü Yazmaçları (Control and Status Registers) Komut Çevrimleri (Instruction Cycles) Aritmetik Mantık Ünitesi (AMÜ) (ALU) KONTROL ÜNİTESİ (CONTROL UNIT) Mikro İşlemler (Micro Operations) Control of the Processor Fiziksel Bağlantılı Kontrol Ünitesi (Hardwired Control Unit) Mikro Programlamalı Kontrol (Micro-Programmed Control) BELLEK (MEMORY) Bellek Sistemlerinin Özellikleri (Characteristics of Memory Systems) Ana Bellek (Main Memory) Cache Bellek (Cache Memory) Dış (Harici) Bellek Memory Management in Operating Systems GİRDİ/ÇIKTI (INPUT / OUTPUT) Dış (Harici) Aygıtlar Girdi/Çıktı Birimi Programlı G/Ç (Programmed I/O) Kesme Yönetimli G/Ç Doğrudan Bellek Erişimi (Direct Memory Access) G/Ç Kanalları (I/O Channels) The External Interface: SCSI...36 Bilgisayar Mimarisi 1 Halil Özmen

2 1. VON NEUMANN MİMARİSİ VE KOMUT İŞLETİMİ 1.1. Bilgisayar Yapısının Üst Seviye Görünümü Giriş Aygıtları BİLGİSAYAR Çıkış Aygıtları Bilgisayar şunlardan oluşur: Merkezi İşlem Birimi (MİB)(CPU), Ana Bellek, Girdi/Çıktı İşlemcisi, Sistem Bağlantıları. MİB şunlardan oluşur: ALU (Aritmetic Mantıksal Ünite), Kontrol Ünitesi, Yazmaçlar (Registers), ve M İB içi bağlantı devreleri. Girdi/Çıktı İşlemcisi: Video controller, harddisk and floppy controllers, keyboard and mouse controllers,... Girdi Araçları: Klavye, fare, harddisk, flash bellek, mikrofon, modem, tarayıcı, ağ bağlantısı,... Çıktı Araçları: Monitör, harddisk, flash bellek, cd/dvd sürücü, yazıcı, hoparlör, ağ bağlantısı,... BİLGİSAYAR Girdi/ Çıktı COMPUTER Ana Bellek Sistem Bağlantıları Merkezi İşlem Birimi BİLGİSAYAR Girdi / Çıktı Birimleri Sistem Bağlantıları Merkezi İşlem Birimi MİB (CPU) Ana Bellek Yazmaçlar MİB MİB İçi Bağlantılar Aritmetik Mantık Ünitesi AMÜ ALU Fig.1.1. Bilgisayar: Üst Seviye Yapısı Kontrol Ünitesi Fig.1.2. Merkezi İşlem Birimi (MİB) (CPU) Bilgisayar Mimarisi 2 Halil Özmen

3 1.2. Von Neumann Mimarisi Von Neumann Mimarisi üç temel kavram üzerine kurulmuştur: 1. Veriler ve komutlar, okunabilir ve yazılabilir bir bellekte tutulurlar. 2. Bu belleğe, içeriğine bakılmaksızın (komut veya veri ayrımı yapılmaksızın), konum adresleri kullanılarak erişilir. 3. Yürütme, bir komuttan bir sonrakine sıralı olarak gerçekleştilir (aksi özel olarak belirtilmediği takdirde). [Yani: Komutlar sıralı olarak çalıştırılırlar.] Arithmetic and Logic Unit Main Memory I/O Equipment Program Control Unit Fig.1.3. IAS Bilgisayarının Yapısı IAS is the first digital computer in which the von Neumann Architecture was employed. The general structure of the IAS computer: A main memory, which stores both instructions and data, An arithmetic and logic unit (ALU) capable of operating on binary data, A control unit, which intertprets the instructions in memory and causes them to be executed, Input and Output (I/O) equipment operated by the control unit. Bilgisayar Bileşenleri: PC IR Genel Amaçlı Yazmaçlar MİB (CPU) Kontrol Ünitesi... MAR MBR I/O AR I/O BR AMÜ(ALU) G/Ç Birimi (I/O Module) Tamponlar Bellek (Memory) Komut Komut Komut Komut Veri Veri Veri... PC = Program Sayacı (Program Counter) IR = Komut Yazmacı (Instruction Register) MAR = Bellek Adres Yazmacı (Memory address register) MBR = Bellek Veri (tampon) Yazmacı (Memory buffer reg.) I/O AR = G/Ç adres yazmacı (I/O address register) I/O BR = G/Ç veri yazmacı (I/O buffer register) Fig.1.4. Bilgisayar Bileşenleri: Üst Seviye Görünümü Bilgisayar Mimarisi 3 Halil Özmen

4 Komut veya Verinin Bellekten MİB'e Getirilmesi: 1.a. [Komut getirme] PC'deki adres (komutun adresi) MAR'a kopyalanır. 1.b. [Veri getirme] Verinin bellek adresi MAR'a konur. 2. MİB, bellek ünitesine "gönder" (oku / read) emrini gönderir. MAR adres yoluna bağlı olduğu için, MAR'daki adres bellek ünitesine ulaşır. 3. Bellek ünitesi, adres yolundan gelen adresteki bellek içeriğini veri yoluna koyar, ve MİB'ye haber verir. 4. MİB'deki MBR veri yoluna bağlı olduğu için, veri yolundaki içerik MBR'da yer alır. 5. [Komut getirme] MBR'daki içerik IR'ye kopyalanır ve PC artırılır. Verinin MİB'den Belleğe Yazılması (Kaydedilmesi): 1. Verinin bellek adresi MAR'a konur. 2. Veri MBR'ye konur. 3. MİB, bellek ünitesine "kaydet" (yaz / write) emrini gönderir. MAR adres yoluna bağlı olduğu için, MAR'daki adres bellek ünitesine ulaşır. MBR veri yoluna bağlı olduğu için, MBR'deki veri bellek ünitesine ulaşır. 4. Bellek ünitesi, gelen adrese gelen veriyi kaydeder. 5. Kaydetme (yazma) işleminin tamamlandığını MİB'e haber verir Komut İşletimi (Instruction Execution) İki temel çevrim vardır: komut getirme çevrimi ve komut uygulama (çalıştırma) çevrimi Komut Çevrimleri (Instruction Cycles) MİB'nin çalışması iki temel çevrim olarak sadeleştirilebilir: komutu getirme ve komutu çalıştırma. BAŞLA Komutu Getir Komutu Çalıştır DUR Fig.1.5. Temel Komut Çevrimi Her çevrim alt adımlar içerir. Bu alt çevrimleri şöyle özetleyebiliriz: Komut Getirme Çevrimi: Komutu IR'ye yerleştir. (Komut bellekten getirildiğinde, MİB'de "Komut Yazmacı"na (IR) yüklenir.) Program sayacını (PC) güncelle. Komut Uygulama Çevrimi: Komutu çöz. Adres dönüştürme yap. İşlenenleri bellekten getir. Gereken işlemi veya hesaplamayı yap. MİB'deki statü durumlarını ayarla. Sonucu yazmaca veya belleğe kaydet (depola) Komut Türleri (Instruction Types) Komut, işlemcinin yapacağı işlemleri belirleyen bitlerden oluşur. İşlemci komutu yorumlar, ve gereken işlem(ler)i yapar. Bu işlemler genelde dört sınıfa ayrılır: İşlemci - Bellek: Veri bellekten işlemciye (yazmaçlara) veya işlemciden belleğe aktarılır. İşlemci - G/Ç: Veri girdi/çıktı cihazları ile işlemci arasında, girdi/çıktı birimleri aracılığıyla aktarılır. Veri İşleme: İşlemci veri üzerinde arithmetic veya matıksal işlemler yapabilir. Kontrol: Bir komut çalışma sırasını değiştirebilir. Örneğin işlemci 148. konumdaki komutu getirip çözdüğünde, bu komut sonrasında çalıştırılacak komutun 182. adreste olduğunu belirtebilir. Bu durumda işlemci program sayacına ( PC) 182 adresini koyar. Dolayısıyla sonraki getir çevriminde 149. adresteki değil, 182. adresteki komut getirilir. Bilgisayar Mimarisi 4 Halil Özmen

5 1.3.3.Komut Formatı Kuramsal bir bilgisayarın komutlarını şu formatta varsayalım Opkod (Opcode) Adres (A) Komut Formatı Sign Büyüklük (B) Tamsayı Formatı Program Sayacı (PC) = Komutun adresi Komut Yazmacı (IR) = Çalıştırılan komut Akümülatör (AC) = Geçici yazmaç (C) Dahili MİB (CPU) Yazmaçları Opkodlar: (örnek) 0001 = Bellekten AC'ye yükle 0010 = AC'den belleğe sakla 0101 = Bellekten AC'ye topla (D) Bazı Örnek Opkodlar Örnek: Opkod için 4 bit, işlenen adresi için 12 bit: toplam 16 bit komutlar varsayalım. Bu durumda 2 4 = 16 opkod olacaktır ve 2 12 = 4096 (4K) ya kadar bellek doğrudan adreslenebilecektir. Daha detaylı açıklamalar işlenen getirme ve işlenen adres hesaplama konularında verilecektir Komut Çevrim Durumları (Instruction Cycle States) Komutların getirme ve uygulama çevrimleri aşağıdaki detaylı durumlarda gösterilmiştir. Komut Getir İşlenen Getir İşlenen Kaydet Çoklu İşlenenler Çoklu Sonuçlar Komut Adres Hesaplan ması Komut İşlem Çözümü İşlenen Adres Hesaplan ması Veri İşlemi İşlenen Adres Hesaplan ması Komut tamamlandı; Sonraki Komutu Getir Dizgi veya Vektör işlemi için dönüş Fig.1.6. Komut Çevrimi Durum Diagramı (Instruction Cycle State Diagram) Komut Adres Hesaplanması ( Instruction address calculation) (iac): Bir sonra çalıştırılacak komutun adresini saptama. Genellikle önceki komutun adresine sabit bir sayı (komut boyu) eklenmesi ile bulunur. Örneğin her komut 16 bit ise, ve bellek 16-bitlik kelimeler şeklinde adresleniyorsa, önceki adrese 1 eklenmesi ile bulunur. Eğer bellek 8-bitlik byte'lar şeklinde adresleniyorsa, önceki komutun adresine 2 eklenerek bulunur. Komut Getirme (Instruction fetch) (if): Komutu bellekteki adresinden okuyup işlemciye getirmek. Komut İşlem Çözümü (Instruction operation decoding) (iod): Komutu analiz edip hem işlem türünü, hem işlenenlerini saptamak. İşlenen Adres Hesaplanması ( Operand address calculation) (oac): Eğer komutun işlemi, bellekteki veya G/Ç'den alınacak bir işlenenin referansını (adresini) içeriyorsa, o zaman bu işlenenin adresi belirlenir. İşlenen Getirme (Operand fetch) (of): İşleneni bellekten getirmek veya G/Ç biriminden okumak. Bilgisayar Mimarisi 5 Halil Özmen

6 Veri İşlemi (Data operation) (do): Komutun içerdiği işlemi gerçekleştirmek (uygulamak). İşlenen Kaydetme (Operand store) (os): Sonucu belleğe kaydetmek veya G/Ç birimine yazmak. Komut çevrimlerinde, her komut için, "iac", "if" ve "iod" sadece bir kez yapılır, ancak "oac" ve "of" çok defa yapılabilir; "do" bir defa yapılır, "os" ve ilgili "oac" komuta bağlı olarak sıfır veya daha çok kereler yapılabilir. Örneğin, PDP-11 deki "ADD A,B" komutunda, durum sırası şöyledir: iac, if, iod, oac, of, oac, of, do, oac, os Kesmeler (Interrupts) Hemen bütün bilgisayarlarda, diğer birimlerin (G/Ç, bellek) işlemcinin normal çalışmasını kesme mekanizması bulunur. En sık rastlanan kesme türleri aşağıda listelenmiştir. Program Zamanlayıcı (timer) G/Ç (I/O) Donanım Hatası (Hardware Failure) Bir komutun çalıştırılması sırasında oluşan özel durumlarda kesme olabilir. Örneğin: aritmetik taşma, sıfıra bölme, olmayan komut çalıştırmaya teşebbüs, kullanıcıya ayrılmış bellek alanı dışına erişme teşebbüsü, vs... İşlemcideki (veya anakarttaki) zamanlayıcı tarafından üretilir. Bu kesmeler, işletim sisteminin bazı işlemleri düzenli yapmasını sağlar. G/Ç kontrol birimi tarafından üretilir; bir işlemin normal tamamlandığını gösterebilir, veya hatalı bir durum olduğunu gösterebilir. Donanımda oluşan bazı hatalar kesme oluştururlar. Örnekler: bellek sorunu, güç kaynağı sorunu. Kesmeler, von Neumann prensiplerinden sonra, bilgisayar mimarisindeki en önemli yeniliklerden biridir ve 1960'larda ortaya çıkmıştır Kesmeler ve Komut Çevrimi (Interrupts and the Instruction Cycle) Getirme Çevrimi Uygulama Çevrimi Kesme Çevrimi BAŞLA Sonraki Komutu Getir Kesmeler Engellenmiş Komutu Çalıştır Kesmeler Mümkün Kesme kontrolü yap, Kesmeyi çalıştır DUR Fig.1.7. Kesmeli Komut Çevrimleri Komut Getir İşlenen Getir İşlenen Kaydet Kesme Kontrolü Çoklu İşlenenler Çoklu Sonuçlar Kesme Yok Komut Adres Hesaplan ması Komut İşlem Çözümü İşlenen Adres Hesaplan ması Veri İşlemi İşlenen Adres Hesaplan ması Kesme Komut tamamlandı; Sonraki Komutu Getir Dizgi veya Vektör işlemi için dönüş Bilgisayar Mimarisi 6 Halil Özmen

7 1.4.2.Çoklu Kesmeler (Multiple Interrupt) Şimdiye kadar tek kesmeyi gördük. Eğer bir kesme işleyicisi çalışırken, bir kesme daha gelirse ne olur?*as Bazı kesmeler engellenebilir (iptal edilebilir) veya açılabilir. Bazı kesmeler engellenemez. Kitapta sayfa 68'deki Figure 3.13'ü çizip açıklamak gereklidir. Kullanıcı Programı Kesme İşleyicisi X Kesme İşleyicisi Y (a) Sıralı Kesme İşleme (Sequential Interrupt Processing) Kullanıcı Programı Interrupt İşleyicisi X Interrupt İşleyicisi Y (b) İçiçe Kesme İşleme (Nested Interrupt Processing) Şekil Çoklu Kesmelerde Kontrol Transferi Bilgisayar Mimarisi 7 Halil Özmen

8 2. KOMUT SETLERİ (INSTRUCTION SETS) Bir komut seti nedir? Bir MİB'nin bildiği ve uyguladığı tüm komutların kümesidir. Genel bilgi: Komutlar, bilgisayardaki herşey gibi ikili sayı sistemindedir. Komut adları genellikle "Assembly" kodlarla gösterilir. Örnek: ADD A,B MOV A,B Read sections 9.1, 9.2, 9.4, 9.6, 10.1, 10.3 from chapters 9 and Komut Özellikleri (Instruction Characteristics) [Section 9.1 on page 325 in the book.] Important: Read this section. Makine Komutunun Bileşenleri (elemanları) Her komut, çalıştırılabilmesi için MİB'nin gereksindiği bilgileri içermek zorundadır. Makime komutunun elemanları: İşlem Kodu (Operation Code - opcode): Yapılacak işlemi belirler. İşlem bir ikili kod ile tanımlanır ve opkod (işkod) (opcode) diye isimlendirilir. Kaynak işlenen referansı ( Source operand reference): İşlem bir veya daha fazla kaynak işlenen gerektirebilir. İşlenenler, işlemin yapılabilmesi için gerekli veri girdileridir. (Örnek: ADD A,B) Sonuç işlenen referansı (Result operand reference): İşlem bir sonuç üretebilir. Sonraki komut referansı (Next instruction reference): Bu referans, MİB'ne bu komut çalıştırıldıktan sonraki komutun bellekte nereden getirileceğini tanımlar. Kaynak ve Sonuç İşlenenleri: Ana (veya sanal) bellek: Bellek adresi verilmelidir. MİB (CPU) yazmacı: MİB makine komutları tarafından kullanılan bir veya daha fazla yazmaç içerir. Eğer tek yazmaç varsa, referansa gerek kalmaksızın komut tarafından kullanılır. Birden fazla yazmaç varsa, her yazmacın diğerlerinden farklı bir numarası vardır; komut içinde ilgili yazmaç numaraları kullanılır. G/Ç aygıtı: Komut bir G/Ç birimine veya aygıtına referans içerebilir. Eğer bellek-adresli-g/ç kullanılıyorsa, o zaman basitçe bir bellek adresi kullanılır. Komut Gösterimi (Instruction Representation) Her komut bir bit dizisinden oluşur. Komutların bölümleri vardır, her bölüm bir bileşene aittir. Örnek: 16 yazmacı olan bir hayali MİB'de şu komutun olduğunu varsayalım: move r5, beladr 8 bits 4 bits 20 bits Opkod İşlenen R. İşlenen Referansı r 5 bellek adresi Modern MİB'lerin çoğunda, ilk byte opkodu içerir. (Bazı MİB'lerde bazı komutların opkodunun içinde yazmaç referansı olabilir.) İşlenen referansları 2. ve sonraki byte'lardadır (byte 2, 3,...). Örnek 2: Yazmaç ve bellek adresi işlenenleri içeren bir komut. 8 bits 8 bits 32 bits Opkod İşlenen Ref. İşlenen Referansı yazmaç referansı bellek adresi Örnek 3: Bir komutun opkodu 2. byte'a taşabilir. 2 byte'lık bir örnek komut şöyle olabilir: 12 bits 4 bits Opkod İşlenen Ref. yazmaç referansı Bilgisayar Mimarisi 8 Halil Özmen

9 Komut Türleri (Instruction Types) Komutlar dört kategoriye ayrılırlar: Veri İşleme (Data processing): Aritmetik ve mantıksal işlemler. Veri Depolama (Data storage): Bellek işlemleri. Veri Hareketleri (Data movement): G/Ç komutları. Kontrol: Kontrol ve Sapma Komutları. Örnek: Yüksek seviyeli dil deyimi: X = X + Y Basit bir makine komutları kümesini ele alacak olursak, bu işlem 3 komutla yapılır: (X'in bellekte 624 nolu adreste, Y'nin 625 nolu adreste yer aldıklarını varsayalım.) nolu bellek adresinin içeriğini bir yazmaça getir nolu bellek adresinin içeriğini bu yazmaça topla. 3. Bu yazmaçın içeriğini, 624 nolu bellek adresine kaydet (taşı / yaz). Görüldüğü gibi basit bir "C" (veya BASIC) komutu, 3 makine komutu gerektirebilir. Adres Sayıları (Number of Addresses) Bir komutta en çok kaç adrese gereksinim duyulabilir? Hemen bütün aritmetik ve mantıksal işlemler bir veya iki işlenen gerektirirler. İşlemin sonucunun depolanması gerekliliği bize üçüncü adresin gerekebileceğini gösterir. Bir komut çalıştırıldıktan sonra başka bir komutun getirilmesi gerekir, bu da sonraki komutun adresinin gerekmesi demektir. Bu düşünce yöntemiyle bir komutun 4 adres içerebileceğini düşünebiliriz: iki işlenen, bir sonuç, bir sonraki komut adresi. Normalde sonraki komut adresi PC yazmacında tutulduğu için, çoğunlujkla komutlar bir, iki veya üç adres içerirler. Üç-adresli komutlar pek kullanılmazlar, çünkü üç adresi içermek için daha uzun (daha çok bitten oluşan) komut formatı gerektirirler. Modern işlemcilerde genellikle iki-adresli komutlar çoğunluktadır. Table 2.1: Komutlarda Adreslerin Kullanımı (Zıplama komutları hariç): Adres Sayısı Sembolik Gösterim Anlam (Açıklama) 3 OP A, B, C A <- B OP C 2 OP A, B A <- A OP B 1 OP A AC <- AC OP A 0 OP T <- T OP (T-1) [OP = İŞLEM] Çalıştırılacak program: Y = ( A B ) / ( C + D x E): Bir-Adresli Komutlarla: (AC diye isimlendirilen bir yazmaç gereklidir) LOAD D AC <- D MUL E AC <- AC x E ADD C AC <- AC + C STOR Y Y <- AC LOAD A AC <- A SUB B AC <- AC B DIV Y AC <- AC / Y STOR Y Y <- AC İki-Adresli Komutlarla: MOVE Y, A SUB Y, B MOVE T, D MUL T, E ADD T, C DIV Y, T Y <- A Y <- Y B T <- D T <- T x E T <- T + C Y <- Y / T Üç-Adresli Komutlarla: SUB Y, A, D Y <- A B MUL T, D, E T <- D x E ADD T, T, C T <- T + C DIV Y, Y, T Y <- Y / T Bilgisayar Mimarisi 9 Halil Özmen

10 Komut Kümesi Tasarımı (Instruction Set Design) Komut kümesi tasarımındaki en temel tasarım noktaları şunlardır: İşlem Kümesi ( Operation Repertoire): Kaç tane ve hangi işlemler olacak, ve işlemler hangi karmaşıklıkta olacak. Veri Tipleri (Data Types): Üzerinde işlem yapılacak olan veri türleri. Komut Formatı ( Instruction Format): Komut uzunluğu (bit sayısı), adres sayısı, her bir alanın uzunluğu, vs... Yazmaçlar ( Registers): Komutlarda adreslenecek MİB yazmaçlarının sayısı ve bunların kullanım yöntemleri. Adresleme (Addressing): İşlenen adreslerinin kullanım yöntemlerinin belirlenmesi. Bu konular birbirleriyle yakından ilgilidir ve komut seti tasarımı yaparken birlikte değerlendirilerek tasarlanmalıdır İşlenen Türleri (Types of Operands) [Section 9.2 on page 331 in the book.] Komutlardaki en önemli işlenen (veri) türleri şunlardır: Adresler Sayılar Karakterler Mantıksal veri. Important: Read this section. Sayılar: Tamsayı veya sabit noktalı sayı Kayan noktalı (gerçek sayılar) Ondalık (remember BCD; an instruction set may be able to process BCD numbers.) Karakterler: ASCII kodlar, UTF-8, (UTF-16, UTF-32). Mantıksal Veri: Boolean data. 1 = doğru, 0 = yanlış İşlem Türleri (Types of Operations) [Section 9.4 on page 336 in the book.] Important: Read this section. Genel işlem türlerinin bir kümesi aşağıda verilmiştir: (Use Table 9.3 on page 337 for explanations of instructions.) Veri Aktarımı (Data transfer): Move, Store, Load (Fetch), Exchange, Clear (Reset), set, Push, Pop. Aritmetik: Add, Subtract, Multiply, Divide, Absolute, Negate, Increment, Decrement. Mantıksal (Logical): AND, OR, NOT, XOR, Test, Compare, Shift, Rotate, Set control variables. Dönüştürme (Conversion): Translate, Convert. G/Ç (I/O): Input (Read), Output (Write), Start I/O, Test I/O. Kontrol Transferi (Transfer of Control): Jump (Branch), Jump Conditional, Jump to Subroutine, Return, Execute, Skip, Skip Conditional, Halt, Wait (Hold), No Operation. Sistem Kontrolü (System Control): Instructions that can only be executed while the processor is in a priviledged state, or is executing a program in a special priviledged area of memory. Instructions reserved for the use of operating system Adresleme Kipleri (Addressing Modes) [Section 10.1 on page 375 in the book.] Important: Read this section. Şu adresleme kipleri vardır: Anında Adresleme (Immediate Addressing) Doğrudan Adresleme (Direct Addressing) Dolaylı Adresleme (Indirect Addressing) Yazmaç Adresleme (Register Addressing) Yazmaçlı Dolaylı Adresleme (Register Indirect Addressing) Kaymalı Adresleme (Displacement Addressing) Yığıt Adresleme (Stack Addressing) ATTENTION: Draw and explain Figure 10.1 on page 376, together with Table 10.1 on page 377. Bilgisayar Mimarisi 10 Halil Özmen

11 Notasyon: A R EA (X) = komutun içindeki adres alanının içeriği (değeri). = komutun içindeki yazmaç referansının içeriği (yazmaç adresi/numarası) = Etkin adres (effective (actual) address) İşlenenin bulunduğu yerin gerçek adresi. = X adresinin içeriği. Table 2.2. Temel Adresleme Modları (Table 10.1 in the reference book) Mod Etkin Adres Temel Avantaj Temel Dezavantaj Anında (Immediate) İşlenen = A Bellek referansı olmaması Kısıtlı işlenen büyüklüğü Doğrudan (Direct) EA = A Basit Kısıtlı adres alanı Dolaylı (Indirect) EA = (A) Geniş adres alanı Çoklu bellek referansı Yazmaç (Register) EA = R Bellek referansı olmaması Kısıtlı adres alanı Yazmaçlı Dolaylı EA = (R) Geniş adres alanı Extra bellek referansı Kaymalı (Displacement) EA = A + (R) Esneklik Karmaşıklık Yığıt (Stack) EA = top of stack Bellek referansı olmaması Sınırlı yetenek Anında Adresleme (Immediate Addressing): İşlenen doğrudan komutun içindedir. İşlenen = A Sabit tanımlamak veya kullanmak için, veya nesnelere (örnek yazmaç) ilk-değer vermek için kullanılır. İşlenenin değeri komut içinde İşlenen = adres alanı (komuttaki) örnek: ADD 4 AC'ye 4 topla 4 <= işlenen içeriği Veriyi getirmek gerekmiyor Hızlı Sınırlı kapasite Doğrudan Adresleme (Direct Addressing) EA = A. Komuttaki adres alanı, işlenenin adresini içerir Etkin Adres (EA) = komuttaki adres alanı (A) Veri erişimi için tek bellek referansı e.g. ADD A Add contents of cell A to accumulator Look in memory at address A for operand No additional calculations to work out effective address Limited address space Dolaylı Adresleme (Indirect Addressing) Komuttaki adres alanı, işlenenin adresini içeren bellek yerinin adresini içerir. EA = (A) Look in A, find address (A) and look there for operand e.g. ADD (A) Add contents of cell pointed to by contents of A to accumulator Large address space 2n where n = word length May be nested, multilevel, cascaded e.g. EA = (((A))) Draw the diagram yourself Multiple memory accesses to find operand Hence slower Yazmaç Adresleme (Register Addressing) İşlenen, komutta adresi olan yazmaçtadır. EA = R Sınırlı sayıda yazmaç Çok küçük adres alanı gerekir Kısa komut Daha hızlı komut getirme Bellek erişimi yoktur. Çok hızlı komut çalıştırma Çok kısıtlı adres uzayı. Fig Addressing Modes Bilgisayar Mimarisi 11 Halil Özmen

12 Multiple registers helps performance Requires good assembly programming or compiler writing N.B. C programming register int a; Yazmaçlı Dolaylı Adresleme (Register Indirect Addressing) İşlenenin bellek adresi, komutta adresi olan yazmaçtadır. EA = (R) Operand is in memory cell pointed to by contents of register R Large address space (2n) One fewer memory access than indirect addressing Kaymalı Adresleme (Displacement Addressing) EA = A + (R) Komutta adres alanı iki değer içerir: A = adres değeri R = kayma miktarını içeren yazmaç veya tam tersi. Relative Addressing: A version of displacement addressing R = Program counter, PC EA = A + (PC) i.e. get operand from A cells from current location pointed to by PC Base-Register Addressing: A holds displacement R holds pointer to base address R may be explicit or implicit e.g. segment registers in 80x86 Indexing: A = base R = displacement EA = A + R Good for accessing arrays EA = A + R R++ Yığıt Adresleme (Stack Addressing) Operand is (implicitly) on top of stack e.g. ADD Pop top two items from stack and add 2.5. Komut Formatları (Instruction Formats) [Section 10.3 on page 375 in the book.] Layout of bits in an instruction Includes opcode Includes (implicit or explicit) operand(s) Usually more than one instruction format in an instruction set Komut Uzunluğu: Affected by and affects: Memory size Memory organization Bus structure CPU complexity CPU speed Trade off between powerful instruction repertoire and saving space Bitlerin Ataması (tahsisatı): Number of addressing modes Number of operands Register versus memory Number of register sets Address range Address granularity Degişken-Uzunluktaki Komutlar: 1. Due to varying number of operands, 2. Due to varying length of opcode in some CPU's. Bilgisayar Mimarisi 12 Halil Özmen

13 3. ARA-BAĞLANTI YAPILARI (YOLU YAPISI) (BUS STRUCTURE) Bir bilgisayar üç temel birimden oluşur: işlemci, bellek, G/Ç. Bunlar aralarında iletişimde bulunurlar. Bir bilgisayar temel birimlerden oluşan bir ağdır ve aralarında iletişimi sağlayan yollar bulunur. Bu yolların bütününe "Ara-Bağlantı Yapısı" denir. Bu yapının tasarımı, birimlerin arasındaki iletişimlere bağlıdır. Şekil 3.15'te gösterilen bellek, G/Ç birimi ve MİB girdi ve çıktılarının olduğunu varsayalım. Şekil 3.15 (kitap sayfa 70) açıklanacak. Ara-bağlantı yapısı şu transfer (iletişim) türlerini desteklemelidir: Bellekten işlemciye: İşlemci bellekten komut veya veri okur. İşlemciden belleğe: İşlemci belleğe veri yazar. G/Ç'den işlemciye: İşlemci G/Ç aygıtından G/Ç birimi aracılığıyla veri okur. İşlemciden G/Ç'ye: İşlemci G/Ç aygıtına G/Ç birimi aracılığıyla veri gönderir. G/Ç ile bellek arası (2 yönlü) : Bu iki durumda, bir G/Ç birimi doğrudan bellek ile veri alış/verişinde bulunma yetkisini alır, ve "doğrudan bellek erişimi" (DMA direct memory access) işlemini yapar Veri Yolu Bağlantıları (Bus Interconnection) Tanım: Bir yol (bus) iki veya daha fazla birimi veya aygıtı bağlayan bir iletişim kanalıdır. Yolun anahtar özelliği birimler arasında paylaşılan bir iletişim ortamı olmasıdır. Birçok aygıt yola bağlıdır ve herhangi bir aygıttan yola gönderilen sinyal, yola bağlı tüm diğer aygıtlar tarafından alınır. Eğer iki aygıt aynı zaman diliminde sinyl gönderirlerse, sinyaller karışır ve anlamsızlaşır. Bu nedenden, belli bir zaman diliminde sadece tek bir aygıt yola sinyal gönderebilir. Yani yolun kontrolü belli bir zaman diliminde sadece bir aygıttadır. Bir yol birçok iletişim hattından oluşur. Her hat ikili 1 veya 0'a karşılık gelen bir sinyal taşıyabilir. Seri iletişimde, bitler teker teker ve peşpeşe gönderilir. (COM kapıları) Paralel iletişimde, birçok bit aynı anda bir çok hat üzerinden (her hat bir bit taşımak üzere) iletilir. (LPT - yazıcı - kapısı) Sistem Yolu: Kontrol yolu, veri yolu ve adres yolunun üçünün birleşimine "sistem yolu" denir. Şekil 3.16 Yol Bağlantı Şemasını (kitapta sayfa 72) inceleyiniz. Şekil Yol Bağlantı Şeması (Bus Interconnection Scheme) Bilgisayar Mimarisi 13 Halil Özmen

14 Tipik Kontrol Hatları (bu kontrol hatları detaylı açıklanmalıdır): Bellek yaz: Veri yolundaki verinin, adres yolundaki adrese bellek tarafından kaydedilmesini sağlar. Bellek oku: Adres yolundaki adresteki verinin, bellek tarafından veri yoluna konmasını sağlar. G/Ç yaz: Veri yolundaki verinin, belirtilen G/Ç adresinden gönderilmesini sağlar. G/Ç oku: Belirtilen G/Ç adresindeki verinin veri yoluna konmasını sağlar. Transfer Tamam (Transfer ACK): Veri transferinin gerçekleştiğini gösterir. Yol talebi: Bir ünitenin bir yolun kontrolünü almak istediğini gösterir. Yol verildi: Talep eden üniteye bir yolun kontrolünün MİB tarafından verildiğini gösterir. Kesme Talebi: Bir ünitenin kesme isteğini ileten hattır. Kesme Tamam: Kesme talebinin kabul edildiğini gösteren sinyalin iletildiği hattır. Saat: Tüm işlemlerin senkronize edilmesini sağlar. Reset: Initializes all modules Çoklu Veri Yolu Hiyerarşileri (Multiple-Bus Hierarchies) If a great number of devices are connected to the bus, the performance will suffer. There are two main causes: 1. In general, the more devices attached to the bus, the greater is the bus length, and hence the greater is the propagation delay. 2. The bus may become a bottleneck as the aggregate data transfer demand approaches the capacity of the bus. To overcome these problems, in most of the modern computers there are multiple buses. [Explain bus conflicts superficially; Processor <> Memory and I/O <> Memory happenning at the same time.] Draw and explain the Figure 3.18 "Example Bus Configurations" on page Veri Yolu Tasarım Öğeleri (Elements of Bus Design) Draw the Table 3.2 on page 76. Detailed explanations follow below. Bus Types: Dedicated: Permanently assigned to either one function or to a physical subset of components. Functional dedication: bus has a specific function. Eg. Address Bus, Data Bus, Control Bus. Physical dedication: only a subset of components use the bus. Multiplexed: Same bus may be used for various functions. Eg. same bus for address transfer and then for data transfer. The method of using the same bus for multple purposes is known as Time Multiplexing. Method of Arbitration: Centralized: A single hardware device (referred to as bus controller or arbiter) is responsible for allocating time on the bus to various components. Distributed: In a distributed scheme, there is no central controller. Each module contains access control logic and the modules act together to share the bus. In both methods, the purpose is to designate one device (either the processor or an I/O module) as master. The master may then initiate a data transfer with some other device which acts as slave for this particular exchange. Bilgisayar Mimarisi 14 Halil Özmen

15 Timing: Synchronous: The occurrence of events on the bus is determined by a clock. The bus includes a clock line. A single 1-0 transmission on clock signal is referred as 1 clock cycle" or "bus cycle", and defines a time slot. Most events occupy a single clock cycle, but some requires more cycles. Draw and explain Figure 3.19a on page 78 (optional). Asynchronous: The occurrence of one event on a bus follows and depends on the occurrence of a previous event. Draw and explain Figure 3.19b on page 78 (optional). Synchronous timing is simpler to implement and test; however it is less flexible. With asynchronous timing, a mixture of slow and fast devices can share a bus. Bus Width: Bus Width of Address Lines: Number of memory units that can be addressed. Bus Width of Data Lines: Size of memory units that can be addressed. (8, 12, 16, 32, 64 bits) Ask and give examples: How many memory addresses with 24 bits, 32 bits, etc. Data Transfer Type: Read: (Slave to Master) Write: (Master to Slave) Read-Modify-Write: A read followed immediately by a write to the same address. Usually indivisible operation to prevent any access to data by other potential bus masters. Read-After-Write: Indivisible operation concicting of a write followed immediately by a read of the same address. Generally for checking purposes. Block: In this case, one address cycle is followed by n data cycles. The first data item is transferred to/from the specified address, the remaining data items are transferred to/from subsequent addresses. Bilgisayar Mimarisi 15 Halil Özmen

16 4. MERKEZİ İŞLEM BİRİMİ (CENTRAL PROCESSING UNIT) Read Chapter 11, sections 11.1, 11.2, İşlemci Yapısı (Processor Organization) MİB şunları yapmalıdır (bir MİB'nin yapması gereken en temel işlevler): Komutu getir: MİB komutu bellekten okur. Komutu çöz (yorumla): İşlevini saptamak için komut çözülür. Veriyi getir: Komutun çalıştırılması, bellekten veya bir G/Ç ünitesinden veri getirilmesini (okunmasını) gerektirebilir. Veriyi işle: Komutun çalıştırılması, veri üzerinde aritmetiksel veya mantıksal işlem yapılmasını gerektirebilir. Veriyi yaz (kaydet) : Komut, verinin belleğe veya bir G/Ç birimine yazılmasını (gönderilmesini) gerektirebilir. Bu işlemleri yapabilmek için, MİB'nin geçici olarak bir miktar veri tutması gerekir. Son komutun adresini bilmesi, dolayısıyla bir sonraki komutun adresini bulabilmesi gerekir. Bir komut çalıştırılırken, komutu ve verileri barındırabilmesi gerekir. Bir başka deyişle, MİB'nin kendi küçük bir iç belleği olması gerekir. MİB'deki minik bellek yazmaçlardan oluşur. 13. sayfadaki Şekil 11.1 MİB'nin basitleştirilmiş şemasıdır. Şekil 11.2 MİB'nin biraz daha detaylı bir görünümüdür. MİB içindeki dahili yollar, yazmaçlar ile AMÜ (ALU) arasında veri transferi için kullanılırlar, çünkü AMÜ sadece MİB'deki yazmaçları kullanarak aritmetik ve mantık işlemleri yapabilir Yazmaç Yapısı (Register Organization) MİB'deki yazmaçlar iki gruba ayrılırlar: Kullanıcının gördüğü yazmaçlar(user-visible Registers): Bu yazmaçlar, assembly programcısının, bellek erişimini azaltmak için kullandıkları yazmaçlardır. Kontrol ve Statü Yazmaçları (Control and Status Registers): Bunlar, kontrol ünitesinin MİB'nin işlemlerini kontrol etmek için kullandığı, ve yüksek yetkili işletim sistemi modüllerinin programların çalışmasını kontrol etmek için kullandığı özel yazmaçlardır Kullanıcı-Görünür Yazmaçlar (User-visible Registers) Genel Amaçlı Yazmaçlar (GA -yazmaçlar): programcı tarafından çeşitli amaçlar için kullanılırlar. GA-yazmaçlar ortogonal olabilirler veya olmayabilirler. Veri yazmaçları ( Data registers): sadece veri tutmak için kullanılabilirler, veri adresi hesaplanmasında veya veri adresi tutmak için kullanılamazlar. Adres yazmaçları (Address registers): çeşitli adresleme kiplerinde adres tutmak için kullanılabilirler, veya sadece özel bir adresleme kipine mahsus olabilirler. Bölüt Göstergecleri ( Segment Pointers): Bölüt adreslemenin olduğu bir işlemcide/mib'de (örneğin: Intel 80x86 ailesi), bölütün başlangıç adresini tutan yazmaçlardır. Birden çok olabilir, örneğin biri işletim sistemi için, diğeri (diğerleri) çalışan program(lar) için. İndeks Yazmaçları ( Index Registers): Bunlar indeksli adresleme için kullanılırlar, ve otoindeksli (kendinden artan) olabilirler. Yığıt Göstergeci ( Stack Pointer): Eğer kullanıcı-görünür bir yığıt adresleme varsa, yığıt genellikle bellekte tutulur ve yığıtın tepesini gösteren bir yığıt yazmacı vardır. İt (push), çek (pop) ve diğer yığıt işlemlerinin adreslemesinin yapılmasını sağlarlar. Durum kodları (Condition codes): Bayraklar olarak ta anılırlar. Bayraklar işlemlerin sonucuna göre 0 veya 1 yapılırlar. Sıfır bayrağı, elde bayrağı, taşma bayrağı, vs... (Örnekle açıklanmalı.) Girdi/ Yazmaçlar COMPUTER Sistem Bağlantıları Merkezi İşlem Birimi MİB MİB İçi Bağlantılar Kontrol Ünitesi Ana ALU Bilgisayar Mimarisi 16 Halil Özmen

17 4.2.2.Kontrol ve Statü Yazmaçları (Control and Status Registers) Bu yazmaçlar MİB'nin işlemlerinin yapılabilmesini sağlamak için kullanılırlar. Dört kontrol yazmacı komut çalıştırılması için elzemdir: Program Sayacı (PC) (Program Counter): getirilecek komutun adresini içerir. Komut Yazmacı (IR) (Instruction register): son getirilmiş olan komutu içerir. Bellek Adres Yazmacı (MAR) (Memory address register): bellekte bir yerin adresini içerir. Bellek Tampon (Veri) Yazmacı (MBR) (Memory buffer register ): belekten son okunan veya belleğe yazılacak olan veriyi içerir. Bu dört yazmaç MİB ile bellek arasında komut/veri taşınmasında kullanılır. MİB'de, işlem yapabilmesi için AMÜ'ye veri sağlanır. AMÜ'nün (ALU) MBR'ye ve kullanıcı -yazmaçlarına doğrudan erişimi olabilir. Veya alternatif olarak AMÜ'nün giriş/çıkışında ekstra yazmaçlar olabilir, AMÜ bu yazmaçlardaki veriler üzerinde işlem yapabilir; bu durumda kontrol ünitesi bu AMÜ yazmaçları ile kullanıcı yazmaçları ve MBR arasında veri transferini sağlamalıdır. Bunlar MİB'nin ve AMÜ'nün tasarımına bağlıdır. Program Statü Yazmacı (Program Status Word - PSW): statü bilgisi içerir. PSW koşul kodları ve bazı diğer statü bilgisini içerir. Bunlardan bazıları kullanıcı programlarına gözükür olabilir. Bayraklar (statü bitleri) şunları içerir: İşaret (Sign): son aritmetik işlemin sonucunun işaret bitini (0 : pozitif, 1 : negatif) içerir. Sıfır (Zero): sonuç 0 ise sıfır biti 1 yapılır. Elde (Carry): toplama işleminde en üst bitte elde olursa veya çıkarma işleminde en üst bitte ödünç-alma (borrow) olursa, elde biti 1 yapılır. Eşit (Equal): karşılaştırma işleminin sonucu eşit çıkarsa, eşit biti 1 yapılır. Taşma (Overflow): aritmetik taşma olduğunda ayarlanır (1 yapılır). Kesme izin ver / izni iptal et (Interrupt enable/disable): kesmeleri açmak ve kapatmak için kullanılır. Üst-kullanıcı ( Supervisor): MİB'nin süper-kullanıcı veya normal modda kullanıldığını gösterir. İşletim sistemi çalışırken, süper-kullanıcı modunda çalışır. Bazı özel komutlar sadece süper-kullanıcı modunda çalıştırılabilirler, ve bazı bellek alanları sadece süper-kullanıcı modunda erişilebilirler. Farklı MİB tasarımlarında, başka statü ve kontrol yazmaçları ve bayrakları (bitleri) olabilir. Draw and briefly explain various register organizations presented in Figure 11.3 on page Komut Çevrimleri (Instruction Cycles) This has been seen before. But the indirect cycle has not been shown before. Here we will examine how instruction cycles affect the operations performed by units (ALU and Control unit) and registers. Usage of PC (Program counter), IR (Instruction Register), MAR and MBR during various instruction cycles. Using Figure 11.6 on page 417, explain briefly the "indirect cycle" (after explaining very briefly the indirect addressing mode). The indirect addressing modes will be seen in more detail in the coming weeks. Data Flow (Instruction Fetch) Depends on CPU design Fetch PC contains address of next instruction Address moved to MAR Address placed on address bus Control unit requests memory read Result placed on data bus, copied to MBR, then to IR Meanwhile PC incremented by 1 Data Flow (Data Fetch) IR is examined If indirect addressing, indirect cycle is performed Right most N bits of MBR transferred to MAR Figure Data Flow, Fetch Cycle (p. 418) Figure Data Flow, Indirect Cycle (p. 418) Bilgisayar Mimarisi 17 Halil Özmen

18 Control unit requests memory read Result (address of operand) moved to MBR Instruction Pipelining Explain the pipelining strategy, the purpose. Instruction pipelining is similar to the use of an assembly line in a manufacturing plant. An assembly line takes advantage of the fact that a product goes through various stages of production. Explain this concept briefly. Explain the "Two-Stage Instruction Pipeline" presented in Figure on page 420. Then using the instruction processing decomposition on page 421, draw and explain the Figure on page Aritmetik Mantık Ünitesi (AMÜ) (ALU) AMÜ, MİB içinde veri üzerindeki aritmetik veya mantık işlemlerini yapan birimdir. Bir bilgisayar sistemindeki diğer birimler - kontrol ünitesi, yazmaçlar, bellek, G/Ç - AMÜ'ye aritmetik ve mantık işlemleri yapması için veri sağlamak ve sonuçları gerekli yerlere kaydetmek için vardırlar. Figure Timing of Pipeline (p. 422) Şekil 8.1 (kitapta sayfa 275) AMÜ'nün girdi ce çıktılarını göstermektedir.. AMÜ'ye işlem yapılacak veriler yazmaçlarda sunulur, ve AMÜ sonucu bir yazmaça yazar (kaydeder). AMÜ bellekle veya herhangi bir başka birimle (G/Ç birimiyle) doğrudan iletişime geçmez, sadece MİB'deki yazmaçlarla iletişimi vardır. Bellek ve G/Ç birimlri ile veri alış-verişini kontrol ünitesi sağlar. Figure Effect of Branch in Pipeline (p. 422) Kontrol Unitesi (Kontrol sinyalleri) Yazmaçlar Aritmetik Mantık Ünitesi (AMÜ) Bayraklar Yazmaçlar Figure 8.1. AMÜ Girdileri ve Çıktıları Bilgisayar Mimarisi 18 Halil Özmen

19 5. KONTROL ÜNİTESİ (CONTROL UNIT) [Read sections 14.1, 14.2, 14.3, 15.1, 15.2, 15.3, 15.5 from chapters 14 and 15.] Önceki bölümlerde, makine komutlarını ve işlemcinin komutları çalıştırmak için neler yaptığını inceledik. Fakat her bir işlemin en alt düzeyde nasıl yapıldığını incelememiştik. Kontrol ünitesi tüm işlemlerin yürütüldüğü ve koordine edildiği birimdir. Kontrol ünitesi kontrol sinyalleri gönderir. Bu kontrol sinyalleri ile şunları yapar: MİB içinde yazmaçlar arasında içerik iletimi, AMÜ'nün belirtilen işlemleri yapması, ve diğer MİB içi işlemlerin düzenlenmesi; MİB dışında, bellek ve G/Ç birimleri ile veri alış-verişi Mikro İşlemler (Micro Operations) [Section 14.1 on page 555 in the book.] Draw and explain Figure 14.1 on page 556. Important: Read this section. Her küçük çevrim (iac, if, iod, oac, of, do, os alt-çevrimleri anımsayın) daha da küçük işlemlere bölünürler. Mikro işlemler ( Micro operations) (op) bir komut çevrimi sırasında yer alan en alt-düzey (en temel) işlemlerdir. Kontrol ünitesinin temel görevi bir dizi mikro-işlemin gerçekleştirilmesini sağlamaktır. A computer executes a program Fetch/execute cycle Each cycle has a number of steps see pipelining Called Micro-Operations Each step does very little Atomic operation of CPU Fetch - 4 Registers Memory Address Register (MAR) Connected to address bus Specifies address for read or write operation Fig Constituent Elements of a Program Execution Memory Buffer Register (MBR) Connected to data bus Holds data to write or last data read Program Counter (PC) Holds address of next instruction to be fetched (not connected to address bus) Instruction Register (IR) Holds last instruction fetched (not connected to data bus) Fetch Sequence Address of next instruction is in PC Address (MAR) is placed on address bus Control unit issues READ command Result (data from memory) appears on data bus Data from data bus copied into MBR PC incremented by 1 (in parallel with data fetch from memory) Data (instruction) moved from MBR to IR MBR is now free for further data fetches Rules for Clock Cycle Grouping Proper sequence must be followed MAR <- (PC) must precede MBR <- (memory) Conflicts must be avoided Must not read & write same register at same time MBR <- (memory) & IR <- (MBR) must not be in same cycle Also: PC <- (PC) +1 involves addition Use ALU Getir Dizisi (sembolik) t1: MAR < PC t2: bellek < MAR, C R t3: MBR < bellek t4: IR < MBR t5: PC < PC +1 t5 (PC < PC +1) t3 veya t4 ile eşzamanlı (aynı anda) yapılabilir. Bilgisayar Mimarisi 19 Halil Özmen

20 May need additional micro-operations Indirect Cycle Once an instruction is fetched, the next step is to fetch source operands. MAR <- (IR address ) - address part of the instruction MBR <- (memory) IR address <- (MBR address ) MBR contains an address IR is now in same state as if direct addressing had been used (What does this say about IR size?) Execute Cycle Micro-operations Different for each instruction Execute Cycle (ADD) e.g. ADD R1,X - add the contents of location X to Register 1, result in R1 t6: MAR < (IR address ) t7: MBR < (memory) t8: R1 < R1 + (MBR) Note: no overlap of micro-operations Execute Cycle (ISZ) ISZ X - increment and skip if zero t1: MAR < (IR address ) t2: MBR < (memory) t3: MBR < (MBR) + 1 t4: memory <- (MBR) if (MBR) == 0 then PC <- (PC) + 1 Notes: if is a single micro-operation Micro-operations done during t4 Execute Cycle (BSA) BSA X - Branch and save address Address of instruction following BSA is saved in X Execution continues from X+1 t1: MAR <- (IR address ) MBR <- (PC) t2: PC <- (IR address ) memory <- (MBR) t3: PC <- (PC) + 1 Interrupt Cycle t1: MBR <- (PC) t2: MAR <- save-address PC <- routine-address t3: memory <- (MBR) This is a minimum May be additional micro-ops to get addresses N.B. saving context is done by interrupt handler routine, not micro-ops Examples of Micro-Operation sequences using M68000 instructions: move.w D2,D1 t6: D1 < D2 move.w #7,D1 t6: D1 < IR address move.w (A1),D2 t6: MAR < A1 t7: memory < MAR, C R t8: MBR < memory t9: D2 < MBR move.w D2,(A1) t6: MAR < A1 t7: MBR < D2 t8: memory < MAR, MBR, C W move.w #7,(A2) t6: MAR < A2 t7: MBR < IR address t8: memory < MAR, MBR, C W add.w D2,D1 t6: R ALU < D1 + D2 t7: D1 < R ALU add.w #14,D1 t6: R ALU < D1 + IR address t7: D1 < R ALU add.w (A1),D2 t6: MAR < A1 t7: memory < MAR, C R t8: MBR < memory t9: R ALU < D2 + MBR t10: D2 < R ALU add.w D2,(A1) t6: MAR < A1 t7: memory < MAR, C R t8: MBR < memory t9: R ALU < D2 + MBR t10: MBR < R ALU t11: MAR < A1 t12: memory < MAR, MBR, C W add.w D2,(A1)+ t6 to t12: same as above t13: A1 < A1 + 2 [ALU] Write micro-operations for: move.w -(A1),D2 move.w D2,-(A1) move.w 2(A1),D2 move.w 4(A1,D7),D2 move.w (A1),(A2) move.w (A1)+,(A2)+ move.w (A1)+,-(A2) add.w D1,-(A2) add.w 2(A1),D2 add.w 4(A1,D7),D2 lea nums,a1 cmp.w #12,(A4) Bilgisayar Mimarisi 20 Halil Özmen

21 5.2. Control of the Processor [Section 14.2 on page 561 in the book.] Important: Read this section in the book. Functional Requirements Define the basic elements of the processor Describe the micro-operations that the processor performs Determine the functions that the control unit must perform to cause the micro-operations to be performed. Basic Elements of Processor ALU Registers Internal data paths External data paths Control Unit Types of Micro-operation Transfer data between registers Transfer data from register to external Transfer data from external to register Perform arithmetic or logical ops Functions of Control Unit Figure 14.4 Kontrol Ünitesi Modeli Sequencing Causing the CPU to step through a series of micro-operations Execution Causing the performance of each micro-operations This is done using Control Signals Control Signals - Input [Draw and briefly explain Figure 14.4 on page 563. (Do not erase this figure. It will be re-used.)] [OPTIONAL: Draw and explain Figure 14.5 on page 565 and Table 14.1 on page 566.] Clock One micro-instruction (or set of parallel micro-instructions) per clock cycle Instruction register Op-code for current instruction Determines which micro-instructions are performed Flags State of CPU Results of previous operations From control bus Interrupts Acknowledgements Control Signals - output Within CPU Cause data movement Activate specific functions Via control bus To memory To I/O modules Flags... Clock Table 14.1 Micro-Operations and Control Signals Micro-Operations Timing Active Control Signals Fetch: t1: MAR < PC C 2 t2: memory < MAR C 5, C R t3: MBR < memory t4: IR <- MBR C 4 t5: PC <- PC +1 Indirect: t1: MAR <- (IR address ) t2: MBR <- (Memory) t3: IR( address ) <- (MBR address ) Instruction Register Control Unit C 8 C 5, C R C 4 Control Signals within CPU Control Signals from System Bus Control Signals to System Bus Control Bus Bilgisayar Mimarisi 21 Halil Özmen

22 Interrupt: t1: MBR <- (PC) C 1 t2: MAR <- save-address PC <- routine-address t3: memory <- (MBR) C 12, C W C R = Read control signal to system bus C W = Write control signal to system bus Example Control Signal Sequence - Fetch MAR <- (PC) Control unit activates signal to open gates between PC and MAR MBR <- (memory) Open gates between MAR and address bus Memory read control signal Open gates between data bus and MBR Internal Organization Usually a single internal bus Gates control movement of data onto and off the bus Control signals control data transfer to and from external systems bus Temporary registers needed for proper operation of ALU 5.3. Fiziksel Bağlantılı Kontrol Ünitesi (Hardwired Control Unit) [Section 14.3 on page 573 in the book.] Important: Read this section. In a hardwired implementation, the control unit is essentially a combinatorial circuit. Its input logic signals are transformed into a set of output logic signals, which are the control signals. Hardwired Implementation Control unit inputs Flags and control bus Each bit means something Instruction register Op-code causes different control signals for each different instruction Unique logic for each op-code Decoder takes encoded input and produces single output n binary inputs and 2 n outputs Clock Repetitive sequence of pulses Useful for measuring duration of micro-ops Must be long enough to allow signal propagation Different control signals at different times within instruction cycle Need a counter with different control signals for t1, t2 etc. Problems With Hardwired Designs Complex sequencing & micro-operation logic Difficult to design and test Inflexible design Difficult to add new instructions 5.4. Mikro Programlamalı Kontrol (Micro-Programmed Control) [Section 15.1 on page 579 in the book.] Important: Read this section. Basic Concepts Consider Table 14.1 on page 566 (and Figure 14.5 on page 565). Microinstructions: Use sequences of instructions to control complex operations Called micro-programming or firmware Implementation All the control unit does is generate a set of control signals Bilgisayar Mimarisi 22 Halil Özmen

23 Each control signal is on or off Represent each control signal by a bit Have a control word for each micro-operation Have a sequence of control words for each machine code instruction Add an address to specify the next micro-instruction, depending on conditions Today s large microprocessor Many instructions and associated register-level hardware Many control points to be manipulated This results in control memory that Contains a large number of words co-responding to the number of instructions to be executed Has a wide word width Due to the large number of control points to be manipulated Micro-Program Word Length Based on 3 factors Maximum number of simultaneous micro-operations supported The way control information is represented or encoded The way in which the next micro-instruction address is specified Micro-Instruction Types Each micro-instruction specifies single (or few) micro-operations to be performed (vertical micro-programming) Each micro-instruction specifies many different micro-operations to be performed in parallel (horizontal micro-programming) Vertical Micro-Programming Width is narrow n control signals encoded into log2 n bits Limited ability to express parallelism Considerable encoding of control information requires external memory word decoder to identify the exact control line being manipulated Function codes Micro-instruction address Jump condition Horizontal Micro-Programming Wide memory word High degree of parallel operations possible Little encoding of control information Internal CPU Control Signals System Bus Control Signals Micro-instruction address Jump condition Compromise Divide control signals into disjoint groups Implement each group as separate field in memory word Supports reasonable levels of parallelism without too much complexity Control Memory. Jump to Indirect or Execute. Jump to Execute. Jump to Fetch Jump to Op code routine. Jump to Fetch or Interrupt. Jump to Fetch or Interrupt Fetch cycle routine Indirect Cycle routine Interrupt cycle routine Execute cycle begin AND routine ADD routine Bilgisayar Mimarisi 23 Halil Özmen

24 Control Unit (figure) (Figure 15.4 on page 583) Control Unit Function Sequence login unit issues read command Word specified in control address register is read into control buffer register Control buffer register contents generates control signals and next address information Sequence login loads new address into control buffer register based on next address information from control buffer register and ALU flags Advantages and Disadvantages Simplifies design of control unit Cheaper Less error-prone Slower Tasks Done By Microprogrammed Control Unit Microinstruction sequencing Microinstruction execution Must consider both together Design Considerations Size of microinstructions Address generation time Determined by instruction register Once per cycle, after instruction is fetched Next sequential address Common in most designed Branches Both conditional and unconditional Sequencing Techniques Based on current microinstruction, condition flags, contents of IR, control memory address must be generated Based on format of address information Two address fields Single address field Variable format Fig Microprogrammed Control Unit Address Generation Explicit Two-field Unconditional Branch Conditional branch Implicit Mapping Addition Residual control Execution The cycle is the basic event Each cycle is made up of two events Fetch Determined by generation of microinstruction address Execute Execute Effect is to generate control signals Some control points internal to processor Rest go to external control bus or other interface Figure Control Unit Organization Control Unit Organization (Figure) (Figure Control Unit Organization on page 594.) Bilgisayar Mimarisi 24 Halil Özmen

25 6. BELLEK (MEMORY) 6.1. Bellek Sistemlerinin Özellikleri (Characteristics of Memory Systems) Bellek Sistemlerinin Özellikleri: Bulunduğu yer: İşlemci: Yazmaçlar. Önceki bölümde incelendi. Dahili (ana): Ana bellek ve cache bellek. Harici (ikincil): Disk (harddisk), flash disk, dvd/cd rom, vs. Bulut: Bulut bellekler. Kapasite: Kelime boyu: Bellek yapısının doğal birimi. Geleneksel olarak, kelime boyu bir sayının tutulduğu bit sayısına eşittir ve komutların uzunluğu ile aynıdır. Ancak çok istisna vardır. Sık rastlanan kelime uzunlukları 8, 16, 32 ve 64 bittir. Kelime sayısı: Harici (dış) bellek kapasitesi, genellikle kelime sayısı ile değil, byte sayısı ile belirtilir. Transfer Birimi: Kelime: Dahili bellek için, transfer birimi belleğin bağlı olduğu veri yolundaki bit sayısıdır. Kelime uzunluğuna veya adreslenen bellek birim uzunluğuna eşit olmayabilir. Blok: Harici (dış) belleklerde (harddisk, vs.), veriler kel imeden çok daha büyük boyutlarda taşınır (transfer edilir), bu veri gruplarına "blok" denir. Erişim Metodu (Access Method): Sıralı ( Sequential): Teyp ünitelerinde sıralı erişim metodu kullanılır. Veriler genellikle "kayıt" denen birimler şeklinde saklanır. Kayıtlar sıralı okunarak veya atlanarak, istenen veriye ulaşılır. Bir kayda erişim zamanı çok büyük farklılıklar içerebilir. Doğrudan (Direct): Bloklar ve kayıtlar bulundukları fiziksel konuma göre tekil adreslere sahiptir. Bir blok bir grup veri içerebilir. Erişim doğrudan adresleme ile yakın çevreye erişilip, ardından küçük bir sıralı arama/sayma/erişim ile hedef bloğa ulaşılarak gerçekleştirilir. Disk unitelerinde doğrudan erişim vardır. Rasgele ( Random): Bellekte her adreslenebilen konumun tekil ve fiziksel bağlantılı bir adresleme mekanizması vardır. Bir konuma erişim zamanı sabittir ve önceki erişimlerden bağımsızdır. Her konum rasgele ve doğrudan adreslenebilir ve erişilebilir. Ana bellek ve bazı cache sistemleri rasgele erişim mekanizmasına sahiptir. Çağrışımla Erişim (Associative Access): This is a random-access type of memory that enables one to make a comparison of desired bit locations within a word for a specified match, and to do this for all words simultaneously. Thus, a word is retrieved based on a portion of its contents rather than its address. Some cache memories may employ associative access. Performans: Erişim Süresi (Access time): For random-access memory, this is the time it takes to perform a read or write operation: that is, the time from the instant that an address is presented to the memory to the instant that data have been stored or made available for use. For non-random-access memory, access time is the time it takes to position the read-write mechanism at the desired location. Çevrim Zamanı ( Cycle time): Applied to random-access memory. It consists of the access time plus any additional time required before a second access can commence. Transfer Hızı (Transfer rate): This is the rate at which data can be transferred into or out of a memory unit. For random-access memory, it is equal to (1/<cycle-time>). For non-random-access memory, the following relationship holds: Tn = Ta + N/R where Tn = Average time to read or write N bits; Ta = Average access time, N = Number of bits R = Transfer rate, in bits per second (bps). Fiziksel Tür: Yarı-iletken (Semiconductor): Ana bellek, cache bellek, flash bellek, SSDler. RAM, ROM. Manyetik: Diskler (hard diskler), manyetik teyp üniteleri. Bilgisayar Mimarisi 25 Halil Özmen

26 Optik: CD-ROM, CD-RW. Manyetik-Optik: Kayıt teknolojisi manyetiktir ve kayıtta optik lazer kullanılır. Okuma işlemi tamament optiktir. Physical Characteristics: Volatile/nonvolatile: In a volatile memory, information decays naturally or is lost when electrical power is switched of. In a non-volatile memory, information once recorded remains without deterioration until deliberately chenged; no electrical power is needed to retain information. Magnetic-surface memories are nonvolatile. Semiconductor memories may be aither volatile or nonvolatile. Erasable/nonerasable: Nonerasable memory cannot be altered (except by destroying the storage unit). ROM's are nonerasable. Memory Hierarchy: Design constraints: how much? how fast? how expensive? Faster access time, greater cost per bit Greater capacity, smaller cost per bit, Greater capacity, slower access time. Explain Figure 4.1. on page Ana Bellek (Main Memory) Rasgele Erişim Yarı-iletken Bellek Türleri Explain the Semiconductor Memory Types, using the Table 4.2 on page 104. Dinamik RAM: Kapasitör şarjı. Periyodik tazeleme gerektirir. Statik RAM: Flip-flop mantık kapıları. Güç verilmesi yeterlidir, tazelenmeleri gerekmez. Dinamik RAM daha basittir ve dolayısıyla Statik RAM'dan daha küçük yer kaplar. Bu nedenden daha yoğundur ve ucuzdur, ancak tazeleme devresi gerektirir. Statik RAM'lar dinamik RAM'lardan daha hızlıdır. ROM: Veri fabrikada kaydedilmiştir. Kesinlikle değiştirilemez. PROM: Programlanabilir ROM. İmalattan sonra sadece bir defa programlanabilir (veri kaydedilebilir). Kaydetmek için özel aygıt gerekir. EPROM: Silinebilir programlanabilir ROM ( Erasable Programmable ROM). Birçok defalar programlanabilir. Yeniden programlanması için, bütün içeriğin ultraviyole ışık ile silinmesi gerekir. Kısmi programlama yapılamaz. EEPROM: lektriksel Silinebilir Programlanabilir ROM ( Electrically Erasable Programmable ROM). Elektriksel olarak silinebilir ve programlanabilir. Kısmi programlanabilir. Yazma (programlama) işlemi okuma işleminden çok daha fazla zaman alır. Her bir daha fonksiyonel ROM daha pahalıya üretilebilir, ve daha az fonksiyonel ROM'lardan daha küçük kapasitededir. Yapı Basic element of semiconductor memory is the memory cell. Memory cell's properties: Has two states that represents binary 0 and 1. Cabaple of being written into (at least once), to set the state. Capable of being read to sense the state. Individual cells can be selected for reading and writing operations. Çip Mantığı A memory chip has W words of B bits each. capacity is (W x B) bits. E.g.: A 16-Mbit memory chip, can be organized as 1M 16-bit words, another 16-Mbit memory chip can be organized as 4M 4-bit words. The 1st memory chip may have 20 address and 16 data lines, the 2nd memory chip may have 22 address and 4 data lines. Remember that the lines may be multiplexed. So less address lines can be used in a specific memory chip. Number of Address Lines = log 2 W. Chip Packaging (TO BE SKIPPED) Module Organization Bilgisayar Mimarisi 26 Halil Özmen

27 If we have 4M 1-bit memory chips, how do we organize them to build a 16MB memory; and how much of them do we need? Explain organization of address lines and data lines with a simpler example (4MB with 1M 4-bit). Error Correction Explain the simple Hamming Error Correction code. Figure 4.9 on page 113. Then explain Figure 4.8 on page Cache Bellek (Cache Memory) Amaç: Cache bellek kullanılmasının amacı MİB ile bellek arasındaki veri akışını (alış-verişini) hızlandırmaktır. Amaç daha ucuza malolan ana belleklere erişim hızını daha pahalı ve hızlı olan bellek sistemlerinin hızına yaklaştırmaktır. Prensipler (Kitapta sayfa 117de, Figure 4.13). MİB Kelime Transfer Cache Blok Transfer Ana Bellek küçük, hızlı büyük, yavaş Draw and explain the Figure 4.14 on page 118. Main memory: M words. Block size = K words. Cache: C lines of K words each. C is considerably less than M. C << M. At any time, a subset of main memory resides in the lines of the cache. Each line of the cache contains a tag, which identifies the location in memory of the block it contains. This tag is usually a portion of the main memory address. Draw and explain the Figure 4.15 on page 119. The processor generates the address (RA) of a word to be read. If the word is contained in the cache, it is delivered to the processor. Otherwise, the word is delivered to the processor from main memory, and simultaneously the block containing that word is loaded into the cache. These last two operations occur in parallel! Bilgisayar Mimarisi 27 Halil Özmen

28 Draw and explain the Figure 4.16 on page 120, very briefly. (Can be skipped!) Elements of Cache Design Cache Size Small cache => performance problems, large cache => too expensive. Mapping Function Direct Mapping: Each line of cache can store specific blocks of main memory. i = j modulo m, where i = cache line number, j = main memory block number, m = number of lines in the cache. Has disadvantages. Bilgisayar Mimarisi 28 Halil Özmen

29 Associative Mapping: Requires "tag". Permits of loading each main memory block to any line of the cache. Set associative Mapping: is a compromise that exhibits the strengths of both the direct and associative approaches while reducing their disadvantages. This will not be explained in detail. (Outside the scope of COMPE331.) Replacement Algorith (for lines) When a new block is brought into cache, one of the existing blocks must be replaced. The most common algorithms are: Least recently used (LRU) First in first out (FIFO) Least frequently used (LFU) Random Explain these 4 methods briefly. Write Policy: Before a block that is resident in the cache can be replaced, it is necessary to consider whether it has been altered in the cache but not in the main memory. Write through: all write operations are both directly done to main memory and to cache. Main memory always contains valid content. Write back: Writes are only done to cache. There is an UPDATE bit set when there is a write. Before a cache block (line) is replaced, if UPDATE bit is set, its content is written to main memory. Problem is that portions of main memory are invalid for a certain period of time. If other devices access those locations, they will get wrong content. Therefore access to main memory by I/O modules can only be allowed through the cache. This makes complex circuitry and potential bottleneck. Write once: Problem: If there are other cache's in the system (eg. multi-processor system sharing the same main memory), even in "write through", other cache's may contain invalid content. Line Size: Greater line size => more hit (+) but also more line replacements (-). Too big line size => less chance of hit for some parts of the block. Researches suggest that 2 to 8 words seems reasonably close to optimum. Number of caches: Levels. Cache internal to processor is called Level-1 (L1) cache, external cache is called Level-2 (L2) cache Dış (Harici) Bellek Manyetik Disk (Magnetic Disk): A disk is a circular platter constructed of metal or of plastic coated with a magnetic material. Data are recorded on and later retrieved from the disk via a conducting coil named the head. During a read or write operation, the head is stationary while the platter rotates beneath it. Writing is achieved by producing a magnetic field which records a magnetic pattern on the magnetic surface. Data Organization and Formatting: (Draw and explain Figure 5.1 on page 156.) Tracks: concentric set of rings. Sector: an angular part of a track. Physical Characteristics Head motion: Fixed-head disk vs. movable-head disk. Disk portability: Nonremovable disk vs. movable disk. Sides: Double-sided vs. singlesided. Platters: Single platter vs. Multiple platter disks. Bilgisayar Mimarisi 29 Halil Özmen

30 Head mechanism: Contact (floppy), Fixed gap, Aerodynamic gap (Winchester [= hard disk]). Disk Performance Parameters Seek time: time required to move the disk arm (head) to the required track. Ts = m. n + s where Ts = estimated seek time, n = number of tracks traversed, m = constant that depends on the disk drive, s = startup time. (Do not explain this.) Rotational delay: time required to rotate the disk to get wanted sector beneath the head. Transfer time: T = b / (r N) where T = transfer time, b = number of bytes to be transferred, N = number of bytes on a track, r = rotation speed, in revolutions per second. Access time: Ta = total average access time. Ta = Ts + (1 / 2 r) + (b / r N) where Ts = average seek time. RAID 1. RAID is a set of physical disk drives viewed by the operating system as a single logical drive. 2. Data are distributed accross the physical drives of an array. 3. Redundant disk capacity is used to store parity information, which guarantees data recoverability in case of a disk failure. Thus: both redundant and parity (recovery) information. RAID Levels: Only explain Level-0 and Level-1 (Table 5.2 on page 164), i.e. explain mirroring, why and how. Fault tolerance. Level 1 through level 6 have all redundancy. Optical Memory CD-ROM, DVD, WORM. Explanations are on Table 5.3 on page 173. Magnetic Tape Tracks on a magnetic tape are placed parallelly. Figure 5.10 on page Memory Management in Operating Systems Only an overview may be provided here. More details should be given in Operating Systems courses. Why memory management: multiprogramming system requires memory management. Section 7.3, page 247. Partitioning Paging Only explain the usage of partitioning, and the following types of partitioning methods. Fixed-size and unequal-size partitions. Figure 7.14, page 249. Dynamic partitioning. Figure 7.15, page 250. More efficient than partitioning. Programs are divided to "logical" chunks known as "pages", assigned to available chunks of memory known as "frames" or "page frames". Explain briefly why and how "paging" is done. Explain as though all pages of program is stored in main memory. Do not go into details of demand paging!! (it is next.) Virtual Memory Demand paging: Explain briefly the demand paging. Bilgisayar Mimarisi 30 Halil Özmen

31 7. GİRDİ/ÇIKTI (INPUT / OUTPUT) Amaçlar: understand to functioning of input/output in a computer system, I/O modules, Programmed I/O, Interruptdriven I/O, Direct Memory Access (DMA). Read sections 6.1, 6.2, 6.3, 6.4, 6.5, 6.6 from chapter Dış (Harici) Aygıtlar [Section 6.1 on page 184 in the book.] Draw and explain Figure 6.2 on page 185. Human readable Suitable for communicating with the computer user Screen, printer, keyboard Machine readable Suitable for communicating with equipments Monitoring and control Communication Suitable for communicating with remote devices Modem Network Interface Card (NIC) Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU and RAM Need I/O modules 7.2. Girdi/Çıktı Birimi Address Lines DataLines Control Lines I/O Module System Bus Links to Peripheral Devices Figure 6.1. Generic Model of an I/O Module Control from I/O Module Control Logic Status to I/O Module Data (bits) to and from I/O Module Buffer Transducer Girdi/Çıktı Birimi Interface to CPU and Memory Interface to one or more peripherals Generic Model of an I/O Module (Figure 6.1 on page 183). Figure 6.2: An External Device Data (Device-unique) to and from environment I/O Module Function Control & Timing CPU Communication Device Communication Data Buffering Error Detection Systems Bus Interface Data Lines Data Register Status/Control Register External Device Interface External Device Interface Logic Data Status Control I/O Steps CPU checks I/O module device status I/O module returns status If ready, CPU requests data transfer I/O module gets data from device I/O module transfers data to CPU Variations for output, DMA, etc. Address Lines Data Lines I/O Module Diagram Figure 6.4. Block diagram of an I/O Module, on page 190. Input / Output Logic Figure 6.4. I/O Module Diagram External Device Interface Logic Data Status Control Bilgisayar Mimarisi 31 Halil Özmen

32 I/O Module Decisions Hide or reveal device properties to CPU Support multiple or single device Control device functions or leave for CPU Also O/S decisions e.g. Unix treats everything it can as a file Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA) Table 6.3. I/O Technics I/O-to-memory transfer through processor Direct I/O-to-memory transfer No Interrupts Programmed I/O Use of Interrupts Interrupt driven I/O Direct Memory Access (DMA) 7.3. Programlı G/Ç (Programmed I/O) CPU has direct control over I/O Sensing status Read/write commands Transferring data CPU waits for I/O module to complete operation Wastes CPU time Programmed I/O - detail CPU requests I/O operation I/O module performs operation I/O module sets status bits CPU checks status bits periodically I/O module does not inform CPU directly I/O module does not interrupt CPU CPU may wait or come back later Draw and explain the Figure 6.5 (on next page!). The Three Techniques for Input of a Block of Data, page 193. I/O Commands CPU issues address Identifies module (& device if >1 per module) CPU issues command Control - telling module what to do e.g. spin up disk Test - check status e.g. power? Error? Read/Write Module transfers data via buffer from/to device Addressing I/O Devices Under programmed I/O data transfer is very like memory access (CPU viewpoint) Each device given unique identifier CPU commands contain identifier (address) Bilgisayar Mimarisi 32 Halil Özmen

33 I/O Mapping Memory mapped I/O Devices and memory share an address space I/O looks just like memory read/write No special commands for I/O Large selection of memory access commands available Isolated I/O Separate address spaces Need I/O or memory select lines Special commands for I/O Limited set 7.4. Kesme Yönetimli G/Ç Interrupt Driven I/O Overcomes CPU waiting No repeated CPU checking of device I/O module interrupts when ready Interrupt Driven I/O Basic Operation CPU issues read command I/O module gets data from peripheral whilst CPU does other work I/O module interrupts CPU CPU requests data I/O module transfers data CPU Viewpoint Issue read command Do other work Check for interrupt at end of each instruction cycle If interrupted:- Save context (registers) Process interrupt Fetch data & store See Operating Systems notes Design Issues How do you identify the module issuing the interrupt? How do you deal with multiple interrupts? i.e. an interrupt handler being interrupted Identifying Interrupting Module Different line for each module PC Limits number of devices Software poll CPU asks each module in turn Slow Daisy Chain or Hardware poll Interrupt Acknowledge sent down a chain Module responsible places vector on bus CPU uses vector to identify handler routine Bus Master Module must claim the bus before it can raise interrupt e.g. PCI & SCSI Bilgisayar Mimarisi 33 Halil Özmen

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Processor organization Register organization Instruction cycle 2 Processor organization İşlemci

Detaylı

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım

Detaylı

Komutların Yürütülmesi

Komutların Yürütülmesi Komutların Yürütülmesi Bilgisayar Bileşenleri: Genel Görünüm Program Sayacı Komut kaydedicisi Bellek Adres Kaydedicisi Ara Bellek kaydedicisi G/Ç Adres Kaydedicisi G/Ç ara bellek kaydedicisi 1 Sistem Yolu

Detaylı

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü 1 BİLGİSAYAR MİMARİSİ Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü http:// http:// Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR

Yrd.Doç.Dr. Celal Murat KANDEMİR Bilgisayar Mimarisi Ara Bağlantı Yapıları ve Bus Kavramı Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Ara Bağlantı Yapıları Bir bilgisayar sistemi MİB, bellek ve

Detaylı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 1 Adresleme modları

Detaylı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1 Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar

Detaylı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel

Detaylı

K uark projesi. Temel Özellikler :

K uark projesi. Temel Özellikler : K uark projesi Temel Özellikler : Kuark işlemcisi 16 bit kelime uzunluğuna sahip bir işlemcidir. Veri ve komut belleği aynıdır ve en fazla 4 Gigabyte bellek adresleyebilir. İşlemcimiz paralel çalışabilecek

Detaylı

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009 1-) Instruction Cycle State Diagram ı çizip herbir state için gerçekleştirilen işlemleri detaylı bir şekilde açıklayınız. Instruction state cycle da üstteki kısımlar CPU dışında alttaki kısımlar CPU içinde

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Komut çalıştırma özellikleri Büyük register file kullanımı Compiler tabanlı register

Detaylı

Bilgisayar Mimarisi ve Organizasyonu Giriş

Bilgisayar Mimarisi ve Organizasyonu Giriş + Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi

Detaylı

Bölüm Bazı Temel Konseptler

Bölüm Bazı Temel Konseptler Bölüm 7 Bu ve bundan sonraki bölümde, makine komutlarını işleten ve diğer birimlerin faaliyetlerini düzenleyen işlem birimi üzerine yoğunlaşacağız. Bu birim genellikle Komut Seti Mimarisi (Instruction

Detaylı

Unlike analytical solutions, numerical methods have an error range. In addition to this

Unlike analytical solutions, numerical methods have an error range. In addition to this ERROR Unlike analytical solutions, numerical methods have an error range. In addition to this input data may have errors. There are 5 basis source of error: The Source of Error 1. Measuring Errors Data

Detaylı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-1/ Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi

Detaylı

PC is updated PS güncellenir

PC is updated PS güncellenir COMPUTER ARCHITECTURE EXAM SOLUTIONS BİLGİSAYAR MİMARİSİ SINAV ÇÖZÜMLERİ QUESTION 1: SORU 1: a) 100 instructions 100 komut: Without pipeline: İş hattı olmadan: 100*30 = 3000 ns Speedup / Hızlanma: = =2.9

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping

Detaylı

Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz?

Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz? Lecture 7 Assembler language nedir? Nicin onu ogreniriz? oku sections 3.1-3.4 oku H&P sections A.1 ve A.9 11/25/2004 Bilgisayar Mimarisi 7.1 11/25/2004 Bilgisayar Mimarisi 7.2 Language 3 seviyesi High

Detaylı

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler

Detaylı

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12 BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

Detaylı

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış C++ Programming: Program Design Including Data Structures, Third Edition Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış Bölüm 1 : Amaçlar Farklı tipteki bilgisayarların öğrenilmesi Bir bilgisayar

Detaylı

Bilgisayarların Gelişimi

Bilgisayarların Gelişimi Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders09 1 SANAL BELLEK(Virtual Memory) Yıllar önce insanlar kullanılabilir olan belleğe sığmayan programlar ile

Detaylı

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar SAYI SİSTEMLERİ 1. Sayı Sistemleri Sayı sistemleri; saymak, ölçmek gibi genel anlamda büyüklüklerin ifade edilmesi amacıyla kullanılan sistemler olarak tanımlanmaktadır. Temel olarak 4 sayı sistemi mevcuttur:

Detaylı

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu MİKROBİLGİSAYAR SİSTEMLERİ Teknik Bilimler Meslek Yüksekokulu Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS

Detaylı

CISC Complex Instruction Set Computers

CISC Complex Instruction Set Computers 1 CISC, RISC Mimarisi CISC Complex Instruction Set Computers Emirlerin sayısı ve karmaşıklığını kasteder Emirlerin icrası birkaç clock alır. İyileştirmeler: Multiply ve Divide The number of instruction

Detaylı

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri A: Access time : Erişim Zamanı Active High : Aktif Yüksek Active Low : Aktif Düşük Adress : Adres Address Bus : Adres Yolu Adress Decoding : Adres Kod Çözümü ALE : Adress Latch Enable Architecture : Mimari

Detaylı

William Stallings Computer Organization and Architecture 9 th Edition

William Stallings Computer Organization and Architecture 9 th Edition William Stallings Computer Organization and Architecture 9 th Edition Bölüm 4 Cache Bellek Bilgisayar Hafıza Sisteminin Ana Karakteristikleri Table 4.1 Key Characteristics of Computer Memory Systems Bilgisayar

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Girdi/Çıktı (I/O) İşletim Sistemlerine Giriş - Ders11 1 Girdi/Çıktı (I/O) İşletim sisteminin temel fonksiyonlarından biride bilgisayardaki tüm I/O aygıtlarını kontrol etmesidir.

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları 4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi

Detaylı

Bilgisayar Donanım 2010 BİLGİSAYAR

Bilgisayar Donanım 2010 BİLGİSAYAR BİLGİSAYAR CPU, bellek ve diğer sistem bileşenlerinin bir baskı devre (pcb) üzerine yerleştirildiği platforma Anakart adı verilmektedir. Anakart üzerinde CPU, bellek, genişleme yuvaları, BIOS, çipsetler,

Detaylı

Şekil. 64 Kelimelik Yığıtın Blok Şeması

Şekil. 64 Kelimelik Yığıtın Blok Şeması 1 YIĞIT (STACK) KURULUMU Çoğu bilgisayarın MİB de yığıt veya LIFO (Last In First Out) bulunur. Yığıt bir bellek parçasıdır ve son depolanan bilgi ilk geri dönen bilgi olur. Yığıta aktarılan son bilgi yığıtın

Detaylı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi Hız Sözcük uzunluğu Buyruk kümesi Adresleme yeteneği Adresleme kapasitesi

Detaylı

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır. DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #2 DİZİLERE ERİŞİMDE MIPS BELLEK TALİMATLARI Amaç: Veri bölütü kullanımını ve tek-modüllü dizi

Detaylı

Multiplication/division

Multiplication/division Multiplication/division Oku H&P sections 4.6-4.8 Bir kac integer multiplication algorithm Bir integer division algorithms Floating point math 10/22/2004 Bilgisayar Mimarisi 6.1 10/22/2004 Bilgisayar Mimarisi

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı

Detaylı

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir. Bölüm 9: 8086 nın Bacak Bağlantısı ve İşlevleri 8086 & 8088 her iki işlemci 40-pin dual in-line (DIP) paketinde üretilmişlerdir. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr.

Detaylı

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar Adresleme Modları 1 Adresleme Modları İşlenenin nerede olacağını belirtmek için kullanılırlar. Kod çözme aşamasında adresleme yöntemi belirlenir ve işlenenin nerede bulunacağı hesaplanır. Mikroişlemcide

Detaylı

Spatial locality nin getirdigi avantaji kullanmak

Spatial locality nin getirdigi avantaji kullanmak Oku H&P section 7.3 Spatial locality nin getirdigi avantaji kullanmak Daha buyuk block (line) kullan Her bir fetch ile gelecekte yakin komsuluktaki erisimler icin data cache bulunacak Daha fazla hit e

Detaylı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN Merkezi İşlemci Biriminde İletişim Yolları Mikroişlemcide işlenmesi gereken komutları taşıyan hatlar yanında, işlenecek verileri taşıyan hatlar ve kesme işlemlerini

Detaylı

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ

BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ P6 MİMARİSİ MUSTAFA ÇAYIR 704062001 İÇİNDEKİLER 1. Intel İşlemcilerinin Tarihi Gelişimi... 3 2. X86 Komut Kümesi... 5 2.1. X86 Yazmaçları... 5 2.2.

Detaylı

Embedded(Gömülü)Sistem Nedir?

Embedded(Gömülü)Sistem Nedir? Embedded(Gömülü)Sistem Nedir? Embedded Computing System de amaç; elektronik cihaza bir işlevi sürekli tekrar ettirmektir. Sistem içindeki program buna göre hazırlanmıştır. PC lerde (Desktop veya Laptop)

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 1: Giriş İçerik Bilgisayar Sistemleri Donanım Yazılım Programlama Program Geliştirme Nesne-tabanlı Programlama C++ Programlama Dili 2 Bilgisayar Sistemleri Kısaca,

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Assembly Language Programming

Assembly Language Programming Assembly Language Programming Assembly Programming Machine Language binary hexadecimal machine code or object code Assembly Language mnemonics assembler High-Level Language Pascal, Basic, C compiler 2

Detaylı

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar Mikroişlemci ve Yapısı 1 Katmanlı Sistem Yapısı (Machine Levels) Bu kısmın altındaki katmanlara programcı ve kullanıcının erişmesi söz konusu değildir. 2 Assembler Kaynak Kod Assembler Linker ADD D0,D1

Detaylı

William Stallings Computer Organization and Architecture 9 th Edition

William Stallings Computer Organization and Architecture 9 th Edition William Stallings Computer Organization and Architecture 9 th Edition Bölüm 5 İç Hafıza Bir Hafıza Hücresinin Çalışması Bütün hafıza hücrelerinin ortak özellikleri vardır: 0 ve 1 durumundan birini gösterirler

Detaylı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti X86 tabanlı mikroişlemcilerin icra ettiği makine kodları sabit olmasına rağmen, programlama dillerinin komut ve ifadeleri farklı olabilir. Assembly programlama dilininde

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

Detaylı

DONANIM 07-08 Bahar Dönemi TEMEL BİLİŞİM TEKNOLOJİLERİ

DONANIM 07-08 Bahar Dönemi TEMEL BİLİŞİM TEKNOLOJİLERİ DONANIM 07-08 Bahar Dönemi TEMEL BİLİŞİM TEKNOLOJİLERİ Donanım nedir? Donanım bilgisayarı oluşturan her türlü fiziksel parçaya verilen verilen addır. Donanım bir merkezi işlem biriminden (Central Processing

Detaylı

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri DONANIM 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri DONANIM SİSTEM BİRİMİ ÇEVREBİRİMLERİ Ana Kart (Mainboard) Monitör İşlemci

Detaylı

Mikrobilgisayar Mimarisi ve Programlama

Mikrobilgisayar Mimarisi ve Programlama Mikrobilgisayar Mimarisi ve Programlama 2. Hafta Bellek Birimleri ve Programlamaya Giriş Doç. Dr. Akif KUTLU Ders web sitesi: http://www.8051turk.com/ http://microlab.sdu.edu.tr Bellekler Bellekler 0 veya

Detaylı

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım

Detaylı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür. İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler

Detaylı

Mikrobilgisayar Sistemleri ve Assembler

Mikrobilgisayar Sistemleri ve Assembler Mikrobilgisayar Sistemleri ve Assembler Bahar Dönemi Öğr.Gör. Vedat MARTTİN Konu Başlıkları Mikrobilgisayar sisteminin genel yapısı,mimariler,merkezi işlem Birimi RAM ve ROM bellek özellikleri ve Çeşitleri

Detaylı

Giris {\} /\ Suhap SAHIN

Giris {\} /\ Suhap SAHIN Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.

Detaylı

C-Serisi PLC İleri Seviye Eğitim

C-Serisi PLC İleri Seviye Eğitim C-Serisi PLC İleri Seviye Eğitim 1 PLC ye Giriş 2 PLC ye Giriş 3 PLC ye Giriş CJ1 I/O Modülleri - 8/16/32/64pts Max I/O - 160,640 Max Program Kapasitesi - 20K Steps Komut sayısı - 400 4 PLC Ladder Diyagram

Detaylı

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI. WEEK 11 CME323 NUMERIC ANALYSIS Lect. Yasin ORTAKCI yasinortakci@karabuk.edu.tr 2 INTERPOLATION Introduction A census of the population of the United States is taken every 10 years. The following table

Detaylı

Ders - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi

Ders - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi Ders - 1 BİL 221 Bilgisayar Yapısı GİRİŞ Ders Hakkında Ders İzlencesi Bilgisayar Sınıfları Kişisel Bilgisayarlar$ Genel amaçlı, çok çeşitli yazılımlar$ Performans - maliyet ödünleşmesi hedeflenir$ Sunucular$

Detaylı

Mikroçita. Mikroçita Rapor 2:

Mikroçita. Mikroçita Rapor 2: Mikroçita Rapor 2: İşlemci projemizle ilgili olarak hazırlamış olduğumuz bu ikinci raporda öncelikli olarak vhdl kullanarak tasarladığımız işlemcimizin genel çalışmasını ilk rapora göre daha ayrıntılı

Detaylı

MIPS assembler language de branching

MIPS assembler language de branching Read H&P section 3.5 and 3.6 MIPS assembler language de branching Kosula bagli olarak farkli instruction lar run et High-level language lerde IF statement ine benzer Similar to IF statement in a high-level

Detaylı

BİLGİSAYAR KULLANMA KURSU

BİLGİSAYAR KULLANMA KURSU 1 2 KURS MODÜLLERİ 1. BİLGİSAYAR KULLANIMI 3 1. Bilişim (Bilgi ve İletişim) Kavramı Bilişim, bilgi ve iletişim kelimelerinin bir arada kullanılmasıyla meydana gelmiştir. Bilişim, bilginin teknolojik araçlar

Detaylı

BİLGİSAYAR ORGANİZASYONU

BİLGİSAYAR ORGANİZASYONU BİLGİSAYAR ORGANİZASYONU Donanım Bilgisayarın fiziksel bölümü Monitor, klavye, fare Entegreler, kartlar Kablolar Yazılım: Bilgisayarın mantıksal bölümü Programlar: Bilgisayarın gerçekleştireceği komutlar

Detaylı

(Random-Access Memory)

(Random-Access Memory) BELLEK (Memory) Ardışıl devreler bellek elemanının varlığı üzerine kuruludur Bir flip-flop sadece bir bitlik bir bilgi tutabilir Bir saklayıcı (register) bir sözcük (word) tutabilir (genellikle 32-64 bit)

Detaylı

Bilgisayar Mimarisi Nedir?

Bilgisayar Mimarisi Nedir? BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde

Detaylı

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler

Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler Ders Özeti Ders Bilgisayarlar Hakkında Mikroişlemci ve Bilgisayar sisteminin yapısı Temel komut işleme süreci x86 kaydedicileri (registers) x86 hafıza temelleri Çevre cihazları x86 assembly diline giriş

Detaylı

Gömülü Sistemler. (Embedded Systems)

Gömülü Sistemler. (Embedded Systems) Gömülü Sistemler (Embedded Systems) Tanım Gömülü Sistem (Embedded System): Programlanabilir bilgisayar içeren fakat kendisi genel amaçlı bilgisayar olmayan her türlü cihazdır. Gömülü Sistem (Embedded System):

Detaylı

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1 BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU 2015-2016 Güz Dönemi ÖDEV 1 Son Teslim Tarihi/Saati : 07.10.2015/18:00 Teslim Yeri : Teknoloji Merkezi, 217 Uyarı: Bu ödevdeki soruları öğrenciler kişisel çabalarıyla

Detaylı

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER BÖLÜM 2 INTEL AİLESİNİN 8 BİTLİK MİKROİŞLEMCİLERİ 2.1 8080 MİKROİŞLEMCİSİ Intel 8080, I4004, I4040 ve I8008 in ardından üretilmiştir ve 8 bitlik mikroişlemcilerin ilkidir ve 1974 te kullanıma sunulmuştur.

Detaylı

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR Mikroişlemciler ve Assembler Programlama Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR Mikroişlemciler Mikroişlemciler bilgisayar teknolojilerinin gerçek sürükleyicisi olan donanımsal

Detaylı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı GİRİŞ Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğumuz 80386, 80486 Pentium-III birer mikroişlemcidir. Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlerin

Detaylı

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00 BBM 205 - Discrete Structures: Final Exam Date: 12.1.2017, Time: 15:00-17:00 Ad Soyad / Name: Ögrenci No /Student ID: Question: 1 2 3 4 5 6 7 8 9 10 11 Total Points: 6 16 8 8 10 9 6 8 14 5 10 100 Score:

Detaylı

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Genel bakış I/O donanımı Uygulama I/O arayüzü Çekirdek

Detaylı

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer. Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME NT4 bağlantısına çok benzer. Direkt Kablo desteğini Windows95/98'e yükledikten sonra, Windows95 for Direct Cable Client

Detaylı

Komut Seti Mimarisi (ISA)

Komut Seti Mimarisi (ISA) Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted

Detaylı

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Nedir? Bilgisayar; Kullanıcıdan aldığı bilgilerle mantıksal ve aritmetiksel işlemler yapabilen, Yaptığı işlemleri saklayabilen, Sakladığı

Detaylı

Cache-Hızlı Hafıza Birimi. Bilgisayar Sistemi Bilgisayarların Anakart Organizasyonu

Cache-Hızlı Hafıza Birimi. Bilgisayar Sistemi Bilgisayarların Anakart Organizasyonu Bilgisayarların Anakart Organizasyonu Pentium Đşlemci Đşlemci-hafıza BUS Adres Veri Cache Level 1 SDRAM Hazıfza DRAM PCI BUS USB USB CD-ROM Hard Disk PIIX 3 ISA BUS ISA Aygıtları PCI Aygıtları Adres/veri

Detaylı

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #5 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tek Saat Veri Yolu Birimi 1.Giriş Bu deneyde

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri

Detaylı

Arýza Giderme. Troubleshooting

Arýza Giderme. Troubleshooting Arýza Giderme Sorun Olasý Nedenler Giriþ Gerilimi düþük hata mesajý Þebeke giriþ gerilimi alt seviyenin altýnda geliyor Þebeke giriþ gerilimi tehlikeli derecede Yüksek geliyor Regülatör kontrol kartý hatasý

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN Mikroişlemci Nedir? Bir bilgisayarın en önemli parçası Mikroişlemcisidir. Hiçbir bilgisayar mikroişlemci olmadan çalışamaz. Bu nedenle Mikroişlemci

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition)

AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition) AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition) Hakan Cora Click here if your download doesn"t start automatically AB surecinde Turkiyede Ozel Guvenlik Hizmetleri

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

Bilişim Teknolojileri

Bilişim Teknolojileri Bilişim Teknolojileri Arş.Görev.Semih ÇALIŞKAN 1.Hafta İÇİNDEKİLER Bilgisayar nedir? Donanım nedir? Yazılım nedir? Giriş nedir? İşlem nedir? Bellek nedir? Çıkış nedir? BİLGİSAYAR NEDİR? Bilgisayar, kullanıcıdan

Detaylı

SBR331 Egzersiz Biyomekaniği

SBR331 Egzersiz Biyomekaniği SBR331 Egzersiz Biyomekaniği Açısal Kinematik 1 Angular Kinematics 1 Serdar Arıtan serdar.aritan@hacettepe.edu.tr Mekanik bilimi hareketli bütün cisimlerin hareketlerinin gözlemlenebildiği en asil ve kullanışlı

Detaylı