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

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...

Detaylı