BİLGİSAYAR SİSTEMLERİ
Transkript
BİLGİSAYAR SİSTEMLERİ
Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ BİLGİSAYAR SİSTEMLERİ Hesaplama, saklama gibi çeşitli işlemler amacıyla bilgisayara verilen sayı, yazı, resim, ses, ölçüm vb. değerlerden oluşan her türlü sayısal, alfasayısal bilgiler veri olarak adlandırılmaktadır. Veri (Data) İşlem (Process) Bilgi (Information) Şekil 1. Veri işlem modeli Verinin bilgisayar tarafından işlenmesiyle bilgi elde edilmektedir. Ayrıca bir işlem sonucu elde edilen bilgi başka bir işlem için veri olarak kullanılabilmektedir. Adres Yolu (Address Bus) CPU Central Processing Unit MİB Merkezi İşlem Birimi Bellek Birimi I/O Arabirimi Çevre Birimler Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil 2. Mikroişlemci temelli bilgisayar temel blok şeması Mikroişlemci (MP - Microprocessor) CPU – Central Processing Unit – MİB -Merkezi İşlem Birimi Bilgisayarın beyni olarak adlandırılan aritmetik, mantık ve karar işlemlerinin yürütüldüğü entegre olarak paketlenmiş elektronik birimdir. Mikroişlemcili sistemlerde ayrıca I/O ve bellek ünitesine ihtiyaç duyulmaktadır. Mikroişlemci içi ve dışındaki birimler arasındaki haberleşme iletişim yolları ile sağlanır. BUS – İletişim Yolları Bilgisayarı oluşturan birimler arasında veri transferi, adresleme ve kontrol işlemleri amacıyla kullanılan 8 bit, 16 bit, 32 bit vb. olabileceği gibi 1 veya 2 bitlik hatlar şeklinde de olabilen yapıdaki elektriksel yollardır. Temelinde 1 ve 0 anlamına gelen enerji var veya enerji yok sinyallerinin iletilmesinde kullanılır. İletişim yolu 3 temel sınıfta incelenir: Veriyolu (Databus) - İki yölü Adres Yolu (Addressbus) - Tek yönlü Kontrol Yolu (Controlbus) - İki yönlü -12- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Adres Yolu (2 bit) 0 1 0 1 0 1 Mikroişlemci 00 00000101 Veriyolu (8 bit) 0 1 01 01000001 10 11001100 11 11111111 0 1 0 0 0 0 0 0 0 0 0 1 0 1 Bellek 1 1 Kontrol Yolu (Oku / Yaz) Şekil xxx. Mikroişlemci – Bellek arası sembolik veriyolu işleyişi Adresleme Kapasitesi Adres yolunu oluşturan hat sayısı, adresleme kapasitesi ile doğrudan ilişkilidir. 3 Bit lik Adres Yolu ile yapılabilecek farklı adreslemeler 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Sembolik Bellek Gösterimi 000 001 010 011 100 101 110 111 2n ile adresleme kapasitesi bulunur. n: Hat Sayısı (Bit sayısı) Örneğin n değeri 3 olduğunda, 2 3=8 bellek gözü adreslenebilir Soru : 36 adet bellek gözünün adreslenebilmesi için adres yolu en az kaç bit olmalıdır? Cevap : 2n ≥ 36 kuralı gereği; 26=64 (64 ≥ 36) olduğundan adres yolu en az 6 bit olmalıdır? NOT: Birimlerin maksimum kapasitede kullanılması, performans açısından sıkıntı verir. Bilgisayar sisteminde anakartın destek verdiği maksimum bellek büyüklüğü, adres yolu büyüklüğüyle doğrudan ilişkilidir. -13- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Bellek (Memory) Bellek mikroişlemci/mikrodenetleyicinin veri depolama amacıyla kullanılan birimidir. Her bir bellek hücresinin ayrı bir adresi vardır. Mikroişlemci ve bellek arasındaki veri iletişiminde, bel lekten okuma veya yazma amacıyla ilgili bellek hücrelerinin adresleri kullanılır. Yapı ve kullanım şekline göre bellekler çeşitli sınıflara ayrılmaktadır. Kaynak : PIC Microcontrollers - Programming in C (www.mikroe.com) Belleklerin temelinde 0 ve 1 olarak adlandırılan BIT yapıları vardır. BIT : BInary DigiT (Binary Sayı Sistemindeki rakamlardır) Veri Tanımı Birim Açıklama 0 veya 1 Bit Bit 4 adet Bit (1010) Nibble Nibble 8 adet Bit (01000001) Byte Byte 1024 x Byte KiloByte KB 1024 x KByte MegaByte MB 1024 x MByte GigaByte GB 1024 x GByte TeraByte TB 1024 x TByte PetaByte PB 1024 x PByte ExaByte EB 210 = 1024 olduğundan birimlerarası dönüşümde 1024 kullanılır. -14- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Geçici Bellek - Birincil Bellekler (İşlem amaçlı) RAM, Önbellek (Cache Memory) … Kalıcı Bellek - İkincil Bellekler (Depolama amaçlı) Sabit Disk, CDROM, Flash Disk … RAM Random Access Memory (Rastgele Erişimli Bellek) ROM Read Only Memory (Sadece Okunabilir Bellek) MROM Masked ROM (Üretici tarafından programlı ROM) OTP ROM One Time Programmable ROM (Sadece bir kez programlanabilir ROM) PROM Programmable ROM (Sadece bir kez programlanabilir ROM) UV EPROM UV Erasable Programmable ROM (Ultra-Viole Işıkla Silinebilir Programlanabilir ROM) EEPROM Electrically Erasable Programmable ROM (Elektrikle Silinebilir Programlanabilir ROM) FLASH Memory Yazılımla silinip programlanabilen gelişmiş EEPROM . Cache Memory - Önbellek : Ana belleğe yardımcı, daha küçük boyutlu olan; daha önceden kullanılan veya tahmin edilen verilere erişim amacıyla kullanılan bellek türüdür. L1 (Code - Kod ve Data-Veri olmak üzere 2 tane olabilir) İşlemci içerisinde çekirdeğe yakın L2 İşlemci paketi içerisinde L3 Anakart üzerinde Önbellek statik RAM temeline dayanır. Hızlı olmasına karşılık fiziksel olarak daha büyük ve maliyeti yüksektir. (Küçük kapasiteli olsun yine de olsun prensibi) -15- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ MİKRODENETLEYİCİ (MICROCONTROLLER) MCU – Micro Controller Unit – Mikrodenetleyici Birimi İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime mikrodenetleyici (microcontroller) adı verilmektedir. MicroChip firması tarafından üretilen mikrodenetleyicilere PIC adı verilmektedir. PIC – Peripheral Interface Controller (Çevresel Arabirim Denetleyici) PIC16F84, PIC18F877, PIC18F854 vb. Atmel firması tarafından üretilen mikrodenetley iciler AVR adını almaktadır. Atmega8, Atmega16, Atmega32, Atmega64, Atmega128 vb. -16- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ İŞLEMCİ MİMARİLERİ Mikroişlemci Mimarisi, CPU ve Bellek arasındaki veri iletişim şeklinin ve verilerin işlenmesinin nasıl yapılacağını ifade etmektedir. Mikroişlemci/Mikrodenetleyici üreticileri 2 temel tasarım modelini kullanılır: - Von-Neuman Mimarisi - Harvard Mimarisi 1. VON-NEUMANN Mimarisi Von-Neuman Mimarı yapısı Von-Neuman mimarisini kullanan mikrodenetleyiciler, sadece bir bellek bloğu ve 8 bit veriyoluna sahiptir. Bu mimaride komut kodu ve veri aynı bit (8 bit) genişliğindedir. Tüm veriler bu 8 hat üzerinden iletildiğinden dolayı, veriyolunun aşırı yüklenmesiyle iletişim çok yavaşlar ve verimsiz olur. CPU aynı anda sadece ya bir komut okuyabilir ya da belleğe bir veri yazabilir veya bellekten bir veri okuyabilir. Komut ve veri aynı veriyolunu kullandığı için, aynı zamanda her ikisinin olması mümkün değildir. Gerçekleşen tüm ara işlemler için aynı veriyolu kullanılır. Von-Neuman mimarisini kullanan mikrodenetleyiciler, CISC işlemci yapısındadır. 2. HARVARD Mimarisi Harvard mimari yapısı -17- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Harvard mimarisini kullanan mikrodenetleyiciler 2 farklı veri yoluna sahiptir. Bunlardan biri 8 bit genişliğinde olup, CPU’yu RAM’e bağlar. Diğeri ise 12, 14 veya 16 bit genişliğinde olup CPU’yu Flash ROM’a (Program Belleği) bağlar. Bundan dolayı, CPU aynı zamanda bir komut okuyabilir ve veri belleğine erişebilir. Harvard mimarisinde komut kodu bit genişliği ile veri bit genişliği birbirinden farklı olabilmektedir. Bununla birlikte makine kodları ve veriler farklı bellek blokları içerisinde yer almaktadır. Bu sebeple, 1 saat çevriminde hem makine koduna hem de veriye erişim mümkündür. Tüm komutlar 1 saat çevriminde çalışan komutlardır (İstisna: Jump komutu – 2 saat çevriminde çalışır). Dolayısı ile her bir kodun icra süresi eşittir. Harvard mimarisini kullanan mikrodenetleyiciler, RISC işlemci yapısındadır. 3. RISC ve CISC Mimarileri Mikroişlemcilerin temelinde genelde CISC mimarisi kullanılırken, mikrode netleyicilerin temelinde ise RISC mimarisi kullanılmaktadır. RISC – Reduced Inctruction Set Computers (Komut kümesi indirgenmiş mikroişlemci mimarisi) Komut kümesi az sayıda komuttan oluşmaktadır (<150). Komutlar basit yapıdadır ve istisnalar hariç komutlar tek bir saat çevriminde işletilebilen türdedir. Genel olarak her bir komutun icra süresi eşittir. Komut kodu bit genişliği ve veri bit genişliği farklı olabilmektedir. İşlemci içi donanımları daha az olduğundan boyut küçüktür ve ısınma problemleri daha azdır. CISC – Complex Instruction Set Computers Komplex komut kümesine sahip mikroişlemci mimarisi Tek bir komut ile aynı anda birden çok işlem yapılabilir. Karmaşık bir yapıdadır. Komut sayısı (kümesi) çoktur. İşlemci içi donanımları daha çok olduğundan boyut da daha büyüktür ve ısınma problemleri nedeniyle güçlü soğutma sistemlerine ihtiyaç duyulmaktadır. RISC mimarili mikrodenetleyiciler sadece toplama, çıkartma, kopyalama gibi temel işlemleri tanır ve işletirler. Diğer taraftan daha karmaşık işlemler ise, bu basit işlemlerin kombinasyonları ile gerçekleştirilir. Örneğin, çarpma ardışık toplama işlemleri ile yapılır. -18- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Programlama Dilleri Programlama dilleri temel olarak 3 sınıfta incelenebilir : Makina Dili (Hexadecimal - Onaltılı Kodlar) Alt Düzey Programlama Dilleri (Assembly Dili) Üst Düzey Programlama Dilleri (Pascal, Delphi, VBasic …) Alt Düzey Programlama Dilleri Kolaylaşır Program Yazma Hızlanır Kod Azalırken dosya boyutu artar Programın Çalışması Yavaşlar Etkinlik azalır Üst Düzey Programlama Dilleri Üst Düzey Programlama Dilleri Text Tabanlı Programlama Dilleri (Pascal, GW Basic vb.) Görsel Programlama Dilleri (Delphi, Visual Basic vb.) Grafik Programlama Dilleri (Labview, WorkBench, Parsic vb.) YORUMLAYICI – INTERPRETER Programı oluşturan komut satırları birer birer ele alınır. Komut satırında hata yoksa çalıştırılır ve bir sonraki komut satırına geçilir. Hata olduğu anda program çalışması durur. Bu işlem bu şekilde program sonuna kadar devam eder. Yorumlayıcı mantığında programın tamamının hatalardan arındırılmış olması gerekmez. Hatta hataya rastlanılmadığı, şartlar hatalı satırın olduğu komut satırının çalıştırılmasını gerektirmediği sürece program çalışmasına devam eder. Hata listesi verilmez. Program hataları genel olarak 3 sınıfta incelenir: - Syntax Error (Yazım – Sözdizim Hatası) - Logical Error (Mantık Hatası) - Run-Time Error (Çalışma Zamanı Hatası) Programın çalışması esnasında meydana gelebilecek hataları önceden kestirmek ve program akışını bu duruma göre kontrol etmek amacıyla, programlama işlemlerinde Hata Yakalama Yordamları sıkça kullanılmaktadır. Örnek Hata Yakalama Yordamları; Pascal / Delphi : Try/Except/End ve Try/Finally/End C# : try / catch / finally -19- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ DERLEYİCİ – COMPILER Programın tamamı gözden geçirilir ve hiç hata yoksa program çalıştırılabilir hale gelir. Hatalar varsa; hata listesi verilir. Kaynak Kod Source Code Compiler Derleyici Object Code (Hex Kod) Linker Bağlayıcı Çalıştırabilir Kod *.EXE Bilgisayar Tabanlı Programlama Adımları BAĞLAYICI (LINKER) Derleme ile elde edilen Object kodların ilave durumdaki kütüphane vb. ekstra kodlar ile birlikte kendi başına çalıştırılabilecek hale getirilmesi işlemidir. ÇEVİRİCİ – ASSEMBLER Assembly dilinde Mnemonik komutlardan oluşan ve text tabanlı olarak yazılmış programın HEX kodlara dönüştürülmesini sağlayan yazılımlara Assembler-Çevirici adı verilir. Mnemonik Komut Örnekleri (MOVLW, ADDF, GOTO, CALL BNC vb. kısaltmalar) SHL – Shift Left – Sola Kaydır SHR – Shift Right – Sağa Kaydır ROR –Rotate Right Kaynak Kod Source Code *.ASM Assembler Çevirici Object Code (Hex Kod) Programlayıcı Donanım ve Yazılım Mikrodenetleyici PIC, ATMEL … Assembly Dili Programlama Adımları Mikrodenetleyici Programlama İhtiyaçları Assembly Dilinde yazılmış program Assembler Yazılımı (Assembly >>> Hex) HEX kodlar Mikrodenetleyici (PIC, Atmel vb. olabilir.) Mikrodenetleyici Programlama Donanımı (Programlayıcı) Mikrodenetleyici Programlama Yazılımı (PIC programmer (usburn12a.exe)) -20- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ MANTIK DEVRELERİ AND AND kapısı 2 (veya daha fazla) girişe ve 1 tane çıkışa sahiptir. OR OR kapısı 2 (veya daha fazla) girişe ve 1 tane çıkışa sahiptir. NOT NOT kapısı 1 girişe ve 1 tane çıkışa sahiptir. EXCLUSIVE OR (XOR) -21- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ REGISTER (KAYDEDİCİ) Register (Kaydedici – Yazmac - Saklayıcı) veya bellek hücresi, 1 byte (işlemci yapısına bağlı olarak daha fazla olabilir) verinin tutulduğu elektronik bir devredir. DOĞRULUK TABLOLARI A B NOT A NOT B A AND B A OR B A EXOR B 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 -22- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Yazmaçlar – Registers Mikroişlemci ve Mikrodenetleyici içerisinde yer alan, veri işlem ve adresleme vb. amaçlar için kullanılan (Ax, Bx, Cx gibi adlarla anılırlar) veri saklama alanlarıdır. EAX Yazmaç Yapısı EAX DoubleWord 32 Bit AX Word 16 Bit Ah Byte 8 Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 Al Byte 8 Bit 10 9 8 7 6 5 4 3 -23- 2 1 0 Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ Örnek 1: Assembly dili komutlarının Delphi ortamında gömülü (ASM/END bloğu) olarak kullanılması a. Program Kodları unit Unit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls; type TForm1 = class(TForm) Button1: TButton; edt_X: TEdit; edt_Y: TEdit; edt_T: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var X,Y,T :Byte; begin // X ve Y Değerlerini Al X:= StrToInt(edt_X.Text); Y:= StrToInt(edt_Y.Text); // AND işlemi Asm Mov Mov And Mov Al,X Ah,Y Ah, Al T,Ah End; // Sonuç (T) değeri ekrana bas edt_T.Text := IntToStr(T); end; end. b. Form Görünümü -24- Bilgisayar Sistemleri Dr. Serkan DİŞLİTAŞ c. İşleyiş Program Kodu X:= StrToInt(edt_X.Text); Bellek X Y Yazmaç T 12 Y:= StrToInt(edt_Y.Text); Mov Al,X Mov Ah,Y Ah Byte 8 Bit 15 X Y 12 6 X Y 12 6 X Y 12 6 14 13 X Y 12 6 11 10 9 8 7 6 5 4 Ah Byte 8 Bit T 15 14 13 12 11 T 15 14 13 12 11 10 9 8 7 6 5 4 2 1 0 3 2 1 0 Al Byte 8 Bit 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 1 1 0 0 Ah Byte 8 Bit T 3 Al Byte 8 Bit Ah Byte 8 Bit Al Byte 8 Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 Ah Byte 8 Bit And Ah, Al Çalışma Prensibi: Ah Ah And Al 12 Al Byte 8 Bit T Al Byte 8 Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 -25- Bilgisayar Sistemleri Mov T,Ah edt_T.Text := IntToStr(T); Dr. Serkan DİŞLİTAŞ X Y T 12 6 4 X Y T 12 6 4 Ah Byte 8 Bit Al Byte 8 Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 Ah Byte 8 Bit Al Byte 8 Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 -26-
Benzer belgeler
Mikrodenetleyiciler
MCU – Micro Controller Unit – Mikrodenetleyici Birimi
İşlemci ile birlikte I/O ve bellek birimlerinin tek bir entegre olarak paketlendiği elektronik birime
mikrodenetleyici (microcontroller) adı ve...