bilgisayar_organizasyonu_odevi

Transkript

bilgisayar_organizasyonu_odevi
Ad Soyad
Şube No
Öğrenci No
Bölüm
: Fahri Dönmez
: TBIL-206-01
: 12213251
: Bilgisayar Mühendisliği
Bilgisayar Organizasyonu
Prof.Dr. Sadık Fikret GÜRGEN
Ödev
1. Temel bilgisayarın yapısında kullanılan tüm elemanları tanımlayıp, görevlerini anlatınız.
Günümüzde kullanılan yeni bir bilgisayar yapısını araştırıp benzerlik ve farklarını belirtiniz.
2. Temel bilgisayarın assemble dilindeki komutları kullanarak anabellekte A, B ve C adreslerinde
bulunan sayılar üzerinde (A+B)-C işlemini yapıp, sonucu D adresine saklayan programı yazınız.
Mayıs 2014
Temel Bilgisayarın Yapısında Kullanılan Tüm Elemanlar
Şekilde temel bilgisayarın yapısı gösterilmiştir. Temel bilgisayar sekiz hızlı bellek, bir ana
bellek ve kontrol biriminden oluşmaktadır. Bu yapıda ikili bilgiler, 16 bit hat grubu yoluyla elemanlar
arasında transfer edilmektedir.
1. Bir Bellek Ünitesi : 4096 kelimeli ve 16 bitlik Ana Bellek (RAM). Okuma ve yazma
operasyonlarının, AR ve DR hızlı bellek elemanları yoluyla yapılmaktadır. Okuma operasyonunda
AR anabellek adresini tutar, anabelleğin oku kontrolü aktive edilir. Bu içerik DR 'ye
aktarılacağından, onun "yükle" kontrolü aktive edilerek transfer gerçeklenir. Yazma işleminde ters
işlem. Veri ve komutlar burada saklanır. İşlemci ana belleğin istediği adresine erişebilir, eriştiği
adresteki veriyi okuyabilir ve değiştirebilir. Çalıştırılan programlar bu belleğe yüklenir. Bilgisayar
kapatıldığında bu bellek üzerindeki bilgiler silinir.
2. Hızlı Bellek Elemanları (Registers - Kaydediciler - Yazmaçlar - Saklayıcılar):
a. AR (Address Register): 12 bitlik adres kaydedicisidir. Adresi saklar. Anabellek okuma ve
yazma işlemlerinde veri ve adres bilgisini tutmakla görevlidir.
b. PC (Program Counter): 12 bitlik program sayıcısı komut adresini saklar. Bilindiği gibi bir
programı oluşturan komutlar ve veriler normal halde bellekte saklıdır. Bilgisayarın çalışması
sırasında hangi verinin hangi sıra ile kullanılacağının bilinmesi gerekir. Bu görevi program sayıcı
yerine getirir. Program sayıcının bit genişliği adres yolu genişliği kadardır. Bellekten alınan her
bilgiden sonra alınacak yeni bilginin adresi program sayıcıya kaydedilir. Komut çevrimi, program
sayıcının yeni adresi adres yoluna koyması ile başlar. Bunun ardından da ilgili kontrol sinyali
gönderilir. Bellekten gelen her bilgiden sonra program sayıcısı kontrol devresinden aldığı işarete
uyarak adres satırını 1 arttırır. Böylece bilgilerin bellekten CPU ya ardışık olarak gelmesi sağlanır.
Program sayıcı saymaya en küçük adresten büyüye doğru devam eder. Ancak, bu durumun şu
istisnası olabilir. Eğer programda ATLA veya DALLAN gibi komutlar varsa belleğin bir bölümünden
diğer bölümüne geçileceğinden sıra bozulur. Ancak yeni adreste tekrar sıralı olarak devam eder.
Böylece program sayıcı kaç bitlikse 2 ‘nin bu bit kadar kuvvetine eşit adrese ulaşmak mümkün
olacaktır. Burada program sayıcı 16 bit'liktir. Dolayısıyla 2^16 = 65536 adrese ulaşabilecektir. Her
programdan sonra veya yeni bir programa başlamadan program sayıcı sıfırlanabilir. Zira her
çalışma bitiminde program hangi adreste bitmişse sayıcı üzerinde o adres kayıtlıdır. Ve yeni bir
çalışmada bu adresten saymaya başlar.
c. DR (Data Register): 16 bitlik veri kaydedicisi. Kullanıcak verinin adresini saklar.
Anabellek okuma ve yazma işlemlerinde veri ve adres bilgisini tutmakla görevlidir.
d. AC (Accumulator): 16 bitlik akümülatör işlemci kaydedicisidir. Başlangıç ve sonuç
bilgilerini depolamak için akümülatör kullanılır.
e. IR (Instruction Register): 16 bitlik komut kaydedici. Komut çözümleninceye kadar
burada tutulur. Genellikle yazılımcı tarafında ulaşılmayan bir saklayıcıdır. O an yürürlükte olan
komutun tutulduğu kaydedicidir.
f. TR (Temporary Register): Bellekten alınan işlem bilgilerinin ilk durak yeridir. 16 bitlik
geçici kaydedicidir.
g. OUTR (Output Register): 8 bitlik çıkış kaydedicisidir. Çıkış karakterlerini saklar. Kesinti
işlevi yoluyla, bilgisayar akümülatörüne okunması ve yazılmasıyla görevlidir.
h. INPR (Input Register): 8 bitlik giriş kaydedicisidr. Giriş karakterlerini saklar. Kesinti işlevi
yoluyla, bilgisayar akümülatörüne okunması ve yazılmasıyla görevlidir.
j. SC (Sequence Counter): 4-bitlik dizi sayıcısı 0000'dan 1111'e sıra ile sayarak, önündeki
4x16'lık dekoder devresinin 0'dan 15'e kadar çıkışlarından birini seçmektedir. Seçilen çıkış T0'dan
T15'e kadar bir darbe üretir.
3. Dekoderler - Kodçözücüler:
a. 3x8 Operasyon Dekoderi (MUX): İkili bilgi aktarımı şu bellek elemanların çıkışları S 2 S1
S0 seçim girişleri ile kontrol edilen MUX (3X8) tarafından hat grubuna bağlanır. D0' dan D7' ye
kadar dekode edilmiş çıkış işaretleri üretir. Bu arada I biti de adres bilgisiyle birlikte kontrol
devresine giriş oluşturur. Kontrol devresi çıkışı, sonuçta komut ile ilişkili bir kontrol işareti dizisi
oluşturur.
b. 4x16 Zamanlama Dekoderi (MUX): 0'dan 15'e kadar çıkışlarından birini seçmektedir.
Seçilen çıkış T0'dan T15'e kadar bir darbe üretir.
4. Flip - Flops (Durum bilgilerini tutarlar) - Yedi Bayrak (FF): I/O elemanları ve bilgisayar
arasındaki zamanlama farklarını senkronize etmek için kullanılır.
a. S (Başla):
b. I (Doğrudan/Dolaylı):
c. E (Elde vs.): ALU'da E bayrağı (flag) toplama işleminin eldesi, çıkarmanın ödüncü,
taşma vs. gibi değerleri göstermekte kullanılır.
d. R (Kesinti): Kesinti (interrupt) programı ile veri giriş/çıkışının sağlanması için temel
bilgisayarda gerekli yapı değişikliğinin sağlanması gerekir. Bununla ilgili temel bilgisayarın akış
diyagramına bir kesinti fazı eklenmesi gerekir. Kesinti fazı son komut fazından sonra başlar. Eğer R
FF 'i 1 ise kesinti fazı başlar.
e. IEN (Kesinti Başlama): Kesme izin bayrağı.
f. FGI (Giriş): Giriş düzeni klavyeden basılan her tuşa karşı düşen ASCII karakter seri
iletişim bağlantısı yoluyla INPR 'ye gelir. FGI bayrağı (FF) yoluyla bu bilgisayara iletilip, kesintinin
işlemi yoluyla AC 'ye iletilir. FGI bayrağı 0 yapılır. Buradan veri istenilen yere, örneğin ana belleğe
transfer edilir.
g. FGO (Çıkış): Çıkış düzeni olan ekran, veriyi AC 'den alır. Bunun için FGO bayrağı (FF)
kullanılır. Veri OUTR' ye gelince bayrak aktive olur, buradan da ekrana transfer edilir. Transfer
işlemi bitince bayrak 0 yapılır.
5. Ortak Yol - 16 bit Hat Grubu (BUS): Veri yolu adresler, veri ve kontrol bilgisini taşıyan
bağlantılardan oluşur. 16 bitlik hat grubu bilgisayar yapısında veri aktarımını sağlamaktadır. Ana
bellek ile hızlı bellekler arasında, hızlı belleklerin kendi aralarında aktarımı sağlar.
6. Kontrol ve zamanlama kapıları: Kontrol birimi, komutu oluşturan mikroişlemleri ardı sıra gelen
saat darbelerinde gerçekler. 9 adet saklayıcının giriş kontrolleri. Bellek Oku/Yaz kontrolleri. FlipFlop Set, Clear veya Complement kontrolleri. Ortak Yol saklayıcı seçen kontroller S2, S1, S0. AC
ve ALU. İşlemci tarafından gerçekleştirilecek matematiksel ve mantıksal işlemlerin yapıldığı
bölümdür. Bu birime giriş işlemleri, akümülatör kaydedicisiyle bellekten alınan veri arasında veya
akümülatörle diğer kaydediciler arasında olabilir.
Hızlı bellekler yeşil renk.
Kapılar sarı renk.
Parantez içinde hızlı bellek boyutları verilmiştir.
Yeşil yollar hızlı bellek girişleridir.
Ana bellek girişleri veri ve adres girişleri ile iki adettir.
AR bellekteki adresler.
Günümüzde her farklı işlemci türü kendine özgü bir tasarıma sahiptir. Modern işlemcilerin
oldukça karmaşık bir yapısı bulunmaktadır. Bu işlemciler çok sayıda hızlı bellek, hem tam sayı hem
kayan noktalı hesaplamalar yapabilen çoklu aritmetik işlem üniteleri, program icra süresini
azaltmak için art arda gelen birkaç komutu pipeline yeteneği gibi.
Anabellekte A, B ve C adreslerinde bulunan sayılar üzerinde (A+B)-C işlemini yapıp, sonucu
D adresine saklayan program:
ORG 100
/Program 100 adresinden başlar
LDA C
/AC ye C yi yükler
CMA
/AC nin tümleyenini alır
INC
/AC nin değerinin bir arttırır böylece -C elde edilir
ADD A
/AC ile A adresi toplanır
ADD B
/AC ile B adresi toplanır
STA D
/AC yi D adresine yaz
HLT
/Pogramı durdur
END
/Pogramı bitir
Kaynaklar:
http://www.cs.rit.edu/~wrc/documents/mano-rtl/
http://bilgisayar.kocaeli.edu.tr/files/252_konu5.ppt
http://home.anadolu.edu.tr/~dcoskun/tbt%20sunular/TBT%20sunu2.ppt
http://tr.wikipedia.org/wiki/Aritmetik_mant%C4%B1k_birimi#Genel_Bak.C4.B1.C5.9F
http://w3.gazi.edu.tr/~nyalcin/Tarih.doc
http://e-icerik.ulakbim.gov.tr/tagem/3-3/cs/logisim/logisim.docx
http://members.comu.edu.tr/boraugurlu/courses/bm109/content/week3/slayt3.pdf
http://www.baskent.edu.tr/~omadran/eskiweb/eskiweb/donem0304/dersnotu0304/hafta2
http://www.yildiz.edu.tr/~kunal/dspdsy/Bolum3.pdf
http://www.eazynotes.com/notes/computer-system-architecture/slides/registers-and-common-bus.pdf
http://people.uncw.edu/tagliarinig/Courses/242/BasicComputer/Registers.htm
http://www.ee.oulu.fi/research/tklab/courses/521415A/exercises/exercise3.html
http://www.docstoc.com/docs/88987424/B_LG_SAYAR-M_MAR_S_-Computer-Architecture_1_
http://bilgisayar.kocaeli.edu.tr/files/155_konu5-3.ppt