• Sonuç bulunamadı

Bilgisayar Sistemleri Fonksiyonlar ve Yetenekler Dr. Cahit Karakuş

N/A
N/A
Protected

Academic year: 2022

Share "Bilgisayar Sistemleri Fonksiyonlar ve Yetenekler Dr. Cahit Karakuş"

Copied!
116
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Bilgisayar Sistemleri

Fonksiyonlar ve Yetenekler

“Dr. Cahit Karakuş”

(2)

İçindekiler

• Giriş

• Temel Kavramlar

• Bilgisayar Sisteminin Fonksiyonları

• Bellekler

• CPU

• Mikroişlemci Mimari

• Assembly

• I/0 Birimleri

• Bilgisayar Donaım Bileşenleri

• Yazılımlar

• Veri Haberleşmesi – Ağ teknolojileri

(3)

“Giriş ”

(4)

Günümüzde, askeri, sağlık, kritik alt yapılar, uzay ve beyin alanlarında kullanılan bilgisayar sistemleri bilgiyi işleyen, analiz eden ve kestirim yapan yazılımlar ile birlikte yoğun olarak kullanılmaktadır. Boyut

küçülmesi ve yüksek veri işleme hızları ile birlikte her alanda başta robotik sistemler olmak üzere

günümüzde bilgisayar sistemleri, uygarlığın özellikle nesnelerin (IoT) bütünleşik bir parçası olmuştur.

Bilgisayar Sistemlerinin Yetenekleri:

Aritmetik hesaplamaları gerçekleştirir.

Mantıksal hesaplamalar yapar

Karşılatırma yapar.

Verileri saklar. Verileri çok kısa zamanda arayıp bulur.

Verileri yazılan program doğrultusunda işler.

Büyük boyutlu problemleri kısa zamanda çözer.

Bilgisayar Sistemleri iki ana unsurdan oluşurlar:

Donanım (hardware), bilgisayarların fiziksel kısımlarına donanım denilmektedir. Ekran, klavye, Sabit disk (harddisk), fare, yazıcı, bellek, mikroişlemci, tarayıcı,…

Yazılımı (software): donanımı kullanmak için gerekli programlar. İşletim sistemleri ve altında çalışan bütün programlar.

Bilgisayar Sistemlerinin fonksiyonları ve yetenekleri

(5)

Devre

• Bir devre, bir işlevi yerine getiren birbirine bağlı bir elektronik bileşen kümesidir.

• Entegre Devreler (IC'ler): Çip denilen küçük

silikon parçaları üzerine inşa edilmiş binlerce

devrenin kombinasyonları

(6)

What Is A Computer?

6

• Bilgisayar, veri işleme yeteneği olan bir yapıdır.

• Bilgisayar, otonom olarak bir dizi aritmetik veya mantıksal işlem gerçekleştirmek amacıyla programlanan genel amaçlı bir aygıttır.

• Yakın gelecekte binlerce işlemci, verileri çok hızlı işleyebilmesi için birarada çalışırken kuantalama hesaplama (ALU)

kullanacaktır. Bitler elektronlar ya da fotonlar ile temsil edilecektir.

• Bilgisayar: Verileri alan, depolayan, işleyen ve çıktı olarak bilgi

sağlayan bir sistem

(7)

What Is A Computer?

A computer is an electronic device, operating under the control of instructions (software) stored in its own memory unit, that can accept data (input), manipulate data (process), and produce information (output) from the processing. Generally, the term is used to describe a collection of devices that function together as a system.

Kendi bellek biriminde saklanan programların (yazılımların) kontrolü altında çalışan ve verileri (giriş) kabul eden, verileri işleyen ve bu işlemden bilgi çıktısı üretebilen elektronik bir cihaza bilgisayar denir.

7

Electronic device under the instruction and programming control; and execute four basic operation

• input

• processing

• output

• storage

(8)

Bilgisayar sistemi

Donanım

• Dokunulan mekanik ve elektronik devre gibi bir bilgisayar sistemini oluşturan fiziksel bileşenler.

Yazılım

• Dokunulmayan programlama, algoritma ve talimat setlerinden oluşur

• Software = Bilgisayara ne yapacağını söyleyen programlar (talimatlar).

 Sistem yazılımı

 Uygulama yazılımı

 Sabit disk, CD-ROM, disket, kaset gibi bir depolama ortamında depolanır.

(9)

Microprocessor

Komutları alan (bellekten), kodunu çözen ve yürüten program kontrollü yarı iletken cihaz (IC).

Bilgisayarlarda CPU (Merkezi İşlem Birimi) olarak kullanılır.

9

(10)

CPU (CENTRAL PROCESSING UNIT)

CPU iki bölümden oluşur.

• Aritmetik ve Mantık Birimi (Arithmetic Logic Unit -ALU) : Dört işlem, mantıksal işlemler, verilerin karşılaştırmak

• Kontrol Ünitesi ( Control Unit -CU) : Işlem akışını düzenler, komutları yorumlar ve bu komutların yerine getirilmesini sağlar.

Mikro işlemcide temel parametre clock hızıdır.

Clock speed(hızı): sayısal veri işlemede veriler 1 ve 0’dan oluşur. Verilerin işlemesinde clock’a

ihtiyaç vardır. Clock’un periyodu veri uzunluğunda olmalıdır . Clock süreklidir.

Data width (veri genişliği): 8,16,32,64 bit olarak karşımıza çıkar.

• Temel bellek birimi 8 bit, 1byte olarak ifade ediilir.

MIPS (millions of instructions per second): saniyede işlenen işlem sayısını ifade etmektedir

ve CPU performansını ölçmek için kullanılan bir birimdir.

Assembler: doğrudan doğruya CPU’nun yönetildiği yazılımdır.

(11)

11

Computer Organization

Central Processor Unit (CPU)

Memory Storage Unit

registers

ALU clock

I/O Device

#1

I/O Device

#2

data bus

control bus address bus

CU

• control unit (CU) : controls operation timing / sequencing

• arithmetic logic unit (ALU) : performs all math & logic operations, receives command sequence from CU

• clock : synchronizes CPU operation

(12)

Bilgisayar Sisteminin

Fonksiyonları

(13)

Bilgisayar Sistemi

Bir bilgisayar sisteminin temel bileşenleri:

CPU – Central Processing Unit (Mekezi İşlemci Birimi - Mikroişlemci)

Memory

Input and output unit

System Bus: data bus, address bus and control bus.

(14)

14

Bilgisayarda veri işleyen elektronik devreye işlemci adı verilir.

• Anabilgisayarlarda ana bellek ve giriş çıkış birimleri ile birlikte merkezi işlem birimi; kişisel bilgisayarlarda ise mikroişlemci olarak adlandırılır.

• İşlemci veriyi işlerken ana bellek (RAM-ROM) ve işlenecek komutların içeriğinin yazıldığı geçici saklayıcı (register) adlı devrelerle birlikte çalışır.

RAM: Okunup yazılan bellektir, elektrik kesildiğinde içerik kaybolur.

ROM: Salt okunur bellektir. Elektrik kesildiğinde içeriği kaybolmaz. Önceden bilgisayar mühendisleri tarafından içeriği hazırlanır ve yüklenir.

• İşlemci, veriyi enformasyona (Bilgiye) dönüştürürken yazılım komutlarını yürütür.

İç yapı olarak mikroişlemci iki kısma ayrılır:

Kontrol Birimi (Control Unit-CU): Bilgisayar sisteminin tüm bileşenlerini, girdi-çıktı aygıtlarını, bellek ve diğer aygıtlarla haberleşmeyi kontrol ve koordine etmekte,

Aritmetik ve Mantık Birimi (Arithmetic and Logic Unit–ALU): Matematiksel ve mantıksal işlemleri gerçekleştirmektedir.

Mikroişlemci (CPU-Central Processing Unit)

(15)

15

• Kişisel bilgisayarlarda kullanılan işlemciler iki tiptir: Intel ve Motorola şirketlerinin ürettiği yongalar.

• Intel yongaları: IBM ve IBM uyumlu kişisel bilgisayarlar için üretilen yongalardır. Intel

yongalarının benzerleri AMD ve Cyrix adlı şirketler tarafından da üretilmektedir. Intel şirketi

1981 yılından beri kişisel bilgisayarlarda kullanılan 8086, 8088, 80286, 80386, 80486, Pentium, ve Pentium Core yonga ailelerini çıkarmıştır.

• Motorola yongaları: Apple Macintosh bilgisayarları için üretilen yongalardır. Motorola şirketi 68000, 68020, 68030, 68040 yongalarını çıkarmıştır. Daha sonra Motorola, IBM ve Apple

şirketleri ile birlikte PowerPC yonga ailesini çıkarmaya başlamıştır.

• Her işlemcinin kendi makine dili vardır. Bu yüzden, bir işlemci için hazırlanmış uygulama

yazılımının, diğer işlemcilerde çalışması için ek donanım ya da yazılım desteği gerekir. Ancak aynı şirketin ürettiği yeni işlemciler, geriye doğru uyumlu üretilirler. Yani, eski işlemci için hazırlanmış yazılım, yeni çıkarılan işlemciler tarafından da çalıştırılabilir.

• Ancak yazılımların yeni çıkan işlemcilerin veriminden tam olarak yararlanabilmesi için, yeni işlemci için yeni sürümünün çıkarılması gerekir.

Kişisel bilgisayarlarda kullanılan işlemciler

(16)

A Computer System

Blok diyagramları kullanan bir bilgisayar sisteminin temel bileşenleri

CPU – Central Processing Unit (Mekezi İşlemci Birimi - Mikroişlemci)

Memory

Input and output unit

System Bus: data bus, address bus and control bus.

 Adres hatları bellek gözü veya I/O birimini seçmede kullanılır.

Parelel hatlardır. Grup olarak çalışırlar.

Herbir hat üzerinde bitleri (1 / 0) temsil eden elektrik sinyalleri taşınır.

Toplam adresleme kapasitesi= 2n byte olarak hesaplanır. Buradaki n ifadesi adres hattı sayısıdır.

Örneğin adres hattı sayısı, n=30 ise bilgisayar sistemin adresleme kapasitesi=230 byte =1 GByte’dır.

 Data lines: data lines: 8,16,32 dan 64 bit; Nibble, byte, word ... Longword. Bellekler ve I/O birimleri ile veri yazma ve okumada kullanılır. Parelel hatlardır. Grup olarak çalışırlar. Üzerlerinde 1 ya da 0’ı temsil eden elektrik sinyalleri taşınır.

Data bus hat sayısı taşınacak veri kapasitesini byte cinsinden belirler. Örneğin data bus hat sayısı 64 bit ise, data bus kapasitesi=64/8=8 byte’dır.

Address Decoding Unit

Fetching and execution cycles

Microprocessor clock system

16

(17)

17

• Bilgisayar performansı genellikler üç birim ile ölçülür: RAM kapasitesi, data boyutu ve işlemci hızı.

• RAM Kapasitesi. Günümüzde ana bilgisayarların ve süper bilgisayarların bellekleri GB ve hatta TB seviyesindedir.

• İşlemci kapasitesi, saklayıcılarda(register) saklanabilen ve bir defada işlenebilen ve

merkezi işlem birimi, bellek ve saklayıcıları birbirine bağlayan iç (yerel) sistem bus’daki veri yolu üzerinden bir defada gönderilebilen bit sayısıdır. 32 bit bir bilgisayar bir defada 32/8=4 byte işleyebilir. Bu da, 32 bit bilgisayarın 8 bit bilgisayardan yaklaşık 4 kat daha hızlı olması anlamına gelir.

• İşlemci Hızı; Transistörlerin saniyede milyonlarca ve hatta milyarlarca kez açılıp

kapanması dolayısıyla, makine çevrimi tekrarları baş döndürücü bir hızla gerçekleşir.

• Komut işleme hızları, günümüzde milyonlar düzeyinde olan, saniyede işlenen komut sayısına göre de ölçülebilir. MIPS (Millions of Instructions Per Second – saniyedeki

milyon komut sayısı) bilgisayar işleme hız ölçüsüdür. Günümüz ana bilgisayarlar 10000 ve üstünde MIPs hızlarında çalışmaktadır.

Computer Units

(18)

CPU and Other Computer System Components

CPU components

(19)

CPU With the System Bus

(20)

CPU and main memory connected via a bus

(21)

The structure of a microprocessor

Arithmetic and logic unit

Control Unit

 Registers:

İşlenecek komutların transfer edildiği geçici saklayıcılardır.

 Data Registers

 Pointer and Index registers,

 Segment registers,

 Program counter,

 Flags

21

İşlemci iki kısından oluşur:

• Kontrol birimi ve aritmetik/mantık birimi.

• Bu iki bileşen işlemci içinde sistem veriyolu adı verilen bir çeşit elektronik bağ ile birleştirilir.

• Veriyolu aynı zamanda bu bileşenleri bilgisayar sisteminin belleklekleri ve I/O birimleri ile birleştirir.

(22)

Saklayıcılar - Registers

• Special-purpose

• High-speed

• Temporary storage

• Located inside CPU

Mikroişlemcinin iç yapısında, işlenecek komutların içeriğine bağlı olarak,

• Veri işleme ve veri iletişim ara yüzünde kullanılır.

• Özel amaçlı saklayıcıdır.

• Yüksek hızlı veri işlemde ve transfer etme hızlı rol oynar.

• Geçici depolama alanıdır.

• CPU içinde bulunur. CPU’nun ana bileşenidir.

(23)

Example

Microprocessor

Register Organizations

(24)

+ Processor Organization

Fetch instruction

The processor reads an instruction from memory (register, cache, main memory)

Interpret instruction

The instruction is decoded to determine what action is required

Fetch data

The execution of an instruction may require reading data from memory or an I/O module

Process data

The execution of an instruction may require performing some arithmetic or logical operation on data

Write data

The results of an execution may require writing data to memory or an I/O module

In order to do these things the processor needs to store some data temporarily and therefore needs a small internal memory

Processor Requirements:

(25)

Mikroişlemci işlev döngüsü

Bir komut çevrimi, işlenen komutların

karmaşıklığına göre bir kaç clock çevriminde tamamlanır. Çevrim: Fetch, Execute ve adres decoding yapısından oluşur. Fetch: Git al

getir, al götür. Neyi? Verileri. Nereden? Bellek gözünden ya da I/O biriminden. Execute:

Veriyi işle. Address decoding: Bellek seçer.

Neden? Veriyi yazmak ya da okumak için.

(26)

Mikroişlemci işlev döngüsü

Bir makine kodu talimatının yürütülmesi üç aşamada olur.

• Bu aşamalar Fetch (Getir-Götür),

• Decode (Kod Çöz)

• Execute (Yürüt – Uygula) olarak sıralanır. Bu aşamaları birer cümle ile açıklayınız.

• Getir –Götür: Bellekteki konumundan yürütmek için bir sonraki talimatı alır.

• Kod çöz: Getirilen komutu yürütmek için hangi devrelerin

enerjilendirileceğini diğer bir anlatımla seçileceeğini belirler.

• Yürüt: Komutları yürütmek için ALU'yu ve işlemcinin belleğe arayüzünü

kullanır.

(27)

Mikroişlemci ana işlev döngüsünde, Fetch Process:

• Veriyi bellek ya da I/O biriminden Git – Al – Getir.

• Veriyi bellek ya da I/O birimine Al - Götür.

Execute process : Veriyi işler

Decode: Verinin yazılacağı ya da

okunacağı belleği ve belleğin ilgili gözünü

seçer.

(28)

28

Address decoding unit, bellek seçer. Belleğin gözü ise CPU’dan gelen adres hatları yardımıyla seçilir.

Bir bellek seçilirken adres decoding devresine CPU’dan gelen adres hatları kullanılır. Adres decoding devresinin çıkışları bellekleri seçmede kullanılır.

CPU’nun kapasitesini belirleyen (Kapasite=2n ) n adet hat CPU’dan çıkar.

CPU’dan çıkan adres hatları iki gruba ayrılır. n=m+k, k: maksimum kapasitesi olan belleğin adres hattı sayısıdır.

Seçilecek bellek sayısı=Address decoding devresi çıkış sayısı=2m dir.

Burada m CPU’dan gelen adres hattı sayısıdır. Adres decoding devresinin giriş sayısıdır.

Amaç aynı anda sadece bir belleğin ilgili veri gözünün seçilmesidir.

Adres decoding devresinin çıkış sayısı bellek sayısına eşit ya da büyük olmak olmak sorundadır.

Adres decoding devresini girişi, CPU dan gelecek adres hattı sayısı belirlenir. Özeldir.

Address Decoding Unit

(29)

Address Decoding Unit

• Seçilecek bellek sayısı=Address decoding devresi çıkış sayısı=2m dir.

• Örnek: 172 adet bellek var ise 2m =172 ise m=8 alınır. Çünkü 27 =128 dir. Bellek sayısına eşit ya da büyük olan seçilri.

• O halde CPU’dan Address Decoding Devresinin girişine gelecek hat sayısı=8 dir. Bu durumda seçilecek bellek sayısı 256 olur.

• Bellek Address Decoding Devresi yardımıyla seçilir. Seçilen belleğin yazılıp ya da

okunacakilgili gözü ise CPU dan parelel gelecek ni adres hattı ile belirlenir. Burada, i=1 ... 2m dir.

• Seçilen belleğin kapasitesi=2ni byte olur.

(30)

Performance

 Bazı işlemciler diğerlerinden daha hızlıdır.

 Bazı parametreler performansı belirler:

İç clock hız—gigahertz (GHz) mertebelerinde ölçülür.

İşlemcinin mimarisi

Bir anda işlenebilen bit sayısı: Genellikle 32 ya da 64 bits olarak adlandırılır.

 Çoklu işlemciler

Tek yonga birden fazla CPU (çekirdek - core) içerir

• Aynı anda çalışır

• İşi bölümü yapar

• Çoğu yeni bilgisayarın en az iki çekirdeği vardır.

(31)

A Few Words About Where We Are Headed

Performance = 1 / Execution time simplified to 1 / CPU execution time

CPU execution time = Instructions  CPI / (Clock rate)

Performance = Clock rate / ( Instructions  CPI )

Define an instruction set;

make it simple enough to require a small number of cycles and allow high clock rate, but not so

simple that we need many instructions, even for very simple tasks

Design hardware for CPI = 1; seek improvements with CPI > 1

Design ALU for arithmetic & logic ops

Try to achieve CPI = 1 with clock that is as

high as that for CPI > 1 designs; is CPI < 1

feasible?

Design memory & I/O structures to support ultrahigh-speed CPUs

(32)

Mikroişlemci Hızı

(33)

Traditional Pipeline Concept

• Laundry Example

• Ann, Brian, Cathy, Dave

each have one load of clothes to wash, dry, and fold

• Washer takes 30 minutes

• Dryer takes 40 minutes

• “Folder” takes 20 minutes

A B C D

(34)

Traditional Pipeline Concept

• Sequential laundry takes 6 hours for 4 loads

• If they learned pipelining, how long would laundry take?

6 PM 7 8 9 10 11 Midnight

A B C D

30 40 20 30 40 20 30 40 20 30 40 20

Time

(35)

Traditional Pipeline Concept

Pipelined laundry takes 3.5 hours for 4 loads

6 PM 7 8 9 10 11 Midnight

T a s k

O r d e r

Time

A

B

C D

30 40 40 40 40 20

(36)

Traditional Pipeline Concept

• Pipelining doesn’t help latency of single task, it helps

throughput of entire workload

• Pipeline rate limited by slowest pipeline stage

• Multiple tasks operating

simultaneously using different resources

• Potential speedup = Number pipe stages

• Unbalanced lengths of pipe stages reduces speedup

• Time to “fill” pipeline and time to “drain” it reduces speedup

• Stall for Dependences

A B C D

6 PM 7 8 9

T a s k

O r d e r

Time

30 40 40 40 40 20

(37)

Use the Idea of Pipelining in a Computer

F1 E

1 F

2 E

2 F

3 E

3

I1 I2 I3

(a) Sequential execution

Instruction fetch

unit

Execution unit Interstage buffer

B1

(b) Hardware organization

Time

F1 E1

F2 E2

F3 E3 I1

I2

I3 Instruction

(c) Pipelined execution

Figure 8.1. Basic idea of instruction pipelining.

Clock cycle 1 2 3 4

Time

Fetch + Execution

(38)

Use the Idea of Pipelining in a Computer

InstructionI4I1I2I3 F1F2D1F3D2E1F4D3E2W1D4E3W2E4W3W4 Figure 8.2. A 4-stage pipeline.

Clock cy cle1234567

(a) Instruction execution div ided into f our steps

F : Fetch instruction

D : Decode instructionand f etchoperands

E: Execute operation W : Writeresults Interstage buff ers

(b) Hardware organization

B1 B2 B3

Time

Fetch + Decode

+ Execution + Write

(39)

Pipelining

Pipelining, CPU'nun donanım öğelerinin genel performansı artırılacak şekilde düzenlenmesi

sürecidir. Birden fazla komutun eşzamanlı olarak yürütülmesi, ardışık düzenlenmiş bir işlemcide gerçekleşir.

Boru hatlı operasyon kavramı üzerinde çalışan gerçek hayattan bir örnek görelim. Bir su şişesi paketleme fabrikasını düşünün. Bir şişenin geçmesi gereken 3 aşama olmasına izin verin, Şişeyi yerleştirme (I), Şişeye su doldurma (F) ve Şişeyi kapatma (S). Bu aşamaları sırasıyla 1. aşama, 2.

aşama ve 3. aşama olarak ele alalım. Her aşamanın çalışmasını tamamlamak için 1 dakika ayırmasına izin verin.

Şimdi, boru hatsız bir işlemde, tesise önce bir şişe yerleştirilir, 1 dakika sonra suyun dolu olduğu 2.

aşamaya taşınır. Şimdi, 1. aşamada hiçbir şey olmuyor. Benzer şekilde, şişe 3. aşamaya geçtiğinde, hem aşama 1 hem de aşama 2 boşta kalır. Ancak boru hatlı çalışmada, şişe 2. aşamadayken, 1.

aşamada başka bir şişe yüklenebilir. Benzer şekilde, şişe 3. aşamadayken 1. ve 2. aşamada birer şişe olabilir. Yani her dakika sonra 3. aşamanın sonunda yeni bir şişe alıyoruz.

(40)

Pipelining

Böylelikle boru hatlı çalışma, bir sistemin verimini arttırır.

(41)

“Bellekler ”

(42)

Bellek Birimi

• Bellek içerisinde veri saklayan aygıttır. Veriler bir bit ile 8 bit genişliğinde bellekte saklanabilir. En çok kullanılan bellek birimi bayttır, 1 bayt 8 bitten oluşur.

• Bir birim verinin bellek içerisinde yerini belirlemek için adres kullanılır.

• İki boyutlu bellekte şekildeki baytın adresi 7’dir.

3-boyutlu bellekte bir baytın adresi satır ve sütün olarak

tanımlanır her bayt kendine özgü satır ve sütün numarasına sahiptir.

Soru: Şekilde kaç bayt yer almaktadır? Mavi baytın adresini belirleyin?

Cevp: 64 byte. 2. Satır, 8. Sütun

(43)

Bellek Adresleme

Belleğe okuma veya yazma yaparken adres yoluna (address bus) ikili sayı yerleştirilir. İçerisinde yer alan kodçözücü satır ve sütün numaralarını belirleyerek istediğimiz bellek birimini seçer. Adres belirlendikten sonra okumada veri yoluna (data bus) bellekteki bilgi aktarılırken yazmada veri yolundaki veribelleğe yazılır.

Address bus aynı görev verilmiş elektrik hatlara verilen isimdir. Hatların sayısı belleğin satır numarası hakkında bilgi verir. 32 bit adres bus ile 232 satır bellek satırı adreslenebilir. Yaklaşık 4Gbyte.

Yarı iletken bellekleri kullanmak için adres ve veri yollarının dışında oku

(read), yaz (write) gibi denetim işaretleri ile bellek seçme (chip select) işaret girişlerine gereksinim duyulur.

Chip Select (CS) veya Chip Enable (CE) adres kodçözme işleminin bir parçasıdır. Genellikle birden fazla bellek tümdevresi kullanıldığında bu birimleri ayırt etmek için kullanılır.

Read Enable (RE) ve Write Enable (WE) işaretleri verinin akış önünü

dentelemek amacıyla mikroişlemci tarafından üretilir ve belleğe gönderilir.

Output Enable (OE) okuma işlemi süresince aktiftir, diğer durumlarda ise aktif değildir. Bu işaret belleği veri yoluna bağlar.

(44)

Okuma ve Yazma İşlemleri

• İki ana bellek işlemi belleğe yazma ve bellekten okuma işlemleri

kısaca oku ve yaz işlemi olarak adlandırılır. Yazma işleminde

bellekte ebulunan verinin üzerine yeni veri yazılır.

• 1. Adres, adres yoluna yerleştirilir.

• 2. Veri (Data) veri yolunayerleştirilir.

• 3. Yazma işareti etkin yapılır.

(45)

Okuma ve Yazma İşlemleri

• Okuma işlemi aslında bir

kopyalama işlemidir. Bellekteki orijinal veri değişmez. Veri yolu belleklerde çift yönlüdür,

okumada veri bellekten veri yoluna kopyalanır.

• 1. Okunacak satırın adresi adres yoluna yerleştirilir..

• 2. Oku girişi etkin yapılır.

• 3. Seçilen bellek satırının içeriği

veri yoluna aktarılır.

(46)

Bellek hiyerarşisi

Bellek hiyerarşisi çeşitli veri depolama birimlerinin veri iletim hızı/işlem gücüne göre hiyerarşik olarak sıralanmasına verilen addır. İşlemcilerin hızı ve işlem gücü arttıkça bilgisayar mimarisini oluşturan veri saklama birimlerinin işlemciyle arasındaki senkron farkı gitgide artmaktadır. Veri depolama birimleri arasındaki bu tür farklılıkların önüne geçmek,

işlemcinin döngülerce diğer birimlerin veri işlemesi/iletmesi sırasında beklemesini engellemek için önbellek (cache) adı verilen geçiş birimleri oluşturulmuştur.

Bu hiyerarşide bir bellek türü bir üst düzeydeki bellek türünü önbellek olarak kullanır. Örneğin, yerel diskte kayıtlı bir dosyada işlem yaparken ana bellek işletim sistemi tarafından geçici depolama birimi olarak kullanılabilir.

Hiyerarşideki bellek türleri hızlılık, düşük gecikme ve maliyete göre yukarıdan aşağıya doğru şu şekilde sıralanabilir:

Yazmaçlar (CPU)

L1 önbellek (SRAM)

L2 önbellek (SRAM)

Ana bellek (DRAM)

Yerel ikincil depolama birimleri

Uzaktan erişimli ikincil depolama birimleri

(47)

Bellek hiyerarşisi

(48)

48

Depolama Birimleri

• Bellekler, bilgisayarların ilk gelişiminden bugüne kadar büyük değişiklikler göstermiştir.

• Belleklerin boyutları küçülürken depolama kapasiteleri ve kendilerinde

depolanan bilgiye erişim hızları artmış, ayrıca fiyatları da depolama birimi başına oldukça düşük değerlere inmiştir.

• Günümüzde en yaygın olarak kullanılan bellekler, “Flash bellek, Disket (Floppy Disc)”, “Sabit Disk (Fixed/Hard Disc)”, “CD (Compact Disc)” ve

“DVD (Digital Video Disc veya Digital Versatile Disc)” olarak sıralanabilir.

• Bellekler, işlenecek verileri, bilgileri, programları ve komutları depolar.

• Birincil Bellekler: ROM, RAM, CMOS.

• İkincil Bellekler: Disket, Sabit Disk, CD, DVD, Manyetik Teyp

(49)

Main Memory

• Random Access Memory (RAM) – Okunabilir,

– Yazılabilir,

– genellikle uçucu (ör. Dinamik RAM – DRAM - SRAM),

– genel depolama amaçlı kullanılır.

• Read Only Memory (ROM) – okunabilir

– kalıcı

– uçucu olmayan

– veri ve talimatlar için özel amaçlı depolama alanıdır.

(50)

50

Belleklerin Sınıflandırılması

• “Rastgele Erişimli Bellek (Random Acces Memory-RAM)”

– Elektriksel olarak beslenir ve yalnızca kendisine elektrik geldiği sürece bilgileri saklayabilir.

– Birincil Depolama Birimidir.

• “Yalnızca Okunabilir Bellek (Read Only Memory-ROM)”: Kendisine üretim sırasında yüklenen ve genellikle değiştirilemez nitelikte bilgileri içerir.

• Complementary Metal-Oxide Semiconductor (CMOS)

– Bilgisayarların kurulum ayarlarını saklamak için kullanılır.

– Anakart üzerinde bulunan bir pilden enerji alır.

• Bilgisayarlarda kullanılan tüm komutların içeriği, işlemci tarafından RAM’e yüklenerek işlenmektedir.

• Bir kişisel bilgisayarda, ihtiyaca cevap verebilecek boyutta bir RAM’in bulunmalıdır.

(51)

Memory Types

• Ana Bellek: Ram, Rom, CMOS (BIOS)

• Cache

• Dynamic ram

• Static ram

• Flash memory

• Memory sticks

• Virtual memory

• Video memory

• Bios

• Hard Disk

• Belleklerin üç görevi vardır:

– İşlenecek veriyi depolar.

– Veriyi işleyen komutları (programları) depolar.

– İşlenmiş, iletişim veya çıkış aygıtlarına gönderilmek için bekleyen veriyi

depolar.

(52)

Ön (Cach) Bellek

• Belleğe erişmek için ortalama süreyi azaltmak için bilgisayarın merkezi işlem birimi tarafından kullanılan önbellek.

• Önbellek, en sık kullanılan ana bellek konumlarındaki verilerin kopyalarını depolayan daha küçük ve daha hızlı bir bellektir. İşlemcinin ana bellekteki bir yerden okuması veya bir yere yazması gerektiğinde, önce bu verinin bir kopyasının önbellekte olup olmadığını kontrol eder.

• Öyleyse, işlemci hemen önbellekten okur veya önbelleğe yazar; bu, ana bellekten okumaktan veya belleğe yazmaktan çok daha hızlıdır.

• Günümüzde önbelleklerin bir kısmı işlemcinin içerisine yerleştirilmektedir.

(53)

53

Sabit Diskler

• Sabit diskler günümüz bilgisayarlarında bulunan başlıca depolama birimleridir.

Üst üste konmuş metal plakalardan oluşan bu birimlerin kapasiteleri,

teknolojinin gelişimine paralel olarak artmış ve 1980li yılların başlarında

10 MB iken, günümüzde Tera Byte’lara çıkmıştır.

(54)

54

CD ve DVD

Digital code read by laser

CD’ler, günümüzde hemen her yerde karşılaşılan depolama birimleridir ve kapasiteleri 700 MB seviyesindedir.

CD Read Only Memory

Write-One Read_Mostly CDs (WORMS)

– Powerful laser burns in the digital code – Not erasable

– Lowe power laser reads the digital pattern

Eraseable CD

– Lasers read and write inofrmation – Also use a magnetic material

– To write: a laser beam heats a tiny spot and a magnetic field is applied to reverse the magnetic polarity

DVD

CD teknolojisinin değişik bir türüdür.

Öncelikle VCD’lerin yerini almak üzere tasarlanmıştır.

Kısa bir zaman içinde veri depolama aygıtı olarak bilgisayarlarda da kullanım alanı bulmuştur.

DVD kapasiteleri 14 GB ile CD kapasitelerinin yaklaşık 20 kat üzerindedir.

(55)

RAM Bellek

(56)

Random Access Memory, RAM

• RAM bellekler elektrik olduğu sürece veriyi depolayabilen

geçici tür bellektir, bu özelliğinden dolayı ‘volatile’ bellek adı

verilir. RAM bellek okunabilir ve yazılabilir tür bellektir.

(57)

Bellek - Ram

• Mikroişlemcilere benzer olarak RAM’ler de milyonlarca transistör ve kapasitörden oluşan entegre devrelerdir.

• Genel olarak RAM de (DRAM, Dynamic Random Access Memory) bir transistör ve bir kapasitör birlikte bir

hafıza hücresini oluştururlar ve tek bir bit bilgiyi temsil ederler.

• Kapasitör bir bitlik bilgiyi (0 veya 1) tutar, transistör ise bir anahtar görevi görerek bilginin okunmasını veya

değiştirilmesini kontrol eder.

(58)

RAM TİPLERİ

• SRAM: Static random access memory: Herbir hafıza hücresi için çoklu transistör (4-6 adet) kullanmaktadır ve kapasitör bulundurmamaktadır.

Transistör sayısı fazla olduğu için daha fazla yer kaplamakta fakat sürekli tazeleme gerektirmediği için (refresh) dinamik RAM lerden çok daha hızlı çalışmaktadır. Genel olarak Cache bellek olarak kullanılmaktadır.

• DRAM: Dynamic random access memory: Bir adet transistör ve kapasitör çiftinden oluşan hafıza hücrelerine sahiptirler ve sürekli tazeleme işlemine ihtiyaç duymaktadırlar.

• EDO DRAM: Extended data-out dynamic random access memory: Bu tip RAM ler bir hafıza hücresinin (bit) sadece adresinin tespit edilmesini

takiben diğer bit ile ilgili işlemleri yapmak için önceki hafıza hücresinin tam

olarak doldurulmasını beklemezler, bu nedenle bir miktar hızlıdır.

(59)

RAM TİPLERİ

• SDRAM: Synchronous dynamic random access memory: SDRAM ler EDO RAM lerden biraz daha hızlıdırlar. Hafıza hücreleri için okuma ve yazma işleminde belirli bir satır ve bu satırdaki ilgili sütunların işlem görmesi ile yaklaşık %5 lik bir hız artışı sağlanmıştır.

• DDR SDRAM: Double data rate synchronous dynamic RAM: Bu tip RAM’ler SDRAM ile benzerdirler, aradaki farklılık data aktarım genişliğinde sağlanan artımdır ki bu da yüksek hız anlamına gelmektedir.

• RDRAM: Rambus dynamic random access memory: RDRAM’leri diğer RAM’lerden üstün ve farklı kılan özelliği kullandığı yüksek hızlı “Rambus Channel” olarak adlandırılan veri yoludur. RDRAM hafıza chipleri 800 MHz hızında veri transferi ile çalışabilirler. Yüksek hızlı çalıştıklarından dolayı

diğer hafıza chiplerinden daha fazla ısı üretilirler ve bu ısıyı uzaklaştırmak

için kendi soğutucuları vardır.

(60)

RAM TİPLERİ

CMOS RAM: CMOS RAM küçük miktardaki hafıza ihtiyaçlarını karşılamak üzere kullanılan bir

tanımlamadır, örneğin bilgisayarımızdaki Hard disk ayarlarını saklamak için kullanılmaktadır. Bu RAM ler içeriklerini koruyabilmek için küçük pillere ihtiyaç duymaktadır.

VRAM: VideoRAM ler multiport dynamic random access memory (MPDRAM) olarak da bilinirler ve video adaptörleri veya 3 boyutlu grafik hızlandırıcıları için kullanılırlar. "multiport" kelimesi VRAM in iki adet bağımsız erişim kanalı kullanmasından dolayı kullanılmaktadır. Bu kanallardan biri CPU diğeri ise grafik işlemcisinin RAM’e eşzamanlı erişimi için kullanılmaktadır. VRAM grafik kartı üzerinde

bulunmaktadır. VRAM ihtiyacını belirleyen faktörler ekrana ait çözünürlük “resolution” ve renk derinliği “color depth” dir.

DDR (Double Data Rate/Çift veri transferli bellekler): Yüksek frekanslarda çalışabilen, geniş veriyoluna sahip bellekler. Olgun SDRAM teknolojisinden gelen yeni ve devrimci bir teknoloji.

SDRAM teknolojisi üzerine dayalı, üst seviyede performans sunan, büyük yatırımlar gerektirmeyen bir bellek teknolojisi.

(61)

DDR RAM 'in Üstünlükleri

DDR belleğin yüksek veri transferi oranı sayesinde performans artışı

Grafik ağırlıklı dosyalar kullanılırken daha iyi performans

Dijital ve multimedya ortamlarda daha net grafikler

SDRAM, 133‐200 MHz çalışma frekansına ulaşabilir. DDR4 RAM bellekler ise 4266 MHz çıkış frekansına ulaşabilirler.

Genel sistem performansında yüksek bir artış sağlar.

Sağladıkları geniş veriyolu, ekran kartlarının en yüksek

çözünürlüklerde bile performans kaybına uğramadan görüntü

oluşturmalarına imkan sağlar.

Verimliliği SDRAM'den çok daha iyidir.

Mevcut bellek sistemleri arasında en iyi fiyat/performans oranını sunan bellek teknolojisidir.

SDRAM gibi "paralel veriyolu" mimarisini kullanır, fakat daha az güç harcar. Bu da daha hızlı çalışma, az enerji harcama ve fazla ısı üretmeme anlamını taşır.

(62)

INTERNAL (L1,DAHİLİ) CACHE

• L1 cache ilk defa 486 işlemcilerle birlikte kullanılmaya başlandı.

• Şu anda üretilen her CPU da değişen boyutlarda L1 cache bellek bulunur ve bilgisayarın performansının artmasına yardımcı olurlar.

• İşlemcilerin içine koyulan ve bazı bilgileri/komutları geçici olarak barındıran bellektir.

• Buradaki bilgilere/komutlara çok çabuk ulaşılır. Böylece bilgisayarın performansı artar.

• Normalde CPU her komutu/veriyi RAM bellekten alıp işler. Bu

işlemi hızlandırmak için en çok kullanılan komutlar CPU içindeki

cache bellekte saklanır ve çok hızlı alınıp çalıştırılırlar.

(63)

EXTERNAL (L2, HARİCİ) CACHE

• CPU dışında, CPU ile RAM arasında bulunan SRAM’dir.

• Dahili ile aynı işi yapar, dahiliye göre biraz yavaştır ama çok çok daha büyüktür.

• Dahili cache’ler 32‐64kb civarında iken harici

Cache’ler 256, 512, 1024, 2048 Kb boyutlarda

olabilirler.

(64)

µp Memory

Address Lines Data Lines

Control Lines

Interface

64

System Bus

(65)

µp

Higher Address Bus

Lower Address/Data Bus

ALE

M IO/

RD

WR

READY

A

15

– A

8

AD

7

– AD

0

65

Adres Bus: A15-A8; AD7-AD0 Data Bus: AD7-AD0

• Pin sayısı azaltma hedeflenir.

• Neden?

• Adres bus ve Data bus üzerinde aynı anda işlem yapılmaz. Önce belleğin

adresi seçilir. Sonra seçilen adrese veri

yazılır ya da okunur.

(66)

Address decoders

Memory CS 1

Memory CS 2

Memory CS 3

Memory CS 4

A 12 A 11

A 10 - A 0

S 1 S 0

E

A 13 O 0 O 1 O 2 O 3

2 to 4 decoder

66

Bellek

kapasitesi kaç Kbyte’dı2?

Kapasite=2^11

byte=2 Kbyte

(67)

The Overall Picture

A15-A8

Latch AD7-AD0

D7- D0

A7- A0

ALE

RD IO/M WR

1K Byte Memory

Chip

RD WR CS

A9- A0

A15- A10 Chip Selection Circuit

67

(68)

L1 and L2 cache memories in a

computer system

(69)

1M x 1 DRAM’in Basitleştirilmiş iç yapısı

(70)

32k x 8 SRAM belleğin Organizasyonu

(71)

Kelimenin Genişletilmesi

(72)

Kelime Genişleme 64Kx8, 64KBayt

(73)

RAM Belleğin Kelimesinin

Genişletilmesi

(74)

1MX4 RAM bellekten 1MX8 bellek

modülünün elde edilmesi.

(75)

Kelime kapasitesini arttırma

(76)

Kelime kapasitesini arttırma

(77)

Örnek:

a) Herbir belleğin kapasitesini bulunuz.

b) Belleklere gelen adres hatlarını indisleyiniz.

c) Toplam Bellek kapasitesini bunuz.

d) CPU’dan çıkacak adres hatlarını indisleyin

e) Address decoding birimine giriş yapan adres hatlarını indisleyin.

f) 54A3Hex adresi seçilirse hangi bellek aktif olur?

Yanıt

a) 214 byte=16Kbyte

b) A13, A12, A11, .... , A1, A0 c) 216 byte=64Kbyte

d) A15,A14,A13, ... , A1,A0 e) A15, A14

f) 54A3Hex, ifadesinde 16 adet bit bulunmaktadır.

(A15,A14,A13, ... , A1,A0)b=54A3Hex=(0101 0100 1010 0011)b

Bu durumda A15, A14 giriş değerlerine göre Address Decoding Biriminin çıkış değeleri:

(00)b= 0 (01)b=1 (10)b=2 (11)b=3

(A15, A14)b=(01)b=1 olduğunu M1 belleği aktif olur.

(78)

ROM Bellek

(79)

Sadece Okunabilir Bellekler (Read-Only Memory (ROM)

ROM bellek ailesi elektrik olmadığında da içeriğini saklayan yarı iletken belleklerdir. Bu özellliklerinden dolayı non- volatile bellek olarak adlandırılırlar.

ROM’larda yazıldıktan sonra değiştirilmesi hiç gerekmeyen veya nadiren gereken sayısal bilgilers saklanır. Örneğin sistemin açılısını sağlayan program kodları gibi. ROM’ların bazı tipleri özell düzenek ile tekrar programlanabilir.

ROM’dan veri okuma

Adres yoluna adres yerleştirilir

İzin girişi etkin yapılır ve kısa süre sonra veri yoluna veli aktarılır.

(80)

ROM Hücreleri

(81)

16 x 8-bit ROM Dizgesi

(82)

1024-bit ROM, 256 x 4

(83)

ROM (Read Only Memory) Bellek

• Sadece okunabilir bellek

• Elektrik kesintisinden etkilenmez

• Bilgiler kalıcı olarak ROM yongasının içine kopyalanmıştır. Bu nedenle değiştirilmeleri olanaksızdır

• Bilgisayarın hiç silinmeyen temel sistem bilgilerini içerir

• Bir çevre birimine görevini bildiren işlevlere ve yazılıma sahiptir

• BIOS bilgilerini içerir

• RAM belleklere göre veri aktarma hızı ve kapasite yönünden çok düşüktürler.

• BIOS (Basic Input/Output System" (Temel Giriş/Çıkış Sistemi): Bilgisayarın çalışması için gereken temel işletim sistemi olarak özetlenebilir. Sadece okunabilir bellek (ROM) üzerine yazılmış bir yazılım olan BIOS, anakartınızın özelliklerini yönetebilmeniz/

kullanabilmeniz ve diğer donanımlar arasında bir bağ kurması için görev yapar.

(84)

ROM’ lar dört gruba ayrılır

1-MPROM (Masceble Programmable Read Only Memory / Maske Programlı ROM Bellek): Üreticisi tarafından diğer ROM belleklerde olduğu gibi programlanır. Özel bir programı maskelemek amacıyla hazırlanır. Ucuz ve bit yoğunluğu en yüksek olan bellektir.

2-PROM (Programmable Read Only Memory / Programlanabilir ROM Bellek): Kullanıcı tarafından, ROM programlayıcı adı verilen özel bir devre ile programlanabilir. Ancak bu işlem bir kere yapılabilir.

Daha sonra değiştirilemez.

3- EPROM (Erasable Programmable Read Only Memory): PROM belleğe benzer. Ondan farkı silinebilmesi ve yeniden programlanabilmesidir. Silme işlemi ultraviole ışınları ile yapılır. Işın koruyucu gövde üzerindeki quartz ile kapatılmış küçük bir pencereden verilir.

4- EAROM ve EEROM (Electrically Alterable Read Only Memory / Silinebilir Programlanabilir ROM Bellek): En iyi ROM türüdür. Devrede iken elektriksel yolla değiştirilebilir veya silinebilir. Bunun EPROM’ a göre en önemli üstünlüğü bir bölümünün silinebilmesidir. Elektrik kesintisinden

etkilenmez. BIOS bilgileri burada tutulur. Üretici firma tarafından board üzerine monte edilmiştir.

Bilgisayarı çalıştıracak olan DOS sisteminin disk/disket aracılığı ile RAM belleğe yüklenmesi de ROM belleğin görevidir.

(85)

64k x 4 ROM

(86)

“CPU Mimari ”

(87)

Mikroişlemcilere Genel Bakış

• İşlemci veya CPU, kullanıcı ya da programcı tarafından yazılan programları meydana getiren komutları veya bilgileri yorumlamak ve işlemek için gerekli olan tüm matematik ve mantıksal devreleri kapsar.

• İlk mikroişlemci 1971 yılında hesap makinası amacıyla üretilen Intel

firmasının 4004 adlı ürünüdür. Bir defada işleyebileceği verinin 4‐bit

olmasından dolayı 4‐bitlik işlemci denilmekteydi.

(88)

88

Kontrol birimi:

• Kontrol birimi bilgisayar sisteminin diğer bileşenlerine program komutlarını nasıl yürütmesi gerektiğini belirtir. Ana bellek ve aritmetik/mantık birimi arasındaki elektronik sinyallerin

hareketini yönetir. Ayrıca, ana bellek ile giriş/çıkış aygıtları arasındaki elektronik sinyalleri de yönetir.

• Aritmetik/mantık birimi: Aritmetik/kontrol birimi, aritmetik işlemleri ve mantık işlemlerini yapar ve bu işlemlerin hızını kontrol eder. Aritmetik işlemler, toplama, çıkarma, çarpma ve bölme gibi temel matematiksel işlemlerdir. Mantık işlemleri karşılaştırmalardır. Bu birim, iki veriyi

karşılaştırarak birbirine eşit, birinin diğerinden büyük ya da küçük olmasını kontrol eder. Bu karşılaştırmalar birleştirilerek büyük eşit veya küçük eşit olarak kullanılabilir.

İşlemci

(89)

Types of Processor Operations

• Data Movement Operations

– moving data from memory to the CPU

– moving data from CPU to memory

– moving data from memory to memory

– moving data from input and output

• Arithmetic and Logical Operations

– integer arithmetic

– comparing two quantities – shifting, rotating bits in a

quantity

– testing, comparing, and

converting bits

(90)

The CPU: The Real Computer

• CPU often called “processor”

• Performs transformations of input into output

• Interprets and executes instructions in programs

• Performs arithmetic and logical data manipulations

• Communicates with other parts of the computer system indirectly through memory

Modern Microprocessor

• Complex collection of electronic circuits

• CPU housed with other chips on circuit board

• Circuit board containing computer’s CPU is called motherboard

90

(91)

CPU - Central Processing Unit

• İşlemci, talimatları yorumlayan ve uygulayan işlevsel bir birimdir.

Merkezi İşlem Birimi (CPU) olarak da adlandırılır.

• İki ana bölümden oluşur: Execution Unit (EU), Bus Interface Unit (BIU).

• EU executes instructions that have already been fetched by the BIU.

• BIU fetches instructions, reads data from memory and I/O ports, writes data to memory and I/ O ports. (Komutları ya verileri git al getir işle; işlenmiş komutlara ait verileri al götür yaz.)

• BIU and EU functions separately.

(92)

Four 16-bit segment registers Code Segment (CS)

Data Segment (DS) Stack Segment (SS)

Extra Segment (ES)

92

Execution Unit (EU)

EU executes instructions that have already been fetched by the BIU.

BIU and EU functions separately.

Bus Interface Unit (BIU)

BIU fetches instructions, reads data from memory and I/O ports, writes data to memory

and I/ O ports.

Dedicated Adder to generate 20 bit address

Segment Register’lar

belleklerin başlangıç

adresinin adresini

saklar: (AAAA0)h

(93)

93

A group of First-In-First-Out (FIFO) in which up to 6 bytes of instruction code are pre fetched from the memory ahead of time.

This is done in order to speed up the execution by overlapping instruction fetch with execution.

This mechanism is known as pipelining.

Instruction queue

(94)

CPU İç Mimarisi

• CPU’nun iç mimarisinin ana bileşenleri:EU, BIU, ALU, Komut Kuyruğu ve Register’lar.

Saklaycılar (Registers):

• Özel amaçlı saklayıcılardır. Yüksek hızlı veri işler ve transfer eder. Geçici depolama alanıdır. CPU içinde bulunur ve CPU’nun ana bileşenleridir.

• Toplam 14 adet register bulunmaktadır.

– Data Register: AX, BX, CX, DX; matematiksel ve mantıksal işlemler burada yapılır.

– Segmet Register: CS, DS, SS, ES

– Pointer: SP, BP; Index: SI, DI; işlenecek bellek gözlerini işaret ederler.

– Flag – IP

• Register’lar 16bit uzunluğundadır.

• Segment register’lar 4 adettir. Belleklerin başlangıç adreslerini gösterirler.

• Code Segment, kodların yazılı olduğu programların bulunduğu belleğin başlangıç adresini gösterir.

• IP: CS’de işlenecek bir sonraki komutun yerini işaret eder.

• DS, SS, ES ise Ram belleklerin başlangıç adreslerini gösterirler.

• Flag: CPU, komutları işlerken değişen durumlar hakkında bilgi verir.

(95)

Registers (Saklayıcılar - Yazmaçlar)

Bir register, 16bit ya da 8bit veri depolar.

• Data Registers: Bu register’lar aritmetik veya mantıksal işlevlerin gerçekleştirileceği değerleri tutar.

• Address registers : İşlemcinin bir değer yerine bir adres kaydetmesi

gerekebilir. Bir adres kaydının yaygın bir kullanımı, bir diziye veya dizeye bir gösterici tutmaktır. Başka bir uygulama, yürütülecek bir sonraki talimatın adresini tutmaktır. Segment, pointer ve indeks register’lar.

• Instruction registers: Komutların aslında bellekte depolanan sayısal değerler olduğunu unutmayın. Her sayı, işlemci tarafından yürütülecek farklı bir

komutu temsil eder. Bazı kayıtlar, hangi işlemin gerçekleştirileceğini görmek için yorumlanabilmeleri için özellikle talimatlar tutmaya yöneliktir.

• Flag registers: İşlemci, bir işlemin veya işlemcinin kendisinin durumunu

temsil etmek için birlikte gruplanmış ayrı bitleri de kullanabilir.

(96)

Bellek Organizasyonu ve Adres Register’lar

Bellek Organizasyonunda aktif olarak kullanılan Register’lar:

• CS, DS, SS, ES belleklerin başlangıç adreslerini gösterirler.

• IP: CS’de işlenecek bir sonraki komutun yerini işaret eder.

• SI, DI, BP, SP ve Bx register’ları DS, SS, ES ile gösterilen belleklerin

başlangıç adreslerinden itibaren verilerin bulunduğu yerleri işaret

ederler.

(97)

97

Accumulator Register - Saklayıcı(AX)

16 bitlik AX saklayıcı olarak kullanılabilen iki adet 8-bitlik AL ve AH birbirinden bağımsız saklayıcılardan oluşur.

Bu durumda AL, 16 bitlik Word’ün düşük sıralı baytını içerir ve AH, yüksek sıralı baytı içerir.

G / Ç talimatları, bir G / Ç bağlantı noktasına 16 veya 8 bitlik veri girişi / çıkışı için AX veya AL'yi kullanır.

Çarpma ve Bölme komutları da AX veya AL kullanır.

Base Register-Saklayıcı (BX)

16 bitlik bir BX saklayıcı olarak kullanılabilen iki adet 8 bitlik saklayıcı bloğu BL ve BH'den oluşur.

Bu durumda BL, Word’ün düşük sıralı baytını içerir ve BH, yüksek sıralı baytı içerir.

Bu saklayıcının içeriği hafızayı adreslemek için kullanılabilen tek genel amaçlı kayıttır.

Bu kayıt içeriğini adresleme için kullanan tüm bellek referansları, varsayılan segment saklayıcı olarak DS'yi kullanır.

Counter Register – Saklayıcı (CX)

16 bitlik bir CX ysaklayıcı olarak kullanılabilen iki adet 8 bitlik saklayıcılar CL ve CH'den oluşur.

Birleştirildiğinde, CL saklayıcı Word’ün düşük sıralı baytını içerir ve CH yüksek sıralı baytı içerir.

SHIFT, ROTATE ve LOOP gibi döngüsel talimatlar, CX'in içeriğini sayaç olarak kullanır.

Data Register – Saklayıcı (DX)

16 bitlik bir DX olarak kullanılabilen iki adet 8 bitlik saklayıcı DL ve DH'den oluşur.

Birleştirildiğinde, DL saklayıcı Word’ün düşük sıralı baytını içerir ve DH yüksek sıralı baytı içerir.

16 X 16 çarpmada yüksek 16 bitlik sonucu (veri) veya 32 ÷ 16 bölmeden önce yüksek 16 bitlik payı (veri) ve bölmeden sonra 16 bitlik saklayıcıda tutmak için kullanılır.

Bu kayıt AX ile birlikte, 16 bitlik bir çarpmanın 32 bitlik bir sonucunun üst yarısını depolamak veya bir tamsayı bölmesinden sonra kalanı tutmak gibi şeylere izin veren özel aritmetik işlevler için kullanılır.

Giriş / Çıkış işlemlerinde kullanılır.

Yürütme Biriminde (Execution Unit - EU) Data Register’lar

(98)

Stack Pointer (SP) and Base Pointer (BP)

SP ve BP, yığın segmentindeki (SS) verilere erişmek için kullanılır.

SP, harici bellekteki yığın segmentini içeren talimatların yürütülmesi sırasında mevcut SS'den bir ofset olarak kullanılır.

POP veya PUSH komutunun yürütülmesi sırasında, SP içerikleri otomatik olarak güncellenir (artırılır / azaltılır).

BP, mevcut SS'de, temelli adresleme modunu kullanan talimatlar tarafından kullanılan bir ofset adresi içerir.

Source Index (SI) and Destination Index (DI) Endekslenmiş adreslemede kullanılır.

Veri dizilerini işleyen komutlar, kaynak ve hedef adresleri ayırt etmek için sırasıyla DS ve ES ile birlikte SI ve DI kayıtlarını kullanır.

Instruction Pointer (IP)

Her zaman o anda yürütülen kod segmenti içinde yürütülecek bir sonraki talimatı işaret eder.

Kod segment alanının bellek içindeki bir sonraki talimat kodunu işaret eden 16 bitlik ofset adresini içerir.

Bir sonraki talimatın yürütülmesi sırasında içeriği otomatik olarak artırılır.

(99)

99

Bus Interface Unit (BIU)

Code Segment Register- 16-bit

CS, geçerli kod segmentinin tabanını veya başlangıcını içerir; IP, bu adresten alınacak bir sonraki talimat baytına kadar olan mesafeyi veya ofseti içerir.

BIU, CS 4 bit içeriklerini mantıksal olarak sola kaydırarak ve ardından 16 bit IP içeriğini ekleyerek 20 bitlik fiziksel adresi hesaplar.

Bir programın tüm talimatları CS yazmacının içeriğine göre 16 ile çarpılır ve ardından IP tarafından sağlanan ofset eklenir.

Data Segment Register - 16-bit

Mevcut veri segmentine işaret eder; Çoğu talimat için işlenenler veriler bu segmentten alınır.

Kaynak Dizininin (SI) veya Hedef Dizininin (DI) 16 bitlik içeriği veya 16 bitlik bir yer değiştirme, 20 bitlik fiziksel adresi hesaplamak için ofset olarak kullanılır. DS’in içeriği olan bit dizinine sağdan 4 bit 0 eklenerk öteleme (16 ile çarpılır).

Stack Segment Register - 16-bit Mevcut yığına işaret eder.

20-bit fiziksel yığın adresi, PUSH ve POP gibi yığın talimatları için Yığın Segmentinden (SS) ve Yığın İşaretçisinden (SP) hesaplanır.

Esaslı adresleme modunda, 20 bitlik fiziksel yığın adresi Yığın segmentinden (SS) ve Temel İşaretçiden (BP) hesaplanır.

Extra Segment Register - 16-bit

Verilerin (DS tarafından işaret edilen 64K'dan fazla) depolandığı ekstra segmenti işaret eder.

Dize talimatları, hedefin 20 bitlik fiziksel adresini belirlemek için ES ve DI'yi kullanır.

Referanslar

Benzer Belgeler

• Robotların otonom navigasyonunda veri yığınından öğrenen matematiksel modeller ve algoritma uygulamaları ile geliştirilen kendi kendine öğrenme yeteneği ve yapay

Kablo kanalı, rögar, direk kaide ve diğer kazı yerlerinde yapılan kazı çalışmalarında mevcut tip kazı kesit projelerine uyulamadığı durumlarda (batak ve balçık

Quantum hesaplamada ve özellikle quantum devre hesaplama modelinde, bir quantum mantık kapısı (veya basitçe quantum kapısı) az sayıda qubit üzerinde çalışan

• Bilgisayar mühendisi, hem donanım hem de yazılım konusunda temel eğitimleri almış, bilgi teknolojileri kontrolündeki sistemleri tasarlayan, uygulamasını yapan ve yönetimi

• Paralel bağlantı noktaları: Genellikle yazıcı gibi aygıtların bağlanması için kullanılan paralel bağlantı noktaları seri bağlantılardan daha çok veri taşırlar, ancak

Çoğu global tekil yayın (yönlendirilebilir) adresi, 64 bitlik bir ağ öneki veya 64 bitlik bir host adresi kullanır. Ancak IPv6 adresinin ağ bölümü, uzunluk olarak 64

 Programlama dillerinin çoğunda bulunan temel veri değerlerini temsil etmek için kullanılır.. Örnek: Tam sayı, karakter,

elektrik sistemi içinde özel işlevleri gerçekleştirmek için tasarlanmış, mikroişlemci veya mikro denetleyici tabanlı bir donanım ve yazılım sistemidir... What is an