Vous êtes sur la page 1sur 257

BERKLEY LOGISIM SMLATR LE

BLGSAYAR MMARS

Logisim ile Bilgisayar Mimarisi


indekiler

Bilgisayar Tasarm ve Merkezi lem Birimi


- Merkezi lem Birimi (Central Processing Unit -CPU)
- 2'li Sistem Saylandrma Sistemleri
- Bilgisayar Aritmetii
- Elde Biti
- dn Biti
- Tama

Aritmetik Devre Tasarm


- Toplam Devresi Tasarm
- Paralel 2'li Dzende Toplama
- Kaydediciler ile Tasaralanm Komple Paralel 2'li Dzende Toplama
- Elde Bitinin Yaylm (Yrmesi)
- Tam Toplayc Entegre Devreler
- 2'nin Tmleyeni ile Toplam ve karma lemleri Tasarm
- ALU Entegre Devreleri

Hafza Birimleri
- Random-access memory
- Read-only memory
- Memory Adresleme
- Saat areti (Clock)

Kontrol Birimi

Bir Bilgisayar Sisteminin Katmanl Modeli


- Von Neumann Mimarisi
- Harward Mimarisi
- Merkezi lem Birimi Yaps
- Bir Merkezi lem Biriminin alma Dngs

Merkezi lem Birimi Emlatr (PIPPIN)

The PIPPIN User's Guide

Logisim

Logisim Ktphane Referanslar

Logisim rnek Uygulamalar


izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

BLGSAYAR TASARIMI VE MERKEZ LEM BRM


Giri
Bir bilgisayarn temel blok diyagram aada grlmektedir. Bilgisayar Mimarisini tam
anlayabilmek iin ncelikle bu tasarmdaki temel blmleri tekrar hatrlamalyz.

Merkezi lem Birimi (Central Processing Unit -CPU)

Merkezi lem Birimi (Central Processing Unit -CPU) : Merkezi lem Birimi temel olarak
Aritmetik ve mantksal ilemlerin yaplabildii birim ALU (Arithmetic logic unit), bu ilemlere
kaynak olan ve sonularnn tutulaca kaydediciler (Registers -- storage locations in the
processor) ve gerekli kontrol devrelerinden oluur. Burada hemen Akmlatr adl nemli
zellii olan bir kaydediciyi de tanmlayalm. Merkezi ilem biriminde ilemlere hem kaynak
olan hem de sonucun elde edilecei kaydediciye Akmlatr denir. Akmlatr rnein bir
toplama da toplanacak saylardan birini tutar ve sonuta yine Akmlatre yazlr.
Akmlatr (8Bit veri) + Yazc (8Bit veri) - Akmlatr (Sonu 8 Bit veri)
Merkezi ilem Birimleri bir bilgisayar mimarisinde en nemli tasarmdr, genellikle VLSI (Very
large scale integration) denilen teknikle retilmi yksek yar-iletken younluklu entegre
devrelerdir. Tm hafza, giri k, disk, monitr ve tu takm gibi evre cihazlar mikro ilemci
tarafndan kontrol edilir.
Baz uygulamalarda mikro ilemci ve zel baz evre birimleri tek bir chipe monte edilir. rnein
sadece bir grnt cihaz, yazc, tu takm, modem veya benzer elektronik kontroll devreler
aslnda bu tr mikro-denetleyici (Microcontroller VLSI chip) devreler ierir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Blok emada grld gibi merkezi ilem birimi ve hafza, giri/k devreleri gibi evre
birimleri arasnda veri, adres ve kontrol iaretlerinden oluan sistem yolu vardr. Bildiiniz gibi
bu ortak yol gsteriminde veriler, adres ve kontrol bilgileri hep "0" ve "1" lerden oluan 2'li
sistemde almaktadr. Bu amalar saysal devreler konusunda ilediimiz temel saylandrma
sistemlerini ve ikili aritmetik derslerini gzden geirmenizi dileriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

2'li Sistem Saylandrma Sistemleri


Merkezi ilem Birimi'nin temel alma biimlerini anlatabilmek iin 2'li sayma sistemini, bu
dzendeki aritmetik ve mantksal ilemleri biraz zetleyelim. Bilgisayar Mimarisinde doal sayma
sistemi binary (ikili sistem) dir. Saysal Devreler konusunda grdmz "1" +5Volt seviyesi ve "0"
0Volt seviyesi kullanlan mimarinin elektronik zelliklerine gre deiir. Gnmz mikro
ilemcilerinde g gereksinimini minimuze etmek iin gittike daha dk besleme gerilimleri
kullanlmaktadr.
Hemen bilgisayar mimarisinde temel kelime uzunluklarn bir kez daha zetleyelim.
- "0" veya "1" 'den oluan tek haneli sayya bit denir. ok kullanlan bir saylandrma birimi 8 tane
bitten
oluan byte dr.
8
- Sekiz bit'ten oluan bir saylandrma sisteminde 2 farkl seenek (256 deiik seviye) farkl
simgelenebilir
- Bu sekiz bit ile bir bilgisayarda 256 ayr renk seviyesi, 256 gri seviyesi, 256 farkl ekil, 256 sembol,
256 isim..vs 256 farkl seenek simgelenebilir. Bilgisayar Mimarisi blmnde daha ok bu 256
farkl seenei ondalk dzende 0 ile 255 arasndaki saylar temsil etmek iin kullanacaz.
Bilgisayar Mimarisinde veri yaplar genellikle byte'lar veya bunlarn katlar eklindeki saylandrma
sistemleri ile gsterilir.
Bir baka rnekte negatif saylardr. Yine 256 farkl seenekten oluan ondalk dzende -128'den
+127'e olan saylarn 2'li dzende gsterimi iin bir gsterim yine 8 bit kullanlmas ve en bataki
bitin iaret biti olarak kullanlmasdr.
En arlkl bitin iaret biti olarak kullanlmas ve bunun deerine gre pozitif ve negatif saylarn
belirlenmesi ynteminde birka sorun vardr. rnein ondalk dzende sfrn gsterimi iaret
bitinin deerine gre poizitf ve negatif sfr eklinde iki tane olmaktadr. Ayrca ikili aritmetikte
pozitif deerlerden geri sayarken birden bire negatif saylara geilmesi ciddi problemdir.

Bilgisayar Aritmetii
Bilgisayar Mimarisi'nde toplama ve karma ilemleri 2'nin tmleyeni ynetimi ile yaplarak
yukarda bahsedilen iki nemli sorundan da arnabilir. 2"nin tmleyeni ikili dzende bir saynn "0"
lar yerine "1" 'ler gelmesi (tersinin alnmas) ve daha sonra bir arttrlmas ile salanr. Yani
tmleyen iin;
1. Tm birleri sfr veya tm sfrlar bir yap
2. Sonuca bir ekle Formulu gererlidir.
Burada tm iaretli saylarn en soldaki en arlkl bit ile temsil edildiini unutmamalyz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

rnek: +5: 0000 0101 -5'i bulmak iin: nce tm sfrlar bir ve tersini yapalm 00000101 >
11111010
Sonra bir ekleyelim 11111010+1 > 11111011: -5
En bataki 1 eksi say olduunu belirler. Daha fazla pratik yapmak istiyorsanz Saysal Devreler
notlarna bakabilirsiniz. Aada toplama ve karma rnekleri grmekteyiz. Bu ilemlerde Elde,
dn ve Tama kavramlarna da bir miktar yakndan bakalm.
Toplama:
aretsiz Saylar: aret biti yok
01110101 : 117

11111111 : 255

+ 01100011 : 99

+ 00000001 : 1

----------------

----------------

11011000 : 216

10000000 : 256

|
Carry

aretli Saylar:
11111111 : -1

11111111 : -1

+ 00000001 : 1

+ 11111111 : -1

----------------

----------------

100000000 : 0
|

111111110 : -2

Sign(+)

Sign(-)

aretli saylarn toplamas, elde biti ve iaret biti


karma:
Pratik olarak bilgisayarlar karma ilemi deil, karlann tmleyenini alma ve toplama yaparlar.
5 : 00000101

00000101

- 1 : - 00000001 + 11111111
---------------- ----------

------

100000100 : 4 CARRY = BORROW

1 : 00000001

00000001

- 5 : - 00000101 + 11111011
---------------- ---------111111100 :-4 CARRY menas BORROW

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Elde Biti - dn Biti - Tama


Elde Biti:
Elde biti iaretsiz saylarn toplamasnda sonu temsil edilemeyecek kadar bykse kan bittir.
dn Biti:
aretsiz saylarn karma ileminde karlan say kan deerden daha bykse gerekli olan bittir.
Eer kartma ilemi 2'nin tmleyeni ile salanyorsa elde biti kmyorsa mutlaka dn biti vardr.
Tama:
aretli saylarn toplama ve karma ilemlerinde, tama kar. Zt iaretli iki say toplandnda asla
tama hatas olmayacaktr! Tamann doas gz nnde bulundurulduunda bunun nedeni
aikrdr. Tama, saynn bykl bit alan boyutuna gre izin verilen aral atnda meydana
gelir. ki benzer iaretli saynn toplam, iki saynn bit alan araln aabilir ve bu yzden bu
durumda tama muhtemeldir. Bununla birlikte, pozitif say negatif sayya eklendiinde toplam
daima iki eklenen saynn her ikisinden daha ok sfra yakn olacaktr: bykl her iki orijinal
saynn byklnden daha az olmaldr ve bu nedenle tama imknszdr. Pozitif saylar=poz,
negatif saylar=neg gsterimi ile tama olmas ancak aadaki iki durumda gereklenir.
poz + poz - neg poz - neg - neg
neg + neg - poz neg - poz poz

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ARTMETK DEVRE TASARIMI


Toplam Devresi Tasarm

imdi yandaki blok diyagramda temel Aritmetik Mantksal deverelerin tasarmn grelim. Aritmetik
ilemlerde aadaki srada ilemler yrr:
Kontrol devresi aritmetik ilem komutunu alglar. rnein belirlenmi bir hafza gzndeki veri
Akmlatr zerindeki veri ile toplanmas istenmektedir.
Toplanacak say B kaydedicisine alnr. B kaydedicisindeki veri akmlatrdeki veri ile Logic
devreler (Full Adder) ile toplanr ve sonu tekrar akmlatrde saklanr.
Akmlatr (8Bit veri) + Yazc (8Bit veri) - Akmlatr (Sonu 8 Bit veri)
Akmlatrdeki veri bir sonraki ilemlerde kullanlmak iin saklanr veya daha sonra tekrar yeni bir
hafza gzne alnr. Bu devrenin tasarmna gemeden nce ileme biraz daha yakndan bakalm.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Toplam Devresi Tasarm


Saysal Devreler'de Tam Toplayc (Full Adder) devresinin tasarmn vermitik. Burada tekrar
zetleylim:

Tek bitlik A ve B girileri olan Elde Bitini bir nceki tek bitlik toplam devresinden alan (C IN) ve
incelediimiz Tam Toplama deveresinde doacak elde bitini de bir sonraki parallel tek bitlik
toplama devresine tayan (COUT) devrenin aritmetik tablosu yandaki gibidir.
Karnough Diyagramlarn biraz aarsak toplama ileminin aritmetik kanunlar gerei aadaki
rnekle ile zmleyebiliriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

- A ve B girileri sfr iken (A, A'nn stnde izgisi olmas ile ifade edilir) C IN sfr ise S=Toplam sfr
olmakta, CIN bir ise toplam "1" olmakta ve COUT k her iki koulda da sfr olmaktadr.
(Diyagramlarda 1. satrlar)
- A girii sfr, B girii bir iken CIN girii sfr ise S (toplam) bir olmakta ve CIN girii bir iken toplam sfr
olmaktadr. (2. satr, soldaki tablo)
- A girii sfr, B girii bir iken CIN girii sfr ise COUT k (tanan elde) sfr olmakta ve CIN girii bir
iken toplam COUT k bir olmaktadr. (2. satr, sadaki tablo)
Aadaki tabloada bunlar zetlenmitir:

Yukardaki tablolar basit 2'li dzendeki aritmetik bilgisi ile de bulabiliriz. imdi Karnough
Diyagramlarndan mantksal formln bulduumuz Tam Toplama devresinin tasarmn grelim.
Yandaki devrede FA (Full Adder) ismi verilen temel bir bitlik toplama birimi grlmektedir. Bu
devrede A ve B girilerinden giren saysal tek bitlik bilgi toplanmakta, S (Toplam k yine bir
nceki haneyi toplamada kullanlan benzer tek bitlik bir Full Adder biriminden gelen C IN verisi ile
birlikte ele alnarak belirlenmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Saysal Devre simulatrmz ile Tam Toplama devresinin almasn deneyebileceinizi


gstermitir.

Paralel 2'li Dzende Toplama


A ve B girilerini toplayan bu Full Adder devreleri parallel balanarak daha yksek kelime
uzunluuna sahip 2'li dzendeki saylar toplanabilir. Aadaki tasarmda da grlecei gibi A ve B
girileri CIN ve COUT bitleri ile birlikte paralel toplanmakta ve S Bitleri toplama sonucunu
tutmaktadr. Elde bitlerinin bir sonraki haneye nasl tandna dikkat edin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bu noktada artk Bilgisayar Mimarisi tasarm iin Logisim simulatrn kullanacaz. Ltfen
ncelikle Java Simulatrleri blmnden Logisim zelliklerini okuyunuz. rnek uygulamalara
baknz ve konumuz olan 2'li dzende paralel toplama devresi iin Logisim Uygulama rnekleri
iinde Logisim Temel Devreler blmn inceleyiniz.
4-Bit Ripple Carry Adder devresi (4-Bit Ripple Carry Adder devresine, View Circuit seenei ile veya
ift tk yaparak eriebilirsiniz) yukarda anlattmz gibi Full Adder deverelerinin paralel balanmas
ile elde edilmitir.

Paralel Full Adder devrelerinde elde bitinin yaylmn bu rnekte daha iyi anlayabilirsiniz.

Kaydediciler ile Tasaralanm Komple Paralel 2'li Dzende Toplama


Saysal Devreler ve bunun arkasndan gelen blmlerinde kaydediciler veya kilitleme devrelerinin
temel prensiplerini anlatmtk. Burda tekrarlarsal kaydediciler (Registers) Bilgisayar Mimarisinde
hafzadan okunan bilgiyi bir sre saklayan, aritmetik logic ilemler iin bu veriyi kaynak olarak tutan
flip-flop mantk devreleridir. Akmalatr bu kaydedicelerden ALU ilemlerinin sonucunun da
yazld zel bir kaydedicidir.
Kaydedicilerin [A] eklinde trnak iinde bir gsterimi vardr:
[A]=1011 gsterimi bu kaydedicide bitler baznda A3=1, A2=0, A1=1, A0=1 anlamndadr.
Kaydediciler arasndaki veri transferi bir ok ile ifade edilir. [B]-[A] B kaydedicisinin ieriinin A
kaydedicisine aktarlmas anlamndadr. Aritmetik Lojik ilemler bu kaydedicilerin tuttuu bilgiler ile
belirli Clock, zamanlama iaretleri ile gereklenir. rnein 2'li dzende 1001 ve 0101 toplama
ilemi aadaki resimdeki tasarmda ve zamanlama diyagramnda grlecei gibi:
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

- lk olrak t1 annda vir CLR (clear veya reset) iareti sreci balatr. Akmlatr sfrlanr.
- t2 annda 2'li dzendeki ilk verimiz 1001 B kaydedicisine yklenir.
- t3 iareti ile 1001 ve 0000 toplam tekrar A kaydedicine yklenir.
- t4 iareti ile ikinci veri 0101 B kaydedicisine hafzadan yklenir.
- t5 darbesi ile tekrar toplam klar A kaydedicisine ykelenir.
- Ve 2'li dzendeki iki verinin toplam artk Akmlatr'de hazrdr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Elde Bitinin Yaylm (Yrmesi)


- Paralel toplayc devreleri Elde Biti yaylm (bazen yrmesi denir) ile snrldrlar.
- Elde biti bir sonraki tma toplam devresine yaylrken bir bekleme sresi oluur. Tahmin edeceiniz
gibi toplama ileminin doru olabilmesi iin bir nceki bitten srklenen elde bitinin de tam
toplayc devresine hazr hale gelmesi gerekir.
- Toplama ileminde kelime uzunluklarnn artmas elde biti yaylm sreciden dolay ilemi
yavalatr.
- Bu gecikmeyi azaltmak iin ok deiik teknikler kullanlr. Bunlardan biri de look-ahead
carry (elde biti iin ileriye bakmak) procedrdr ve ilemleri hzlandrr.

Tam Toplayc Entegre Devreler


Aadaki ekilde sk kulanlan 4 Bit'lik paralel toplayc devresi grlmektedir. 74HC283 entegre
devresi 4 bit tam toplama mantk devrelerine ve look-ahead carry tasarmana sahiptir.

A ve B ular 4 Bit'lik toplanacak verileri ve - ularda toplam klar simgeler. C0 tm entegrenin


elde girii ve C4 ise tanan eldedir.
4 Bit'lik bu parallel toplayclar yan yana kullanlarak 8 Bit (byte) kelime uzunluklarnda tam toplama
devreleri tasarlanabilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

2'nin Tmleyeni ile Toplam ve karma lemleri Tasarm


Daha nce 2'li dzende kartma ilemi iin kartlacak verinin tmleyenini almak (her bitin tersini
al ve sonra kan veriyi 1 arttr) ve sonra toplama yapmak gerektiini grmtk.
imdi paralel tam toplayc devreleri ile toplama ve karma ilemlerinin nasl yapldn
zetleyelim.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Toplama iin A ve B girilerindeki saysal veriler dorudan verilmekte ve Elde Biti girii Cin=0 sabit
olarak verilmektedir.
karma ilemi iin ise A girii dorudan verilmekte B'nin ise tm bitler tersine evirilerek o ekilde
verilmektedir. Elde Biti karma ileminin daha nce grdmz tanmna gre Cin=1 dir. Bu
ekilde tmleyen alnmtr. Bu iki ilemi birden tek bir Full Adder devresinde yapabiliriz.
Aadaki devreyi inceleyin. ADD simgesinin stndeki izgi o giriin "0" olmas durumunda etkin
olduunu gsterir.

girii "0" ise toplama yaplmasn, "1" ise karma ilemeni belirler.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Entegre olarak tasarlanm sadece karma ilemi yapan bir devre aada grlmektedir. Burda (AB) ileminin yaplmas iin yine 2'nin tmleyeni yntemi kullanlmaktadr. kartlacak say (B) nin
tersi alnmakta ve 1 arttrma ilemi iin C0 = 1 yaplmaktadr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ayn Full Adder entegre devresi ile hem toplama hem de karma ilemi yapabiliriz. Aadaki
tasarmda 4 Bit'lik tam toplama ve 2'nin tmleyeni yntemi ile karma yapan devre tasarm
grlmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ALU Arithmetic ve Logic Unit


Bir bilgisayarda genel anlamda aritmetik ve mantksal ilemlerin yapld birime ALU ad verilir.
Yukarda grdmz ve sadece toplama karma yapan devre de bir anlamda basit bir ALU'dur. Bu
rnek birim sadece 2 ilem yapabildiinden tek bir control girii tarafndan kontrol
edilmektedir.
Daha gelimi fonksiyonlar yerine getiren ALU'lar iin tabiki daha geni seenekli kontrol devreleri
ve bu seenekleri belirleyen kontrol bitleri, daha dorusu kontrol giri kodu gereklidir. Bu noktada
Logisim paketini kullanarak daha geni aritmetik ve mantksal komutlar yrtebilen bir ALU
tasarlayalm. ncelikle komutlar belirleyelim. 4 komutumuz olsun, ve doal olarak bu 4 seenek
iin 2 bit bir komut kmemiz olacaktr.
F 1 F 0 = 00 : kt ==> A AND B
F 1 F 0 = 01 : kt ==> B 'nin tersi
F 1 F 0 = 10 : kt ==> A OR B
F 1 F 0 = 11 : kt ==> A + B
imdi aadaki devreyi inceleyin. Bu ALU devresi yukardaki 4 komutu birden A ve B girileri
zerinde yrten tek bir bitliktir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim simulatrn ap alu.circ dosyasn ykleyin. Aadaki devreyi elde edeceksiniz. Devreyi
altrn ve ilem seenekleri ile A ve B girileri zerinde 4 ilemin sonularn inceleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ALU devreleri daha nce grdmz toplam-karma yapan devreler gibi paralel balanarak 2"li
tabandaki veriler zerinde alabilirler. Logisim simlatrnde 6bit_ALU.circ dosyasn ykleyerek
aadaki devreyi inceleyiniz. Paralel alan ALU'larn fonksiyonlarn 6Bit'lik A ve B 2'li dzendeki
veriler zerinde ilemleri inceleyiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Fonksiyon tularn seerek AND, OR, TOPLAMA ve IKARMA (Giriin tersini alma, Cin giriine+1
vererek Tmleyenini alma ve toplama) ilemlerini deneyrek bulunuz.
Aritmetik ve mantksal ilemlerin temel deverelerini grdkten sonra tm bu fonksiyonlar ieren
baz entegre devrelere bakalm.
- Aadaki 74LS382 entegre devresi yine 2'li dzende alan fonksiyon belirleme ular (S) seimi
ile deiik aritmetik lojik fonksiyonlar yerine getirir.
- S0, S1 ve S2 bitlik olduundan daha once saysal devrelerde grdmz gibi 2 3 = 8 deiik
fonksiyon tanmlanmtr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ALU Entegre Devreleri

Temel 74HC382 ALU entegreleri parallel balanarak 8 Bit'lik veya daha yksek kelime
uzunluundan Aritmetik ve Lojik ilemler yaplabilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bilgisayar Mimarisi blok diyagramnda dier bir temel arabirim de hafza devreleridir. Hafza
birimleri esas olarak D Tipi Flip-Flop mantk devreleridir. Saysal Devreler'de D Tipi Flip-Floplarn
alma dzenini anlatm ve kendin tasarla ve dene simulatr devresini de vermitik.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

HAFIZA BRMLER
Random-access memory

Ksaca Flip Flop'larn 1 Bit'Lik hafza birimleri yazclarn ise flip-flop'lardan oluan ve belirli saat
darbeleri ile alan saklama birimleri olduunu hatrlayalm. Yar iletken teknolojisi asndan
hafza birimleri ikiye ayrlr:
- Random-access memory (RAM): Rastgele Eriimli hafza birimleri istenilen an adreslenerek
eriilebilen yazama ve okuma yaplabilen paralel eriimli devrelerdir.
- Read-only memory (ROM): Mirkro lemci tarafndan sadece okunabilen devrelerdir.
Random-access memory
- Dynamic random-access memory (DRAM): DRAM'lerde hafzada tutulan bilginin tutulabilmesi iin
periyodik tazeleme iaretleri gerekir.
- Static random-access memory (SRAM): Periyodik tazeleme iaretlerine ihtiya duymaz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Read-only memory
- Mask-programmed read-only memory (MROM): retim aamasnda programlanlan ROM hafza
birimleri.
- Programmable read-only memory (PROM): BIOS chipleri gibi daha sonra programlanabilen hafza
birimleri.
- Erasable programmable ROM (EPROM)
1. Belirli ulara gerilim verilerek yazma konumuna geirilir ve tekrar tekrar yazlabilir.
2. Ultraviolet ile silinir.
3. Ancak tm chip bir btn olarak silinir.
- Electrically erasable programmable ROM (EEPROM)
1. Belirli ulara gerilim verilerek yazma konumuna geirilir ve tekrar tekrar yazlabilir.
2. Belirli ulara gerilim verilerek silme konumuna geirilir ve tekrar tekrar silinebilir.
3. Sadece bir hafza biti, bir sra bitler veya tm silinebilir.
- Flash memory
1. Elektriksel olarak birok defa yazlabilir.
2. Elektriksel olarak birok defa silinebilir.
3. Ancak tm bir btn olarak silinebilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Memory Adresleme

Yandaki ekilde bir hafza entegresi grlmektedir. Grld gibi A0-A15 aras 16 Bit adresleme biti
olduunda bu chip'te toplam 216 = 65,536 (64K) hafza gz olduunu anlyoruz.
2'li dzendeki adres bilgisi entegre iindeki De-Multiplexer (Bilgi Datclar) ile zmlenerek
sadece bir hafza gzn iaretler.

Mikro lemci ile Hafza birimleri arasndaki veri transferi adresleme yolunun iaret ettii gz ile
yukardaki ekilde grlen D0..D7 veri bitleri zerinden (Veri Yolu) olur.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Saat areti (Clock)


Merkezi lem Birimi tm devreleri tek bir saat deveresinden senkronize retilmi dei saat
iaretleri ile kontrol edilir. Bu saat iareti periyodik ve ekilde grld gibi darbeler eklindedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

KONTROL BRM
Kontrol Birimi

Bu noktaya kadar 2'li dzende alan Bilgisayar Mimarimizin aritmetik ve lojik ilemler yapan
devrelerini, yazclar devrelerini, hafza devrelerini grdk. ALU aritmetik ve lojik ilemler yannda
akmlatr devreleri zerinde dndrme ilemleri de yaparlar.
Bildiiniz gibi 2 ile arpma sadece sayy SOLA TELEME'dir.
Deneyerek grebilirsiniz: 0000 00110 (Onluk tabanda deer 6 olan 8 haneli bir say)
Bu says 2 ile arpmak iin sadece sola doru kaydryoruz. 0000 1100 (sadan sfr giriyor) ve bu
saynn deeri ise onluk dzende 12'dir, yani 6x2. 2'li dzende Binary dzen 2 ile arpmak sola
doru bir hane kaydrmak 2 ile blmek ise saa doru bir hane kaydrmaktr. Bu ilemlerin tm de
Akmlatr zerinde yaplr.
Blok diyagramdaki nc biri kontrol birimidir. Bu birim program gerei Aritmelitk lojik devrelere,
hafza birimlerine senkronize iaretler gndererek tm mimariyi ynetir.
Kontrol birimi arka arkaya dizilmi komut kmeleri ile alr. Tipik bir kontrol birimi ok deiik
komut kelimelerini zer ve gerekli iaretleri retir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Aada buraya kadar grmz temel birimler ile tasarlanm temel bir bilgisayar grlmektedir.
Kontrol birimin retecei C0 ve C1 iki bitlik bir veri ile 22 = 4 deiik tip komut (talimat)
belirlenebilmekte bu kontrol iaretleri ALU birimine kontrol ederek ilemleri belirlemektedir. IN
veri yolundan gelen bilgi A ve B kaydedicilerine yazlarak ilemler yaplabilmektedir. OUT is
ilemlerin sonucudur.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

BR BLGSAYAR SSTEMNN KATMANLI MODEL


Giri

Bir bilgisayarn nasl altn daha iyi anlayabilmek iin bir btnlk iinde katmanlar
grebilmeliyiz. Komut kmesi mimarisi (ISA) bir bilgisayar donanmnn, alt dzey programcya
(sistem programlarna) grnen yzdr.
Merkezi lem Birimi
- Adresleme Kipleri, komut yaplar. rnek MC68000, P4
- CISC (Complex Instruction Set Computer)
- RISC (Reduced Instruction Set)
- hatt (Pipeline)
- Giri/k Organizasyonu
- evre birimleri
- El skma
- Kesme
- Vektr, ncelik, i ie kesmeler
- Dorudan Bellek Eriimi (Direct Memory Access - DMA)
- Bellek Organizasyonu
- Cep bellek (Cache)
- Grnt bellek (Virtual Memory)
- Bellek Ynetim Birimi
- Kayan Noktal Saylar (Floating Point Numbers)
eitli zeliklerine gre deiik gruplara ayrmak mmkndr.
1. Komut yaplar, saylar ve adresleme kiplerine gre:
a) CISC (Complex Instruction Set Computer)
b) RISC (Reduced Instruction Set)
2. Operand saylarna gre:
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

a) Sfr adresli makineler: Dorudan bellek adresi kullanmazlar tm ilemelerini yn zerine


yaparlar.
b) Bir adresli makineler: Bir komuttaki operandlardan sadece biri bellekte olabilir. Dier operand
bir i saklaycdadr.
c) ki adresli makineler: Bir komutta iki farkl bellek gz operand olarak yer alr.
d) adresli makinler: Bir komutta farkl bellek gz kullanlr.
3. Komut ve veri belleklerine gre:
a) Von Neumann
b) Harward mimarileri

Von Neumann Mimarisi


Komutlar ve veriler ayn bellekte yer alr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Harward Mimarisi
Komutlar ve veriler farkl belleklerde yer alrlar. Adres ve veri yollar farkldr, bylece ayn anda
komut ve operand eriimi yaplabilir.

Daha yaknda ve gereki bir bak as ile merkezi ilem birimine baktmzda:

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Merkezi lem Birimi Yaps

- Veri leme Birimi: Saklayclar, aritmetik-lojik birim, kayan noktal ilem birimi, i hatt gibi
blmlerden oluur. Veriler zerinde ilemlerin yapld birimdir.
- Denetim Birimi: Komutlar zer ve yorumlar. Veri ileme birimini oluturan elemanlar ynetir.
Bir senkron ardl saysal devre yapsndadr. Devrelendirilmi (hardwired) ya da mikroprograml
olarak gereklenir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bir Merkezi lem Biriminin alma Dngs


Sonlu durumlu ardl makine olarak tasarlanan merkezi ilem birimi drt durumdan birinde
bulunur:
1. Komut alma evrimi
2. Operand alma evrimi
3. Komut yrtme evrimi
4. Kesme evrimi
Bir merkezi ilem biriminin durum diyagram aada gsterilmitir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

MERKEZ LEM BRM EMLATR


Merkezi lem Birimi Emlatr
Bu blmde buraya kadar tasarmn gsterdiimiz Bilgisayar Mimarisi temel alma biimini sanal
bir Merkezi lem Birimi zerinde greceiz. PIPPIN.

Daha nce grdmz gibi bir Merkezi lem Birimi'nin anlaml bir i yapabilmesi icin, iki tane
eye ihtiyac vardr: Komutlar (instructions) ve Veri (Data). Komutlar Merkezi lem Birimi'ne
veriler zerinde ne gibi ilem yaplacan bildirirler. Verilerin bilgisayarda nasl temsil edildiklerini
grdk ve imdi komutlarn nasl temsil edildiine biraz daha yakndan bakalm. Komutlarda daha
nce grdmz gibi 2'li dzende temsil edilirler. Aslnda merkezi ilem birimi iin hafzada sakl
2'li dzende komut veya veri'yi birbirinden pek farkl deildir.
lkel hesaplayc cihazlar iin esnek olarak yani kolaylkla progranabildikleri dnlmezdi.
Programlar kontrol nitesi iinde her makinenin farkl bir paras olarak tasarlanr ve burdan
iletilirdi. Yeni bir gelime programlarn anabellekte depolanmas ve burdan yrtlmesinin
salanmas eklinde ortaya kt. Eer kontrol nitesi programlar ana bellekten yrtebilecek
ekilde tasarlanrsa programlar sadece ana bellekteki program kodlarn deitirebilecek dolaysyla
control nitesinin tekrar tekrar her ilev iin donanmsal olarak tasarlanmas gerekmeyecekti. Bu
depolanm program kavram bgn de kullanlan bir standart halini almtr. Bunu uygulamak iin
makinenin bit dzeyinde komutlar alglayabilecek ekilde tasarlanmas gerekir. Bu komutlarn
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

btn ve beraberinde gelen kodlama tekniine "makine dili" denir. Bu dil bizim algortimalar
aracl ile makinalarla iletiim kurabilmemizi salar.
CPU (Central processing unit, merkezi ilem birimi)' ne giri bilgisi olacak btn veriler bellekte
saklanr. Bir Merkezi lem Biriminin alma Dngs blmnde sonlu durumlu ardl makine
olarak tasarlanan merkezi ilem birimi drt durumdan birinde bulduunu grmitik:
1. Komut alma evrimi
2. Operand alma evrimi
3. Komut yrtme evrimi
4. Kesme evrimi
PIPPIN Sanal Merkezi ilem Birimi blmnde bunu biraz daha basitletirerek bir Merkezi lem
Birimi, komutu getir (fetch instruction), kodu z (decode) ve yrt (execute) ilemlerini yerien
getirdiini kabul edelim. Bu sree "fetch-decode-execute cycle" ad verilir.
PIPPIN sanal Merkezi lem Birimimizde sre komutun bellekten veri yolu ile IR (Instruction
register, komut kaydedicisi)' ne alnmas ile balar. IR'de 2'li dzendeki komut (makine dili) bir
sonraki birim olan Kod z'c de zlr. Bu bileen evrimin ikinci admndan sorumludur. Kod
zc bit paternine bakarak gerekli ilemleri yrtmek iin bu ilemler iin hazr olan donanmlar
aktif eder. Bazen komut, verinin bellekten okunmasn ve matematiksel ilemlerin
gerekletirilmesi iin ALU (Arithmetic logic unit, aritmetik mantk nitesi)' yu aktif hale getirir. Bu
ilem bir kere gerekletiinde, bu evrim bir sonraki komutla yeniden balar. Merkezi iem Birimi
her zaman bir sonraki komutu nerede bulacan bilir nk program sayac devam eden komutun
adresini tutar. Bir komut tamamlandnda her zaman program sayac bir sonraki bellek adresine
ilerler. (Kesme komutlar hari.)
PIPPIN Sanal Merkezi lme Birimi'nde her bir makine komutu iki blmden oluur. Op-code
(Operation Code, lem Komutu) ve operand. Op-Code alanndaki bit paterni rnein STORE veya
JUMP gibi hangi temel ilem kodu olduunu tanmlar. STORE veya JUMP komut tarafndan istenen
operand alannda bulunan bit dzeni op-code tarafndan belirtilen operasyonla ilgili detayl bilgi
salar. rnein STORE ilemi iin operand alanndaki bilgi hangi kaydedicinin depolanm veriyi
ierdiini ve hangi bellek hcresinin veriyi alacan belirler.

Resimde grld gibi PIPPIN'de lk bit op-code' yi gsterir ve son alt bit operan' d gsterir.
Ortadaki bit (Number Bit) Operand alanndaki 2'li dzendeki paternin bir hafza gznm
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

adreslediini veya doprudan veri ierdiinimi gsterir. Sana Mikro lemcimizde Number Bit=1 ise
Operand alanndaki veri dorudan ileme girecek bilgidir.
Aadaki tabloda PIPPIN iin baz makine kodlarnn listesi verilmitir. Btn op-code' lar
programlamay basitletirmek iin ngilizce ilk harflerinden oluan tanmlamaya "mnemonic"
(anmsatc) ad verilir. Bu mnemonic' lerin bir araya gelmesine assembly dili denir. Assembly dili ile
yazlan programlar CPU'nun anlayabilmesi iin ikili gsterim ekline dntrlmelidir. Genellikle
bu ilem assembler denen baka bir program ile yaplr.

Dikkat edilirse yukardaki makine dili gsteriminde baz operandlar # simgesi iermektedir. Bu
simge ilemcimize operand alannda memory adresi deil, dorudan bir veri olduunu gsterir.
Dolaysyla assembler komutu # simgesi ile evirdiinde sonutaki makine kodu say bitini
gsterdii konumda "1" rakam olur. Ayrca Accumulator kaydedicisinin oynad role dikkat edilirse
neredeyse btn ilemler bu kaydedicinin deerini etkiler. Accumulator devam eden hesaplama
ilemlerini geici olarak saklad bellek konumu gibi hareket eder. Makine dili tanmlamamzla
birlikte imdi baz basit programlara bakabiliriz.
rnek (Toplama): lk programn ad toplama. Bu program iki bellek blgesinde konumlanm
verileri toplamaktadr. Matematiksel olarak bu programn gsterdii forml x+y=z eklindedir. x=2,
y=5 olacak ekilde deerleri batan vermekte bunlar 13 ve 14 adresli hafza gzlerine saklamakta
ve sonra da bunlar toplamaktayz. Aada bu programn 2'li dzende ve mnemonic'ler ile makina
dilinde yazlm halini grmekteyiz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

imdi toplam programnn PIPPIN Sanal Merkezi lem Birimi tarafndan nasl yrtldn
aadaki animasyon ile grelim.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

kinci programn ad sayatr. Bu program programcnn ilk komutla belirttii sayya kadar sayar.
Programn JUMP ve EQUAL komutlar ile dng yaps ierdiine dikkat edin. Her zaman
accumulator iindeki deer azaltlarak istenilen miktara ulap ulamad denenir. Aada bu
programn da 2'li dzende ve mnemonic'ler ile makina dilinde yazlm halini grmekteyiz.

imdi sayma programnn PIPPIN Sanal Merkezi lem Birimi tarafndan nasl yrtldn
aadaki animasyon ile grelim.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

PIPPIN (Emlatr)
PIPPIN Sanal Merkezi lem Birimi ile Program Yrtlmesi
Artk PIPPIN Sanal Merkezi lem Birimine program yklemeyi ve bu programn yrtlmesinin
simlasyonunu grebiliriz.
Simlatr ierisinden dosya kaydetme ve/veya ykleme ileminde hata alyorsanz bu ilemleri
uygulaynz.
"C:\Program Files\Java\jre1.x.x_xx\lib\security" dizinine gidin ve "java.policy" dosyasn an.
"grant { };" ierisine "permission java.security.AllPermission;" satrn girerseniz tm izinleri aktif
etmi olursunuz. Ancak bu durumun gvenlik problemi oluturmas ihtimali vardr. Bunu
yapabileceiniz gibi "permission java.io.FilePermission "*", "read, write, delete"" anahtar ile
sadece dosya yazma izinlerini dzenleyebilirsiniz. java.policy dosyasnn konfigre edilmesi
hakknda daha detayl bilgi almak iin buraya tklayn.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

rnek Uygulamalar
Aadaki Program 1, 2 ayr sayy toplayan bir algoritmadr. Mnemonic'leri aadaki PIPPIN
Simulatrne girin. ster basamak basamak her komutun yrtlmesini, bu sre iinde komut
alma evrimini, yrtme evrimini ve hafzann nasl deitiini grebilirsiniz.
Bu simulatr ile assembly dilinde yazlm programlarn 2'li dzendeki karln bulabilirsiniz.
Kontrol tularnn olduu blmdeki Seymbolic/Binary butonlarna tklayarak grebilirsiniz. Bu
noktada bilginin (2'li dzende saylarn, hafza gzlerinin veya ilem komutlarnn bilgisayar
mimarisinde gerekte nasl 2'li dzende tutulduunu ve insann anlayabilmesi iin nasl sembolik
hale dntrldne dikkat edin.
Simulatrn sa tarafnda, RAM alanndaki hafza gzlerinin (0,2,4,..14) 2'er 2'er artmas
simulatrmzn yapsndan kaynaklanmaktadr. Kontrol tular blmndeki RESET, STOP STEO,
PLAY ve RUN tular simulatrn komutlar yrtmesi iin kullanlr. STEP tuu sadece bir komutun
yrtlecei Single Step anlamndadr.
CPU simalutrmzn 0,2,4 ve 6 nolu hafza gzlerine aadaki sembolik komutlar sra ile girin.
LOD #2
ADD Y
MUL X
STO W

EQN.DAT program dosyas (PIPPIN emlatr iin)


Binary tuuna basarak komutlarn 2'li dzende nasl gzktne bakn. Operand veya dorudan
bilgi olduunu belirleyen Say Biti'nin (sembolik dilde # simgesi ile gsterildiini grmtk) nasl
ekillendiine dikkat edin.
imdi PIPPIN simulatrmzn nasl komutlar yrttn grelim. STEP tuuna tklayarak izleyin.
lk olrak Program Counter (Program sayac) sfrlanmaktadr. Bylece programn bann bulunduu
hafza gz adreslenebilir. Gnmzde kullanlan PC'lerdeki Reset tularnn yapt da budur.
lk komut LOD #2 komutudur. Akmlatrde dorudan 2 verisinin yklenmesini sembolize
etmektedir. (# = Say Biti). Komut hafzadan okunmakta, Instruction register (komut yazcs)
yklenmekte ve bundan sonraki Decoder (Kod zc) ile zmlenmektedir. Komutun ieriinin
nasl yrtldn ve dorudan 2 saysnn nce ALU ve sonra akmlatre nasl yklendiine
dikkat edin. Her komut sonunda mutlaka program sayac arttrlarak (bizi simulatrn hafza yaps
tasarmndan dolay 2 arttrlmaktadr) bir sonraki komuta geilebilir.
rnekler:
- Program 1:
PIPPIN simulatrnn nasl altn, komutlar nasl zdn ve yrttn grdk. Sembolik
dildeki bu program paracklarn dorudan yazabileceiniz gibi aadaki dosyalardan da
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ykleyebilirsiniz. Hazrladnz program paracklarn kendi PC'nize de sklama imkannz var. Ancak
java uygulamalarnn varsaylan olarak diskiniz zerinde ilem yapmas gnvelik sebebiyle kapaldr.
Bu da java.io.FilePermission hatas almanza neden olacaktr. Bu hatay almamak iin simlatrn
alt tarafnda yer alan ilemleri uygulayn:

PIPPIN memory after program execution:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 14 03 05 80 14 07 05 81 00 80 05 82 0F 00 00 00
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
08 03 07 0A 00 00 00 00 00 00 00 00 00 00 00 00 00
09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Not: Not: Ltfen komutlarn arka arkaya 2 hafza gzn kapladna dikkat edin. Bu sebeple PC
Program sayac her komut sonunda 2'er 2'er artmaktadr. (2-byte instructions (opcode +
operand) .
Not: Hexadecimal 80, 82...gibi hafza gzleri W, X ve Y ile simgelenmitir.
- Program 2:
Aadaki Program 2 ise, aaya doru saym yapan bir sayatr.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Farkl ve yine basit bir saya program iin LOOP1.DAT dosyasn ykleyebilirsiniz.
PIPPIN Assembly Dili ile rnek Programlar
Aadaki tabloda soldaki dosyalar, komutlar ve aklamalar ieren text formatnda programlardr.
Ayrca programlarn yrtlmesi srasnda baz talimatlar da ierir.
Sa taraftaki dosyalar PIPPIN Sanal Merkezi lem Birimimiz iin emlatr dosyalardr. Bunlar
PC'nize ykleyim daha sonra PIPPIN sanal Merkezi lem Birimi'ni altrn. Bu dosyalar PC'nizden
emulatre ykleyip makine dilinde komutlar, 2'li dzende karlklarn ve sanal merkezi ilem
birimimizin bu programlar nasl yrttn grebilirsiniz.
parity.dat program dosyas (PIPPIN emlatr iin)
primcomp.dat program dosyas (PIPPIN emlatr iin)
sort3.dat program dosyas (PIPPIN emlatr iin)
sort4.dat program dosyas (PIPPIN emlatr iin)

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

PIPPIN Kullanc Klavuzu


Opcode | Operand
Assembly

Description

Instruction
Binary

Hex

Add contents of referenced memory address to contents of accumulator.


Address Mode = Direct
00000000
bbbbbbbb

00 XX

ADD X

Example: Add value stored at memory address 128 (10000000 binary, 80 hex,
variable W) to contents of accumulator.

00000000 10000000

00 10

ADD W

Add immediate value to contents of accumulator.


Address Mode = Immediate
00010000
bbbbbbbb

10 XX

ADD #n

Example: Add the number 45 (00101101 binary, 2D hex) to accumulator:

00010000 00101101

10 2D

ADD #45

Subtract contents of referenced memory address from contents of accumulator.


Address Mode = Direct
00000001
bbbbbbbb

01 XX

SUB X

Example: Subtract value stored at memory address 129 (10000001 binary, 81


hex, variable X) from accumulator.

00000001 10000001

01 11

SUB X

Subtract immediate value from contents of accumulator.


00010001
bbbbbbbb

Address Mode = Immediate


11 XX

SUB #n
Example: Subtract the number 27 (00011011 binary, 1B hex) from accumulator:

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

00010001 00011011

11 1B

SUB #27

Multiply contents of accumulator by 8-bit value stored at referenced memory


address.
Address Mode = Direct
00000010
bbbbbbbb

02 XX

MUL X

Example: Multiply accumulator by value stored at memory address 130


(10000010 binary, 82 hex, variable Y).

00000010 10000010

02 12

MUL Y

Multiply contnets of accumulator by immediate value.


Address Mode = Immediate
00010010
bbbbbbbb

12 XX

MUL #n

Example: Multiply accumulator by the number 5 (00000101 binary, 05 hex):

00010010 00000101

12 05

MUL #5

Divide contents of accumulator by 8-bit value stored at referenced memory


address.
Address Mode = Direct
00000011
bbbbbbbb

03 XX

DIV X

Example: Divide accumulator by value stored at memory address 131 (10000011


binary, 83 Hex, variable Z).

00000011 10000011

03 13

DIV Z

Divide contnets of accumulator by immediate value.


00010011
bbbbbbbb

Address Mode = Immediate


13 XX

DIV #n
Example: Divide accumulator by the number 10 (00001010 binary, 0A hex):

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

00010011 00001010

13 0A

DIV #10

Load the accumulator with the 8-bit value stored at referenced memory address.
Address Mode = Direct
00000100
bbbbbbbb

04 XX

LOD X

Example: Place value stored at memory address 132 (10000100, 84 Hex, variable
T1) into accumulator.

00000011 10000011

03 13

DIV Z

Load the accumulator with an immediated value.


Address Mode = Immediate
00010100
bbbbbbbb

13 XX

LOD #n

Example: Place the number 100 (01100100 binary, 64 hex) into accumulator.

00010100 01100100

14 64

LOD #100

Store the contents of the accumulator into the referenced memory address.
Address Mode = Direct
00000101
bbbbbbbb

05 XX

STO X

Example: Save value of accumulator in memory address 133 (10000101 binary,


85 hex, variable T2).

00000101 10000101

05 15

STO T2

If the accumulator contains 0 then set the accumulator to 1; otherwise set the
00001001
00000000

09 00

NOT

accumulator to 1.
Assume any non-zero value = TRUE and 0 = FALSE; NOT inverts the "truth" of the
accumulator.

00001010

0A XX

CPZ X

Compare X with Zero; if the contents of the referenced memory address = 0, set
the accumulator to 1 (TRUE), otherwise set accumulator to 0 (FALSE). e.g. TRUE

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

bbbbbbbb

or FALSE: "Does X = 0
Address Mode = Direct

Example: Set the accumulator to 1 (TRUE) or 0 (FALSE) depending on whether


the value in memory address 129 (10000001 binary, 81 Hex, variable X) = 0.

00001010 10000001

0A 11

CPZ X

Compare X with Zero; if the contents of the referenced memory address is LESS
than 0, set the accumulator to 1 (TRUE), otherwise set accumulator to 0 (FALSE).
e.g. TRUE or FALSE: "Is X < 0
Address Mode = Direct
00001011
bbbbbbbb

0B XX

CPL X
Example: Set the accumulator to 1 (TRUE) or 0 (FALSE) depending on whether
the value in memory address 130 (10000010 binary, 82 Hex, variable Y) < 0.

00001011 10000010

0B 10

CPL Y

Unconditional Jump: Set PC to n and execute instruction at that address.


00001100
bbbbbbbb

0C XX

JMP n

Example: Execute instruction at memory address 14 (00001110 binary, 0E hex).

00001110 00001110

0C 0E

JMP 14

Conditional Jump: Set PC to n and execute instruction at that address IF the


accumulator = 0; otherwise go to next instruction.
00001101
bbbbbbbb

0D XX

JMZ n

Example: Execute instruction at memory address 4 (00000100 binary, 04 hex) IF


the accumulator is 0.

00001101 00000100

00001110

0E 00

NOP

No operation; do nothing and go to next instruction.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

0D 04

JMZ 4

00000000

00001111
00000000

0F 00

HLT

Halt execution; Control Unit does not fetch any more instructions.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

LOGISIM
Logisim'e Giri
Logisim saysal mantk devrelerini tasarlamak ve simle etmek iin eitimsel bir aratr. Basit ara
ubuu arayz ve ina ettiiniz devrelerin simlasyonu ile, mantk devrelerine bal en temel
kavramlar renmeyi kolaylatrmak iin yeterince basittir. Kk alt devrelerden byk devreler
ina etme ve tek bir fare srklemesi ile kablo paketleri izme yetenei ile Logisim, eitimsel
amalar iin tm CPU' lar tasarlamak ve simle etmek iin kullanlabilir (ve kullanlmaktadr).
Logisim, bilgisayar bilimi aratrmasnn genel eitiminde mantk zerine zet bir niteden
balayarak bilgisayar organizasyon kurslarna, bilgisayar mimarisi zerine tam dnem kurslarna
kadar bir ok eit derste dnya apnda kolejlerde ve niversitelerde renciler tarafndan
kullanlmaktadr.
zellikler

Bedavadr! (Logisim ak-kaynak kodludur -GPL.)

Java 1.4 yada daha st destekleyen herhangi bir makinede alr; MacOS X ve Windows iin
zel versiyonlar gncellendi. apraz-platform doas, ev/yatakhane bilgisayar sistemlerinin bir
trne sahip renciler iin nemlidir.

izim arayz bir sezgisel ara ubuuna baldr. Renk-kodlu kablolar bir devreyi simle
ederken ve hatasn ayklarken yardmc olur.

Kablolama arac bileenlere ve dier kablolara otomatik olarak balanan yatak ve dikey
kablolar izer. Devreleri izmek ok kolaydr!

Tamamlanm devreler bir dosyaya kaydedilebilir, bir GIF dosyasna dntrlebilir veya
yazcdan yazdrlabilir.

Devre planlar dier devrelerin "alt devreleri" olarak kullanlabilir, hiyerarik devre tasarmna
izin verir.

Dahil edilmi devre bileenleri giri ve klar, geitleri, oklayclar, aritmetik devreleri, iki
durakllar ve RAM hafzasn ierir.

Dahil edilmi "kombinasyonel analiz" modl, devreler, doruluk tablolar ve Boole ifadeleri
arasnda dnme izin verir.
Logisim' i download etmek iin buraya tklaynz...

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim Kullancs Olabilmek in Rehber

Logisim saysal mantk devrelerini tasarlamak ve simle etmek iin eitsel bir aratr. Basit ara
ubuu arayz ve ina ettiiniz devrelerin simlasyonu ile, mantk devrelerine bal en temel
kavramlar renmeyi kolaylatrmak iin yeterince basittir. Kk alt devrelerden byk devreler
ina etme ve tek bir fare srklemesi ile kablo paketleri izme yetenei ile Logisim, eitimsel
amalar iin tm CPU lar tasarlamak ve simule etmek iin kullanlabilir (ve kullanlmaktadr). Tm
dnyada kolejlerdeki ve niversitelerdeki renciler Logisim'i farkl amalar iin kullanmaktadr,
rnein:

Bilgisayar bilimi aratrmalarndaki genel-eitimde bir modl olarak

kinci-snf bilgisayar kursu organizasyonunda bir nite olarak

st-dzey bilgisayar mimarisi kurslarnda tm bir smestre boyunca


u anda okuduunuz Logisim Kullancs Olabilmek in Rehber, Logisim'in zellikleri iin resmi bir
bavuru kaynadr. lk ksm Logisim in temel paralarn tanmlayan bir blmler dizisidir. Bu
blmler, Logisim'in ok nemli zelliklerinin tm hakknda bilgi edinebilmek iin "batan sona"
okunabilsin diye yazld.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Yeni Balayanlar in Klavuz


Logisim'e Hogeldiniz! Logisim saysal devreler tasarlamanz ve simle etmenizi salar. Devrelerin
nasl altn renmenize yardmc olmak iin eitimsel bir ara olarak tasarlanmtr. Logisim'i
kullanarak pratik yapmak iin bir XOR devresi ina edelim - yani, iki giri gerektiren (x ve y olarak
adlandracamz) ve giriler ayn ise 1 farkl ise 0 kartan bir devre. Aadaki doruluk tablosu
gstermektedir.

Bu ekilde bir devreyi kat zerine tasarlayabiliriz.

Fakat kat zerinde bir anlamnn olmayaca bir gerektir. lemimizi dorulamak iin onu
Logisim'e izeceiz ve test edeceiz. Eklenmi bir bonus gibi, muhtemelen elinizle izeceinizden
daha gzel bir devre elde edeceiz.

0. Adm:
Logisim'i balattnzda aadakine benzer bir pencere greceksiniz. Farkl bir sistem kullanyor
olabileceinizden baz detaylar farkllk gsterebilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Tm Logisim aratrma penceresi (explorer pane), znitelik tablosu (attribute table) ve alma
alan (canvas) olarak adlandrlan paraya ayrlr. Bu ksmlarn stndekiler men ubuu (menu
bar) ve ara ubuu (toolbar) dr.

Aratrma penceresi ve znitelik tablosundan abucak kurtulabiliriz: Bu klavuzda onlar


incelemeyeceiz bu nedenle onlar gz ard edebilirsiniz. Ayn zamanda men ubuu kendiliinden
anlalr. Bu ara ubuu ve alma alanndan ayrlr. alma alan devrenizi izeceiniz yerdir; ve
ara ubuu da bunu baarmanz iin kullanacanz aralar ierir.

1. Adm: Geitler eklemek


Logisimde aadaki devreyi ina etmeye alarak bunu anmsayalm.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bir devreyi ina etmek, daha sonra devreye kablolar balamak iin bir tr iskelet gibi ncelikle
geitleri ekleyerek daha kolaydr. lk yapacamz ey iki AND geidi eklemektir. Ara ubuundaki
AND aracna tklayn ( listelenmi son aracn yanndaki). Dzenleme alannda AND geidinin
konaca yere tklayn. Solda bo yer braktnzdan emin olun.

AND geidinin sol tarafndaki be noktaya dikkat edin. Bunlar kablolarn balanabilecei yerleri
gsterir. XOR devremiz iin bunlardan sadece iki tanesini kullanabiliriz; fakat dier devreler iin
ikiden daha fazla kablonun AND geidinde kullanlabilir olacan grebilirsiniz. imdi dier geitleri
ekleyin. ncelikle OR aracna ( ) tklayn; ardndan istediiniz yere tklayn. NOT aracn ( ) sein
ve alma alanna iki adet bu geitten koyun.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

NOT ve AND geitleri arasnda bir miktar mesafe braktm; buna ramen eer istiyorsanz onlar
birbirinin stne koyabilir ve daha sonra kablo izme zahmetinden kendinizi kurtarabilirsiniz.
imdi diyagrama iki adet x ve y girii eklemek istiyoruz. Giri pinini( ) sein ve pinleri yerletirin.
Ayn zamanda OR geidinin kndan sonra bir k pini ( ) yerletirmelisiniz. (Yine OR geidi ve
k pini arasnda bir miktar boluk brakyorum, siz birbirine yakn yer seebilirsiniz).

2. Adm: Kablolar eklemek


alma alanna tm bileenleri yerletirdikten sonra kablolar eklemeye hazrsnz. Kablolama
aracn ( ) sein. Ardndan alma alannda bir pozisyondan dierine srklemeye balayn ve bir
kablo iki nokta arasnda belirmeye balayacaktr. Logisimdeki kablolar yatay veya dikey olmaldr.
stteki girii NOT geidine ve AND geidine balamak iin farkl kablo ekledim.

Logisim kablolar geitlere ve birbirine otomatik olarak balar. Bu yukardaki gibi kablolarn
birbirine bal olduunu belirten bir T kavanda otomatik olarak daire izilmesini kapsar. Kablolar
izdiinizde baz mavi veya gri kablolar grebilirsiniz. Logisim'de mavi bu noktadaki deerin
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

"bilinmeyen" olduunu ve gri kablonun herhangi bir eye bal olmadn belirtir. Bu imdilik
byk bir marifet deildir. Fakat devrenizi tamamladnzda kablolarnzdan hi biri mavi veya gri
olmamaldr. (OR geidinin balanmam bacaklar hala mavi olacaktr: Sorun yok). Eer
balanabilecek hereyi dndkten sonra hala mavi veya gri kabloya sahip iseniz birey yanl
gidiyor demektir. Kablolar doru yerlere balamanz nemlidir. Logisim bileenler zerine
kablolarn
balanabilecei
yerleri
gsteren
kk
noktalar
izer.
lerlediinizde noktalarn maviden ak ya da koyu yeile dndn greceksiniz. Tm kablolarnz
baladnz zaman, eklediiniz kablolarn tm ak ya da koyu yeil olacaktr.

3. Adm: Metin eklemek


Devreye metin eklemek onu altrmak iin gerekli deildir; fakat devrenizi bir kimseye gstermek
istiyorsanz (retmeniniz gibi), devrenizin farkl paralarnn amacn bildirmek iin baz etiketler
yardmc olacaktr. Metin aracn ( ) sein. Giri pini zerine tklayabilir ve ona etiket yazmaya
balayabilirsiniz. (Metinin yazlmasn istediiniz yere tklamaktan giri pininin zerine direkt olarak
tklamak daha iyidir nk etiket pin ile birlikte hareket edecektir). Aynsn k pini iinde
yapabilirsiniz. Ya da herhangi baka bir yere tklayarak istediiniz bir yere etiket yazmaya
balayabilirsiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

4. Adm: Devrenizi Test Etmek


Son admmz tasarladmz gerekten yaptndan emin olmak iin devremizi test etmektir.
Logisim zaten devreyi simle eder. Nerede olduumuza tekrar bir bakalm.

Giri pinlerinin her ikisinin de 0 ierdiine; ve bylece k pininin de 0 ierdiine dikkat edin. Bu
bize her iki giri 0 olduunda devrenin 0 hesaplayacan syler.
imdi baka giri kombinasyonlarn deneyelim. Darbe aracn ( ) sein ve girilerin zerine
tklayarak onlar darbelemeye balayn. Bir girii her darbelemenizde deeri deiecektir. rnein,
alttaki girii bir kez drtelim.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Giri deerini deitirdiinizde, Logisim size kablolarda hareket eden deerlerin ne olduunu,
kablolar 1 deeri belirmek iin ak yeil yada 0 deeri belirtmek iin koyu yeil (neredeyse siyah)
izerek gsterecektir. k deerinin 1'e dntn grebilirsiniz. imdiye kadar doruluk
tablomuzun ilk iki stununu test ettik ve klar (0 ve 1) tahmin ettiimiz klarla uyumaktadr.

Anahtarlar farkl kombinasyonlar zerinden darbeleyerek dier iki stunu dorulayabiliriz. Eer
tm tutarsa, baardk demektir: Devre alr!
Tamamlanm iinizi saklamak iin devrenizi kaydetmek yada yazdrmak isteyebilirsiniz. Dosya
mens (File menu) buna ve ayn zamanda Logisim'den kmanza izin verir. Fakat imdi neden
kasnz ki?
Artk klavuzu tamamladnz, Logisim'i kendi devrelerinizi ina ederek deneyebilirsiniz. Eer ok
karmak zelliklerde devreler ina etmek istiyorsanz, dier yapabileceiniz eyleri grmek iin
yardm sisteminin geri kalann taramalsnz. Logisim byk devreleri ina ve test etmenize izin
veren gl bir programdr; bu adm adm ilem sadece yzeyi trmalar.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ktphaneler ve znitelikler
Bu blmde Logisim penceresinin dier iki temel alan aratrma penceresi (explorer pane) ve
znitelik tablosunun (attribute table) nasl kullanldn inceleyeceiz.

Aratrma penceresi (explorer pane)


Ktphaneler devrelere tanabilen bileenleri ierir. Aratrma penceresinde onlar klasr eklinde
gsterilmitir; bir ktphanenin bileenlerine erimek iin sadece karlk gelen klasre ift
tklamalsnz. Aada Geitler (Gates) ktphanesini atm ve oradan NAND aracn setim.
Logisim'in devreye NAND geitlerini eklemek iin hazr durumda beklediini grebilirsiniz.

Geitler ktphanesinde seenekler boyunca bakarsanz daha nceden bir XOR devresi
gelitirmeye ihtiyacmz olmadn greceksiniz: Logisim' de ina edilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bir proje oluturduunuzda otomatik olarak Temel (Base) ve Geitler (Gates) ktphanelerini
barndrr. Fakat Logisim dier baka ktphaneleri de barndrr: Bir tanesini yklemek iin
Ktphaneyi Ykle (Load Library) alt mensndeki Proje (Project) mensne gidin ve Btnleik
Ktphaneyi (Built-in Library) sein... Eklemek istediiniz ktphaneyi semenize izin veren bir
diyalog kutusu belirecektir. rnein eer Plexers seerseniz ardndan multiplexers, demultiplexers
ve decoders ekleyebilirsiniz. stediiniz kadar ok ktphane ykleyebilirsiniz.
Ktphane Ykle (Load Library) alt mensnde Logisim'in adet ktphane kategorisine sahip
olduunu grebilirsiniz.

Btnleik ktphaneler (Built-in libraries); Logisim'le datlan


Bunlar Ktphane Referans (Library Reference da belgelenmitir.

Logisim ktphaneleri; Logisim'de ina edilmi projelerdir ve diske kaydedilmitir. Tek projede
bir devre setini gelitirebilirsiniz (Bu klavuzun Alt Devreler (Subcircuits ) blmnde
tanmland gibi) ve ardndan bu devre setini baka bir proje iin bir ktphane gibi
kullanabilirsiniz.

JAR ktphaneleri; Java da gelitirilmi ktphanelerdir, Logisim ile gelitirilmemitir.

ktphanelerdir.

Bakalar tarafndan yazlm JAR ktphanelerini indirebilir yada bu klavuzun JAR Libraries
ksmnda anlatld gibi kendi ktphanenizi yazabilirsiniz. JAR ktphanesi gelitirmek
Logisim ktphanesi gelitirmekten ok daha zordur fakat znitelikler ve kullanc ile etkileim
gibi eyleri barndran bileenler ok ssl olabilir. Btnleik ktphaneler (built-in libraries)
(Temel (Base) den baka) JAR ktphanelerinin kullanlabildii gibi benzer API kullanlarak
yazlmtr, bu nedenle onlar JAR ktphanelerinin destekleyebildii fonksiyonellik araln
kantlar.
Bir JAR ktphanesini yklerken Logisim JAR dosyasn semeniz iin ve ardndan tr adn
yazmanz iin uyaracaktr. Bu tr ad JAR dosyasn size salayan kimse tarafndan
desteklenmelidir.
Bir ktphaneyi kaldrmak iin Proje mensnden (Project menu) Ktphaneyi Boalt (Unload
Library) sein. Logisim ara ubuunda grnen yada fare tuuna ayarlanm devrede kullanlan
bilienleri ieren ktphaneleri boaltmanz nleyecektir.
Aklma gelmiken bir ktphane teknik olarak aralar ierir bileenler deil. Bylece Base
ktphanesinde Poke Tool ( ), Select Tool ( ) ve kiisel bileenlerine direkt olarak karlk
gelmeyen dier aralar bulacaksnz. Aslnda ou ktphane kiisel bileenlerini eklemek iin
sadece aralar ierir; Base ktphanesi dndaki btnleik ktphaneler bu ekildedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

znitelik tablosu
ou bileenin, nasl davranacan yada grneceini konfigre etmek iin seenekleri
olan znitelikleri vardr. znitelik tablosu (attribute table) bir bileenin znitelik deerlerine
bakmak ve gstermek iindir.
Grntlemeyi dndnz bileenin zniteliklerini semek iin Seme aracn (Select tool) ( )
kullanarak bileene tklayn. (Ayn zamanda bileene sa tklayp (yada kontrole tklayp) alan
pencereden znitelikleri Gsteri (Show Attributes) seebilirsiniz. Darbe arac (Poke tool) ( ) ya da
Metin arac (Text tool) ( ) aracl ile bir bileende oynama yapmak bileenin zniteliklerini
grntleyecektir).
Aadaki ekran grnts XOR devremizin stteki giriini setikten sonra bir eylerin nasl
grndn ve grnm aaya doru srklediimizde Etiket Yazm Karakteri (Label Font)
zniteliinin nasl grndn gstermektedir.

Pini evreleyen oval ak mavi renk k halkas (halo) olarak adlandrlr: Bu, znitelik tablosunda
hangisinin zniteliklerinin grntlendiini belirtir.
znitelik deerini deitirmek iin deerin zerine tklayn. znitelii deitirmek iin olan arabirim
deitirdiiniz znitelie bal olacaktr; Label Font znitelik ksmnda yeni bir font seerken bir
diyalog kutusu belirecektir; fakat baz znitelikler (Etiket (Label) gibi) metin alan olarak deeri
dzenlemenize izin verirken dierleri (Etiket Konumu (Label Location)) deerin seelecei yerde bir
aa doru alan men grntleyecektir.
Her bileen tr farkl bir znitelik setine sahiptir; ne anlama geldiklerini renmek iin Ktphane
Referansndaki (Library Reference) uygun dokmana gidiniz. Baz bileenler deitirilemeyen
znitelik deerlerine sahiptir. Buna bir rnek AND geidinin (Geit boyutu) Gate Size zniteliidir:

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

AND geidini oluturur oluturmaz boyutu sabitlenir. Eer AND geidini farkl bir boyutta
istiyorsanz, ara iin znitelikleri deitirmeniz gerekecektir, bunu daha sonra tartacaz.

Ara znitelikleri (Tool Attributes)


Bir devreye bileen eklemek iin olan her bir ara, ayn zamanda ara tarafndan oluturulan
bileenlere verilen bir znitelik setine sahiptir, buna ramen bileenlerin znitelikleri aracn
zniteliklerini etkilemeden deitirilebilir. Bir arac setiinizde Logisim aracn zniteliklerini
grntlemek iin znitelik tablosunu deitirecektir.
rnein, kk AND geitleri oluturmak istediimizi varsayalm. AND geidinin Gate Size
zniteliinin dzenlenemez olduunu grdk. Fakat Gate Size znitelii AND geit arac iin
dzenlenebilir: Bu znitelii grmek ve dzenlemek iin ara ubuundaki (yada aratrma
penceresi) aracn ikonuna tklayn ve Gate Size zniteliini deitirin.

imdi varolan iki AND geidini silip onun yerine iki yeni AND geidi ekleyebiliriz. Bu kez dar
olacaklardr. (Eer girilerin saysn 3' e indirirseniz AND geidi sol tarafnda dikey geniletmeye
sahip olmayacaktr. Fakat kablolar AND geidinin sol tarafna ulasn diye devreyi yeniden
kablolamak zorundasnz).

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Baz aralarla birlikte ikon baz zniteliklerin deerlerini yanstr. Buna bir rnek Pin arac iledir, pin
aracnn ikonu Facing zniteliinin syledii gibi ayn ekilde yanstr.
Ara ubuundaki aralarn her biri aratrma penceresindeki aralara karlk gelen ayr bir
znitelik setine sahiptir. Bylece dar AND geitleri oluiturmak iin ara ubuunun AND aracn
deitirsek bile Gates ktphanesindeki AND arac, onun zniteliklerini de deitirene kadar yine
dar AND geitleri oluturacaktr.
Gerekte varsaylan ara ubuundaki giri pin ve k pin aralar Base ktphanesinin Pin
aracnn rnekleridir fakat znitelik seti farkldr. Pin aracnn ikonu "Output?" zniteliinin
deerine bal olarak daire veya kare gibi izilir.
Logisim bir ok bileenin bakt yn kontrol eden Facing zniteliini deitirmek iin faydal bir
ksa yol salar. Ara seili iken bir ok iaretine basmak otomatik olarak bileenin ynn deitirir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Alt Devreler
ok karmak devreler ina ettiinizde, byk devrelerde ok kez kullanabileceiniz kk devreler
ina etmeyi isteyeceksiniz. Logisim'de byk devrelerde kullanlan bu ekildeki kk bir devre alt
devre (subcircuit) olarak adlandrlr.
Eer bilgisayar programlama dili biliyorsanz alt program kavramn da bilirsiniz (farkl dillerde
bu subroutines, functions yada methods olarak adlandrlr). Alt devre kavram programlamadaki
kavrama benzerdir ve ayn amala kullanlr: Byk bir ii kk-boyutlu paralara blmek iin, ayn
kavram birka kez tanmlama zahmetinden kurtulmak iin ve hata ayklamay kolaylatrmak iin.
Her Logisim projesi gerekte bir devreler ktphanesidir. En basit formunda her proje sadece bir
devreye sahiptir (varsaylan olarak - ana " main" olarak adlandrlr) fakat daha fazla eklemek
kolaydr: Project mensnden Devre Ekleyi (Add Circuit) sein ve oluturmak istediiniz yeni devre
iin istediiniz herhangi bir ad yazn.
"1x2 MUX" adnda bir 1x2 multiplexer (oklayc) ina etmek istediimizi varsayn. Devre ekledikten
sonra Logisim una benzeyecektir.

Aratrma penceresinde projenin imdi "main" ve "1x2 MUX" adnda iki devreyi ierdiini
grebilirsiniz. Logisim hali hazrda grntlenen devrenin ikonu zerine bir byte izer.
Devreyi bir 1x2 multiplexer gibi grnmesi iin dzenledikten sonra aadaki devreye ulaabiliriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Alt devreleri kullanmak


1x2 multiplexer rneimizi kullanarak bir 2x4 multiplexer ina etmek istediimizi varsayn. Elbette
ncelikle "2x4 MUX" olarak adlandracamz yeni bir devre oluturmalyz. 1x2 multiplexer' mz
devremize eklemek iin aratrma penceresindeki 1x2 MUX devresine onu ara gibi seebilmek
iin bir kere tklamalyz ve ardndan onun kutular eklinde gsterilen kopyalarn alma alanna
tklayarak ekleyebiliriz.

Eer aratrma penceresinde 1x2 MUX devresine iki kere tklarsanz pencere 1x2 MUX devresini
dzenlemeye dnecektir.
Devreyi ina ettikten sonra aadaki sonuca ularz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

2x4 multiplexer iin devremiz adet 1x2 multiplexer kopyas kullanr, her biri yanlarnda pinler ile
bir kutu gibi izilmitir. Bu kutudaki pinler 1x2 MUX devresindeki giri ve ka karlk gelir.
Kutunun bat tarafndaki iki pin 1x2 MUX devresinin douya bakan iki pinine karlk gelir; kutunun
dou tarafndaki pin 1x2 MUX' un batya bakan pinine karlk gelir (k pini olacak ekilde olan);
ve kutunun gney tarafndaki pin 1x2 MUX' un kuzeye-bakan pinine karlk gelir. Kutunun bat
tarafndaki iki pinin sras alt devrede grnen yukardan aa sralamann aynsna karlk gelir.
(Eer kutunun kuzey ve gney tarafnda birka pin olsayd onlar alt devredeki sol-sa srasnn
aynsna karlk gelirdi).
Eer alt devre planndaki pinler onlarla ilgili etiketlere sahipse Logisim kullanc alt devre bileenine
karlk gelen yer zerinde fareyi durdurduunda bir tip (yani bir geici metin kutusu) ierisinde
etiket eklinde grntleyecektir. (Eer bu tipleri rahatsz edici buluyorsanz Project Options
penceresinin Canvas sekmesi aracl ile onlar kapatabilirsiniz).

Dier eitli bileenlerde bu tipleri grntleyecektir: rnein btnleik bir flip-flop' un pinlerinin
bazlar iin onun zerinde tutmak pinin ne yaptn aklar.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Aklma gelmiken bir devredeki her pin ya bir giri yada bir k olmaldr. ou retilen yonga, baz
durumlarda bir giri gibi dier durumlarda bir k gibi davranan pinlere sahiptir.
Logisim bir devrede grnen tm alt devreler iin farkl durum bilgisi salayacaktr. rnein eer
bir devre iki durakl (flip-flop) ieriyorsa ve birka kez bir alt devre gibi kullanlm ise, her alt
devrenin iki durakls byk devre simule ederken kendi deerine sahip olacaktr.
2x4 multiplexer tanmlamasna sahip olduumuzdan onu dier devrelerde kullanabiliriz. Devreler
ne kadar ok i ie olsalar da Logisim'in limiti yoktur - geri kendi ierilerinde devrelerin i ie
olmasna kar kacaktr.
Not: Bir alt devre gibi kullanlan bir devreyi dzenlemede yanl bir ey yoktur; aslnda bu tamamen
geneldir. Buna karn bir devrenin pinlerinde herhangi bir deiikliin olmas (eklemek, silmek veya
yerlerini deitirmek) onlar kapsayan devredekileri de yeniden dzenleyeceinin farknda olun.
Bylece bir devredeki herhangi bir pini deitirirseniz ayn zamanda alt devre gibi onu kullanan
herhangi devreleri de dzenlemeye ihtiyacnz olacaktr.

Alt devrelerin hata ayklamas


Byk devreleri test ettiinizde muhtemelen hatalar bulacaksnz. Neyin yanl gittiini garantiye
almak iin tm devre alrken alt devrelerde ne olduunu aratrmak yardmc olacaktr. Tm
devreyi grntleyerek bunu alt devrelerin alr penceresini getirerekten yapabilirsiniz. (kutusuna
sa tklayarak yada kontrole tklayarak). Ardndan View seeneini sein.

Bunu setikten sonra grnm alt devreye dnecektir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Alt devredeki pinlerin deerlerinin onlar kapsayan devreden gnderilen deerlerle uyutuuna
dikkat edin.
Alt devrede iken her ne ekilde istiyorsanz onu deitirebilirsiniz; pinlerin deerlerindeki herhangi
bir deiiklik kapsayan devredekine de yaylacaktr. (Darbe Aracn (Poke Tool) kullanarak bir pini
deitirmeye alrsanz Logisim size yeni bir durum oluturmak isteyip istemediinizi soran bir
diyalog kutusu aacaktr; Yes olarak cevaplamak dtaki devrenin durumundan gelen alt devre ile
gsterilen durumu ayracak iken No olarak cevaplamak deitirme isteini iptal edecektir).
Aratrma penceresine ift tklayarak yada Simulate mensnden Go Out To State alt mens
aracl ile ana devreyi grntleme ve/veya dzenlemeyi hemen tamamlarsnz.

Logisim ktphaneleri
Her Logisim projesi, dier Logisim projeleri ierisine otomatik olarak yklenebilen bir ktphanedir:
Sadece onu bir dosyaya kaydedin ve ardndan baka bir proje ierisinde ktphaneyi ykleyin. lk
projede tanmlanan tm devreler ikinci devre iin alt devreler olarak var olacaktr. Bu zellik,
projelerde temel bileenleri yeniden kullanmanza ve favori bileenleri arkadalarnzla (yada
rencilerle) paylamanza izin verir.
Her proje, Project mensndeki Set As Main Circuit seenei aracl ile geerli devreye tekabl
edecek ekilde deitirilebilecek ekilde tasarlanm bir "ana devreye (main circuit)" sahiptir.
Bunun tek anlam, projeyi ilk atnzda grntlenecek olan ana devrenin bir tane olmasdr. Yeni
oluturulmu bir dosyadaki ("main") devrenin varsaylan adnn bir anlam yoktur ve bu devreyi
silmekte veya adn deitirmekte kendinizi zgr hissedebilirsiniz.
Yklenmi bir Logisim ktphanesi ile devreleri grmeye ve durumlarnda oynama yapmaya izin
verilmisinizdir fakat Logisim onlar deitirmenizi nleyecektir.
Eer yklenmi bir Logisim ktphanesindeki bir devreyi deitirmek istiyorsanz onu Logisim
ierisinde ayr bir ekilde amanz gerekir. Onu kaydeder etmez, dier proje modifiye edilmi
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

versiyonu hemen otomatik olarak yklemelidir; fakat eer bu olmazsa, aratrma penceresindeki
ktphane klasrne sa tula tklayp Ktphaneyi Yeniden Ykle' yi (Reload Library) seebilirsiniz.

Basit Logisim devrelerinde ou kablolar sadece bir bit tar; fakat Logisim ayn zamanda ok
miktarda bit ile paketlenmi kablolar oluturmanza izin verir. Bir kablo boyunca hareket eden
bitlerin says kablonun bit geniliidir.

Kablo Paketleri
Paketler oluturmak
Devrede her bileen zerindeki her giri ve k onunla ilgili bir bit geniliine sahiptir. Logisim' in
btnleik bileenlerinin ou onlarn giri ve klarnn bit geniliklerini uyarlamanza izin veren
znitelikleri barndrr.
Aadaki ekran grnm iki adet -bitli giriin bit bit (bitwise) AND inin bulunmas iin basit bir
devre rneklemektedir; her pin -bit veri ile uramak iin uyarlanm kendi Bit Genilii (Bit
Width) zniteliklerine sahiptirler, aynen resmedilmi AND geidi zniteliklerinde olduu gibi.

Giri ve k pinlerinin bit ile izildiine ve kn girilerin bit bit AND' i olduuna dikkat edin.
Tm giri ve k bileenleri iin kendi bit genilikleri tanmlanm olmaldr. Aksine bir kablonun bit
genilii tanmlanmamtr: Onun yerine kablonun genilii eklenecei bileenlere adapte edilir.
Eer bir kablo farkl bit genilikleri gerektiren iki bileene balanrsa Logisim "Uyumsuz
genilikler"den yaknacak ve karlk gelen yerleri turuncu ile gsterecektir. Aada k pininin Bit
Width znitelii 1' e dntrlmtr ve bu nedenle Logisim kablonun -bitlik bir deerden birbitlik bir deere balanamayacandan yaknr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Uyumsuz yerleri (turuncu ile gsterilmitir) balayan kablolar deer tamazlar.


Tek bitli kablolarda hangi deeri tadn bir bakta grebilirsiniz nk Logisim deere bal
olarak kabloyu ak veya koyu yeile boyar. ok-bitli kablolar iin deerleri grntleyemez:
Tamamen siyahtrlar. Yine de darbe aracn ( ) kullanarak ona tklayp bir kabloyu
aratrabilirsiniz.

Bu aratrma zellii, kablo paketleri kullanarak devrelerin hata denetimlerini yapmak iin
faydaldr.

Ayrclar
ok-bitli deerler ile alrken sklkla farkl bitleri farkl istikametlere gndermek isteyeceksiniz.
Base ktphanesinin ayrc arac (splitter tool) ( ) bunu gerekletirmenize olanak salar.
rnein sekiz-bitli bir giri alan ve onun iki parasnn (stteki drt bit ve alttaki drt bit) AND' ini
kartan bir devre ina etmek istediimizi varsayn. Giri pininden gelen sekiz-bit bir deerimiz
olacak ve biz bunu iki adet drt-bit deere ayrmak isteyeceiz. Aadaki devrede bunu
gerekletirmek iin bir ayrc kullandk.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bu rnekte ayrc aslnda gelen bir deeri oklu kan deerlere ayrmaktadr. Fakat ayrclar ayn
zamanda oklu deerleri tek bir deere birletirebilirler. Gerekte ynszdrler: Deerleri bir
kerede bir yne ve daha sonra dier yne gnderirler ve aadaki rnekte iki deerin saa doru
ve ortadaki deerin sola doru beslendii gibi her ikisini ayn anda da yapabilirler.

Ayrclar anlamann anahtar onlarn znitelikleridir. Aadaki split end terimi bir taraftaki oklu
kablolardan birini ima ederken combined end terimi dier taraftaki tek kabloyu kastetmektedir.

Facing znitelii split end in nerede combined end e ait olacan syler. Bu, ayrc bir kez
devreye brakldnda deitirilemez.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Fan Out znitelii ka tane split end in var olduunu belirtir. Bu, ayrc bir kez devreye
brakldnda deitirilemez.

Bit Width znitelii combined end in bit geniliini belirtir.

Bit x znitelii combined end in bit x ine hangi split end in karlk geldiini syler. Eer ayn
split end e ok bit karlk gelirse, onlarn ilgili sralamas combined end dekinin ayns olacaktr.
Logisim ayrclar, oklu split end lere karlk gelen combined end den bir bite sahip
olamazlar.
Fan Out veya Bit Width zniteliklerindeki herhangi bir deiikliin tm Bit x zniteliklerini
deitireceine dikkat edin, yle ki combined deerinin bitlerini mmkn olduunca split end lerin
arasnda eit miktarda datacaktr.

Kablo renkleri
Artk Logisim kablolarnn alabilecei tm gkkua renklerini zetleme konumundayz. Aadaki
kk devre bir kerede tmn rneklemektedir.

Gri: Kablonun bit genilii bilinmiyor. Bu, kablo herhangi bir bileenin giri ve kna
balanmadnda meydana gelir. (Tm giri ve klar tanmlanm bir bit geniliine sahiptir).

Mavi: Kablo bir-bitlik deeri tamak iindir fakat tad deer bilinmemektedir. Yukardaki
rnekte bu meydana gelmektedir nk NOT geidinin girii bilinmemektedir ve bu nedenle
k da bilinmemektedir.

Koyu yeil: Kablo bir-bitlik 0 deerini tamaktadr.

Ak yeil:Kablo bir-bitlik 1 deerini tamaktadr.

Siyah: Kablo ok-bitlik bir deer tamaktadr. Bitleri bazs veya tm belirlenemeyebilir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Krmz: Kablo bir hata deeri tamaktadr. Bu genellikle kablodaki akma deerinden dolay
meydana gelir. (Dier bir olaslk, bir ktphane bileeninin baka bir sebeple bir hata deeri
yaymas iin programlanm olmas olabilir; geri btnleik ktphanelerde hata deerleri
sadece dier hata deerlerini yaymaktan kaynaklanr). Yukardaki rnekte akmaya neden
olan kablo zerine bir 0 verilmi ve baka bir 1 verilmi bir giri pinine sahibiz. ok-bitli
kablolar, tanan bitlerden herhangi biri hata deeri olduunda krmzya dnecektir.

Portakal: Kabloya balanm olan bileenler bit genilii kabul etmezler. Portakal bir kablo
etkin bir biimde "krk"tr: birbiri arasnda deer tamaz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Kombinasyonel (Bileimsel) Analiz

Tm devreler iyi bilinen iki kategoriden birine dahildir. Bileimsel devrelerde, tm devre klar
mevcut devre girilerinin sabit bir birleimidir, sral devrelerde, baz klar son girie gre
deiir(girilerin zamanla ardkl).
Birleimsel devreler kategorisi iki tanenin daha basitidir. Pratisyenler bu tr devrelerin davrann
toparlamak iin byk teknik kullanrlar.

Mantk devreleri

Boole tanmlamas: Devrelerin nasl altnn matematiksel gsterimini verir.

Doruluk tablolar: Mmkn olan giri kombinasyonlar ve bunlarn klarnn listesi.


Bileimsel analiz modl sizin bu ifade arasnda her ynde dnm yapmanz salar. Bir
bakma tek-bit giri ve kl devre oluturmak ve anlamak iin kullanl bir yoldur

Bileimsel Analizi Amak


Bileimsel analiz modl tek bir pencereden ulalarak sizin Boole gsterimleri ve doruluk
tablolarn grmenizi salar. bu pencere iki yolla alabilir.
Pencere Mensnden
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bileimsel analizi sein ve mevcut bileimsel analiz penceresi grnr. Eer pencereyi daha nce
grmediyseniz, alan pencere hibir devre grntlemeyecektir.
Logisim de sadece bir bileimsel analiz penceresi bulunur, ka tane proje atnz nemli deildir.
ayn anda iki farkl analiz penceresi aman n hibir yolu yoktur.
Proje Mensnden
Devre dzenleme penceresinden ayn zaman da Logisim'in devreyi analiz etmesini Proje
mensnden Devreyi Analiz et opsiyonunu kullanarak isteyebilirsiniz. Pencere almadan nce
Logisim Boole gsterimlerini ve doruluk tablosunu hesaplayacak ve grmeniz iin oraya
yerletirecektir.
Analizin baarl olabilmesi iin her bir giriin giri pinine ve her bir kn da k pinine balanmas
gerekmektedir. Logisim sadece sekiz eit ve her biri tekli-pin olan devreleri analiz edecektir. Aksi
halde, bir hata mesaj alrsnz ve pencere almaz.
Bir devreye ait Boole ifade oluturmak iin Logisim nce devredeki geitlere ait Boole gsterimleri
oluturmaya alr. Fakat devre baz geitsiz bileenler kullanyorsa(oklayc gibi), ya da devre 100
seviyeden daha fazlaysa, size Boole gsteriminin karmnn mmkn olmadn syleyen bir
pencere aacakt, ve Logisim bunun yerine doruluk tablosuna dayanan bir ifade karr.
Devrenin analizinden sonra, devre ve Bileimsel Analiz penceresi arasnda hibir iliki kalmaz. Yani
devredeki deiiklikler pencereye yansmaz ya da Penceredeki Boole gsterimleri deitirmek
devreye yansmaz. Tabi ki devreyi tekrar analiz etmekte zgrsnz; ve daha sonra greceimiz
gibi, devreyi Bileimsel Analiz penceresinde grnenle deitirebileceksiniz.
Kstlamalar
Logisim ardk devreleri bulmaya almayacaktr. Eer bir ardk devreyi analiz etmesini
sylerseniz, Boole gsterimlerine bal doruluk tablosunu oluturur, Ama bu tm devrelerin
toplam davrann gstermez.(gerekte ardk devreleri alglamak imkanszdr. Tabi ki Logisim'in
en aznda bir bir teebbste bulunmasn umuyorsunuzdur- belki kablolardaki flip-flop ya d
dnglere baklmasn- ama yapmaz.) Sonu olarak, Bileimsel Analiz gelii gzel bir ekilde
kullanlmamaldr. Sadece analiz ettiinin devre bileimsel olduu zaman kullanmalsnz.
Logisim beklenmedik ekilde orijinal devrede deiiklik yapacaktr: Bileimsel Analiz sistemi her bir
giri ve kn Java tanmlayclarna uygun kendine zg bir ismi olmasn gerektirir.(Kabaca, herbir
karakter harf yada say olmaldr, ve ilk karakter harf olmaldr. Boluklara izin verilemez.) Pinlerin
mevcut etiketlerini kullanmaya alr, etiket yoksa n tanml listeden kullanr. Eer mevcut etiket
Java tanmlamalarna uymuyorsa Logisim eer mmknse etiketten doru ismi karmaya
alacaktr.
Bu arada, doruluk tablosundaki giri klarn sralamas devredeki yukardan aaya sralamayla
eleir, balantlar soldan saa doru krlr. (Ayn ey klara da uygulanr)
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Doruluk tablosunu dzenlemek


Bileimsel analiz penceresini atnzda, be sekmeden olutuunu greceksiniz.

Bu sayfa ilk sekmeyi aklar, Giri, k ve Tablo. Klavuzun sonraki sayfas son iki sekmeyi
aklar, fade ve Kltlm.
Giri ve k sekmeleri
Giri sekmeleri size girileri grntleme ve dzenleme izni verir. Yeni giri eklemek iin, onu
panelin altndaki alana yazn, ve Ekle dmesine basn. Eer var olan bir giriin ismini deitirmek
istiyorsanz, panonu sol stndeki listeden sein ve ismi yazarak Yeniden Adlandr dmesine
basn.
Bir girii kaldrmak iin, listeden sein ve Kaldr dmesine basn. Giri zerinde Aa al ve Yukar al
dmeleriyle girileri yeniden sralayabilirsiniz.(Doruluk tablosundaki kolonlara ve devreye etki
eder)
Tm ilemler annda doruluk tablosuna etki eder.
k sekmeleri de giri sekmeleriyle ayn ekilde ilev yapar, sadece k listesiyle yaplr.
Tablo Sekmesi
Tablo sekmesindeki tek ey o anki doruluk tablosudur. giriler sol kolonu olutururken klar sa
kolonu oluturur.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

k stunundaki deerleri dzenlemek iin ilgilendiini deerin zerine tklamalsnz. deerle 0, 1


ve x("nemli deil" belirtir). Bir sonraki sayfada greceiniz gibi, her hangi bir "nemli deil" deeri
kltlm ifadelerin bir esnekli kazanmasn salar.
Klavye kullanarak ta doruluk tablosunu dzenleyebilirsiniz. Deerleri panoyu kullanarak
kopyalayp yaptrabilirsiniz. Pano sekme-ayral yaz destekleyen herhangi bir uygulamaya
gnderilebilir.
Eer doruluk tablosu mevcut bir devreye dayalysa, ierisinde "!!" ile beraber pembe kareler
grrsnz. Bu o satrn hesaplanmasnda hata olduunu gsterir, ya da devre salnm yapyordur,
ya da k deeri hatadr(Logisim devresinde krmz kablo ile gsterilir). Fareyi bu giriin zerine
getirdiinizde hatann ne tr olduunu gsteren bir ara kar. Bir kere bunun zerine tklarsanz 01-x dngsne gidersiniz ve bundan geri dn yoktur.

fade Oluturmak
Her bir k deikeni iin Bileimsel Analiz penceresi iki yap gsterir - doruluk tablosunun ilgili
stunu ve Boole ifadesi - her bir kn kendi giriine bal olduunu gsterir. Doruluk tablosunu
ya da ifadeyi dzenleyebilirsiniz, dieri tutarll salamak iin annda deitirilir.
Sonraki sayfada greceimiz gibi, Boole ifadeler nemlidir nk Bileimsel Analiz penceresi o anki
duruma gre devre olutururken bunlar kullanr.
fadeleri pencerenin son sekmesini kullanarak dzenleyebilirsiniz, fade sekmesi ve Kltme
sekmesi.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

fade sekmesi

fade sekmesi her bir k deeriyle ilikili gsterimi dzenlemenizi salar. Grntlemek
istediiniz k gsterimini seebilirsiniz ve "k:" olarak etiketlendirilmi seiciyi kullanarak
dzenleyebilirsiniz.
Seicinin altnda genel formatnda ifade belirir, OR da ek olarak gsterilir, ve AND oaltma olarak
gsterilir, ve NOT parann zerinde bir bar olarak gsterilir.
Yaz levhas ayn bilgiyi ASCII biimde gsterir. burada, NOT tilde(~) iareti ile gsterilir.
Yaz levhasndaki gsterimi deitirdikten sonra ENTER e basarak deiikliin olmasn
salayabilirsiniz, bunu yapmak ayn zaman da doruluk tablosunu da gncelleyecektir. Temizle
dmesi yaz levhasn temizler, evir dmesi o anki gsterimi sunmak iin levhann arkasn
evirir.
Unutmayn, doruluk tablosunu dzenlediinizde deitirdiiniz gsterimler kaybedilecektir.
AND ve OR oklama ve eklemelerine ek olarak, yazdnz ifade C/Java mantksal operatrleri
ierebilir.
Aadaki rneklerin hepsi ayn gsterimin geerli yazlmlardr. Operatrleri kartrmanzda
mmkndr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Genelde, ardk AND ler (OR lar ya da XOR lar) deki parantezler sorun deildir.(Logisim belirtilen
devreyi olutururken parantezleri nemsemeyecektir)
Kltlm sekme

Son sekme doruluk tablosundaki stuna gre kltlm tm rn toplam gsterimini


grntler. Yukardaki seiciyi kullanarak kltlm gsterimini grntlemek istediiniz k
seebilirsiniz.
Eer drt ya da daha az giri varsa, deikene ait bir Karnaugh haritas seicinin altnda belirir.
Karnaugh haritasna tklayarak ait olduu doruluk tablosu verisini deitirebilirsiniz. Karnaugh
haritas ayn zaman da kltlm gsterimlere ait terimleri yar transparan keli drtgenler
ierisinde gsterecektir.
Eer drtten ok giri varsa, Karnaugh haritas grntlenmez; ama kltlm ifade hala
hesaplanr. (Logisim hesaplama iin Quine-McCluskey algoritmas kullanr. Bu Karnaugh haritasna
eittir, ama herhangi bir sayda girie uygulanabilir.)

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

fade Olarak Ayarla dmesi sizin seili kltlm gsterimi deikene ifade olarak atamanz
salar. bu genelde gerekli deildir, ama gsterimi direk fade Sekmesinden girerseniz, bu o
kltlm gsterimler arasnda gei yapmak iin iyi bir yol olabilir.

Devre retmek
Devre olutur dmesi her bir ka ait geitlerin olduu bir devre oluturur. Devrenin giri ve
klar yukardan aaya bir sralamada gsterilir, Giri ve k sekmelerinde ki sralaryla.
Genelde oluturulmu bir devre hakknda konumak etkileyicidir ve Logisim'in Bileimsel Analiz
modl kt izilmi devreleri gzelletirir. Ama otomatik dzenleni bir devrede, insan izimi bir
devredeki yapsal detaylar ifade edemez.
Devre Olutur Dmesine tkladnzda size devrenin hangi projeye ait olduunu ve vermek
istediiniz ismi semenizi salayan bir kutu gelecektir. Eer var olan bir devrenin ismini yazarsanz
devre deitirilir. (Logisim sizin bunu gerekten yapmak istediinizi onaylamanz ister.)
Devre Olutur diyalogu iki seenek ierir. Sadece ki-Girili Geit Kullan seenei oluturacanz
geitlerin iki girilerinin olacan gsterir. (NOT geitleri, tabi ki bunun dndadr) Sadece NAND
Geitleri kullan seenei devreyi NAND geidi kullanan biime dntrmek istediinizi gsterir.
Sadece iki girili NAND geitler istiyorsanz her iki seenei de seebilirsiniz.
Logisim herhangi bir XOR operatr ieren bir NAND devresi oluturamaz. XOR ieren herhangi bi
k ifadesi iin bu seenek etkin deildir.

Men Referans
Bu ksm, balca tm Logisim penceresine elik eden alt meny aklar.
File mens

New: Yeni bir pencerede yeni bir proje aar. Proje balangta mevcut seilmi kalbn bir
kopyas olacaktr.

Open: Yeni bir pencerede bir proje eklinde var olan bir dosyay aar.

Logisim in 1.0X versiyonunda kaydedilmi dosyalar aabilirsiniz fakat karmak devrelerde baz
ufak dnm problemleri olabilir. Bilhassa ounlukla Logisim 1.0X alt devre konumlarn ok
farkl bir yolla hesaplar ve el ile tm devreyi kontrol edip alt devreleri doru yerlerine
tamanz gerekecektir.

Close: Hali hazrda grntlenen proje ile ilgili tm pencereleri kapatr.

Save: Hali hazrda grntlenen projeyi daha nceki dosyann zerine yazarak kaydeder.

Save As: Hali hazrda grntlenen projeyi kullancya farkl bir dosya ierisine kaydetmesini
syleyen bir uyar grntleyerek kaydeder.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Export As GIF: Devrelere karlk gelen GIF resmi(leri) oluturur. Konfigrasyon diyalog kutusu
aada tanmlanmtr.

Print: Devreyi(leri) bir yazcya gnderir. Konfigrasyon diyalog kutusu aada tanmlanmtr.

Preferences: uygulama_seenekleri (application preferences) penceresini gsterir. (Mac OS


sistemlerinde bu Logisim mensnde grnecektir).

Exit: Hali hazrda tm ak projeleri kapatr ve Logisim'den kar. (Mac OS sistemlerinde bu


Logisim mens ierisinde Quit eklinde grnecektir).

Export u konfigre etmek


Export As GIF i setiinizde Logisim seenekli bir diyalog kutusu grntler.

Circuits: GIF dosyasna dntrlmesi gereken bir yada birden ok devreyi seebileceiniz bir
listedir. (Bo devreler seenek olarak grntlenmez).

Scale Factor: Bu kaydrcy kullanarak GIF dosyalar ierisine atldklar gibi resimleri
lekleyebilirsiniz.

Printer View: Devreleri export ederken yazc grnmn kullanmak iindir.


OK e tkladktan sonra Logisim bir dosya seim diyalog kutusu grntleyecektir. Eer bir adet
devre seerseniz, GIF in yerletirilecei dosyay sein. Eer birden ok devre seerseniz, dosyalarn
yerleirilecei bir klasr sein; Logisim devrelerin adlarna bal olarak resimleri adlandracaktr.

Print'i konfigre etmek


Print'i setiinizde Logisim neyin yazdrlacan konfigre etmek iin bir diyalog kutusu grntler.

Circuits: Yazdrlacak bir yada birden ok devreyi seebileceiniz bir liste. (Bo devreler
seenek olarak grntlenmez). Logisim her sayfaya bir devre yazdracaktr. Eer devre sayfa
iin ok byk ise resim kltlerek sdrlacaktr.

Header:Her sayfann stnde ortalanm bir ekilde grnmesi gereken metin. Aadaki yer
deitirmeler metin ierisinde yaplacaktr.

%n Sayfa zerindeki devrenin ad


%p Sayfa numaras
%P Toplam sayfa says
%% Tek bir yzde iareti ('%')
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Rotate To Fit: Eer seilirse, Logisim sayfaya sdrlamayacak kadar byk bir devre
olduunda her devreyi 90 derece dndrecektir ve 90 derece dndrldnde kltlmeye
ihtiyac yoktur.

Printer View: Devreleri yazdrrken yazc grnmn kullanmak iindir.


OK e tkladktan sonra Logisim devreleri yazdrmadan nce standart sayfa yaps (page setup)
diyalog kutusunu grntleyecektir.

Edit mens

Undo XX: ok yaknda tamamlanm eylemi geri almak bir dosyada devrenin nasl
kaydedileceini etkilemektedir. Bunun devrenin durumunu deitirmeyi iermediine dikkat
edin (el ile iletmenin Poke Tool ile gerekletirildii gibi).

Cut: Devrede ierisinden hali hazrda seilmi bileenleri Logisim'in panosu zerine kaldrr.
Not: Logisim'in panosu tm sistemin panosundan ayr bir ekilde dnlmtr; sonu olarak
kes/kopyala/yaptr farkl uygulamalar karsnda almayacaktr, hatta Logisim in dier
alan kopyalar dahil. Bununla birlikte eer benzer Logisim ilemi altnda ok sayda projeniz
ak ise onlar arasnda kes/kopyala/yaptr yapabilirsiniz.

Copy: Devredeki hali hazrda seilmi bileenleri Logisim'in panosuna kopyalar. (Cut men
maddesi altndaki nota baknz).

Paste: Logisim'in panosu zerindeki bileenleri mevcut seim ierisine yaptrr. (Cut men
maddesi altndaki nota baknz).

Bileenleri yaptrdnzda hemen braklmayacaklardr; onun yerine, ak gri ekilde


izileceklerdir. Bileenler artk onun ierisinde olsun diye seimi tayana yada deitirene
kadar tam olarak "braklmayacaklardr".Bu tek davrann sonucu budur: Dier davranna
uygun olmas iin Logisim onlar devreye braklana kadar tm kablolar hemen birletirmelidir;
bu birletirme ilemi devrede varolan kablolar deitirir. Oysa panodan kablolar
yaptrdnzda onlar farkl bir yere yerletirebilirsiniz ve birletirme ilemindeki doal
deiim dncelerinize zt olacaktr.

Delete: Mevcut seiminizdeki tm bileenleri devreden kaldrr.

Select All: Mevcut devredeki tm bileenleri seer.

Project mens

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Add Circuit: Mevcut proje ierisinde yeni bir devre ekler. Logisim yeni devreye isim vermenizi
srar edecektir. Ad projede var olan devrelerden herhangi biri ile uyumamaldr.

Load Library:Projeye bir ktphane ykler. Kullanm Klavuzunun baka bir yerinde (elsewhere
in the User's Guide) akland gibi tr ktphane ykleyebilirsiniz.

Unload Libraries: Devreden mevcut ktphaneleri kaldrr. Logisim hali hazrda kullanlan
herhangi bir proje devresinde grnen bileenleri ieren ktphaneleri barndran herhangi bir
ktphaneyi kaldrmanza izin vermeyecektir ta ki onlar aralarla birlikte ara ubuu
ierisinde yada fareye uygulanm biimde grnene kadar.

Analyze Circuit: Mevcut devreye karlk gelen bir doruluk tablosu ve Boole ifadelerini onlar
Kombinasyonel Analiz penceresinde (Combinational Analysis window) grntleyerek
hesaplar. Analiz ilemi sadece kombinasyonel devreler iin geerli olacaktr. Analiz ileminin
tam bir aklamas Kombinasyonel Analiz blmnde (in the Combinational Analysis section)
tanmlanmtr.

Rename Circuit: Hali hazrda grntlenen devrenin adn deitirir.

Set As Main Circuitt: Hali hazrda grntlenen devreyi projenin "ana devresi" olarak ayarlar.
(Bu men maddesi, eer mevcut devre zaten projenin ana devresi ise griye boyanacaktr). Ana
devrenin tek nemi, proje dosyas aldnda bu devrenin ilk grnen devre olmasdr.

Remove Circuit: Hali hazrda grntlenen devreyi projeden kaldrr. Logisim, alt devre olarak
kullanlan devreleri ve bir projedeki son devreyi kaldrmanz engelleyecektir.

Options: Proje Seenekleri penceresi (Project Options window) ni aar.

Simulate mens

Simulate Enabled: Devreler iaretlendiinde "canl" olarak grneceklerdir: Yani, devre


boyunca retilen deerler her darbe ile yenilenecek yada devrelere geecek. Men seenei
eer devre salnm (circuit oscillation) alglanrsa otomatik olarak iareti kaldrlacaktr.

Reset Simulation: Mevcut devrenin durumu hakkndaki her eyi siler, yle ki tekrar dosyay
amsnz gibidir. Eer bir alt devrenin durumunu grntlyorsanz tm hiyerari silinir.

Go Out To State: Alr mens araclyla bir alt devrenin durumunu aratrdnzda (delve
into a subcircuit's state) bu men hali hazrda grntlenen devrenin durumu stndeki
devreleri listeler. Biri semek karlk gelen devreyi grntler.

Go In To State: Eer bir alt devrenin durumunu aratrdysanz ve ardndan geriye


dndrdyseniz, bu men mevcut devrenin altndaki alt devreleri listeler. Devrelerin birini
semek karlk gelen devreyi grntler.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Tick Once: Simlasyonu bir tklama ileri admlar. Bu, saatleri el ile admlamak istediinizde
kullanl olabilir, zellikle hali hazrda grntlediiniz devre saat ile ayn devrede
olmadnda.

Ticks Enabled: Saati otomatik olarak tklamay balatr. Bu sadece, devreler herhangi bir saat
aygt (Base ktphanesinde) ierdiinde etkili olacaktr. Seenek varsaylan olarak
kapatlmtr.

Tick Frequency: Ne kadar sklkla saniye meydana geleceini semenize izin verir. rnein, 8
Hz in anlam bir saniyede sekiz kez tklama meydana gelecek olmasdr. Bir tklama saat hz iin
lmn taban birimidir. Saat dng hznn tklama hzndan yava olacana dikkat edin: En
hzl olas saat, bir-tklama yukar dng bir-tklama aa dngye sahip olacaktr; byle bir
saat tklamalar 8 Hz de meydana geldiinde 4 Hz yukar/aa dng oranna sahip olacaktr.

Logging: Bir simlasyon ilemi gibi bir devredeki deerleri otomatik olarak not etmeyi ve
kaydetmeyi gerekletiren gnlk tutma modlne (logging module) girer.

Window mens

Minimize: Mevcut pencereyi kltr (ikonlatrr).

Zoom: Mevcut pencereyi tercihli boyutuna yeniden boyutlandrr.

Combinational Analysis: Mevcut Kombinasyonel Analiz (Combinational Analysis) penceresini


herhangi bir ieriini deitirmeden gsterir.

individual window titles: Kendi penceresini ne getirir.

Help mens

Tutorial: Logisim Kullancs Olma Rehberinin (Guide to Being a Logisim User) `Balayanlar iin
Klavuz ((Beginner's Tutorial)' blm iin online sistemi aar.

User's Guide: Logisim Kullancs Olma Rehberi (Guide to Being a Logisim User)iin online
yardm sistemini aar.

Library Reference: Ktphane Referans (Library Reference)iin online yardm sistemini aar.

About: Balang ekran ierisine yerletirmi versiyon numarasn ieren bir ekran grntler.
(Mac OS sisteminde bu men Logisim mens altndadr)
ou men maddesi zellikle mevcut alm projeyle ilgilidir. Fakat baz Logisim pencereleri
(zellikle Kombinasyonel Analiz penceresi ve Uygulama Seenekleri penceresi) proje ile ilgili
deildir. Bu pencereler iin projeye-zel men maddeleri kapatlacaktr.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Hafza Bileenleri
RAM ve ROM bileenleri Logisim'in btnleik ktphanelerinde ok faydal iki bileendir. Ancak
onlar depolayabildikleri bilginin hacmi nedeni ile ayn zamanda ok karmak bileenlerden iki
tanesidir.
Devre ierisinde nasl alacaklar hakkndaki dokman Ktphane Referansnn (Library
Reference) RAM ve ROM sayfalarnda bulunabilir. Kullanm Klavuzunun (User's Guide) bu blm,
kullancnn hafza ieriini grntleme ve dzenlemesine izin veren arayz aklar.

Hafzay darbeleme (poking memory)


Darbe Aracn (Poke Tool) kullanarak hafzann ieriklerini ynetebilirsiniz fakat bunun arayz
boluk snrlamalarna iddetle duyarldr: Basit dzenlemeden daha ou iin entegre hex
editrn muhtemelen daha kullanl bulabilirsiniz.
Bununla beraber devredeki deerleri grntlemek ve dzenlemek iin Darbe Arac iki ileyi
moduna sahiptir: Grntlenen adresi dzenleyebilir ve kiisel bir deeri dzenleyebilirsiniz.
Grntlenen adresi dzenlemek iin ekran dikdrtgeninin dna tklayn. Logisim stteki adresin
evresinde krmz bir dikdrtgen izecektir.

Hexadecimal saylar yazmak stteki adresi deitirecektir.

Enter tuuna basmak bir satr aaya kaydracaktr.

Backspace tuuna basmak bir satr yukar kaydracaktr.

Boluk tuuna basmak bir sayfa (drt satr) aa kaydracaktr.


Belirli bir deeri dzenlemek iin ekran dikdrtgeni ierisindeki deere tklayn. Logisim adresin
etrafnda krmz bir dikdrtgen izecektir.

Hexadecimal saylar yazmak hali hazrda dzenlenen adresteki deeri deitirecektir.

Enter tuuna basmak ekranda (bir satr aa) onun hemen altndaki deeri dzenlemek iin
hareket ettirecektir.

Backspace tuuna basmak bir nceki adresteki deeri dzenlemek iin hareket ettirecektir.

Boluk tuuna basmak aadaki adresteki deeri dzenlemek iin hareket ettirecektir.

Alr menler ve dosyalar


Hafza iin alr men tm bileenlerin gelen seeneklerine ek olarak drt seenek ierir:
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Edit Contents: Hafzann ieriklerini dzenlemek iin bir hex editr getirir.

Clear Contents: Hafzadaki tm deerleri 0 a ayarlar.

Load Image: Aada tanmlanm format kullanarak bir dosya ierisinde bulunan deerlere
bal olarak hafzadaki tm deerleri sfrlar.

Save Image: Aada tanmlanm format kullanarak bir dosya ierisine hafzadaki tm
deerleri depolar.
Resim dosyalar iin kullanlan dosya format kastl olarak basittir; bu rnein hafzaya
yklenebilen hafza resimlerini reten bir evirici gibi bir program yazmanza izin verir. Bu dosya
formatna bir rnek olarak, eer ilk be byte 2, 3, 0, 20 ve -1 olan ve tm dier deerleri 0 olan bir
256-byte lk hafzamz varsa resim aadaki metin dosyas olacaktr.
v2.0 raw
02
03
00
14
ff

lk satr kullanlan dosya formatn tanmlar (hali hazrda sadece bir dosya format grlmektedir).
Dier deerler adres 0 dan balayarak deerleri hexadecimal listeler; ayn satr zerine bu ekilde
farkl deerler yerletirebilirsiniz. Logisim dosyada listelenmeyen dier deerleri sfr varsayacaktr.
Resim dosyas alma-uzunluu (run-length) kodlamas kullanr; rnein, bir stunda onalt kez 00
deerini listelemek yerine dosya 00 onalt kez tekrarlamaktan ziyade 16*00 ierebilir. Tekrarlama
saysnn 10 tabannda yazldna dikkat edin. Logisim tarafndan retilen dosyalar, en az drt
deerin almas iin alma-uzunluu kodlamasn kullanacaktr.

Hex editr
Logisim, hafzann ieriklerini grntlemek ve dzenlemek iin entegre bir hex editrn
barndrr. Ona erimek iin, hafza bileeninin alan mensn bytn ve Edit Contents i sein.
znitelik deerinin bir paras gibi hafza ieriklerine sahip olan ROM bileenleri iin, karlk gelen
znitelik deerine tklayarak alternatif bir ekilde hex editrne eriebilirsiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Hafza adresinin sol ekranndaki italik saylar hexadecimal olarak yazlmtr. Dier saylar bu hafza
adresinden balayan deerleri grntler; hex editr pencereye ne kadar sacana bal olarak
bir satrda drt, sekiz yada onalt deer grntleyebilir. Saymaya yardmc olmak iin her drt
deerli grup aralarnda byk bir bolua sahiptir.
Kaydrma ubuu yada klavyeyi (ok tular, home, end, page up ve page down) kullanarak hafza
boyunca aratrma yapabilirsiniz. Hexadecimal karakterler yazmak hali hazrda seilmi deeri
deitirecektir.
Fareyi srkleyerek, fareye shift-tklayarak yada shift tuuna basl tutarken klavye ile hafza
boyunca aratrma yaparak deerlerin araln seebilirsiniz. Deerler Edit mens kullanlarak
kopyalanabilir ve yaptrlabilir; pano ayn zamanda dier uygulamalara transfer edilebilir.
Byk bir devreyi test ederken ve bir devrenin davrann dokman haline getirmek iin devre
davrannn gemiteki bir gnl. Bu, deerleri gnle kaydedilecek bileenleri semenize izin
veren Logisim'in gnlk tutma modlnn amacdr; opsiyonel olarak gnln kaydedilecei bir
dosyay belirleyebilirsiniz.
Not: Gnlk tutma modl alfa fazndadr; delice olabilir ve gelecekteki anlaml deiikliklere
tabidir. Hata raporlar ve fikirler tm Logisim iin scak karlanrken, onlar zellikle bu nispeten
yeni zellikle ilgili olarak ho karlarlar. Eer yorumlarnz gndermezseniz byk ihtimalle
deimeyecektir.
Simlate mensnden Logging seenei araclyla gnlk tutma modlne girebilirsiniz.
sekmeli bir pencere getirir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Gnlk Tutma (Logging)

Bu sekmelerin her birini ayr bir ekilde inceleyeceiz.

Selection sekmesi
Selection sekmesi gnlkte hangi deerlerin barndrlacan semenize izin verir. Aadaki
pencere takip eden devreye karlk gelmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Sekme dikey alana blnmtr. lki (en soldaki), deerlerinin gnl tutulaca devredeki tm
bileenlerin bir listesidir. Btnleik ktphaneler arasnda bileenlerin aadaki trleri gnlk
tutmay destekler.
Base ktphanesi: Pin, Probe ve Clock bileenleri
Memory ktphanesi: Tm bileenler
Etiketleriyle birlikte olan bileenler iin isimleri etiketlerine karlk gelir; dier bileenlerin adlar
devredeki trlerini ve yerlerini belirtir. Herhangi bir alt devre de listede grnecektir; gnlk
tutmak iin seilecezler; fakat ierilerindeki geerli bileenler seilebilir. RAM bileeninin gnl
tutulacak hafza adresini(lerini) semenizi gerektirdiine dikkat edin; RAM sadece ilk 256 adresin
gnl tutulmasna izin verir.
Son (en sadaki) dikey alan seilmi olan bileenleri listeler. Ayn zamanda o, bileenin ok-bitli
deerlerinin gnlnn tutulaca yerin kkne (tabanna) iaret eder; kkn bir-bitli deerler
zerinde anlaml bir etkisi yoktur.
Tularn orta stunu, seimdeki maddelerin iletilmesine izin verir.

Add: sol tarafta hali hazrda seilmi maddeyi(leri) seim ierisine ekler.

Change Radix: 2 (iki tabannda-binary), 10 (on tabannda -decimal-) ve 16 (onalt tabanndahexadecimal) arasndaki seimde hali hazrda seilmi bileen iin kk dndrr.

Move Up: seimdeki hali hazrda seilmi bileeni bir nokta ileri hareket ettirir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Move Down: seimdeki hali hazrda seilmi bileeni bir adm geri hareket ettirir.

Remove: seimdeki hali hazrda seilmi bileeni kaldrr.

Table sekmesi
Table sekmesi mevcut gnl grafiksel olarak grntler.

Tablo seimdeki her bileen iin bir stun ierir. Seimdeki her satr, deerlerin oalmas
tamamlandktan sonra simlasyonun bir fotorafn grntler. Tekrarlanan herhangi bir satr
gnle eklenmez. Sadece en yeni 400 satrn grntlendiine dikkat edin. Baz satrlar, karlk
gelen bileen satr hesapland anda seimde olmadnda bo girdilere sahip olabilir.
Grntlenen tablo sadece gzden geirmek iindir; interaktif deildir.

File sekmesi
File sekmesi, gnln ierisine yerletirilecei bir dosyay belirlemenize izin verir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

stteki, dosya gnl tutma ilemi alyorken ve dme onu aktifletirirken yada
pasifletirirkenki durumu gsteren bir gstergedir. (Aada bir dosya seilene kadar onu
aktifletiremeyeceinize dikkat edin). Dme dosya giriini durdurmanza ve yeniden balatmanza
izin verir. Dier bir simlasyonu grntlemek iin proje penceresinde gei yaptnzda dosya
gnl tutma ilemi otomatik olarak durdurulur; orijinale dndnzde ve gnlk tutma
ileminin devam etmesini istediinizde, yukardaki dmeyi kullanarak el ile dosya gnl tutma
ilemini tekrar aktif hale getirmeniz gerekecektir.
Ortadaki hangi dosyann gnlnn tutulduunun bir gstergesidir. Onu deitirmek iin Select...
dmesini kullann. Bir dosyay seerken dosya gnl tutma ilemi otomatik olarak balayacaktr.
Eer daha nceden var olan bir dosyay seerseniz, Logisim size dosya zerine kaydedilip
edilmeyeceini yada dosyann sonuna yeni girdilerin eklenip eklenmeyeceini soracaktr.
Alttaki ile hangi maddelerin seildiini gsterecek ekilde dosya ierisine bir balk satr yerletirilip
yerletirilmeyeceini kontrol edebilirsiniz. Eer balk satrlar eklenirse, yeni bir balk satr seim
her deitiinde dosya ierisine yerletirilecektir.

File format
Girdiler, Table sekmesi altnda tam olarak ne grneceine karlk gelen sekme-listesi formatnda
dosya ierisine yerletirilir. (Tek fark herhangi bir balk satrnn alt devrelerde bulunan bileenlere
tam yol verecek olmasdr). Format kastl olarak basittir yle ki Python/Perl scripti yada bir excel
program gibi almas iin baka bir program ierisine onu ekleyebilirsiniz.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim alt srada bir script dosyay altrabilsin diye Logisim her 500 ms de bir disk zerine
yeni kaytlar yazacaktr. Logisim'in ayn zamanda, simlasyon esnasnda zellikle birka saniye
getikten sonra herhangi bir yeni kayt eklenmediinde dosyas aralkl olarak kapatp daha sonra
tekrar-atna dikkat edin.
Logisim konfigrasyon seeneklerinin iki kategorisini destekler: uygulama seenekleri (application
preferences) ve proje seenekleri (project options). Uygulama seenekleri, tm ak projeleri
kapsayan seenekleri adres gsterir, oysa proje seenekleri bir proje ile ilgilidir. Bu blm
uygulama seeneklerini tartmaktadr; proje seenekleri (project options baka bir blmde
tartlmaktadr.
File mensnden (yada Mac OS sisteminde Logisim mens altndan) Preferences seenei aracl
ile uygulama seeneklerini grebilir ve dzenleyebilirsiniz, iki sekmeli bir pencere belirecektir. Bu
iki sekmeyi ayr ayr tartacaz ve ardndan komut satrndan seeneklerin nasl konfigre
edilebileceini greceiz.

Uygulama Seenekleri
Template sekmesi

Bir ablon(template), Logisim yeni bir proje oluturduunda bir balama noktas gibi kullanlan bir
Logisim dosyasdr. Ayrca garip bir ekilde konfigre edilmi ortam ile var olan bir Logisim
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

dosyasna sahipseniz, Proje Seeneklerini (Project Options) dzenlemek iin penceredeki Revert All
To Template dmesini kullanarak ortam "bataki konumuna getirebilirsiniz (reset)".
ablonlar dier durumlarda da faydal olmalarna ramen, onlar bir retmenin rencilerine
ondan itibaren balamalar iin datmay isteyebilecei bir ablonun olduu snf kullanm iin
zellikle uygundur. zellikle snfta Logisim, basit olan standart konfigrasyon ok basit kaldnda
daha gelimi zellikleri ile youn olarak kullanlrsa bu durum olabilir. Panolar, ortam nemli bir
ekilde dzenlemi bir renci tarafndan gnderilen bir dosyay retmen aarken, snf
erevesinde de faydal olabilir.
Varsaylan olarak "Plain Template" seenei, Logisim ile tanan varsaylan ablonu kullanarak seili
olacaktr. Sade-kemik konfigrasyonu istiyorsanz "Empty Template" i seebilirsiniz. Fakat ablon
olarak kullanmak iin baka dosya tasarlamak istiyorsanz Select dmesi aracl ile bir ablon
sein ve ardndan "Custom Template" seeneini sein.

International sekmesi
Bu tercihler Logisim'in birok lkede kullanlmasna izin veren seenekleri destekler.

Sekme seenek barndrr.

Language: Dili deitirir. Mevcut versiyon ngilizce ve spanyolca eviri ile desteklenmitir.
spanyolca eviri spanya'dan Pablo Leal Ramos tarafndan balanmtr. Logisim'in dier
dillere evirilerini ho karlyorum! Eer ilgileniyorsanz benimle yani Carl Burch ile iletiime
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

gein. Bu bir taahht olmayacaktr: lgilendiinizi duymaktan mutlu olacam ve eer oktan
onun zerinde alan bir kii biliyorsam sizi bilgilendireceim, sizin iin alabileceiniz bir
versiyon hazrlayacam ve size talimatlar gndereceim. eviri ilemi Java dan anlamay
gerektirmez.

Replace Accented Characters: Baz platformlar 7-bitli ASCII karakter setinde grnmeyen
karakterler iin (rnein veya ) zayf destee sahiptir. aretleme kutucuu mevcut dilin
herhangi bir eiti var olmadnda (ngilizce gibi) pasifletirilir.

Shaped Gates: Mantk geitlerini izmek iin balca iki standart vardr: biimli
(shaped) ve dikdrtgen (rectangular) geitler. Aadaki tablo ayrm tanmlar.

(Bazlar bunlarn U.S. ve European sitilleriyle ilgilenirler; Geri ben bu terminolojiyi onaylamyorum
nk o dnyann her blgesinin kendi standardn bulmasn tavsiye ediyor ve bu Logisim iin
nemli problemler karacaktr!)
Logisim tam olarak her iki standard da izlememektedir; birbirleri arasnda geie izin vermek iin
aradaki topraklamay ynetir. Bilhassa biimli geitler, konu ile ilgili IEEE standard tarafndan
tanmlanm boyutlardan ok daha fazla karedir. Ve, XOR ve XNOR geitleri gerekte dikdrtgen
modelli OR ve NOR geitleriyle benzer genilikte olmas gerekirken biimli-XOR geidinin sktrma
zorluu nedeniyle deildirler.
Hali hazrda dikdrtgen OR geidi, yukarda uygun etiket tanmlanmasndan ziyade ">0" etiketi ile
izilmitir nk ou platform hala tam olarak Unicode karakter setini desteklemez.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Proje Seenekleri
Logisim konfigrasyon seeneklerinin iki kategorisini destekler: uygulama tercihleri (application
preferences) ve proje seenekleri (project options). Uygulama seenekleri, tm ak projeleri
kapsayan seenekleri adres gsterir, oysa proje seenekleri bir proje ile ilgilidir. Bu blm proje
seeneklerini tartmaktadr; uygulama seenekleri (application preferences) baka bir blmde
tartlmaktadr.
Project mensnden Options seenei aracl ile proje seeneklerini grebilir ve
dzenleyebilirsiniz. O drt sekmeye sahip Options penceresini getirir.

Bu sekmelerin her birini ayr ayr tartacaz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Canvas sekmesi
Canvas sekmesi devre izim alannn grnmnn konfigrasyonuna izin verir.

Alt seenek vardr.

Printer View: Onay kutusu yazcda grntlendii ekilde ekranda devrenin grntlenmesini
belirler. Normalde Logisim devreyi mevcut devre durumunun iaretleriyle birlikte ekranda
grntler ve bileen arayz hakknda baz ipular grntler (zellikle OR geitleri zerine
onlarn nereye balanacan belirtmek iin bacaklar izer). Geri yazc grnm durum
iaretlerini ve bu ekildeki arayz ipularn atlar.

Show Grid: Onay kutusu zgara boyutunu gstererek arka planda noktalarn izilip
izilmeyeceini belirler.

Show Attribute Halo: Onay kutucuu nitelik arac evresine silik oval eklin mi yoksa nitelik
tablosunda gsterilen nitelie sahip aracn m izileceini belirler.

Show Ghosts: Onay kutucuu fare alma alannn zerinde dolatrldnda bileenin hafif-gri
d hatlarnn eklenip eklenmeyeceini belirler. rnein, eer AND geit aracn seerseniz ve
fareyi pencerede hareket ettirirseniz (tua basmadan), tkladnzda AND geidinin grnecei
yerde AND geidi evresinde gri bir d hat izilecektir. Onay kutucuunu iaretlememek bu
ilevi etkisiz hale getirir.

Show Component Tips: Onay kutucuu fare bileeninin zerinde gezdirildiinde "ara
ipular"nn geici olarak grntlenip grntlenmeyeceini belirler. rnein, eer fareniz alt
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

devre bileeni pininin zerindeyse, bu size o alt devredeki pinin etiketini grntleyecektir - ya
da etiketi olmayan alt devrenin ismini gsterir. Fareyi splitter'n sonlarndan bir tanesi
zerinde gezdirmek bu sona ait bitleri syleyecektir. Ek olarak, Memory ve Plexers
ktphanelerindeki tm bileenler ipular aracl ile size giri ve klar hakknda bilgi
sunacaktr.

Zoom Factor: Resmi belli bir oranla "bytmenizi" salar. Bu seenek daha ok canl snf
gsterimlerinde ekrann snfn arkalarndan grnmesi asndan znrlnn az olduu
zamanlar iin dnlmtr.

Simulation sekmesi
Simulation sekmesi, devreleri simle etmek iin kullanlan algoritmay konfigre etmeye izin verir.
Bu parametreler ayn pencerede simle edilen tm devrelere hatta proje ierisinde dier
ktphanelerde yklenmi olarak var olan devrelere de uygulanr.

Add Noise To Component Delays: Onay kutucuu bileenlerin gecikmelerine


eklenecek rasgele grlty etkinletirir yada kaldrr. sel simlasyon gizli bir saat
kullanr ve biraz gereki bir simlasyon iin, her bileen (kablolar ve ayralar
dnda) giri almyla k yaylmas arasnda bir gecikmeye sahiptir. Seenek
etkinse, Logisim (bir kerede 16 bileen reaksiyonuyla) bileeni normalden bir tklama
uzun yapar. Bu rasgelelik zellikle mandal devrenin kaldrlabilmesi iin eklenmitir:
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Rasgele grlt olmadan, iki geit ard ardna alacandan devre salnm yapar;
ama rasgele grlt eklenerek bir geit dierinden daha hzl olur.

Bu seenei ak tutmanz neririm. Seenek, belirleyici devre davran istediiniz


durumda vardr. (Ayn zamanda, rasgele grlt zellii nispeten Logisim'e yenidir ve
simlasyonda nceden grlemeyen hatalara sebep olmas olasdr).

Iterations Until Oscillation: Birleik girdi kutucuu, bir devrenin salmn yaptna karar
vermeden nce ne kadar sre simlasyon yapacan belirler. Say, dahili gizli saatin (sadece
tek tklama alan sabit bir geit) tklamalarnn saysn gsterir. Varsaylan 1,000, byk
devreler dahil tm amalar iin yeterince iyidir. Fakat, Logisim'in hatal salnmlar rapor ettii
bir devre ile alyorsanz tekrarlamalarn saysn artrmak isteyebilirsiniz; Byle bir probleme
neden olan yukardaki kilit devrelerinin ounun birletirildii bir devre ile olan sorunlar hayal
edebiliyorum. Salnmlara yatkn bir devre ile alyorsanz ve olaand yava bir ilemci
kullanyorsanz, tekrarlamalarn saysn azaltmak isteyebilirsiniz.

Toolbar sekmesi
Toolbar sekmesi ara ubuunda hangi aralarn grneceini konfigre etmenize izin verir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Sol taraf mevcut olan btn aralar gsteren bir taraycdr. Sa taraftaki liste ise ara ubuundaki
ierikleri gstermektedir. (Kk bir boluk olarak grlen "---", bir ayrac gstermektedir).
Tarayc ile liste arasnda be tane dme vardr:

Add Tool: Gezin ierisine, ara ubuunun solundan sonuna kadar geerli seilmi arac ekler.

Add Separator: Ara ubuunun sonuna bir ayrc ekler.

Move Up: Ara ubuunun geerli seilmi maddesini bir nokta yukar/sola hareket ettirir.

Move Down: Ara ubuunun geerli seilmi maddesini bir nokta aa/saa hareket ettirir.

Remove: Ara ubuundan geerli seilmi maddeyi kaldrr.


Aralar ile ilgili znitelikler bu pencerede gsterilmemitir; onun yerine, znitelikleri ana izim
penceresinde grntleyebilir ve dzenleyebilirsiniz.

Mouse sekmesi
Varsaylan olarak, Logisim'in izim alannda fare ile tkladnzda, hali hazrda seili ara
kullanlacaktr. Eer sa-tklar yada kontrol-tklarsanz, farenin altnda mevcut bileen iin alr
pencere gsterecektir.
Logisim, her zaman ara ubuu ve/veya explorer a gitme ihtiyacnz hafifletirecek bu davran
deitirmenize izin verir. (Sol-el kullancs olsanz dahi bu kullanl olabilir). Fare dmesinin ve
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

deitirici tuun (shift ve/veya kontrol) her kombinasyonu farkl bir ara iin atanabilir. Mouse
sekmesi bu atamalarn konfigrasyonuna izin verir.

Soldaki, atamak istediiniz arac seebileceiniz bir taraycdr.

Sa st taraftaki, tklamak istediiniz fare kombinasyonunu kullanarak tklayabileceiniz bir


dikdrtgendir. rnein, shift-srklemesi yaparak yeni kablolar oluturmak isterseniz,
ncelikle Explorer'daki (Base ktphanesinin altndaki) Wiring Tool u semelisiniz; ve ardndan
atama yeni ara ile yer deitirilecektir. Eer bu kombinasyon zaten kullanlmakta ise o zaman
atamann yerine yeni ara geer.

Bu alann altndakiler mevcut atamalarn bir listesidir. Herhangi bir kombinasyonun hali
hazrda seili arac basite kullanmas iin listelenmediine dikkat edin.

Aadaki, dme zerindeki tabloda hali hazrda seili atamay silebileceiniz Remove
dmesidir. leride fare kombinasyonu herhangi bir ara, ara ubuu yada aratrma
penceresinde seilerse ona iaret edecektir.

Bunun altndaki, atamalarn listesinde hali hazrda seili ara iin zniteliklerinin bir listesidir.
Her fare-atamal ara kendi znitelikler setine sahiptir, aratrma penceresi ve ara ubuunda
kullanlan zniteliklerden farkldr. Buradaki znitelik deerlerini dzenleyebilirsiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Deer Yaylm
Devreler boyunca deerlerin yaylmn simule etmek iin Logisim'in algoritmas, normalde
hakknda endielenmeniz gereken bir ey deildir. Algoritmann geit gecikmelerini aklamak iin
yeterince tecrbeli olduunu sylemek yeterlidir fakat deien gerilimler veya yar koullar gibi
ok zor olgular aklamak iin yeterince gereki deildir.
Hala daha fazlasn bilmek istiyor musunuz?

Geit gecikmeleri
Logisim algoritmasnn tecrbe seviyesine bir rnek olarak aadaki devreyi gz nnde
bulundurun.

Bu "ak bir ekilde" daima 0 kts verir. Fakat NOT geitleri gerekte ve Logisim'de girilerine
hemen tepki gstermez. Sonu olarak bu devrenin girii 0 dan 1 e deitiinde AND geidi ksaca iki
adet 1 girii grecektir ve 1 yayacaktr. Ekranda onu grmeyeceksiniz. Fakat etki D iki duraklsnn
saati ierisine bir giri gibi AND geidinin kn kullandmzda gzle grlr.

0 giriini 1 olacak ekilde darbelemek, ayn anda D flip-flopuna bir 1 girmesine sebep olur ve
bylece girdinin deeri her 0 dan 1 e deitiinde flip-flopun deeri de deiir.
Her bileen onunla btnleik bir gecikmeye sahiptir. Logisim ierisine btnletirilmi ok ierikli
bileenler byk gecikmelere sahip olma eilimindedirler fakat bu gecikmeler bir miktar keyfidir
gerei yanstmayabilir.
Arada srada ve dengesiz frekans ile Logisim bileenin yaylmna bir gecikme ekleyecektir. Bu
gerek devrelerin dengesizliini simle etmek iin tasarlanmtr. zellikle iki NOR geidi kullanan
bir R-S kilidi her iki geidin girilerinin muntazaman alacak olmas gibi bu rasgelelik olmadan
salnacaktr. Bu rasgelelik Project Options penceresinin Simulation sekmesi aracl ile kapatlabilir.
Teknik adan bakldnda, tek bir devrede kapsamlln bu seviyesi ile ilgilenmek greceli olarak
kolaydr. Geri alt devreler zerinden geit gecikmeleri ile ilgilenmek bir miktar daha karmaktr;
Logisim bunu doru olarak adreslemeyi dener.
Logisim'in daima geit gecikmelerini iyi bir ekilde adreslediini syleyerek ksa kestiime dikkat
edin. Fakat en azndan dener.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Salnm hatalar
Herhangi bir problem olmadan normal bir ekilde sessizce alan yaylm algoritmas, salnan bir
devre oluturduunuzda ok grnr hale gelecektir.

Bu devre hali hazrda kararl bir durumdadr. Fakat eer girii 1 e dntrrseniz, devre etkin bir
biimde sonsuz bir dngye girecektir. Bir sre sonra Logisim tamamen vazgeecek ve devrenin
salndna inandn syleyen bir mesaj gsterecektir.

Vazgeme esnasnda deerleri grntleyecektir. Bu deerler yanl grnecektir - bu ekran


grntsnde AND geidi girilerinden biri 0 olmasna ramen 1 kartmaktadr fakat NOT geidinin
1 giri ve 1 k olabilirdi.
Logisim salnma kart grnen her yeri faydal bir ekilde krmz biimde dngler. Eer bir alt
devrede kark bir nokta yatyorsa Logisim alt devrenin d izgisini krmz olarak izecektir.
Logisim salnm algladnda ilerideki tm simlasyonu durdurur. Simulate mensnn Simulation
Enabled seeneini kullanarak simlasyonu tekrar aktif hale getirebilirsiniz.
Logisim epeyce basit bir teknik kullanarak salnm alglar: Eer devre simlasyonu ok tekrarlama
olarak grnyorsa, basite vazgeecek ve salnm rapor edecektir. (Kark olarak belirledii
noktalar tekrarlamalarn son %25 ini etkileyenlerdir). Bylece salnm yanllkla rapor edebilir,
zellikle son derece byk devre ile alyorsanz bu olabilir; fakat Logisim'i kullanarak ina ettiim
herhangi birinden daha byk olmayacaktr. Her halkarda raporlamann hatal olduuna
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

inanyorsanz Project Options penceresinin Simulation sekmesi aracl ile salnm meydana
gelmeden nce tamamlanacak tekrarlamalarn saysn ayarlayabilirsiniz.

Eksiklikler
Logisim'in yaylm algoritmas hemen hemen tm eitimsel amalar iin yeterince sofistikedir; fakat
endstriyel devre tasarm iin yeterince sofistike deildir. ok iddetliden az iddetliye srasyla
Logisim'in yaylm tekniinin ierdii eksiklikler unlardr:

Logisim, pinleri bazen giri gibi ve bazen k gibi davranan alt devreleri simle edemez. Buna
ramen Java kullanlarak ina edilmi bileenler byle pinlere sahip olabilir : Btnleik
ktphanelerde Memory ktphanesinin RAM devresi hem giri hem de k gibi davranan bir
D pinini barndrr.

Logisim, sabit sayda tekrarlama bir salnm hatas olduunu varsaydktan sonra simlasyonunu
keser. Makul bir ekilde salnmayan byk bir devre rahatszla neden olur.

Geit gecikmelerini bildirmek dnda Logisim kendisini zaman bildirimlerine zellikle


kartrmaz. Onun bileen gecikmelerinde ara sra meydana gelen rasgeleliin balangc,
durumu bir dereceye kadar daha gereki yapar fakat o hala gerein ok idealletirilmi bir
versiyonudur.

Logisim gerilim seviyelerine kar farkl muamele yapmaz: Bir bit, ak, kapal, belirtilmemi
yada hatal olabilir.

Benim atladm sakl olan dier baz zellikler de var ve zaten bunlarn farknda olsaydnz
Logisim'in o seviyenin yanna bile yaklaamayacan bilirdiniz. U bir rnek olarak, byk bir
yonga imalatsnda alan bir arkadam var ve onun grevi yongann nanometre-genilikli
kablolarnda byyen ve rasgele balant kopmalarna yol aan "baloncuklar" iin
kayglanmaktr.

Bunun tesinde, ben bir devre tasarm uzman deilim; bu yzden yaylma tekniinde
farketmediim baz hatalarm olabilir. Uzmanlarn dzeltmelerine her zaman am.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Program Hakknda
Logisim ak-kaynak kodlu bir yazlmdr. Kaynak kodu, datlm JAR dosyasnn src altdizinine dahil
edilmitir.
Eer Logisim'i faydal buluyorsanz ltfen beni bilgilendiriniz. zellikle bunu eitim amal
yapyorsanz; bu bilgi alma iin destek almama yardmc olacaktr.

Logisim hakknda hata raporlarn, nerileri ve dzeltmeleri ieren e-mail ler alyorum. Bana e-mail
gnderirken sizden hibir cret almadan Logisim i retmeye altm ltfen hatrlayn. Eer
yazlm hakknda dzeltilme ikayetinde bulunmak istiyorsanz Logisim e rekabet plan iin para
demenizi neririm. (Logisim'in zellik setine hibir ak-kaynak kodlu rakibin yaklaamadn
biliyorum). Yine de Logisim i gelitirmeye devam etmekle olan ilgimi srdryorum ve nerileriniz
ok nemli olacaktr.

Telif Hakk uyars


Telif hakk (c) 2005, Carl Burch.
Logisim bedava bir yazlmdr; Serbest Yazlm Kurumu (Free Software Foundation) tarafndan
yaynlanm Genel Halka Ak Lisansn (GNU General Public License) maddeleri altnda onu yeniden
databilir ve/veya zerinde deiiklik yapabilirsiniz.
Logisim faydal olacak dncesiyle datlmtr fakat HERHANG BR GARANTS yoktur; hatta
SATILABLRLK KALTES (MERCHANTABILITY) yada BELRL BR AMA N UYGUNLUK (FITNESS
FOR A PARTICULAR PURPOSE) garantisi kastedilmeden. Daha fazla detay iin Genel Halka Ak
Lisansa (GNU GNU General Public License) baknz.

Teekkrler
Logisim'in kaynak kodu balca benim kendi almamdr; Bu program dahil almama bir profesr
gibi fon salayan patronlarma teekkr etmeliyim: Programa Saint John's University (Collegeville,
Minnesota, USA) de 2000-2004 de baladm ve onu Hendrix College (Conway, Arkansas, USA) de
2004 den bu yana srdrdm. Bu proje zerinde almama zaman ayran ve kaynak salayan bu
kolejlere ok minnettarm. Keke tm kolejler ve niversiteler bu kolejlerin yapt kadar kusursuz
eitim hakknda birlikte olsalar ve ilgilenseler!
kincisi, spanyadan yabanc renci deiimiyle Hendrix de okurken 2.1.0 versiyonunun spanyolca
evirisini gerekletiren Pablo Leal Ramos'dur.
Son olarak ve benzer ekilde nemli Logisim'in daha nceki versiyonlar boyunca alm iki
renci grubudur: Logisim gelitirilirken en temel versiyonlarnn kullanld Saint Benedict koleji
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ve Saint John's University deki Yaz dnemi 2001 senesi CSCI 150 snflar; ve 2.0 n en eski
tekrarlarnn beta-test lerinin yapld Berkeley deki California niversitesindeki Yaz dnemi 2005
senesi CS61C snfr. Bu renciler ou hataya katlandlar ve sabrlar ve nerileri iin ok teekkr
borluyum!
Logisim'in eitli paralar Logisim'in kulland tekilerin paketlerinden gelmektedir; bu paralarn
ou Logisim'in paras olarak datlmtr.

Sun'n Java API si (ak bir ekilde)

Sun'n Javahelp project i

Yardm sistemleri (Help systems)

www.jdom.org den JDOM

XMD verinin okunmas ve kaydedilmesi (Reading and saving XML data).

Steve Roy dan MRJAdapter

Macintosh OS X platformu ile entegrasyon

Grzegorz Kowalt dan launch4j

Logisim'in Windows da altrlacak ekilde datmna izin verir

GIFEncoder, from Adam Doppelt

GIF dosyalar eklinde resimlerin kaydedilmesi. Bu Sverre H. Huseby tarafndan yazlm C


koduna balyd.&nbsp
Ve son olarak - hata raporlar, nerileri yada snflarnda Logisim'i kullandklarn bilmemi salamak
amacyla - benimle balant kuran tm kullanclara teekkr etmek istiyorum . neride bulunan
kiileri isimsiz brakyorum nk burada onlar anmak iin onlardan izin almadm, fakat: Teekkr
ederim!

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

LOGISIM KTPHANE REFERANSI


Ktphane Referans
Bir Logisim Ktphanesi, fareyi alma alannda tklayarak ve srkleyerek bir devreyi etkilemenize
izin veren aralar setini barndrr. Genel olarak bir ara bir devreye belirli bir tr bileen eklemek
iin tasarlanmtr; fakat Poke Tool ve Select Tool gibi ok nemli aralarn bazlar baka biimde
bileenlerle etkileiminize izin verir.
Logisimin ierisindeki ktphanelerde bulunan aralarn tm bu bavuru materyalinde
belgelenmitir.
Logisim iki tr devre bileenine sahiptir; bunlar Logisim devreleri gibi tasarlanmtr ve Javada
yazlmlardr. Logisim devrelerinin tasarm ok kolaydr fakat sofistike kullanc etkileimini
destekleyemezler ve nispeten verimsizdirler.
Logisim Java bileenlerinin btnleik ktphanelerinin uygun bir ekilde kusursuz bir
koleksiyonunu ierir fakat nc ahs tarafndan yazlm ek ktphaneleri de ykleyebilir. Bir
ktphane indirirseniz, aratrma penceresinde (st satr) projeye sa-tklayarak ve Load JAR
Library'i seerek projeniz ierisine onu adapte edebilirsiniz.
Ardndan Logisim JAR dosyasn semeniz iin sizi uyaracaktr ve ardndan nc ahs tarafndan
salanabilecek snf adn yazmanz iin sizi uyaracaktr. Bundan sonra ktphanenin bileenleri
mevcut olacaktr.

JAR Ktphaneleri
JAR ktphanelerini Oluturmak
Bu blmn geri kalan ksm, Logisim ktphanelerini kendi banza nasl gelitireceinizi aklayan
ayrntlaryla deerlendirilen rneklerin bir serisi verilmektedir. Buna sadece deneyimli bir Java
programcs iseniz kalkmalsnz. Aka yetersiz bu rneklerin tesinde belgeler bulabileceksiniz.
Logisim Web sitesinin Links blm aracl ile Logisim ierisine adapte edilebilecek bu rneklere
izin veren bir JAR dosyas indirebilirsiniz. Bu JAR dosyas ayn zamanda bu rneklerde ihtiva eden
kaynak kodunu ierir; bu kaynak kodu kamu maldr. (Aksine Logisim'in kaynak kodu GNU Public
License altnda serbest braklmtr).

Byte Incrementer (Byte Artrc)


Ktphanede barnan her bileen tanmlanabilecek iki class gerektirir: Component arayzn
yerine getiren class n biri kendi bileeninin davrann tanmlar; ComponenFactory arayzn
yerine getiren dieri tm bileenin ve reticilerin kiisel bileenlerinin davrann tanmlar. Bu iki
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

class n nesneleri arasndaki iliki Java ierisindeki bir nesne ile onun class arasndaki ilikiye
benzer.
Component ve ComponentFactory arayzleri iindeki tm metotlar direkt olarak uygulamak
baya skc ve gereksiz tekrarlar iermektedir. Pratikte onun
yerine ManagedComponent ve AbstractComponentFactory class lar geniletmek daha fazla
kullanldr.
Bileen ktphanelerini tanmlamak iin uygun class larn ou ktphane ierisinde
bulunmaktadr.
com.cburch.logisim.comp
Bileenleri tanmlamaya spesifik olarak bal yukarda
anlatlan Component, ComponentFactory, ManagedComponent ve AbstractComponent
Factory trlerini barndran class'lar ierir.
com.cburch.logisim.data
alma alanndaki noktalar temsil etmek iin Location class veya bir kablo zerinde var
olabilen deerleri gstermek iin Value class gibi bileenlere bal veri eleri ile ilikili class
lar ierir.
com.cburch.logisim.tools
Aralar tanmlamak ve bileenler ile aralar arasndaki etkileimi belirlemekle alakal class
lar ierir. (Bu sadece ok zel amala yaplan bileenler iin gereklidir).
ByteIncrementer
Bu bir bileeni tanmlamak iin kkl eleri rnekleyen asgari bir rnektir. Bu zel bileen 8-bit
girii alp 8-bit k reten ve deeri giriinkinden bir fazla olan bir artrcdr.
Bu rnein kendisi alan bir JAR dosyas oluturmak iin yeterli deildir; bu klavuzun sonraki
blmnde rneklendirildii gibi ayrca bir Library class salamalsnz.
package com.cburch.incr;
import com.cburch.logisim.circuit.CircuitState;
import com.cburch.logisim.comp.ComponentDrawContext;
import com.cburch.logisim.comp.ComponentFactory;
import com.cburch.logisim.comp.EndData;
import com.cburch.logisim.comp.ManagedComponent;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.BitWidth;
import com.cburch.logisim.data.Location;
import com.cburch.logisim.data.Value;
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

/** Implements a bare-bones custom Logisim component, whose single


* input is 8 bits wide, and whose output value is one more than
* the input value, also 8 bits wide. */
class ByteIncrementer extends ManagedComponent {
// The ManagedComponent class conveniently implements just about
// all of the required methods. All we have to do is to tell it
// about the different "ends" (i.e., inputs and outputs to the
// component) in the constructor, and we need to implement the
// getFactory, propagate, and draw.
/** The width of a byte. */
private static final BitWidth BIT_WIDTH = BitWidth.create(8);
/** Constructs a component at the given location, with the given
* attributes. */
ByteIncrementer(Location loc, AttributeSet attrs) {
super(loc, attrs, 2);
// The third parameter (2) to the parent's constructor indicates how
// many ends the component has. It's not important that this be
// precisely right: The ManagedComponent uses an ArrayList to manage
// the ends.
// Now we tell the ManagedComponent superclass about the ends. We
// assign each end a distinct index, which is used also below in
// the propagate method.
setEnd(0, loc.translate(-30, 0), BIT_WIDTH, EndData.INPUT_ONLY);
setEnd(1, loc,
BIT_WIDTH, EndData.OUTPUT_ONLY);
}
/** Returns the class that generated this component. */
public ComponentFactory getFactory() {
return ByteIncrementerFactory.instance;
}
/** Recomputes the outputs of this component. The circuitState
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

* parameter maintains information about the current state of the


* circuit. */
public void propagate(CircuitState circuitState) {
// Retrieve the current value coming into this component.
Value in = circuitState.getValue(getEndLocation(0));
// Compute the output.
Value out;
if(in.isFullyDefined()) {
// If all input bits are 0 or 1, our input is a valid number, and
// so can be our output.
out = Value.createKnown(BIT_WIDTH, in.toIntValue() + 1);
} else if(in.isErrorValue()) {
// If any input bits are "errors" (which usually arise from
// conflicting values on a wire), then we send out all error bits.
out = Value.createError(BIT_WIDTH);
} else {
// Otherwise, some input bits are unspecified. To keep things
// simple, we'll indicate that all output bits are also unspecified.
out = Value.createUnknown(BIT_WIDTH);
}
// Now propagate the output into the circuit state. The parameters
// here indicate the location affected, the value sent there, the
// originating component, and the delay. The delay needs to be positive,
// and it should bear some resemblance to the component's depth, but
// the exact value isn't too important. The incrementing component
// would probably be nine levels deep, so I use that value here.
circuitState.setValue(getEndLocation(1), out, this, 9);
}
/** Draws this component using the data contained in the parameter. */
public void draw(ComponentDrawContext context) {
// The ComponentDrawContext class contains several convenience
// methods for common operations. I've kept the drawing simple
// by just sticking to these operations.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

context.drawRectangle(this, "+1");
context.drawPins(this);
}
}
ByteIncrementerFactory
package com.cburch.incr;
import com.cburch.logisim.comp.AbstractComponentFactory;
import com.cburch.logisim.comp.Component;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.Bounds;
import com.cburch.logisim.data.Location;
/** The object that manufactures ByteIncrementers. */
class ByteIncrementerFactory extends AbstractComponentFactory {
// The AbstractComponentFactory parent class conveniently implements
// just about all the methods we need for ComponentFactory. All we really
// need are the getName, createComponent, and getOffsetBounds methods
// here.
/** The sole instance of this class. */
static final ByteIncrementerFactory instance = new ByteIncrementerFactory();
/** Constructs an instance. There is no reason to have multiple instances
* of this class, so I make the constructor method private to restrict creation
* to within this class only. */
private ByteIncrementerFactory() { }
/** Returns the name of this component class, as it is stored in a file. */
public String getName() {
return "Byte Incrementer";
}
/** Returns the name of this component class as the user should see it. */
public String getDisplayName() {
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

// This may well be different from what is returned by getName.


// The two most likely reasons for having different strings are
// that we decide on a more user-friendly name in a future version
// but we don't want to change the representation within files (for
// backwards compatibility), or that we want to adapt to the user's
// chosen language. (Logisim doesn't support internationalization
// right now, but it is capable of doing so.)
return "Incrementer (8-Bit)";
}
/** Manufactures and returns a component of this component class. */
public Component createComponent(Location loc, AttributeSet attrs) {
return new ByteIncrementer(loc, attrs);
}
/** Returns a rectangle indicating where the component would appear
* if it were dropped at the origin. */
public Bounds getOffsetBounds(AttributeSet attrs) {
// In this case, the component is a 30x30 rectangle, with the
// origin on the midpoint of the east side. So the x-coordinate
// of the top left corner is -30, the y-coordinate is -15, and
// of course the width and height are both 30.
return Bounds.create(-30, -15, 30, 30);
}
// We could customize the icon associated with the tool by overriding
// the paintIcon method here.
// We could also override the drawGhost method to customize the appearance
// of the "ghost" drawn as the user moves the tool across the canvas. By
// default, the ghost is a rectangle corresponding to getOffsetBounds. A
// ByteIncrementer is just such a rectangle, so there's no need to override.
}

Library Class (Ktphane Class')


izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

JAR ktphanesinin eriim noktas Library class' genileten bir class dr. Ktphanenin ana grevi,
ktphane boyunca mevcut olan aralar listelemektir; ou kez aralar tamamen eitli bileenleri
eklemek iin tanmlanm aralardr - yani farkl bileen fabrikalar ile alan AddTool class
rnekleri.

Components
package com.cburch.incr;
import java.util.Arrays;
import java.util.List;
import com.cburch.logisim.tools.AddTool;
import com.cburch.logisim.tools.Library;
import com.cburch.logisim.tools.Tool;
/** The library of components that the user can access. */
public class Components extends Library {
/** The list of all tools contained in this library. Technically,
* libraries contain tools, which is a slightly more general concept
* than component classes; practically speaking, though, there
* shouldn't be much reason to invent tools beyond new instances of
* AddTool.
*/
private List tools;
/** Constructs an instance of this library. This constructor is how
* Logisim accesses first when it opens the JAR file: It looks for
* a no-arguments constructor method of the user-designated class.
*/
public Components() {
tools = Arrays.asList(new Tool[] {
new AddTool(ByteIncrementerFactory.instance),
new AddTool(IncrementerFactory.instance),
new AddTool(SimpleCounterFactory.instance),
new AddTool(Counter.factory),
});
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

}
/** Returns the standard name of the library. Actually, this string
* won't be used by Logisim. */
public String getName() {
return Components.class.getName();
}
/** Returns the name of the library that the user will see. */
public String getDisplayName() {
return "Increment";
}
/** Returns a list of all the tools available in this library. */
public List getTools() {
return tools;
}
}

General Incrementer (Genel Artrc)


Javada bileenleri tanmlamann balca avantajlarndan biri znitelikleri aracl ile
deitirilmelerine izin verebilir olmanzdr. Bir rnek olarak herhangi bir sayda bit ile bir utan bir
uca alabilecek sayacmz olsun isteyebiliriz; Aadaki iki class bu iin nasl yaplacan rnekler.

Incrementer
package com.cburch.incr;
import com.cburch.logisim.circuit.CircuitState;
import com.cburch.logisim.comp.ComponentDrawContext;
import com.cburch.logisim.comp.ComponentFactory;
import com.cburch.logisim.comp.EndData;
import com.cburch.logisim.comp.ManagedComponent;
import com.cburch.logisim.data.Attribute;
import com.cburch.logisim.data.AttributeEvent;
import com.cburch.logisim.data.AttributeListener;
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.Attributes;
import com.cburch.logisim.data.BitWidth;
import com.cburch.logisim.data.Location;
import com.cburch.logisim.data.Value;
/** Represents an incrementer that can work with any bit width. This component
* is designed to illustrate how to use attributes. */
class Incrementer extends ManagedComponent {
/** The attribute representing the bit width of the input and output. */
static final Attribute WIDTH_ATTRIBUTE = Attributes.forBitWidth("Bit Width");
/** The default value of the width attribute. */
static final BitWidth WIDTH_DEFAULT = BitWidth.create(8);
/** Listens for changes to the width attributes, because we need such
* changes to be reflected in the information about ends managed by the
* ManagedComponent superclass. */
private class MyListener implements AttributeListener {
public void attributeListChanged(AttributeEvent e) { }
public void attributeValueChanged(AttributeEvent e) {
if(e.getAttribute() == WIDTH_ATTRIBUTE) computeEnds();
}
}
/** Represents the sole instance of MyListener. (The more common
* idioms for dealing with listeners do not involve such a
* local variable, but I strongly prefer this idiom, because
* I often find it useful to store listeners in the listened-to
* object using weak references to avoid situations analogous
* to memory leaks when the listened-to object persists beyond
* the intended life of the listening object. A side effect of
* this is that the listener would die immediately if the listening
* object doesn't maintain its own strong reference; hence the
* instance variable. [It happens that the AttributeSet used here
* uses strong references, but that's no guarantee that a future
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

* version will not.])


*/
private MyListener myListener = new MyListener();
/** Constructs an incrementer at the given location with the given
* attributes. */
Incrementer(Location loc, AttributeSet attrs) {
super(loc, attrs, 2);
attrs.addAttributeListener(myListener);
computeEnds();
}
/** Sets up the ends of this component. */
private void computeEnds() {
// Retrieve information needed for setting the ends - notice the
// access to the attribute set to retrieve the width.
Location loc = getLocation();
BitWidth width = (BitWidth) getAttributeSet().getValue(WIDTH_ATTRIBUTE);
// Now set up the ends.
setEnd(0, loc.translate(-30, 0), width, EndData.INPUT_ONLY);
setEnd(1, loc,
width, EndData.OUTPUT_ONLY);
}
public ComponentFactory getFactory() {
return IncrementerFactory.instance;
}
public void propagate(CircuitState circuitState) {
Value in = circuitState.getValue(getEndLocation(0));
Value out;
if(in.isFullyDefined()) {
out = Value.createKnown(in.getBitWidth(), in.toIntValue() + 1);
} else if(in.isErrorValue()) {
out = Value.createError(in.getBitWidth());
} else {
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

out = Value.createUnknown(in.getBitWidth());
}
circuitState.setValue(getEndLocation(1), out, this,
in.getBitWidth().getWidth() + 1);
}
public void draw(ComponentDrawContext context) {
context.drawRectangle(this, "+1");
context.drawPins(this);
}
}

IncrementerFactory
package com.cburch.incr;
import com.cburch.logisim.comp.AbstractComponentFactory;
import com.cburch.logisim.comp.Component;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.AttributeSets;
import com.cburch.logisim.data.Bounds;
import com.cburch.logisim.data.Location;
/** Manufactures Incrementer components. */
class IncrementerFactory extends AbstractComponentFactory {
static final IncrementerFactory instance = new IncrementerFactory();
private IncrementerFactory() { }
public String getName() {
return "Incrementer";
}
public String getDisplayName() {
return "Incrementer (General)";
}
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

/** Creates an attribute set holding all the initial default values. This
* is the only change from the ByteIncrementerClass class, where
* we simply kept the definition implemented in the parent class. Here, though,
* we want to insert the attribute. */
public AttributeSet createAttributeSet() {
return AttributeSets.fixedSet(Incrementer.WIDTH_ATTRIBUTE,
Incrementer.WIDTH_DEFAULT);
}
public Component createComponent(Location loc, AttributeSet attrs) {
return new Incrementer(loc, attrs);
}
public Bounds getOffsetBounds(AttributeSet attrs) {
return Bounds.create(-30, -15, 30, 30);
}
}

Simple Counter (Basit Saya)


ou kez doada sadece kombinasyonel olmayan bileenleri isteriz - yani bir miktar hafzaya sahip
olan bileen isteriz. Byle bileenleri tanmlamak da nemli bir ustalktr: Kendisi durumu
depolayan bileene sahip olamazsnz nk tek bir bileen ayn devrede ou kez grnebilir. O bir
devrede direkt olarak oklu kez grnemeyebilir fakat birka kez kullanlan alt devre ierisinde
grnrse oklu kez grnebilir.
zm, nesnenin mevcut durumunu temsil etmek ve ana devrenin durumu boyunca bileen ile
bunun rneklerini birletirek iin yeni bir class oluturmaktr. eleri iddet-tetiklemeli(edgetriggered) 8-bit bir saya olan bu rnekte bunu baarmak iin daha nceki rneklerde
tanmlanan Component veComponentFactory uygulamalarna ek olarak bir CounterState class
tanmlarz. CounterState nesnesi son saat girii grnene kadar (artan iddetleri alglamak iin)
sayalarn her ikisinin mevcut deerini hatrlar.

SimpleCounter
package com.cburch.incr;

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

import com.cburch.logisim.circuit.CircuitState;
import com.cburch.logisim.comp.ComponentDrawContext;
import com.cburch.logisim.comp.ComponentFactory;
import com.cburch.logisim.comp.EndData;
import com.cburch.logisim.comp.ManagedComponent;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.BitWidth;
import com.cburch.logisim.data.Bounds;
import com.cburch.logisim.data.Direction;
import com.cburch.logisim.data.Location;
import com.cburch.logisim.data.Value;
import com.cburch.logisim.util.GraphicsUtil;
import com.cburch.logisim.util.StringUtil;
/** Represents a simple 8-bit counter. This example illustrates how a
* component can maintain its own internal state. */
class SimpleCounter extends ManagedComponent {
/** The width of input and output. */
private static final BitWidth BIT_WIDTH = BitWidth.create(8);
// Note what's not here: We don't have any instance variables referring
// to the counter's state. Using instance variables to refer to state
// would be a major bug, because this component may appear in a circuit
// that is used several times as a subcircuit to another circuit. Thus,
// this single component would actually appear many times in the overall
// circuit. Any instance variables storing state would lead to weird
// interactions among the states. Instead, we need to store all state
// information in an object stashed into a CircuitState.
SimpleCounter(Location loc, AttributeSet attrs) {
super(loc, attrs, 2);
setEnd(0, loc.translate(-30, 0), BitWidth.ONE, EndData.INPUT_ONLY);
setEnd(1, loc,
BIT_WIDTH, EndData.OUTPUT_ONLY);
}
public ComponentFactory getFactory() {
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

return SimpleCounterFactory.instance;
}
public void propagate(CircuitState circuitState) {
// Here I retrieve the state associated with this component via
// a helper method. In this case, the state is in a CounterState
// object.
CounterState state = getCounterState(circuitState);
Value clk = circuitState.getValue(getEndLocation(0));
if(state.getLastClock() == null ||
(state.getLastClock() == Value.FALSE && clk == Value.TRUE)) {
// Either the state was just created, or else we're on a rising edge
// for the clock input; in either case, increment the counter.
Value newValue = Value.createKnown(BIT_WIDTH,
state.getValue().toIntValue() + 1);
circuitState.setValue(getEndLocation(1), newValue, this, 9);
state.setValue(newValue);
}
state.setLastClock(clk);
// (You might be tempted to determine the counter's current value
// via circuitState.getValue(getEndLocation(1)). This is erroneous,
// though, because another component may be pushing a value onto
// the same wire, which could lead to conflicts that don't really
// represent the value the counter is emitting.)
}
public void draw(ComponentDrawContext context) {
context.drawRectangle(this);
context.drawClock(this, 0, Direction.EAST);
context.drawPin(this, 1);
// I'd like to display the current counter value centered within the
// rectangle. However, if the context says not to show state (as
// when generating printer output), then I shouldn't do this.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

if(context.getShowState()) {
CounterState state = getCounterState(context.getCircuitState());
Bounds bds = getBounds();
GraphicsUtil.drawCenteredText(context.getGraphics(),
StringUtil.toHexString(BIT_WIDTH.getWidth(), state.getValue().toIntValue()),
bds.getX() + bds.getWidth() / 2,
bds.getY() + bds.getHeight() / 2);
}
}
/** Retrieves the state associated with this counter in the circuit state,
* generating the state if necessary.
*/
protected CounterState getCounterState(CircuitState circuitState) {
CounterState state = (CounterState) circuitState.getData(this);
if(state == null) {
// If it doesn't yet exist, then we'll set it up with our default
// values and put it into the circuit state so it can be retrieved
// in future propagations.
state = new CounterState(null, Value.createKnown(BIT_WIDTH, -1));
circuitState.setData(this, state);
}
return state;
}
}

CounterState
package com.cburch.incr;
import com.cburch.logisim.comp.ComponentState;
import com.cburch.logisim.data.Value;
/** Represents the state of a counter. */
class CounterState implements ComponentState, Cloneable {
/** The last clock input value observed. */
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

private Value lastClock;


/** The current value emitted by the counter. */
private Value value;
/** Constructs a state with the given values. */
public CounterState(Value lastClock, Value value) {
this.lastClock = lastClock;
this.value = value;
}
/** Returns a copy of this object. */
public Object clone() {
// We can just use what super.clone() returns: The only instance variables are
// Value objects, which are immutable, so we don't care that both the copy
// and the copied refer to the same Value objects. If we had mutable instance
// variables, then of course we would need to clone them.
try { return super.clone(); }
catch(CloneNotSupportedException e) { return null; }
}
/** Returns the last clock observed. */
public Value getLastClock() {
return lastClock;
}
/** Updates the last clock observed. */
public void setLastClock(Value value) {
lastClock = value;
}
/** Returns the current value emitted by the counter. */
public Value getValue() {
return value;
}

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

/** Updates the current value emitted by the counter. */


public void setValue(Value value) {
this.value = value;
}
}
SimpleCounterFactory
package com.cburch.incr;
import com.cburch.logisim.comp.AbstractComponentFactory;
import com.cburch.logisim.comp.Component;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.Bounds;
import com.cburch.logisim.data.Location;
/** Manufactures simple 8-bit counters. This example illustrates how a
* component can maintain its own internal state. All of the code relevant
* to state, though, appears in the SimpleCounter and
* CounterState classes. */
class SimpleCounterFactory extends AbstractComponentFactory {
static final SimpleCounterFactory instance = new SimpleCounterFactory();
private SimpleCounterFactory() { }
public String getName() {
return "Simple Counter";
}
public String getDisplayName() {
return "Counter (Simple)";
}
public Component createComponent(Location loc, AttributeSet attrs) {
return new SimpleCounter(loc, attrs);
}
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

public Bounds getOffsetBounds(AttributeSet arg0) {


return Bounds.create(-30, -15, 30, 30);
}
}
Counter(Saya)
Logisim ktphanelerine bu ynlendirme, kullancya onun mevcut deerini Darbe Arac (Poke
Tool) kullanarak deitirmesine izin veren uygun ierikli bir saya ile
sonulanr. Pokable uygulamasna dnebilsin diye bu Component's getFeature metodunun bir
uygulamasn salamay gerektirir; Pokable uygulamas, fare ve tu olaylarn uygun olarak ele
alabilen bir Caret uygulamasna eriimi salar.
Bu rnek de, bir bileenler ktphanesi planlamann en iyi yolu hakknda dndm eyi
rnekler: zel olarak yuva yapm fabrika class ve her destekleyen class ile birlikte her bileen iin
tek bir class a sahip olmak.

Counter
package com.cburch.incr;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import com.cburch.logisim.circuit.CircuitState;
import com.cburch.logisim.comp.AbstractComponentFactory;
import com.cburch.logisim.comp.Component;
import com.cburch.logisim.comp.ComponentFactory;
import com.cburch.logisim.comp.ComponentUserEvent;
import com.cburch.logisim.comp.EndData;
import com.cburch.logisim.data.Attribute;
import com.cburch.logisim.data.AttributeEvent;
import com.cburch.logisim.data.AttributeListener;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.data.AttributeSets;
import com.cburch.logisim.data.Attributes;
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

import com.cburch.logisim.data.BitWidth;
import com.cburch.logisim.data.Bounds;
import com.cburch.logisim.data.Location;
import com.cburch.logisim.data.Value;
import com.cburch.logisim.tools.AbstractCaret;
import com.cburch.logisim.tools.Caret;
import com.cburch.logisim.tools.Pokable;
/** Implements a counter for an arbitrary number of bits, whose value can be
* modified interactively by the user. The primary purpose of this example is
* to illustrate the addition of user interaction; the entry point for this
* interaction is via the getFeature method.
*/
class Counter extends SimpleCounter {
// Note that I've extended SimpleCounter to inherit all of its logic
// for propagation and drawing.
// The previous examples have included two separate classes for each
// component. In practice, though, I personally prefer having just
// one file per component type. The most convenient technique for this
// is to make a private nested class for the factory, and to include
// a constant referring to the factory.
public static final ComponentFactory factory = new Factory();
// I'll restrict the maximum width to 12, since the rectangle drawn doesn't
// have room to display more than 12 bits.
static final Attribute WIDTH_ATTRIBUTE = Attributes.forBitWidth("Bit Width", 1, 12);
static final BitWidth WIDTH_DEFAULT = BitWidth.create(8);
private static class Factory extends AbstractComponentFactory {
private Factory() { }
public String getName() {
return "Counter";
}

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

public String getDisplayName() {


return "Counter";
}
public Component createComponent(Location loc, AttributeSet attrs) {
return new Counter(loc, attrs);
}
public Bounds getOffsetBounds(AttributeSet arg0) {
return Bounds.create(-30, -15, 30, 30);
}
public AttributeSet createAttributeSet() {
return AttributeSets.fixedSet(Counter.WIDTH_ATTRIBUTE,
Counter.WIDTH_DEFAULT);
}
}
/** In addition to listening for changes to the width attribute (as with
* the Incrementer example), this also serves for manufacturing
* the "caret" for interacting with the user. */
private class MyListener implements AttributeListener, Pokable {
public void attributeListChanged(AttributeEvent e) { }
public void attributeValueChanged(AttributeEvent e) {
if(e.getAttribute() == WIDTH_ATTRIBUTE) computeEnds();
}
/** Manufactures the caret for interacting with the user. */
public Caret getPokeCaret(ComponentUserEvent event) {
return new PokeCaret(event.getCircuitState());
}
}
/** Implements all the functionality that interacts with the user when
* poking this component. */
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

private class PokeCaret extends AbstractCaret {


/** The circuit state the user is poking with. */
CircuitState circuitState;
/** The initial value. We use this in case the user cancels the editing
* to return to the initial value. (Canceling an edit is not currently
* supported in Logisim, but it may be in a future version.) */
Value initValue;
PokeCaret(CircuitState circuitState) {
this.circuitState = circuitState;
CounterState initial = Counter.this.getCounterState(circuitState);
initValue = initial.getValue();
setBounds(Counter.this.getBounds());
}
/** Draws an indicator that the caret is being selected. Here, we'll draw
* a red rectangle around the value. */
public void draw(Graphics g) {
Bounds bds = Counter.this.getBounds();
BitWidth width = (BitWidth) Counter.this.getAttributeSet().getValue(WIDTH_ATTRIBUTE);
int len = (width.getWidth() + 3) / 4;
g.setColor(Color.RED);
int wid = 7 * len + 2; // width of caret rectangle
int ht = 16; // height of caret rectangle
g.drawRect(bds.getX() + (bds.getWidth() - wid) / 2,
bds.getY() + (bds.getHeight() - ht) / 2, wid, ht);
g.setColor(Color.BLACK);
}
/** Processes a key by just adding it onto the end of the current value. */
public void keyTyped(KeyEvent e) {
// convert it to a hex digit; if it isn't a hex digit, abort.
int val = Character.digit(e.getKeyChar(), 16);
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

if(val < 0) return;


// compute the next value.
BitWidth width = (BitWidth) Counter.this.getAttributeSet().getValue(WIDTH_ATTRIBUTE);
CounterState state = Counter.this.getCounterState(circuitState);
Value newValue = Value.createKnown(width,
(state.getValue().toIntValue() * 16 + val) & width.getMask());
// change the value immediately in the component's state, and propagate
// it immediately.
state.setValue(newValue);
circuitState.setValue(Counter.this.getEndLocation(1), newValue,
Counter.this, 1);
}
/** Commit the editing. Since this caret modifies the state as the user edits,
* there is nothing to do here. */
public void stopEditing() { }
/** Cancel the editing. */
public void cancelEditing() {
Counter.this.getCounterState(circuitState).setValue(initValue);
}
}
// The listener instance variable, the constructor, and computeEnds all
// proceeds just as in the Incrementer class.
private MyListener myListener = new MyListener();
private Counter(Location loc, AttributeSet attrs) {
super(loc, attrs);
attrs.addAttributeListener(myListener);
computeEnds();
}
private void computeEnds() {
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Location loc = getLocation();


BitWidth width = (BitWidth) getAttributeSet().getValue(WIDTH_ATTRIBUTE);
setEnd(0, loc.translate(-30, 0), BitWidth.ONE, EndData.INPUT_ONLY);
setEnd(1, loc,
width,
EndData.OUTPUT_ONLY);
}
/** Retrieves a "special feature" associated with this component. Poke support
* is considered a special feature. When a user clicks on the component with
* the poke tool, Logisim will call this method with the key being the Pokable
* class. We should return a Pokable object in response, which it can use to
* access the caret for interaction.
*/
public Object getFeature(Object key) {
if(key == Pokable.class) return myListener;
return super.getFeature(key);
}
public ComponentFactory getFactory() {
return factory;
}
}
Guidelines (lkeler)
Daha fazla renmek
Burada salanan rnekler dizisinden te Logisim kaynak kodu verimli ek rnekler salar, geri
okunabilirlie ve iyi tasarma benzer dikkati daima gsteremez.
Gelecek versiyonlara maksimum tanabilirlik iin ...comp, ...data ve ...tools paketleri ierisindeki
class lara mmkn olduu kadar sadk kalmalsnz. Elbette dier paketlerin API lerini
kullanabilirsiniz fakat onlar Logisim'in gelecek versiyonlarndaki deiimlere ok savunmaszdrlar.
Genel olarak ara sra olan yardm isteklerini cevaplamak iin hazrm. Ve elbette ilerleme iin hata
raporlar ve neriler daima ho karlanr.
Distribution (Datm)
Kstlama olmadan gelitirdiini her JAR datmakta zgrsnz. Ancak eer almanzn paralar
Logisim'in kaynak kodunun (GPL altnda serbest braklm) paralarndan tretilmi ise GPL
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

snrlamalar uygulanr. Kullanm Klavuzunun bu blmndeki rnek kodlardan tretmek byle


kstlamalara maruz kalmaz; bu rnekler kamu yararna serbest braklmtr.
Eer dier Logisim kullanclar ile ktphanenizi paylatrmak istiyorsanz, ev sahiplii yapan Web
sayfasna veya JAR dosyasnn kendisine Logisim Web sitesi zerinden link salamaktan mutluluk
duyacam. Eer ktphanenizin temel Logisim srmne kurulmas gerektiini dnyorsanz
nerinizi ho karlarm ve almay ieren yayn izni ile Logisim ierisinde yardmnza teekkr
etmekten mutluluk duyacam.

Base Ktphanesi
Base Library devre ierisindeki davranlar dierlerinden ayrt edilebilen bileenler ierir.(ok
seyrek olarak Logisim yaylma aracnda kullanlr)

Poke Tool

Ktphane: Base
Versiyon:

2.0 Beta 1

Davran
Poke Tool bileenlerle ilikili deerleri ilemek iin kullanlr. Poke Tool'un asl davran zerine
tklanan bileene gre deiir, bu davran 'Poke Tool Davranlar' blmnde her bir bileen iin
dkmante edilmitir. Aadaki bileenlerin hepsinin Poke Tool destei vardr.
<table >
Temel ktphane:Pin
ClockHafza ktphanesi:D/T/J-K/S-R Flip-Flop
Register
RAMKalt ktphane:Logisim 1.0 D/J-K Flip-Flop
Logisim 1.0 8-Bit Register
Kablolama Aralar sayfasnda akland gibi Poke Tool kullanarak kablo parasnn zerine
tklayarak o kablo tarafndan tanan deer grntlenir.
Nitelikleri
Yok. Poke Tool destekli bir bileenin zerine tklannca o bileenin nitelikleri grntlenebilir.

Select Tool
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ktphane: Base
Versiyon:

2.0 Beta 1

Davran
Her bir bileenin o anki seime yerletirilmesini salar. Bu arala gelen birka ilem vardr.

Seilen bileenle beraber fare dmesine tklandnda seilen tm bileenleri srklemeye


balar. Seimi srklemek kabloda beklenmeyen davranlara yol aabilir. Eer baka
kablolarn zerindeki bir kablo ieren seimi srklerseniz, tm kablolar birletirilir, ve
birletirilen bu kablolar seimin iine yerleir. Sonu olarak, eer ikinci kes seimi
srklerseniz, kablolar eski yerlerinde kalmazlar. Bu davran Logisim deki kablolarn beklenen
davranlarn korumak iin gereklidir. Ve normalde bu ok byk bir problem oluturmaz:
Logisim tm seimi dmelerin ortasnda izecektir, ve bunun doru yerletiinden emin
olmadan drmemelisiniz.

Dier taraftan, bir bileenle fareye tklamak o anki seimdeki tm bileenleri drr ve
tklanan blgeyi ieren bileenleri seer.

Bileene fareye kaydrarak tklamak bileenin seimde bulunduunu gsterir. Eer birok
bileen ayn blgeyi ieriyorsa, tm bileenlerin bulunduu grntlenir. Eer kaydrarak
tklama baka bir ileme ynlendirilmise (proje seeneklerinden pencere fare sekmesiyle)
bunlarn hibiri gereklemez.

Fareyi hi bir bileen iermeyen blgeden balayarak srklemek mevcut seimdeki tm


bileenleri drr ve drtgen bir seim balatr. Bu drtgenin ierdii tm bileenler seme
yerleir.

Hi bir bileen iermeyen blgede fare kaydrarak srklenirse drtgen bir seim balar. Bu
drtgen seim ierisindeki tm bileenler grnecektir. Eer kaydrarak srkleme baka bir
araca ynlendirilmise bu olay gereklemez.
Seimdeki paralar seildikten sonra Dzenle mensnden tm paralar iin
kes/kopyala/yaptr/sil ilemlerini yapabilirsiniz.
Panoyu devreye yaptrma srasnda Logisim'in davran biraz ilgintir. Bileenleri annda devreye
eklemeyecektir; bunu yerine; seim "hayali" bir toparlama olacaktr, ve baka bir blgeye
srklendiinde ya da seimden kaldrldnda devrenin iine yerletirilecektir. (bu ilgin davran
gereklidir nk yaptrldnda ilk olarak seilen kablolar devrenin dier kablolaryla
birletirilecek, ve kullanc yaptrlan bileenleri tamaya altnda bir nceki kablolarla
beraber srklenecektir)
Nitelikleri
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Yok. Bir bileeni semek niteliklerini grntleyecektir.

Wiring Tool

Ktphane: Base
Versiyon:

2.0 Beta 1

Davran
Kablolama arac bir son noktadan dierine deer tayan kablo paralar oluturmaya yarar. bu
deerlerin bit genilii herhangi bir ey olabilir; gerekte bileenin bit genilii balanan kabloya
otomatik olarak aktarlr. Eer hi bir bileene balanmamsa, bit geniliinin bilinmediini
belirtmek iin kablo gri olarak izilir, eer bileenle kablonun bit genilikleri birbirini tutmuyorsa
kablo turuncu olarak izilir, ve kablo bu akma giderilene kadar gelen deerleri geri evirir.
Farenin tek srklenmesi birden ok kablo paralar oluturur. Asl ilem bu noktada biraz kafa
kartrcdr; fakat pratikte bu sezgisel bir eydir: Eer Wiring Tool kullanarak bir kablo paras
isteminde bulunursanz, bu para oradaki bileenin bir pinine ya da mevcut kablo parasnn
sonuna balanmak iin blnr.Ayn zamanda, yeni kablo parasnn son noktas mevcut kablonun
ortasna balanyorsa, bu kablo kendisini birok paraya ayrr.
Kablolarn balanabilecei koanlar izen baz bileenler(OR kaps ya da kontroll tampon gibi),
Logisim koann sonuna atlatarak kablo oluturma iini dzeltir.
Wiring Tool kullanarak mevcut kablo parasn ksaltabilirsiniz, parann sonunu yada ban
ekerek ve mevcut parann zerine kararak.
Logisim'deki tm kablolar dikey ya da yataydr.
Kablolar ynszdr, son noktasndan baka bir noktaya deer tar. Bir kablo her iki ynde
deerleri kendiliinden tar, aadaki rnekte merkez kablo bu ilemi yapmaktadr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Nitelikleri
Wiring Tool tek bana nitelie sahip deildir, ama oluturduu kablolar sahiptir.

Yn: Kablonun dikey mi yatay m olduunu gsterir. Nitelik deeri deitirilemez

Uzunluk: Kablonun ka piksel olacan gsterir. Nitelik deeri deitirilemez.


Poke Tool Davran
Poke Tool kullanarak mevcut kablo parasna tklandnda, Logisim kablodan geen deeri
gsterir. Bu yukardaki ekran grntsnde gsterilmitir. Bu davran oklu-bit kablolar iin
kullanldr, siyah renk kablonun tad deerin grsel bir geri beslemesi olmadn sunar.

Text Tool

Ktphane: Base
Versiyon:

2.0 Beta 1

Davran
Text Tool bileenlerle ilikili etiketleri dzenlemenizi ve oluturmanz salar. Etikleri destekleyen
bileenler "Text Tool Davranlar" blmnde belirtilmitir. u anki srmde yerleik
ktphanelerdeki bileen etiketleri destekler.
Temel Ktphane Pin
Clock
Label
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bu bileenlerden birine Text Tool kullanarak tklamak bileenin etiketini deitirmek istediinize
iaret eder, etiketin bulunduu yerden baka bir yere tklamak sizin etiketi deitirmek istediinizi
gsterir, bir baka blgeye tklamak yeni bir etiket oluturacanz gsterir.
Logisim'in mevcut srmnde yaz dzenleme zellikleri olduka ilkeldir. Yaz ile etiketin olduu
blgeyi semek imkanszdr. Etikete satr sekmesi eklemenin yolu yoktur.
Nitelikleri
Bu aracn nitelikleri etiketinkilerle ayndr. Bu nitelikler mevcut bileendeki etiketin
dzenlenmesinden etkilenmezler, ama Text Tool kullanarak oluturulmu etiketle ilikilidir.
Text Tool destekleyen bileenin zerine tklandnda o bileenin nitelikleri grntlenir.

Menu Tool

Ktphane: Base
Versiyon:

2.0 Beta 1

Davran
Menu Tool kullanclarn zaten mevcut olan bileenler iin pop-up meny oluturmalarn salar.
n tanml olarak, sa-tklama ya da kontrol-tklama bu pop-up meny getirir; proje
seeneklerindeki fare sekmesi kullancnn fare dmelerini deiik alacak ekilde dzenlemesine
izin verir.
ou bileenin pop-up mens iki para ierir.

Sil: Bileeni devreden karr.

Nitelikleri Gster: Bileenin niteliklerini nitelik penceresi tablosuna aktarr ve bylece kullanc
nitelikleri grp deitirebilir.
Baz bileenler iin men ek bileenler bileenler ierir. Alt devresi (bir devreyi dier bir devreyle
"kara kutu" olarak kullanmay salar) bunun bir rneidir. Yukardaki iki bileene ek olarak pop-up
men baka bileenler ierir.

Grnm: Grntlenen ya da dzenlenen devrenin yerleimini alt devreninkiyle deitirir.


Yerleim de grlen deerler alt devreninkilerle ayn hiyerarinin bir paras olacaktr.
Dier bileenler pop-up meny oaltabilir. Logisim'in yerleik ktphanelerinde bu tr olan
bileen RAMdir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Nitelikler
Yok.

Splitter
Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:
Davran
Splitter oklu-bit deerlerini alt bit setlerine ayrlmasn salar. sminin aksine, oklu-bit deerlerini
bileen paralarna blebilir ya da bileen paralarn oklu-bit deerlerine birletirebilir, yad a her
ikisini bir kerede yapar. Splitter iin daha fazla aklama Kullanma Klavuzun'un ``Splitter`
blmnde bulunabilir.
Logisim splitter' deerleri devre ierisinde datrken kullanr. Tm bileenlerin davranlarnn
simlasyonunda ilemler iin hesaplanm gecikme deerleri vardr, bu deerler splitter
zerinden(kablolardaki gibi) annda yaylr.
Not: Splitter standart olmayan bir terimdir, Bildiim kadaryla Logisim'e zgdr. Bu balamda
herhangi bir standart terim bilmiyorum; tek duyduum terim bus ripper, ama bu terim bana gre
gereksiz bir iddet ieriyor.
Pinler
Splitter iin deiik balant noktalar ayrmak iin tek balant noktas iin birleik son, ve oklu
balant noktas iin blnm son kullanacaz.

Birleik son (giri/k bit genilikleri eleir Bit Genilii nitelii)Tm bitleri tayan deer
splitter zerinden dolar.Blnm son (giri/k, bit genilii Bit x niteliklerine dayanarak
hesaplanr)

Blnm son says: Fan k niteliinde belirtilir, ve her blnm sonun sfrdan byk ve
Fan k niteliinden kk bir indisi vardr. Her bir blnm son iin, Bit x indisi ile belirtilen
tm bitler o blnm sondan dolar; bu bitlerin sras birleik sondaki sralaryla ayndr.
Nitelikleri

Facing: Blnm sonlarn birleik sonlara gre konumu


izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Fan k: Blnm sonlarn says

Bit Genilii: Birleik sonun bit genilii.

Bit x:Blnm sonun indisi, birleik sonun bit x ine baldr. blnm sonlar 0 dan balayarak
stten indekslenir ya da 0'dan sol/batya.
Poke Tool Davran
Yok.
Text Tool Davran
Yok.

Pin

Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:

Davran
Bir pin devrenin girii ya da kdr, k niteliine gre. Pin iziminde, Logisim k pinlerini
ember olarak ya da yuvarlatlm drtgen ile gsterir, ve giri pinleri kare ya da drtgenle
gsterilir. Her iki durumda da, gnderilen ya da alnan deerler bileende grntlenir (yazc
grnm hari, bileen sadece pinin ne kadar bit geniliinde olduunu sylerken.)
Pin devrelerle uramak iin uygun bir bileendir, ve balang Logisim kullanclar bunu
kullandktan sonra grecektir. ama deiik alt devreler kullanarak devre oluturan bir
kullanc(Kullanm Klavuzu'nun Alt devreler balnda anlatld gibi) pinleri devreler ve alt
devreler arasnda bir arayz olarak kullanacaktr. Devre dzeninin pin bileenleri bu dzen baka
devrelerde kullanlrken alt devrede bulunan pinleri belirtir. Byle bir devrede, alt devre bileeni
zerinden gnderilen ya da alna deerler alt devre dzenindeki pinler zerine balanr.
Pinler
Pin bileeninin sadece tek pini vardr, pin k pini ise bileen iin giri, ve eer giri pini ise bileen
iin k olur. Her iki durumda da, bit genilii Bit Genilii niteliiyle eleir, ve konumu Facing
niteliiyle eleir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Nitelikler

Facing: Bileende giri/k pinlerinin bulunduu yerin yn.

k: Bileenin k ya da giri pini olduunu gsterir.(dikkat edin eer pin bileeni giri pini
ise devre ile arayz olarak davrand pin k olacak ya da tam tersi.)

Bit Genilii: Pinin tayabilecei deerin miktar.

-konum: Giri pini iin, kullancnn pini belirsiz deerleri almas iin ayarlamasn salar. Bu
nitelik sadece kullanc arayz ile alr; devre grnm alt devre olarak kullanldnda
pinin davranna hi bir etk yapmaz. k pini olarak, niteliin bir etkisi yoktur.

ekme Davran: Giri pini olarak, alt devre olarak kullanlan devreden alnan deerlerin nasl
ilem greceini belirler. "Deimemi" ile alnan deerler grnme aynen iletilir, "ekme" ile
devre grnmne yollanmadan nce 1 deerine evrilir, ve "aa ekme" ile gnderilmeden
nce 0 deerine dntrlr .

Etiket: Bileenle ilikili yaz

Etiket Konumu: Bileene gre etiketin konumu

Etiket Yaz tipi: Etiketin yazlaca yaz tipi


Poke Tool Davran
k pin'ine tklamak hi bir etki yapmaz, pin'in nitelikleri grntlenecek.
Giri pinine tklamak tklanana bit i gsterecektir. Eer -durum pin ise, bal olduu bit konum
arasnda dnecektir.
Eer kullanc Kullanm Klavuzu'ndaki "Alt Devrelerde Hata Ayklama" da akland gibi alt
devrenin durumunu grntlyorsa, pinin deeri alt devrenin bulunduu devreden ald deerdir.
Kullanc alt devre durumu ile bulunduu devre balantsn kesmeden deeri deitiremez, ve
Logisim kullancya bu balanty kesmeyi onaylamas iin uyarr.
Text Tool Davran
Bileenli ilikili etiketin dzenlenmesini salar.

Probe

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ktphane: Base
Versiyon:

2.0.3

Grnm:

Davran
Devrenin verilen noktasndaki deeri gsteren bir elementtir.Tek bana dier bileenlerle
etkilemez.
ou durumda Probe Pin Bileeninde k pini olarak ayarlanm fonksiyonellii ikiye katlar. tek
deiiklik devre alt devre bileeni olarak kullanldnda olur, ve probe'dakinin aksine k pin'i bir
ara yz olacaktr. Grafiksel olarak benzerdirler fakat snrlarnda ufak farkllk vardr: pin'in kaln
siyah snr varken probe'un kenarlar ince ve gridir.
Pinler
Probe bileeninin giri olarak kullanlan tek bir pini vardr. Bu pinin kabul ettii genilikler
uyarlanabilir. Probe herhangi bir genilie uyuma salayacaktr.
Nitelikleri

Facing: Bileende giri/k pinlerinin bulunduu yerin yn.

Etiket: Bileenle ilikili yaz

Etiket Konumu: Bileene gre etiketin konumu

Etiket Yaz tipi: Etiketin yazlaca yaz tipi


Poke Tool Davran
Yok.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Text Tool Davran


Bileenli ilikili etiketin dzenlenmesini salar.

Clock
Ktphane: Base
Versiyon

2.0 Beta 13

Grnm
Davran
Zaman kt deerini Simulate mensndeki tikler etkin olduu srece dzenli takvim zerinde
gsterir.(n tanml durumda tikler etkin deildir). "Tik" Logisim'in zaman birimidir, grnen tikin
hz Simulate mensnn Tik Frekans alt mensnden seilebilir.
Zaman dngleri Yksek Aralkl ya da Dk Aralkl olarak ayarlanabilir.
Unutmayn ki Logisim'in clock simlasyonu olduka gerekddr: Gerek devrelerde, oklu
zamanlar birinden dierine akacaktr ve asla sabit bir admda yer deitirmez. Ama Logisim'de tm
zamanlar ayn oranda vurur.
Pinler
Sadece tek bir pine sahiptir, k bit genilii 1dir. Bu tikin konumu Facing niteliinde belirtilmitir.
tik etkin olduu bir zaman da zaman deeri onun takviminde grnecektir ve Poke Tool kullanarak
tklandnda da grnecektir.
Nitelikleri

Facing: Bileende giri/k pinlerinin bulunduu yerin yn.

Yksek Aralk: Clock ktsnn 1 olaca her bir dngnn uzunluu.

Dk Aralk: Clock ktsnn 0 olaca her bir dngnn uzunluu.

Etiket: Bileenle ilikili yaz

Etiket Konumu: Bileene gre etiketin konumu

Etiket Yaz tipi: Etiketin yazlaca yaz tipi


Poke Tool Davran
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Clock bileenin zerine tklamak onun k deerini grntleyecektir.


Text Tool Davran
Bileenli ilikili etiketin dzenlenmesini salar.

Label
Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:
Davran
Devrenin herhangi bir yerinde bulunabilen basit bir yaz etiketidir. Devre zerinde dolaan
deerlerle herhangi bir ekilde etkilemez, ancak devre izildii zaman grnecektir.
Dier yerleik bileenlerle karlatrldnda, etiket bileenleri devre tuvalindeki herhangi bir yere
yerleebilir; zgaraya yapmazlar.
Pinler
Yok.

Nitelikler
Etikette grnen yaz. Bu deer nitelik tablosundan ya da Text Tool kullanlarak deitirilebilir.
Etiket izilirken kullanlan font. Yatay yerleme. Etiketin resmi konumuna gre yatay yerletirme
tekniidir.(fare etiket oluturmak iin tkland yerde) "Sol" yaz yazldnda sol kenar konumda
olacak demektir; "Sa" ise onun sa kenar konumda olacak demektir. Ve "merkez" ise yaz
yazldnda ortas(yatay olarak) o konumda olacak demektir. Dikey yerleme. Etiketin resmi
konumuna gre dikey yerletirme tekniidir.(fare etiket oluturmak iin tkland yerde) "Temel"
anahat konumu ikiye blecek demektir; "Tepe" yaznn tepesini konumu ikiye blecek demektir;
"Taban" yaznn taban konumu ikiye blecek demektir; ve "Merkez" yaz ortalanacak
demektir(dikey olarak).
Yaznn tepesi ve taban fontun standart art azalna gre hesaplanr. rnein yaz uzun harfler
iermiyorsa (b gibi) ya da azalan harfler (g gibi), dikey yerletirme olacakm gibi dnlr.
Poke Tool Davran
Yok.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Text Tool Davran


Bileenli ilikili etiketin dzenlenmesini salar.

Gates Ktphanesi
Gates ktphanesi deiik basit bileenler ierir, hepsinin deerleri o anki girilerden olumu tek
bir k vardr.

Constant
Ktphane: Gates>
Versiyon:

2.0 Beta 1

Grnm:
Davran
Deer niteliinde belirtilen deeri alr.
Pinler
Bit genilii Bit Genilii niteliiyle eleen bir tek pin'i vardr. Bu pin'in konumu Facing niteliinde
belirtilmitir. Deer niteliindeki deer ne olursa olsun bu bileen sabit olarak bu pin zerinden
kt verir.
Nitelikler

Facing: Deerin izildii yere gre konumlanm pinin yndr.

Bit Genilii: Bileenin giri ve knn bit genilii.

Value: Bileen tarafndan alnan deerin hexadecimal olarak yazlm hali. Deeri tanmlamak
iin kullanlan bitlerin says bit geniliini geemez.
Poke Tool Davran
Yok.
Text Tool Davran
Yok.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

NOT Gate
Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:

Davran
NOT kaps giri her ne alrsa onun tamlayann yayar. NOT kapsnn doruluk tablosu aadadr.

Eer giri tanmlanmamsa (deiken gibi), ya da hata deeriyse, ktda ayn deere sahip olur.
oklu-bit NOT kaps yukardaki deiimi giriteki bitler ynnde gerekletirecektir.
Pinler

Bat kenar: Giri, Bileenin giriindeki Bir Genilii niteliine bal bit genilii.

Dou kenar: k,(Bit Genilii niteliine bal bit genilii). Giri deerinin tamamlayclarnn
deerine sahip olan k.

Nitelikler

Facing: Bileenin yn(k girie grecelidir.)

Bit Genilii: Bileenin giri ve knn bit genilii.

Kap Boyutu: Bileenin daha byk m yoksa daha kk m izileceini belirler.


Poke Tool Davran
Yok.
Text Tool Davran
Yok.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Buffer
Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:
Davran
Tampon basite sol taraftan ald girii sa ka geirir. Bir-bit tampon Doruluk tablosu
aadadr.

Tamponlar Logisim tarafndan salanan Gates bileeninde en yararsz eylerdir; Gates


ktphanesinde bulunmas kullanl fonksiyonellik sunma sorunu kadar btnlk sorunudur da.
Ama deerlerin bir kablo zerinde tek ynde ilerlediinden emin olmak konusunda kullanl
olabilir.
Pinler

Bat kenar: (Giri, Bileenin giriindeki Bir Genilii niteliine bal bit genilii) Bileene giri.

Dou kenar: k,(Bit Genilii niteliine bal bit genilii). Her zaman sol tarafa giri ile
eleen k.
Nitelikler

Facing: Bileenin yn(k girie grecelidir.)

Bit Genilii: Bileenin giri ve knn bit genilii.


Poke Tool Davran
Yok.
Text Tool Davran
Yok.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

AND/OR/NAND/NOR Gate

Ktphane: Base
Versiyon:

2.0 Beta 1

Grnm:

Davran
AND, OR, NAND ve NOT geitlerin her biri srasyla girilerin fonksiyonlarn, ve ktaki sonular
yayarlar. ki-girili doruluk tablosu aadadr.

Belirsiz olan her giri geri evrilir; AND ve OR geitlerin belirli tm girilerin AND/OR larn hesaplar,
ve NAND/NOR geitleri tm belirli girilerin AND/OR larnn tamamlaycsdr. Eer tm giriler
deikense, kta deiken olur. Eer girilerden biri hata deeri ise (ayn kabloya gelen
deerlerin akmas gibi), kta hata deeri olur.
Her bir geidin oklu-bit versiyonu onun tek-bit deiimini giriteki bitler ynnde
gerekletirecektir.
Pinler

Bat kenar: (Giri, Bileenin giriindeki Bir Genilii niteliine bal bit genilii) Bileene giri.
Giri Says niteliinde belirtilen kadar oklukta olabilir.

Eer yumuatlm geitler kullanyorsanz, OR ve NOR geitlerinin bat taraf bkeyli olur.
bununla beraber, giri pinleri bir hat zerindedir. Logisim bunlar gsteren ksa paralar
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izecektir; ve eer o para zerine gemek isterseniz, sessizce zerine gemek


istemeyeceinizi varsayacaktr. "Yazc grntsnde" bu paralar kablolara bal olmadka
grnmeyecektir.

Dou kenar: k,(Bit Genilii niteliine bal bit genilii). Geidin k, deeri yukarda
belirtilmi mevcut giriler zerinden hesaplanr.
Nitelikler

Facing: Bileenin yn(k girie grecelidir.)

Bit Genilii: Bileenin giri ve knn bit genilii.

Geit Boyutu: Bileenin geni ya da dar versiyonunun izilmesini belirler. Giri Says niteliiyle
belirlenmi giri saylarna etkisi yoktur; eer giri says 3 (dar bileenler iin) ve 5 (geni
bileenler iin) aarsa , geitler istenilen sayda girii karlayabilmek iin "kanat" ile izilir.

Giri Says: Bat tarafnda bileene ait ka pin olacan belirler


Poke Tool Davran
Yok.
Text Tool Davran
Yok.

XOR/XNOR/Odd Parity/Even Parity Gate

Ktphane: Base
Versiyon:

2.0 Beta 1 for XOR/Odd/Even; 2.0 Beta 6 for XNOR

Grnm:

Davran
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

XOR,XNOR,Even parity ve Odd Parity geitlerinin her biri srasyla giri fonksiyonudur ve ktaki
sonular yayarlar. Bu geitler iin iki-girili doruluk tablosu aadadr.
x y XOR XNOR Odd Even
0 0 0

0 1 1

1 0 1

1 1 0

Grdnz gibi XOR geidi ve Odd Parity geidi iki girite ayn ekilde davranrlar, benzer ekilde
Ever Parity geidi ile XNOR geidi de ayn davranr. Ama eer iki belirlenmi giriten daha fazla giri
varsa, XOR geidi sadece bir giri varken 1 sonucu karacaktr, Odd Parity geidi ift say kadar 1
girii varsa 1 karacaktr. XNOR geidi sadece bir giri yokken 1 sonucu karacaktr, Even Parity
geidi tek say kadar 1 girii varsa 1 karacaktr.
Eer tm giriler deikense, kta deiken olur. Eer girilerden biri hata deeri ise (ayn
kabloya gelen deerlerin akmas gibi), kta hata deeri olur.
Her bir geidin oklu-bit versiyonu onun tek-bit deiimini giriteki bitler ynnde
gerekletirecektir.
Not: ou otoriteler XOR geidinin davrann Odd Parity geidine bal gsterirler, Ama bu
noktada bir anlama yoktur. Logisim'in XOR gate davran IEEE 91 standartlarna dayanr.
"Exclusive" kelimesinin altnda yatan anlam gibidir:
Pinler

Bat kenar: (Giri, Bileenin giriindeki Bir Genilii niteliine bal bit genilii) Bileene giri.
Giri Says niteliinde belirtilen kadar oklukta olabilir.

Eer yumuatlm geitler kullanyorsanz, XOR ve XNOR geitlerinin bat taraf bkeyli olur.
bununla beraber, giri pinleri bir hat zerindedir. Logisim bunlar gsteren ksa paralar
izecektir; ve eer o para zerine gemek isterseniz, sessizce zerine gemek
istemeyeceinizi varsayacaktr. "Yazc grntsnde" bu paralar kablolara bal olmadka
grnmeyecektir.

Dou kenar: k,(Bit Genilii niteliine bal bit genilii). Geidin k, deeri yukarda
belirtilmi mevcut giriler zerinden hesaplanr.

Nitelikler
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Facing: Bileenin yn(k girie grecelidir.)

Bit Genilii: Bileenin giri ve knn bit genilii.

Geit Boyutu: Bileenin geni ya da dar versiyonunun izilmesini belirler. Giri Says niteliiyle
belirlenmi giri saylarna etkisi yoktur; eer giri says 3 (dar bileenler iin)
ve 5 (geni
bileenler iin) aarsa , geitler istenilen sayda girii karlayabilmek iin "kanat" ile izilir.

Giri Says: Bat tarafnda bileene ait ka pin olacan belirler.

Poke Tool Davran


Yok.
Text Tool Davran
Yok.

Kontroll Tampon/Dntrc

Ktphane: Gates
Versiyon:

2.0 Beta 1

Grnm:
Davran
The controlled buffer and inverter, often called three-state buffers/inverters, each have a one-bit
"control" input pin on the south side. The value at this control pin affects how the component
behaves:
Kontroll tampon ve dntrclere, sklkla -durumlu tamponlar/dntrcler denir, her biri
gney tarafnda bir bit "kontrol" giri pinine sahiptir. buradaki kontrol pininin deeri bileenin nasl
davranacana etki eder:

Eer pin deeri 1 ise, bileen tampon ya da dntrc olarak davranr, NOT geidi olarak
deil.

Eer deer 0 ya da bilinmiyorsa(deikenler gibi), bileen kts deiken olur.


izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Eer deer hata deeri ise (girie geri gelen ve akan deerler olduunda meydana gelir),
kt hata deeri olur.
Kontroll tamponlar dier bileenlerin k deerleriyle eleen deere sahip bir kablonuz
(genelde bus denir) olduunda kullanl olabilir. bileen ve bus arasna kontroll tampon
yerletirerek bileenin knn bus zerine besleme yapp yapmayacan kontrol edebilirsiniz.
Pinler

Facing: Bileenin yn(k girie grecelidir.)

Bat kenar: (Giri, Bileenin giriindeki Bir Genilii niteliine bal bit genilii) Kontrol girii 1
olduunda k hesaplayacak bileen girii.

Gney kenar:(Giri, bit genilii 1) Bileenin kontrol girii.

Dou kenar: k,(Bit Genilii niteliine bal bit genilii). Kontrol girii 0 yada deiken
olduunda deiken olan, kontrol girii hata deeri olduunda kendisi de hata deeri olan ve
kontrol girii 1 olduunda bat-taraf girii zerinden hesaplanan bileen kdr.

Nitelikler

Bit Genilii: Bileenin giri ve knn bit genilii.

Poke Tool Davran


Yok.
Text Tool Davran
Yok.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Memory Ktphanesi
Hafza ktphanesi hatrlanacak bilgileri ierir.

D/T/J-K/S-R kili duraklama


Ktphane: Hafza
Versiyon:

2.0 Beta 1

Grnm:

Davran
Her bir ikili duraklama dou tarafna Q kndan yaylan tek bitlik veri saklar. Normalde, deer bat
tarafna giriten kontrol edilebilir. Ksmen, zaman girii, her bir ikili duraklama zerinde genle
gsterilmitir, 0 dan 1 e ykseldiinde, bu ykselme kenarnda, deer aadaki tabloya gre
deiir.

ki durakln davrannn aklamasnn bir baka yolu da

D ki durakl: zaman 0 dan 1 e ykseldiinde, iki durakl tarafndan saklanan deer D giriinin
deeri(verisi) olur

T Flip-Flop: Zaman 0 dan 1 e ykseldiinde, ikili duraklama da saklanan deer T giriinin 1 ya


da 0 olmasna bal olarak ayn kalr ve grnr.

R-S Flip-Flop: Zaman 0 dan 1 e ykseldiinde, R ve S her ikisi de 0 ise ikili duraklama tarafndan
saklanan deer deimeden kalr, R girii 1 ise 0 olur, ve S girii 1 ise 1 olur. Her iki girite 1
olduunda davran belirsizdi. (Logisim de ikili duraklama deeri deimeden kalr)

J-K ki durakl: Zaman 0 dan 1 e ykseldiinde iki durakl tarafnda saklanan deer eer J ve K
girileri 1 ise grnr, eer sfrsa aynen kalr, K ve J eit deilse K deerine dnr(J ve K
kelimeleri hibir anlam ifade etmez)

Pinler
Bat kenar, genle gsterilmitir (giri, bit genilii 1) Zaman girii: bu giriin deeri 0 dan 1 e
ykseldiinde (ykselme kenar), bat kenarndaki dier girilere gre deer gncellenir. Bu 0 ya da
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

1 olarak kald srece, bat kenarndaki dier giriler bir etki yapmaz.Bat kenar, dier etiketli
giri(ler) (giriler, bit genilii 1) bu giriler ikili duraklamann ykselen kenarda nasl deieceini
belirler. Gerek davran ikili duraklamaya gre deiir; Yukardaki tablo bunlarn davrann
toparlar.. Dou kenar, Q ile gsterilir, kuzey son (k, bit genilii 1) O an ikili duraklama
tarafndan saklanan deerleri kartr. Dou kenar, gney son (k, bit genilii 1) kili
duraklamada saklanan tamamlayc deerleri karr.Gney kenar, dou son (giri, bit genilii 1)
Asenkron sfrlama: 0 yada tanmlanamadnda giriin etkisi olmaz.1 olduunda ikili duraklama
deeri 1. pine gider. Bu asenkron olarak gerekleir - yle ki, o anki zaman giriine baklmakszn.1
olduu srece, dier girilerin etkisi yoktur. Gney kenar, bat son (giri, bit genilii 1) Asenkron
ayart: , 0 yada tanmlanamadnda giriin etkisi olmaz.1 olduunda ikili duraklama deeri 1. pine
gider. Bu asenkron olarak gerekleir - yle ki, o anki zaman giriine baklmakszn.1 olduu srece
dier girilerin etkisi yoktur,asenkron sfrlama girii hari,bunun ncelii vardr.

Nitelikler
Yok.

Poke Tool Davran


Poke Arac kullanarak ikili duraklama zerine tklamak ikili duraklama zerinde saklanan deeri
gsterir, asenkron sfrlama/ayar girileri ikili duraklama deeri zerine pinlenir.

Text Tool Davran


Yok.

Kayt
Ktphane: Hafza
Versiyon:

2.0 Beta 1

Grnm:

Davran

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Her kayt bir tek oklu-bit deeri saklar, drtgen ierisinde hexadecimal olarak gsterilir ve Q
kndan yaylr. Zaman girii(gney kenarnda genle gsterilmitir) 0 dan 1 e ykseldiinde,
kaytta saklanan deer o anda D giriinin deeri olur.
clr girii kaydn deerini asenkron olarak 0 a eitler, clr girii 1 olduu srece deer 0 a pinlenir,
zaman giriine baklmakszn.

Pinler
Dou kenar, Q ile gsterilir, kuzey son (k, k bit genilii Veri bir Genilii niteliiyle eleir)
Kayt tarafndan saklanan deerleri kartr. Bat kenar, D ile gsterilir(giri, k bit genilii Veri
bir Genilii niteliiyle eleir). Veri Girii: zaman deeri 0 dan 1 e ykseldiinde, kayt deeri D
giriindeki deere dnr. Gney kenar, genle gsterilir(giri, bit genilii 1) Zaman girii: giri
deeri 0 dan 1 e ykseldiinde , kayt deeri D giriindeki deere gncellenir.Gney kenar, clr ile
gsterilir. Asenkron sfrlama: 0 ya da tanmlanmadnda, bu giriin bir etkisi yoktur. 1 olduu
srece kayt deeri 0'a pinlenir. Bu asenkron olarak gerekleir, zaman giriine baklmakszn. 1
olduu srece dier girilerin etkisi yoktur.

Nitelikler
Veri bit genilii:Kaytta saklanan verinin bit genilii

Poke Tool Davran


Kayt zerine tklamak klavyeyi kayt zerine getiri (krmz drtgenle gsterilmitir), ve hexadecimal
rakam yazmak kayttaki deeri deitirecektir.

Text Tool Davran


Yok.

RAM

Ktphane: Hafza
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Versiyon:

2.0 Beta 1

Grnm:

Davran
RAM bileeni Logisim'in yerleik bileenlerinden en karmak olandr. 4.096 adete kadar deer
saklayabilir. (Adres bit genilii niteliinde belirtilmitir), her biri 32 bite ierebilir(Veri bit genilii
niteliinde belirtilmitir) devre RAM ierisinde deer saklayabilir ve ykleyebilir. Ayn zamanda
kullanc Poke Arac kullanarak balang deerlerini interaktif olarak deitirebilir ya da Men
Aracndan modifiye edebilir.
O anki deer bileende gsterilir. Adresler gsterim blgesinin sol tarafnda gri renkte listelenir.
eride, her deer hexadecimal olarak listelenir. O anki seilen adresteki deer ter yaz olarak
grnr(siyah zerine beyaz)

Pinler
Bat kenarnda ki A (giri, bit genilii Adres Bit Genilii niteliindekiyle eleir) Devre tarafnda
eriilebilecek deerleri seer.Dou kenarndaki D (giri/k bit genilii Veri Bit Genilii
niteliindekiyle eleir) Eer k 1 yada tanmlanmamsa(deiken gibi),RAM D pininde seilmi
olan deeri karr. (sel zerindeki sfr bunu etkisizletirecektir.) Eer k 0 ise, D pin giritir,
zaman 0 dan 1 e ktnda deer seilen adrese yerleecektir.gney kenarndaki sel (giri, bit
genilii 1) Eer sadece bir RAM modlnz varsa, bu girii nemsemeyin.
Eer paralel olarak oklu RAM'iniz varsa, Bu girii tm RAM modllerini etkinletirmek yada iptal
etmek iin kullanabilirsiniz, deerin 0 yada 1 olmasna bal olarak Dier bir deyile deer 0
olduunda D knda hi bir deer yaylmayacak ve hafzadaki deerler deimeyecek.Gney
kenarndaki gen (giri, bit genilii 1) Zaman Girii: k sfr olduunda, ve bu giri 0 dan 1 e
ykseldiinde (ve sel 1 /tanmsz ve clr 0), bylece seilen adresteki deer D pinindeki deere
dnr. Zaman girii 0 yada 1 olduu srece,D deeri hafzada saklanmaz.Gney
kenarndaki k (giri, bit genilii 1) RAM in ( D zerinden) o anki adres(A) daki deeri yayacana
karar verir.k 1 ya da tanmszsa ise bu k davran etkindir, eer k 0 ise, zaman 0 dan 1 e
ykseldiinde deer yazacak bir giri gibi davranr. gney kenarndaki clr (giri, bit genilii 1) 1
olduunda, ve sel 1 ya da tanmszsa,dier girilerin ne olduuna baklmakszn hafzadaki tm
deerler pin 0 a ynlendirilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Nitelikler
Adres Bit Genilii: Adres bitlerinin bit genilii. RAM de saklanan deerlerin says
2.adresBitGenilii.
Veri Bit Genilii: Hafzadaki her bir deerin bit genilii

Poke Tool Davran


Kullanma klavuzunda darbe hafza (poking memory) ksmna bakn

Text Tool Davran


Yok.

Menu Tool Davran


Kullanma klavuzundaki pop-up men ve dosyalara bakn.

ROM

Ktphane: Hafza/td>
Versiyon:

2.1.0

Grnm:
Davran
ROM bileeni Logisim'in yerleik bileenlerinden en karmak olandr. 4.096 adete kadar deer
saklayabilir. (Adres bit genilii niteliinde belirtilmitir), her biri 32 bite ierebilir(Veri bit genilii
niteliinde belirtilmitir) devre ROM ierisindeki deere eriebilir ama deitiremez. Ayn zamanda
kullanc Poke Arac kullanarak balang deerlerini interaktif olarak deitirebilir ya da Men
Aracndan modifiye edebilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

RAM bileeninden farkl olarak, ROM un ierii bileende nitelik olarak tutulur. Eer ROM ieren
devre iki kere kullanlrsa ROM bileenleri ayn deere sahip olacaktr. Ayn zamanda bu davran
yznden, o anki ROM ierii Logisim tarafnda dosyada saklanr.
O anki deer bileende gsterilir. Adresler gsterim blgesinin sol tarafnda gri renkte listelenir.
eride, her deer hexadecimal olarak listelenir. O anki seilen adresteki deer ter yaz olarak
grnr(siyah zerine beyaz).

Pinler
Bat kenarnda ki A (giri, bit genilii Adres Bit Genilii niteliindekiyle eleir) Devre tarafnda
eriilebilecek deerleri seer.Dou kenarndaki D (giri/k bit genilii Veri Bit Genilii
niteliindekiyle eleir) Eer sel 1 yada deikense o an seili olan D pinindeki adresteki deeri
kartr. Eer sel 0 ise D deiken olur. gney kenarndaki sel (giri, bit genilii 1) Eer sadece bir
ROM modlnz varsa, bu girii nemsemeyin. Eer paralel olarak oklu ROM iniz varsa, Bu girii
tm ROM modllerini etkinletirmek yada iptal etmek iin kullanabilirsiniz, deerin 0 yada 1
olmasna bal olarak. Hibir deer D zerinden yaylmayacaktr.

Nitelikler
Adres Bit Genilii: Adres bitlerinin bit genilii. ROM de saklanan deerlerin says
2.adresBitGenilii.
Veri Bit Genilii: Hafzadaki herbir deerin bit genilii
Poke Tool Davran
Kullanma klavuzunda darbe hafza (poking memory) ksmna bakn

Text Tool Davran


Yok.

Menu Tool Davran


Kullanma klavuzundaki pop-up men ve dosyalara bakn.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Plexers Ktphanesi
Plexers ktphanesi kontrol bileenleri ierir. Gate ktphanesindeki gibi hepsi bileimseldir ama
amalar genelde deerleri ynlendirmektir.

Multiplexer
Ktphane: Plexers
Versiyon:

2.0 Beta 11

Grnm:

Davran
Bat kenarndaki girii dou kenarndaki ka kopyalar; kopyalanacak giri gney kenarndaki
giriten alnarak belirlenir. Multiplexer' analog demiryolu deitiricisine benzetmek yararl olabilir.
(Baz yetkililer multiplexor da der ama multiplexer baskn bir sylenitir.)

Pinler
Bat kenar, deiken says(giriler, bit genilii Veri Bit Genilii niteliiyle eleir) Veri deeri,
ka ynleneceklerden biri . Her giri veri deeri 0 dan balayarak kuzeyden numaralandrlr.
Dou kenar (k, bit genilii Veri Bit Genilii niteliiyle eleir) k deeri bat kenarnda gney
giriinde seilmi olan numara ile numaras ayn olan girile eleir.eer seim girii herhangi bir
deiken bit ieriyorsa, k tamamen deiken olur. Gney kenar(giri, bit genilii Seim Bit
Genilii niteliiyle eleir) Seim girii: Bu giriin deeri bat kenarndaki hangi giriin dou
kenarndaki ka ynlendirileceine karar verir.

Nitelikler
Seim Bitleri: Bileenin gney kenarndaki giriin bit genilii. Multiplexere giri says 2seimBitleri
olacak
Veri Bitleri: Multiplexerdan ynlendirilecek verilerin bit genilii

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Demultiplexer
Ktphane: Plexers
Versiyon:

2.0 Beta 11

Grnm:

Davran
Bat kenarndaki girii dou kenarndaki ka kopyalar; kopyalanacak k gney kenarndaki
giriten alnarak belirlenir. Multiplexer' analog demiryolu deitiricisine benzetmek yararl olabilir.
(Baz yetililer demultiplexor da der ama demultiplexer baskn bir sylenitir.)

Pinler
Bat kenar, (giriler, bit genilii Veri Bit Genilii niteliiyle eleir) Dou kenarndaki ka
ynlendirilecek deer.. Dou kenar (k, bit genilii Veri Bit Genilii niteliiyle eleir) Her k
veri deeri 0 dan balayarak kuzeyden numaralandrlr. k bat giriiyle ,eer gneydeki seim
girii deeri ile eleiyorsa, eleir, aksi halde l-durumun deerine gre deeri tamamen-sfr ya
da deiken olabilir. eer seim girii belirtilmemi deer ieriyorsa tm klar deiken olur.
Gney kenar(giri, bit genilii Seim Bit Genilii niteliiyle eleir) Seim girii: Bu giriin deeri
bat kenarndaki hangi giriin dou kenarndaki ka ynlendirileceine karar verir.

Nitelikler

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Seim Bitleri: Bileenin gney kenarndaki giriin bit genilii. Demultiplexere giri says
2seimBitleri olacak
Veri Bitleri: Demultiplexerdan ynlendirilecek verilerin bit genilii.
-durum: Seilmeyen klarn deiken (Evet) ya da sfr(Hayr) olmasn belirler.

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Decoder
Ktphane: Plexers
Versiyon:

2.0 Beta 11

Grnm:

Davran
Gney kenarn giriinden alnan ve kts 1 olan 1'i sadece bir ktan yayar.

Pinler
Dou kenar, deiken says(klar, bit genilii 1) klar kuzeyde 0 dan balayarak
numaralandrlr. Her bir k gneydeki seim giriindeki deerin saysyla eleirse 1 olur; aksi
halde -durumun niteliine bal olarak deeri sfr ya da deiken olur. Seilen giri
belirlenmemi deer ieriyorsa, tm klar deiken olur. Gney kenar (giri, bit genilikleri Seim
Bitleri ile eleir) Seim Girii : bu giriin deeri hangi kn 1 olacan belirler.

Nitelikler

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Seim Bitleri: Bileenin gney kenardaki seim giriinin bit genilii. Decoder dan k says
2seimBitleri olacak
-durum: seilmeyen klarn deiken (Hayr) ya da sfr(Hayr) olmasn belirler.

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Bit Selector
Ktphane: Plexers
Versiyon:

2.0.5

Grnm:

Davran
Verilen deiik bitleri bulunan girii, bu bileen birka eit boyutlu gruba bler(dk dereceli
bitlerden balayarak) ve seim girii tarafnda seilen grubu kartr.
rnein, eer 8 bitlik bir giriimiz varsa 01010101, ve bitlik kmz varsa, grup 0 en dn
dereceli l bit 101, grup 1 sonraki bit,010 ve grup 2 de sonraki bit 001 olacaktr. (tepenin
ilerisindeki tm bitler 0 ile doldurulmutur.) Seim girii bu gruptan hangisinin ka gideceini
seen iki bitlik numaraya sahiptir; eer seim girii 3 ise, 000 k olacaktr.

Pinler
Bat kenar (giri, bit genilii Veri Bit Genilii niteliiyle eleir) k iin seilen verinin deeri.
Dou kenar (k, bit genilii k Bitleri nitelii ile eleir) Seim giriinde seilen veri deerinden

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

bir bit grubu. Gney kenar (giri, bit genilii Veri bitlerinin ve k bitlerinin blmnn
yuvarlanm deeridir) Seim girii: Hangi bit gruplarnn ka ynlendirileceine karar verir.

Nitelikler
Seim Bitleri: Bileenin veri giriinin bit genilii
k bitleri: Bileenin knn bit genilii

Poke Tool Davran


Yok.

Text Tool Davran


Yok

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Aritmetik Ktphanesi
Aritmetik ktphane iaretlenmemi ve iki tamamlayc deerler zerine aritmetik deerler
uygulayan bileiksel bileenler ierir.

Ekleyici

Ktphane: Aritmetik
Versiyon:

2.0 Beta 11

Grnm:

Davran
Bu bileen bat girii ve kndan gelen deerlerin dou k zerinde toplar. Bu bileenin
oluturulmasyla dier bileenlerle kullanlarak daha fazla bit eklenebilir. Tayc giri toplama
eklenecek bir bit deer sunar(eer belirtilmise), ve tayc-k bir bitlik ar deer sunar ve bu
baka bir ekleyiciye beslenebilir.
Eer ekleyici sonu deiken ya da hata bitleri ieriyorsa, bileen ksmi bir ekleme yapacaktr. Yani
mmkn olan en dk biti hesaplayacaktr. Ama deiken ya da hata bitinin zerinde , sonu
deiken ya da hata bitleri ierecektir.

Pinler
Bat kenar, kuzey son: (Giri, bit genilii Bit Genilik niteliiyle eleir ) eklenen iki deerden biri.
Bat Kenar, Gney son: (Giri, bit genilii Bit Genilik niteliiyle eleir ) eklenecek iki deerden
dieri.
Kuzey kenar: C ile etiketlenir. (Giri, bit genilii 1) toplama eklenecek tama deeri. Eer deer
bilinmiyorsa(deiken gibi), 0 olarak alnr.
Dou kenar: (k, bit genilii Bit Genilik Niteliindekiyle eleir)

Nitelikler
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bit Genilii: Eklenecek deerlerin ve sonucun bit genilii

Poke Tool Davran


Yok.

Text Tool Davran


Yok..

Subtractor
Ktphane: Aritmetik
Versiyon:

2.0 Beta 11

Grnm:

Davran
Bu bileen bat giriinden karlan deerleri ekler ve dou kndaki farkll karr.Dier
substractor lar ile birletirilerek tek bir bileenin karabileceinden daha ok bit karlmasna
olanak tanr. dn alma girileri bir farktan alnacak bitlik bir deer sunar(eer dn girii
tanmlanmsa) ve dn k bileenin st seviye den bir bit almaya ihtiyac olup olmadn
gsterir.
sel olarak, substractor basite kan zerinde bitler boyunca NOT uygular, ve bunu karlana
dn-giriin NOT boyunca ekler. (kartlan ilk olarak kartmaya st giritir, ve kan
ikincidir(dk giri).
Eer ilenen deiken ya da hata bitleri ieriyorsa, bileen ksmi bir ekleme yapacaktr. Yani
mmkn olan en dk biti hesaplayacaktr. Ama deiken ya da hata bitinin zerinde , sonu
deiken ya da hata bitleri ierecektir.

Pinler
Bat kenar, kuzey son (giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir) kartmann
kan, karlacak olan saydan. Bat kenar, gney son(giri,bit genilii Bit Genilik niteliinde
belirtilen ile eleir ) kartmann karlan, kandan karlan say. Kuzey kenar, b in ile
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

gsterilir(giri, bit genilii 1), ve 1 deiiklii verir. Deer bilinmiyorsa (deiken gibi) 0 olarak
alnr. Dou kenar (k, bit genilii Bit Genilik niteliinde belirtilen ile eleir) Farkn dk
bitGenilikli bitleri bat kenarna gelir, b in i negatifler.Gney kenar, b out ile gsterilir(k, bit
genilii 1). dn bit fark iin hesaplanr. Eer karlan deerler negatif deer karan iaretsiz
deerlerse, bu bit 1 olacaktr; aksi takdirde 0 olur.

Nitelikler
Bit Genilii: kartlacak ve sonutaki bitlerin genilikleri

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

oklayc

Ktphane: Arithmetic
Versiyon:

2.0 Beta 20

Grnm:

Davran
Bu bileen bat kenarndan gelen iki deeri arpar ve dou kenarna kt olarak verir. Dier
oklayclarla kullanlarak tek bir oklaycnn verecei bit miktarndan daha fazla bit verebilir.
tama-girii sonuca eklenecek oklu-bit deerini verir, tama-k ise sonucun st yarsn verir, bu
da baka bir oklaycy besleyebilir.
Eer oklanan, oklayc ve tama-giri, k girileri deiken ya da hata bitleri ieriyorsa, bileen
ksmi oklama yapacaktr. Bu mmkn olduu kadar dk-dereceli bit hesaplayacaktr. Fakat
deiken ya da hata bitleri zerinde sonu ta deiken ya da hata biti olacaktr. Dikkat edin eer
tama-giri tamamen deikene, hepsi-sfr olarak deerlendirilecektir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Pinler
Bat kenar, kuzey son (giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir) arplan,
(arpmann ilki ya da iki says). Bat kenar, gney son(giri,bit genilii Bit Genilik niteliinde
belirtilen ile eleir ) arpan(arpmann ilki ya da iki says). Kuzey kenar, c in ile gsterilir(giri, bit
genilii Bit Genilik niteliinde belirtilen ile eleir), sonuca eklenecek tama deeri. Eer tm
bitler bilinmiyorsa(deiken gibi), 0 olarak alnrlar. Dou kenar (k, bit genilii Bit Genilik
niteliinde belirtilen ile eleir) bat kenarndan gelen bitlerin dn bit geniliine sahip olanlar,
art c in deeri. Gney kenar, c out ile gsterilir(k, bit genilii 0) rnn st bitGeniliine sahip
bitleri.

Nitelikler
Bit Genilii: arplacak ve sonutaki bitlerin genilikleri

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Blc
Ktphane: Aritmetik
Versiyon:

2.0 Beta 22

Grnm:

Davran
Bu bileen bat kenarndan gelen iki deeri bler ve dou kenarna kt olarak verir. Dier
blclerle kullanlarak tek bir blcnn verecei bit miktarndan daha fazla bit verebilir.st giri,
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

blnenin st bitGenilikli bitlerini sunar(eer belirtilmise), ve rem bitleri hatrlatcy sunar, baka
bir blcnn st giriini besleyebilir.
Eer blen 0 ise, blme ilemi yaplmaz(rnein blen 1 olarak alnr).
blen iaretsiz bir blme yapar. Ve hatrlatc her zaman 0 ve blen-1 arasnda olur. Blm her
zaman tamsay olur yani,
blm*blen+hatrlatc=blnen
Eer blm o anki bitGeniliine uymazsa, sadece dn bitGenilikli bitler grntlenir. Bileen
st bitGeniliklerine ulamak iin bir metot sunmaz.
Eer ilenenler deiken yada hata bitleri ieriyorsa, bileenin kts da deiken ya da hata
deerleri olur.

Pinler
Bat kenar, kuzey son (giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir) Blnenin
dk bitGeniliki bitleri, (blmenin ilk ilenenidir). Bat kenar, gney son(giri,bit genilii Bit
Genilik niteliinde belirtilen ile eleir ) blen(blmenin ikinci ilenenidir). Kuzey kenar, st ile
gsterilir(giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir), Blnenin st bitGenilikli
bitleridir(blmenin ilk ilenenidir). Dou kenar (k, bit genilii Bit Genilik niteliinde belirtilen
ile eleir) Blmn dk bitGeniliki bitleri. Gney kenar, rem ile gsterilir(k, bit genilii 1)
blmenin hatrlatcs, bu deer her zaman 0 ve blen-1 arasndadr..

Nitelikler
Bit Genilii: Blnecek ve sonutaki bitlerin genilikleri

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Negator
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ktphane: Arithmetic
Versiyon:

2.0 Beta 22

Grnm:

Davran
ki tamamlaycnn olumsuzunu hesaplar. bu olumsuzlama tm dk dereceli bitleri en dn
dereceli 1 e dzenleyerek gerekletirilir, ve bunun zerindeki tm bitlerin tamamlanmasyla.
Eer olumsulatrlacak deer daha az negatif deerdeyse, bunun olumsuzu da negatif deerde
olacaktr.

Pinler
Bat kenar, kuzey son (giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir)
olumsulatrlacak deer. Dou kenar, -x ile gsterilir (k, bit genilii Bit Genilik niteliinde
belirtilen ile eleir) giriin olumsuzu. Eer giri bitGenilii bitlerin de gsterilebilir daha negatif bir
deer oluyorsa, k girile eleir.

Nitelikler
Bit Genilii: Blnecek ve sonutaki bitlerin genilikleri

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

Karlatrc
Ktphane: Aritmetik
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Versiyon:

2.0 Beta 22

Grnm:

Davran
Nmerik Tip deerine gr iaretli ya da ikili-tamamlanm deeri karlatrr. normalde ktlardan
biri 1 olur, ve dieri de 0 olur.
Karlatrma her bir saynn anlaml ksmndan balatlr ve ayn olmayan yer bulunana kadar aa
doru gider. Ama bu srada hata ya da deiken ile karlalrsa tm k hata ya da deiken olur.

Pinler
Bat kenar, kuzey son (giri, bit genilii Bit Genilik niteliinde belirtilen ile eleir) karlatrlacak
iki deerin ilki. Bat kenar, gney son(giri,bit genilii Bit Genilik niteliinde belirtilen ile eleir )
karlatrlacak deerlerden ikincisi. Dou kenar, > ile gsterilir (k,bit genilii 1) birinci giri
ikinciden bykse 1, kkse ya da eitse 0 olur. Dou kenar, = ile gsterilir (k, bit genilii 1),
birinci giri ikinciye eitse 1, eit deil ise 0 olur. Dou kenar, < ile gsterilir(k, bit genilii 1)
birinci giri ikinciden kkse 1, bykse ya da eitse 0 olur.

Nitelikler
Bit Genilii: Bileenin giri ve klarnn bit genilii

Poke Tool Davran


Yok.

Text Tool Davran


Yok.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Legacy Ktphanesi
Legacy Ktphanesi Logisim 1.0 ve 1.0x versiyonlaryla uyumluluu salamak iin gerekli bileenler
ierir.

Logisim 1.0 D/J-K kili duraklama

Ktphane: Legacy
Versiyon:

2.0 Beta 12

Grnm:

Davran
Bu bileenin amac geriye dnk Logisim 1.0x srmleri ile uyumluluu salamaktr. Yeni devreler
iin, Hafza ktphanesini iki durakllarna gereklilik vardr.
Her iki durakl dou tarafndan yaylm iki tek bitlik veri saklar. Normalde, deer bat tarafna
giriten kontrol edilir. Ksmen, genle iaretlenmi her bir iki durakl zaman girii 0 dan 1 e
ykseldiinde deer deiir. Deer aadaki tabloya gre deiir.

ki durakln davrannn aklamasnn bir baka yolu da

D ki durakl: zaman 0 dan 1 e ykseldiinde, iki durakl tarafndan saklanan deer D giriinin
deeri(verisi) olur

J-K ki durakl: Zaman 0 dan 1 e ykseldiinde iki durakl tarafnda saklanan deer eer J ve K
girileri 1 ise grnr, eer sfrsa aynen kalr, K ve J eit deilse K deerine dnr(J ve K
kelimeleri hibir anlam ifade etmez)

Pinler

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bat kenar, gen ile iaretlenmi (giri, bit genilii 1)

Saat girii: Bu giri annda 0 dan 1 e deiir(ykselen kenar), deer bat kenarndaki giriin
deerine gre gncellenir. Bu 0 ya da 1 olduu srece bat kenarndaki dier girilerin etkisi
yoktur.

Bat kenar, giri(ler) olarak isimlendirilir(giri(ler), bit genilii 1)

Bu giri iki durakl deerlerin zamann ykselen kenar srasnda nasl deieceini kontrol eder.
Bunlarn asl davran iki duraklya gre deiir, yukardaki tabloda bu toparlanmtr.

Dou kenar, Q ile gsterilir, kuzey son(k, bit genilii 1)

ki durakl tarafndan saklanan deer

Dou kenar, gney son(k bit genilii 1)

ki duraklda saklanan deerin tamamlaycsn kartr.

Nitelikler
Yok.

Poke Tool Davran


Poke Arac kullanarak iki duraklya tklamak iki duraklda saklanan bitleri gsterir,

Text Tool Davran


Yok.

Logisim 1.0 8-Bit Register

Ktphane: Legacy
Versiyon:

2.0 Beta 12

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Grnm:

Davran
Bu bileeni amac geriye dnk Logisim 1.0x srmleri ile uyumluluu salamaktr. Yeni devreler
iin, Hafza ktphanesinin kaytlanmas gereklidir. Kayt tek bir 8bitlik deer tutar, drtgenin
ierisinde ierisinde hexadecimal olarak grnr, ve kndan dou kenarna yaylr.(Logisim 1.0x
oklu bit deerlerini desteklemez, bu yzden kayt her bir bit iin bir pine sahip olmaldr.) Zaman
girii 0 dan bire ykseldii anda, kayt ierisinde saklanan deer bat kenar zerinde belirtilmi
sekiz dier bite dnr.

Pinler
Dou kenar, sekiz pin (k, bit genilii 1) Kaytta saklanan deeri kt olarak verir.
Bat kenar, sekiz pin (giri, her birinin bitgenilii 1 bit) zaman 0 dan 1 e ykseldiinde, kayt deeri
giri deerlerine dnr.
Bat kenar, genle gsterilir(giri, bit genilii 1) Zaman girii: bu deer 0 dan 1 e ykseldiinde
kayt deeri bat kenarndaki dier giriler ile gncellenir.

Nitelikler
Yok.

Poke Tool Davran


Kayt a tklamak klavyenin kayt zerine gelmesini salar(genle gsterilmitir), ve hexadecimal
rakamlar kayt iinde saklanan deerle deiir.

Text Tool Davran


Yok

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

lgili Web Adresleri


Ktphaneler
Blm Logisim ierisine alnabilecek ktphane bileenleri ierir. Eer kendinize ait ve kullanl
olabileceini dndnz ktphane bileenleriniz varsa; burada balantsn vermekten
memnun olurum.

7400 series Logisim library(uncompressed)

Technological Service Company tarafndan retilen 7400 serisi yongalarn Logisim devre
setleri. (2005, GPL lisans altnda yaynlanmtr)

Logisim Kullanma klavuzunda belirtilen JAR ktphanesi. Logisim 2.0 beta 20 ve sonras
versiyonlarla uyumludur. Snf ismi com.cbruch.incr.Components
Bedava grafik aralar
Umarmki program gelitiriciler bir gn Logisim gerekli klacak eyler reteceklerdir.Aada sizin
yorumlarnz iin bulduum linklerin bir listesi vardr.

Digital Works 2.0 Bedava Windows srm, ama artk gelitirilmiyor. 18 Tem 2007.

HADES cretsiz fakat ak kaynak kodlu olmayan Java tabanl bir ara Simlasyon ve
ktphane fonksiyonellii olduka iyi ama arayz biraz hantal.18 Tem 2007

JLS reticisinden bedava temin edebileceiniz Java tabanl bir ara. Ak kaynak kodlu ya da
bedava deil. oluturduunuz ekilde devreleri simle etmiyor, ama simlasyon yetenei
Logisim den daha iyi.18 Tem 2007

Logisim Ak kaynak kodlu Java arac. Sanrm bu en iyi seim. 18 Tem 2007

MultiMedia Logic Ak kaynak kodlu bir Windows program. Hiyerarik devreleri ya da kablo
gmmesini destekliyor gibi grnyor, CPU boyutunda devreler dizayn etmek iin biraz snrl,
ama elenceli giri k bileenleri sunuyor. 18 Tem 2007

TkGate Ak kaynak kodlu bir program. Logisimle karlatrlabilecek bedava bir rn.
Simlasyon zellikleri olduka iyi, arayz bana biraz hantal geldi. almak iin Tcl/Tk ya ihtiya
duyuyor; Cygwin ykl ise Windows zerinde de alabiliyor. 18 Tem 2007

xLogicCircuits Java appletler ierisinde benim favorim. rencilerinize gstermek iin 1-2
hafta harcyorsanz bu applet zamannz ksaltacak baz aralara sahip. 18 Tem 2007

Dier alternatifleri aratrdm fakat onlarn tavsiye edilmedii grnyor.


o

KLogic, ak kaynak kodlu Linux

LogicSim, ak kaynak kodlu Java


izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Digital Simulator, kapal kaynak kodlu paylam, eitim amal cretsiz

Ticari grafik aralar

Digital Works 3.0 Ticari bir Windows program. Henz denemedim, zaten iyi olan Digital
Works 2.0 dan daha esasl olmal.Aktif gelitirme iinde deil gibi grnyor.18 Tem 2007

LogicWorks Windows'a zel ticari bir program. ama devaml destei var. Henz denemedim,
ama esasl bir sistem gibi grnyor. VHDL zellikler oluturmak iin baz destekleri
ieriyor. 18 Tem 2007

Dierleri:
o

EasySim, ticari Windows

LOCAD, ticari Windows, almanca

Metin-tabanl aralar

Icarus Verilog, baskn bir ak kaynak kodlu Verilog (Elektronik sistemleri modellemek iin
kullanlan bir donanm tanmlama dili ) derleyicisi.

Dierleri:
o

Esim, kaynak mevcut ama lisans anlalr deil, kiisel bir dil kullanyor.

Iowa Logic Specification Language, ak kaynak kodlu, kiisel dil kullanyor.

VeriWell, ak kaynak kodlu, Verilog kullanyor

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

LOGISIM RNEK UYGULAMALAR


Giri Seviyesi Temel Devreler 1

Logisim saysal devreler simulatr ile


almay biraz daha iyi renebilmek
iin sizlere Temel Devreler hazrladk.
Logisim simulatrn altrdktan
sonra Temel Devreler.circ dosyasn
anz. Ekranda yandaki devereyi
greceksiniz.

Dikkat edilirse byte Majority devresinin stnde durmaktadr. Logisim kullanm


talimatlarndan da hatrlanabilecei gibi byte bu aamada ana devrenin bu olduunu
belirlemektedir.
Aslnda Temel Devreler basit baz saysal deverelerin tek bir dosya halinde toplanmasdr. Belirli
bir ama gdlmemitir.
Majority deveresini almasn inceleyiniz. sminden de anlalabilecei gibi 3 giriten en az 2
tanesi (basit oylama mant) "1" konumuna gelmeden sonu olumlu olmamaktadr.
Bu kadar basit bir devreyi anlatmda sememizin bir nedeni var. Kullanm talimatlarnda geen
baz noktalar burda deneyerek grelim.
Majority bal zerine sa click yaparak Analyze Circuit seenei ile aadaki ekranlar elde
edebilirsiniz.Grld gibi devrenin 3 girii (A,B ve C) ve bir k Output vardr.
Analyze Circuit seeneini inceleyiniz ve kullanm talimatlarndan almasnn detaylarn
okuyunuz. Bu seenek ile gir ve klarn tanmn yapabildiinizi Truth Table (Doruluk Tablosu)
kendiniz "0" lar ve "1" ler ile belirleyebildiinizi ve devreyi olyur seenei ile deverenin olumasn
salayabildiinizi tekrar deneyerek bulunuz. Experssion (nerge) ve Karnaugh Haritas
seeneklerini deneyiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Full Adder deverelini inceleyerek inceleyerek benzer ekilde girileri (X,Y ve Carry In), klar (Sum
ve Carry Out) bu deverelere ait doruluk tablosunu nergeyi ve Karnaugh Haritalarn inceleyiniz.

Temel Full Adder devresi.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bir baka Full Adder devresi.

Sadece NAND kaplar ile yaplm Full Adder devresi.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

imdi 4-Bit Ripple Carry Adder devresine tklayarak (View Circuit veya ift tk) bu devreyi
inceleyelim. Dikkat edilirse bu devre 4 adet temel Full Adder 1 devresinin yan yana gelmesi ile
oluturulmutur.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Kendiniz bu oluturma ilemi srasnda devrelerin nasl ekilip eklendiini, girilerinin nasl
belirlendiini izleyiniz. Bu devrede daha nce Saysal Devrelerde anlattmz elde bitinin yaylmn
daha net olarak grebilirsiniz.
sterseniz kendiniz bu aamada Full Adder 1 devresini kullanarak 8-Bit Ripple Carry Adder devresi
tasarlayabilirsiniz. Ltfen kopya ekmeyin...
Aadaki devrede ise 2"li dzende X (X0,X1,X2 ve X3) ve Y (Y0,Y1,Y2 ve Y3) girilerinin arpm
tasarm grlmektedir. Umarm nasl altn dener ve prensibini anlarsnz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Giri Seviyesi Temel Devreler 2


Bu uygulamamzda Temel devreler zerine bir deney yapacaz. Temel Devreler 2.circ dosyasn
ykleyin. Full Adder, Half adder, 4-Bit Adder deverelerini inceleyin. Daha sonra "Circuit One" birinci
devreye bakn. 4 girii bulunmaktadr. L0, L1, L2 ve L3 ve 2 adette kontrol girii vardr A ve B.

L knn giriler ile ne mantkta altna dikkat edin. Bakalm formuluze edebilecek misiniz? 4
tane AND kaps ve 5 girili OR kapsnn fonksiyonlar nelerdir?
Daha sonra "Circuit Two" ikinci devreyi inceleyin. 8 adet girii vardr. (L0/M0, L1/M1, L2/M2, and
L3/M3) ve yine 2 adet kontrol ucu bulunmkatadr (A ve B) Bu devrede L ve M adl iki k vardr.
Dikkat edilirse bu devre "Circuit One" alt devrelerini kullanyor.

Devreyi inceleyin ve amacn belirleyin. Daha sonra "Circuit Three" nc devreye bakn. A2,A1,A0
ve B2,B1,B0 adl iki yar grup girie shiptir. Ayrca bunlar aada F adl bir ayr kontrol girii
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

tarafndan kontrol edilmektedir. S3,S2,S1,S0 adl drt adet k vardr. 4BA adl alt devre ana
devremiz iinde bulunan 4-Bit adder devresidir. Devreyi inceleyin ve sonularna gre fonksiyonu
bulun.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Sayclar
Counters.circ dosyasn Logisim simulatrne yklediinizde sayclar ile ilgili baz rnekler
greceksiniz. Flip-Flop'lar, yazclar (register) ve sayalar konularnda temel bilgileriniz yoksa sizlere
ncelikle Saysal Devreler ders notlarnda "ok Katl Titreiciler" ve "Sayalar" blmlerini
incelemenizi dileriz.
Counters.circ' nin ilk inceleyeceimiz devresi J-K Filip-Flop'lar ile yaplm bir sayatr. Bu devre
zerinde Enable giriinin nasl kullanldna, saat iaretinin tklanarak nasl deitirildiine dikkat
edin. Burda dikkat edeceiniz bir konu da simulatrn nasl resetlenecei, Tick (tklama), ve saat
frekanslarnn nasl balatlacana dikkat edin. Bu blmdeki rneklerin tmnde Logisim'in BuiltIn ktphanelerini kullandmz izleyin.

kinci devremiz ise D-Type Flip-Flop'lar ile bir sayatr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

nc devremiz ise yine D-Type Flip-Flop'lar ile tasarlanm fakat Up/DOWN seenei ile ileri veya
geri sayabilen bir sayatr.

Son devremiz yine UP/DOWN seenei ile saym yapabilen bir saya olmasna ramen L0, L2 ve L3
giri ular ile saymann balayaca ikili dzendeki veri balang deeri olarak yklenebilmekte,
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

LOAD girii ile bu seenek altrlmaktadr. Saya UP/DOWN seeneinin konumuna gre saym
yapar. Sfrlanabilme zellii de ayrca devreye eklenmitir.

Bu son deveremizde yolalrdaki verinin nasl ondalk dzende etiketlenebileceini


zerine gelip solda tanmlana alannda zelliklerini inceleyiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

iareti ile

ALU Devreler
ALU Arithmetic ve Logic Unit
Bir bilgisayarda genel anlamda aritmetik ve mantksal ilemlerin yapld birime ALU ad verilir.
Daha gelimi fonksiyonlar yerine getiren ALU'lar iin tabiki daha geni seenekli kontrol devreleri
ve bu seenekleri belirleyen kontrol bitleri, daha dorusu kontrol giri kodu gereklidir. Bu noktada
Logisim paketini kullanarak daha geni aritmetik ve mantksal komutlar yrtebilen bir ALU
tasarlayalm. ncelikle komutlar belirleyelim. 4 komutumuz olsun, ve doal olarak bu 4 seenek
iin 2 bit bir komut kmemiz olacaktr.
F 1 F 0 = 00 : kt ==> A AND B
F 1 F 0 = 01 : kt ==> B 'nin tersi
F 1 F 0 = 10 : kt ==> A OR B
F 1 F 0 = 11 : kt ==> A + B
imdi aadaki devreyi inceleyin. Bu ALU devresi yukardaki 4 komutu birden A ve B girileri
zerinde yrten tek bir bitliktir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim simulatrn ap alu.circ dosyasn ykleyin. Aadaki devreyi elde edeceksiniz. Devreyi
altrn ve ilem seenekleri ile A ve B girileri zerinde 4 ilemin sonularn inceleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ALU devreleri daha nce grdmz toplam-karma yapan devreler gibi paralel balanarak 2"li
tabandakiveriler zerinde alabilirler. Logisim simlatrnde 6bit_ALU.circ dosyasn ykleyerek
aadaki devreyi inceleyiniz. Paralel alan ALU'larn fonksiyonlarn 6Bit'lik A ve B 2'li dzendeki
veriler zerinde ilemleri inceleyiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Fonksiyon tularn seerek AND, OR, TOPLAMA ve IKARMA (Giriin tersini alma, Cin giriine+1
vererek Tmleyenini alma ve toplama) ilemlerini deneyrek bulunuz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Hafza Birimleri
lk olarak artk Logisim' in gml dier aralarn da tanyalm. Project>>Load Libarary>>Builtin seenekleri ile tm gml ariv fonksiyonlarn yklemenizi ve denemenizi dilerim.
Bildiiniz gibi hafza birimlerinin alma prensipleri Flip-Flop'lara dayanr. Aadaki D-Tipi bir FlipFlop devresinin Logisim Build-in fonksiyonu olarak arlmas grlmektedir. Saklanan deer hex
kod olarak hcre iinde belirtildiine dikkat edin.

Logisim programnza Memory Circuits.circ dosyamz ykleyin ve ROM devresini inceleyelim. Hex
editr ararak (ROM modul stnde sa tua basarak) hafza gzlerinin nasl deitirebildiinizi
ve 8 Bitlik adresleme bilgisi ile hazfa gznn seimini ve dorudan k izleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim devresindeki ROM (Read Only memory) sadece okunabilen ve devre stnde
programlayan dorudan bilgi tayan hafza birimidir. Ykleme sanal yazclar ile yaplmaktadr.
kinci devremiz ise RAM Read/Write Memory' dir. Aadaki resimden de grlebilecei gibi bu
hafza birimimizde saat, Read/Write seenekleri ve resetleme girii de vardr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

sterseniz bu aamada hafza birimimizin giri noktalarn da inceleyebilirsiniz. "A" adres girileri,
"sel" select anlamnda bu hafza biriminin seilmesini salayan giri ucu (dikkat edilirse hem RAM
hem de ROM anlatmnda bu girii dorudan "1" aktif yaptk.) "Clock" hafza biriminin almasnda
zamanlamay oluturan saat iaretidir. "Sel" girii "0" iken hafza birimi seilmeyecek ve klar
tanmsz olacaktr. Logisim POKE arac ile hafza biriminin bilgilerini deitrebilir, belirgin bir veri
kmesi ykleyebilir veya deitirdiiniz bilgileri saklayabilirsiniz.
ROM hafza birimi bilgisayar tasarmnda komut okumak iin kullanlan devredir. Aadaki devre
yklediiniz dosyadaki "Data memory" devresidir. 32 Bit' lik Veriyi 32 Bit 'lik bir hafzaya
saklamakta ve burdan okunmasn salamaktadr. Address seeneinde etkin olan bitler resimdeki
gibi iaretlenmitir. Adress organizasyonunun farkllna dikkat edin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim simulatrnde Build-in baz aritmetik fonksiyon devrelerini de bulabilirsiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bu aralarn bus geniliklerinin ayarlanabildiine dikkat edin. Bu aralar ve sanal yazclar


kullanlarak bu yazclar zerinde basit aritmetik ilemler yapabildiinizi greceksiniz. Saat iaretini
bulun ve kullandnz bileenlerin ynlerinin nasl deitirildiine de dikkat edin. Son olarak Main
devresinde aadaki devreyi inceleyin. D-Tipi filip floplarn nasl altn, toplama devresinin 80
bitlik toplamay nasl yaptn ve sanal yazclarn ieriinin nasl deitiini izleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Hafza Organizasyonu ve Register File


Logisim simulatrne ROMRAMCPU.circ dosyasn ykleyin. Bu rnekte 4 farkl adres grubunda
hiyerarik olarak sralanm 2 adet RAM ve 2 adet ROM devresi greceksiniz.

Bu devrede adres sayfalarnn seimi, adres gzlerinin seimi, okuma ve yazma iaretleri ile
yazclar ile hafza birimleri arasndaki veri ak grlmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim Input/Output
Bu rnek uygulamada size Logisim'in biraz daha Build-In ve dardan yklenen ariv
fonksiyonlarndan bahsetmek istiyorum. ncelikle Input_Output.circ dosyasn ykleyiniz.
Aadakine benzer bir ekran greceksiniz.

Soldaki ariv fonksiyonlarndan Input/Output olan Build-In bir fonksiyondur. Sizde Main devresinde
bunlar yerletirip kullanabilirsiniz. Push Buton devreleri ve 7-Segment display denilen devreleri
deneyin.
7400-seires-rev1.circ dosyas rnek uygulamada zaten yklenmitir. Burdaki baz devreleri de
incelemenizi tavsiye ederim. 74xx47 devresi 4 Bitlik saysal bir veriyi onluk dzene amakta,
74xx590 devresi ise 8-Bit bir saya iermektedir. Kullanacanz ana devrelerde bu chipleri nasl
arabileceinizi ve sadece entegre gibi tasarmda gsterebileceinizi grn. 74LS47 devresi ise
bildiimiz 7-segment display devresinin kaplardr.
imdi Logisim'e bir .jar ariv fonksiyonu ykleme uygulamas yapalm. Ana devremize Load
Library>>JAR Library ykleme seeneinden CS316.jar dosyasn belirleyin. "Enter JAR Class"
sorusuna cevap olarak edu.cornell.cs316.Components yazn. CS316.jar ariv fonksiyonlarnn
yklendiini greceksiniz. Aadaki gibi kendi ad vereceiniz bir rnek devrede bunlar arp
deneyebilirsiniz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Basit LED ve 7-Segment Display devrelerini aada gsterildii gibi BASE Build-In ariv
fonksiyonlarndan Pin kna balayarak deneyebilirsiniz.

Aada ise 128x128 Bit sanal bir LCD Video Ekran ve yannda ise 32 karakterli sanal bir LCD satr
ekran grlmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

128x128 LCD Video Display sanal devresi 16 bpp renk geniliine sahiptir. BASE arivinden Pin
seenei Bus geniliini 16-Bit yaparak Color seeneini aktive edebilirsiniz. WE seenei aktif "1"
olduunda saatin yukarya kan kenar ile X ve Y gzne belirlenen renkte bir pixeli yazma
imkannz vardr. X ve Y seenei iin 8-Bit giri Pin seeneini kullanacaksnz. 16Bit Rengin 555RGB
denilen formatta olduuna dikkat edin. (1 kullanlmayan bit, 5 krmz bit, 5 yeil bit, 5 mavi bit).
Eer joystick devremizle balantsn yaparsanz birlikte almasn da grebilirsiniz. Accelerasyon
tablosu iin RAM devresini kullanacaksnz.
32 character LCD display ACSII kodda alan bir satr gstergesidir. Eer EW=1 ise sattin yukar
kan ucu ile belirlenen gze ACSII bilgi yazlr. Cursor' izleyin. 32 karakterli satr gstergesi iin 5Bit Pin yer seenei ve 8-Bit ascii Pin seeneini devrenize ekleyiniz. Burda Pin seeneinin ynne
ve "Output" olarak seilmi olmasna dikkat edin.
Aadaki resimde de bir Joystik ve Tu Takm kuyruk devresi bulunmaktadr.

Keyboard Queue (Tu Takm Kuyruk devresi) basitlemi bir tu takm buffer devresidir. POKE
seenei ile ekrana yazdn ASCII bilgi ASCII kodun yazcsnda "2" li dzende grlmektedir. Yine
Pin seeneinde yn ev k olduuna dikkat edin. En son girilen deer ASCII sanal yazcda
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izlenebilir. RE aktif "1" olduunda saat iaretinin her yukarya kan ucu ile yaz sola doru
kaymaktadr. En soldaki karakterin ASCII kodu yazcda belirir.
Joystick devresi ATARI tipi klasik 3 ulu bir X/Y belirleyicidir. 2 ka bal sanal yazclardan (tabi
yine bunlar Pin seeneini 3-Bit ve "Output" olarak tanmlayarak) X ve Y deerlerini n -2 ile +2
arasnda deitiini izleyin.

7-Segment Display
Logisim programn balatn. ncelikle projenizi File >> Save komutu ile rnein 7-Segment
Display ad ile saklayn. Build-In ariv fonksiyonlarndan Input/Output' u ykleyin (Project >> Load
Libaray >> Build-In Libarary >> Input/Output) daha sonra AND OR Ve NOT kaplar kullanarak
aadaki devreyi tasarlayn. (Devrenin tm ekilde verilmemitir.)

A,B,C ve D girilerindeki verinin onluk dzende (0,1,2,3,4,5,6,7,8 ve 9) ierdii bilgi ile 7-Segment
Display' in kl gstergelerini aadaki ekilde grld gibi yakabilmek iin tasarm
yapn. Labs1.zip dosyasn aarak 7-Segment display.circ tasarm ile de balayabilirsiniz.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Devrenin tasarm iin aadaki doruluk tablosunu ve blok diyagramn izleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Logisim programnda bu doruluk tablosunu girerek devrenin kendi kendine tasarmn


yaptrabilirsiniz. Ayrca doruluk tablosunun Karnaugh Haritasn
Kmap-04-setup.exe programn altrarakta elde edebilirsiniz. Daha nce
verdiimiz labs1.zip dosyas iinde. 7-Segment display-kompletan.circ dosyasn batan Logisim
programna ykleyerek devrenin tmn inceleyebilirsiniz. Aadaki resme benzer bir devre elde
etmi olmalsnz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Leading zero_suppression.circ devresini ykleyerek inceleyin. 7 Segment Display devresinin nasl


74LS47 ad ile saklandn ve ana devrelerde kullanldna dikkat edin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bu rnekte tek haneli "BCDden 7 segmente kod zc" ler kullanlarak 2 rakaml saylar 7
segmentli ekranda gstermeyi amalyoruz.
ncelikle Logisim programn balatn. Logisim projesini bir isimle kaydedin. (Dosya>>Kaydet),
projenin ad (rnein "7-Segment Display Multiplexer") olabilir. Daha sonra kaydetmek iin uygun
bir yer sein.
Bir 2-girili veri seici/oullayc (2-input data selector/multiplexer) Sub-Circuit (Alt Devre)
oluturun ve 74LS157 adn belirleyin (rnein "74LS157").
Bir baka ikili 2-hattan 4 hata kod zc/demultiplexers (dual 2-line to 4-line
decoders/demultiplexers) Sub-Circuit oluturun ve buna da 74LS139, adn verin. (rnein
"74LS139/2")
Bir baka tampon Sub-Circuit daha oluturun ve 74LS465 adn verin. (rnein "74LS465").
Devrenin alma Frekansn 16 Hz olarak ayarlayn. (Simulate>>Tick Frequency>>16 Hz). Daha
sonra aadaki ekilde gsterilen devreyi oluturabilirsiniz.
Temel alma ekli u ekildedir. ki BCD veri ( A4A3A2A1 ve B4B3B2B1 ) oullaycnn girilerine
verilir. Veri seme hattna bir kare dalga iareti girer ve
aktif LOW olduunda A verisinin bitleri (A4A3A2A1) 74LS47 BCD den 7 segmente alnr.
Veri seme hattnn aktif LOW iaret ayrca 74LS139, 2 hattan 4de kod zcnn A1 giriini de
"LOW" yapar. Bu durumda L7LS139a giren "0" girii A hanesine ait gstergenin aktive olmasn
salayan Common (ortak terminal) ucunun aktif "0" olmasn salar. Bu anda A hanesi gstergesi
"on" (seilmi) durumda ve B hanesi "off" (seilmemi) durumundadr.
Veri seme hatt "HIGH" olduunda B bitleri (B4B3B2B1) BCD den 7 segment kod zc
girilerinden alnr. Ayrca 74LS139 kod zcnn "1" k aktif olur ve B gstergesi etkinletirir.
B says imdi "on" ve A says "off" dur. Bu evrim bylece veri seim kare dalgann frekansna gre
tekrar eder.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

CPU 1-Bit
Bu uygulamada ncelikle CPU1bist.ppt sunumundaki presantasyonu incelemenizi dilerim.
Tasarlayacamz CPU 1Bit veri geniliine sahip ok snrl baz Bolean Komutlarn icra edebilen bir
devre olacaktr.

Sunumu izledikten sonra Logisim programna CPU 1 bit.circ dosyasn ykleyerek CPU'nun
tasarmn izleyebilirsiniz. Tasarm basamaklarnn anlatld sunumda da sylenildii gibi bu sanal
CPU'muz hafzada sakl sral komutlarn belirledii basit Bolean ilemleri 4 farkl yazc zerinde
yrtmektedir.
Aadaki resimde grld gibi sanal hafza birimi zerinde sa tu ile Edit Contents seeneini
bulun ve sunumdaki CPU komutlarn hafzaya girerek yrtlmesini izleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Risc CPU (1)


Bu uygulamamzda buraya kadar eitli uygulamalarda grdmz RAM, ALU, Register gibi
birimlerin almalarn daha detayl inceleyeceiz ve Tri-State konumunu da irdeleyerek ortak veri
yolunun almasn greceiz. Drt ilemi hafzadan okuyabilen ve bunlar yazclar zerinde
yrtebilen bir sanal RISC CPU tasarm zerinde alacaz.
ncelikle Logisim programna RiscB.circ komutunu ykleyin. Devrenin alt blmlerinde RAM
Demo, Register Demo, MUX Demo, ALU ve ALU Demo devrelerini inceleyin. Komutlar, yazc
seimini inceleyin. Her birimin kontroln, saat iareti ile aktivasyonunu ortak veri yoluna veri
kn irdeleyin.

En st komple devrede R0 AND R1 ilemini sonucunun tekrardan R1'e yazlmasn emule edin. R0
ve R1'e hafzann belirli gzlerinden dorudan gireceiniz bilgilerden ykleme yapmay, bunlar
zerindeki ilemleri ALU'yu ynetmeyi sonucu R0 ve R1'e yklemeyi iredeleyin.
M[0] + M[1] sonucunu M[2]'ye kaydedin. M[0] ve M[7] gzlerindeki bilgilerin deimeden birbirleri
ile yer deitirin. R0 ve R1 yazclarndaki deerlere hafzay kullanmadan sfr ykleyin.
(M[0] + M[1]) - (M[2] + M[3]) sonucunu M[4]'e saklayn ve hafza da sadece M[4] gznn
deimesine izin verin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Risc CPU (2)


Bu uygulamada Logisimi programna RISCF.circ devresini ykleyerek alacaz. Bu uygulamada
devredeki "RISC F" i processorn basamak basamak tasarlayacaz. "RISC A" ve RISC B" bir nceki
uygulamada temel alma prensiplerini incelediimiz devrelerdir.
Bu uygulamada RISC F iin makine dilinde programlar yazyor olacaksnz. Her program, bir veya
daha fazla sekiz-bitli iki tabanl saylar dizisi olacaktr. Burada RISC F iin ynerge seti aadaki
gibidir.

Her problemi zmek iin, belirlenmi hesaplamay uygulayacanz iki tabanl makine
ynergelerinin bir dizisini bulmanz gerekecektir. Son ynergenin daima Halt olduundan emin
olun. Sonraki basamak her ynergeyi onaltlk tabana (hexadecimal) dntrmek olacaktr.
Hatrlatc olarak bu tablo drt adet iki tabanl bitin nasl bir onaltl tabanda sayya
dntrleceini gsterir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Poke Toolu (parmak-ekilli ikon) kullanarak dnlen yere sol tklayp ardndan ynergelerin ikibasamakl hex deerini girerek, RAM ierisine makine ynergelerini girebilirsiniz. (lk ynergenin
RAM in daima sfr blmesinde olmas gerektiini aklnzda tutun). Veri yerlerine ayn yntem ile
deerler girebilirsiniz.
RAM zerine sa tklarsanz, RAM ieriklerini bir dosyaya kaydedebilir ya da bir dosyadaki RAM
ieriklerini dzenleyebilirsiniz. Bunu faydal bulacaksnz nk simlasyonu her yeniden
balatmanzda RAM silinir.
Logisimin Simulate mensnn anlalmas ok nemlidir. "Reset Simulation" seenei, her hafza
konumunu eski durumuna getirecek ve sfr kaydedecektir. "Tick Enabled" seenei, Logisimin
saatini aar ve kapatr. RISC F i altrmak iin almas gerekir. "Tick Frequency" seenei,
Logisimin saat hzn semenize izin verir. Ben 4 Hz hz kullanyordum.
Simlasyonu bir kere yeniden balattnzda ve programnz yklendiinizde ve test verileri RAM e
alndnda, artk simle edilmi bilgisayar altrmaya hazrsnzdr. Eer Go/SS anahtar sfra
ayarlanrsa, bir Halt ynergesi meydana gelene kadar (HALTED nn grnd nokta)
ynergeler birbiri ardna uygulanacaktr. Eer Go/SS anahtar bire ayarlanrsa, sadece sonraki
ynerge uygulanacaktr. Programnz boyunca tek-basamaklama hatalar bulmak iin mkemmel
bir yoldur. Her ynergenin ne yapmas gerektiini bilirseniz, bir ynerge yanl olduunda farkna
varabilirsiniz. Simlatrdeki RAM ile alrken elbette onaltl tabana ihtiyacnz olacaktr. Aadaki
uygulamalar son "RISC F" devresinde gerekleyin.
1. M[12] yi M[13] e depola. (Baka bir ifadeyle, hafza konumu 12 nin ieriklerini hafza konumu 13
e depola).
2. M[9] u onun tmleyeni ile yer deitirin (bir saynn tmleyeni iin, her biti evirin).
3. M[12]-M[13] M[14] ierisine depola.
4. M[16] dan M[19] a kadarki saylar topla ve sonucu M[20] ye depola.
5. M[20] nin ieriini M[23] n ierii ile deitir ve M[21] in ieriini M[22] ile deitir. Dier hafza
konumlarn deitirmeyin.
6. 20 saysn M[20] ye, 21 saysn M[21] e, 22 saysn M[22] ye ve 23 saysn M[23] e depola.
Program baladnda, tm drt hafza konumunda bir sfr olmaldr fakat M[19] da 19 olabilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Trafik Lambas Kontrol Sistemi


Bu rneimizde, Logisim ile trafii dzenlemek iin kullanlan trafik lambas kontrol sistemi
yapacaz. Yapacamz bu kontrol devresi FSM (Finite State Machine) dier ismiyle Sonlu Durum
Makinesine gzel bir rnek olacak.
Ana cadde ve onunla kesien yanyollardaki (tali yol) trafik akn dzenleyen trafik lambasnn
saysal denetleyicisini tasarlamak iin gznnde bulundurmamz gereken durumlar sralayalm
A) Yanyolda ara bulunmuyorsa, anayola bakan trafik lambas minimum 25 saniye yeil yanar. Eer
25 saniyeden sonra yanyolda halen ara ak yok ise trafik lambas yeil yanmaya devam eder.
B) Yanyoldaki trafik lambas maksimum 25 saniye yeil yanar. Eer yanyolda 25 saniyeden nce
trafik ak kesilirse, trafik lambas krmzya dner.
C) Anayol ve yanyol da dahil olmak zere tm trafik lambalarnda krmz ile yeil k arasnda 4
saniye sar k yanar.

Tm durumlar aadaki ekilde gsterilmektedir.

Sistemin Blok Diyagramnn Hazrlanmas: Sistemimizin, anayolu kontrol eden krmz, sar, yeil ve
yanyolu kontrol eden krmz, sar, yeil olmak zere 6 farkl lambay kontrol etmesi gerekmektedir.
Sistemin girdileri arasnda enerji girii haricinde birde yanyol ara sensr bulunmaktadr. Girdi ve
ktlar aadaki ekilde gsterilmektedir.
Zaman aralklar (Time intervals) ve yanyol ara sensr kts, ardl mantk devremizin (sequential
logic) girdileridir. nk durumlarn sralanmas bu deikenlere baldr.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Sistemimizin hangi zamanda hangi 4 durumdan birinde olduunu kontrol eden ise mantk
devremizdir (logic circuit). Mantk devresi ayn zamanda, bu durumlara bal olarak kt vererek
klar yakar ve zaman aralklarna ilk deer atar (initiate).
Bu devrelerin haricinde sistemimizde, trafik lambas ile arayz nitesi arasnda arayz devreleri
bulunmaktadr. Bu devreler mantk devresinden aldklar ktlar voltaj ve akm seviyelerine
evirerek trafik lambalarn yakar. Tm bunlar aadaki ekilde detayl olarak gsterilmektedir.

Durum Diyagram (State Diagram): Durum diyagram sistemin durumlarnn srasn (sequance),
her durumun koullarn (conditions) ve durumlar aras geileri gstermektedir.
Deikenlerin Tanmlanmas: Durum Diyagram izebilmek iin ncelikli olarak sistemin temellerini
oluturan deikenleri tanmlamalyz. Sistemimizin deikenleri ve onlarn sembolleri aadaki
gibidir:

* Yanyolda trafik ak durumu = VS


* 25 saniyelik zamanlayc (timer) = TL
* 4 saniyelik zamanlayc = TS

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Kart durumlar belirtmek iin tamlayan deikenler kullanabiliriz (complemented variables).


rnek olarak; !VS yanyolda ara olmadn belirtir. !TL 25 saniyelik zamanlaycnn kapal (off)
olduunu belirtir.
Durum Diyagramnn Tanm: Aadaki ekilde grld zere, her daire bir durumu
belirtmektedir ve her durum dairelerin iindeki 2-bit Gray koda baldr. Her durumun zerindeki
dng oku, belirtilen koulda durumun ayn kalacan belirtir. Durumlar aras oklar ise, belirtilen
koullarda durum deiiklii (state transition) olduunu gsterir.
Gray kodu 00 olan ilk durumu inceleyelim; anayolda yeil, yanyolda krmz k yanmaktadr. Eer
25 saniyelik zamanlayc ak ise (1) veya yanyolda ara yok ise (TL+ (!VS)) sistem durumunu korur.
Dier durumunda benzer bir ekilde analizini yapabiliriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Mantk Devresi (Combinational Logic): Mantk devresi aadaki fonksiyonu gerekletirmek


durumundadr. Fonksiyonlar detayl olarak aadaki gsterilmektedir

A) Durum Kod zc (State decoder): Ardl mantk devresinden (sequential logic) gelen 2-bit
Gray kodu zmlyerek sistemin hangi durumda olduunu belirtir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

B) Light Output Logic: zmlenmi durumlar kullanarak gerekli olan trafik lambasn aktif hale
getirir.
C) Tetikleme Devresi (Trigger Logic): zmlenmi durumlar (decoded states) kullanarak
zamanlayclar tetikler.

Mantk Devresinin Kurulumu:

a) Kod zc Mantk Devresinin (Decoder Logic) Kurulumu: Kod zc altdevresinin S 0, S1 olmak


zere iki girii vardr. Ayrca SO1, SO2, SO3 ve SO4 olmak zere drt k bulunmaktadr. Durum
klarnn Boolean ifadesi ve dogruluk tablosu aadadr.

SO1= !S1 !S0


SO2= S1 !S0
SO3= S1 S0
SO4= S1 !S0

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Durum kod zc Aadaki ekilde gsterilmektedir.

b) Light Output Logic Kurulumu: Bu altdevre 4 durum ktsn alarak, trafik lambalarn yakabilmek
iin 6 kt verir. Bu ktlarn anacaddeyi kontrol edenleri MR, MY, MG (for main red, main yellow,
and main green), yanyolu kontrol edenleri ise SR, SY ve SG dir (for side red, side yellow, and side
green). Altdevrenin denklemi ve doruluk tablosu aadadr.

MR = SO3+SO4
MY = SO2
MG = SO1 SR = SO1 + SO2 SY = SO4 SG = SO3

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Light Output Logic aadaki ekilde gsterilmektedir.

Tetikleme Devresinin (Trigger Logic) Kurulumu: Tetikleme devresi uzun ve ksa olmak zere iki
ktya sahiptir. LOW-to-HIGH geiiyle alan uzun kt sistem 00 durumundan 11 durumuna
getiinde 25 saniyelik zamanlama devresini tetikler. Yine LOW-to-HIGH geiiyle alan ksa kt
ise sistem 01 durumundan 10 durumuna getiinde 4 saniyelik zamanlama devresini tetikler.
Tetikleme devresinin ktlar ve doruluk tablosu aadadr.

Long trigger = SO1 + SO3


Short trigger = SO2 + SO4

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Tetikleme altdevresinin mantk kaplaryla gsterimi aadaki gibidir.

1) Logisim Programn balatnz


2) Logisim projesini kaydediniz. (File->Save). Projeyi "Trafik Lambas Mantk Devresi" eklinde
isimlendirebilirsiniz.
3) Aadaki ekilde gsterilen devreyi iziniz.
rnek izimi indirmek iin buraya tklaynz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Trafik Lambas Kontrol Sistemi/Zamanlama Devreleri


Zamanlama Devreleri (Timing Circuits) Sistem Gereksinimleri: Sistemimizin zamanlama devreleri
25 saniyelik zamanlayc, 4 saniyelik zamanlayc ve 10 kHz osilatr olmak zere paradan
olumaktadr. Bunlar Aadaki ekilde gsterilmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Sistemimizde 4 saniyelik ve 25 saniyelik zamanlayclar 74121 entegresi ile 10 kHz osilatr ise 555
zamanlaycs ile oluturuyoruz. Zamanlayclarmz aadaki a ve b ekilleri ile gsterilmitir.
Onlarn altndaki ekil ise 10 kHz lik osilatrmz gstermektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Trafik Lambas Kontrol Sistemi Ardl Mantk Devresi (Sequential Logic) Sistem Gereksinimleri
Ardl Mantk Devresi (Sequential Logic) Sistem Gereksinimleri: Ardl mantk devresi,
zamanlama devreleri ve yanyol ara sensrnden ald girdiye bal olarak trafik klarnn yanma
srasn kontrol eder. Bu altdevre sralama iini yapabilmek iin sistemin her durumu iin 2-bit Gray
kod oluturur.
Blok Diyagram: Ardl mantk devresi aadaki ekilde gsterildii zere 2-bit Gray code sayac ve
ona bal mantk girdilerinden oluur.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

TS: 4 saniyelik zamanlayc TL: 25 saniyelik zamanlayc VS: Yanyol ara sensr
Saya durumlar aras sray belirler. Durumlar aras geii ise 4 saniyelik, 25 saniyelik
zamanlayclardan ve yanyol ara sensrnden gelen girdiye gre oluan ktlar belirler. Saya
ierisinde kullanlan 10 kHz lik clock sinyali zamanlama devrelerindeki osilatr vastasyla
oluturulur.
Ardl Mantk Devresinin Kurulumu: Aadaki ekilde gsterildii zere sayacmz oluturmak iin
D tipi flip-floplar kullanyoruz. Flip-floplarmzn D girii yukardaki ekildeki mantk girdileridir.
Sayacmz clock sinyalini 10 kHz lik osilatrden almaktadr. Mantk girdilerini elde edeceimiz
"Input Logic" devresinin girdileri ise Q0, Q1, TL, TS ve VS dir.
D tipi flip-flopun gei tablosu aadadr:

Durum diyagramn kullanarak, aadaki durum gei tablosunu izebiliriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Gei tablosundan yararlanarak D0 ve D1 nin mantk ifadelerinin yazalm.

Karnaugh haritas kullanarak D0 ifadesini sadeletirelim.

Bu sefer gei tablosundan yararlanarak D1in mantk ifadesini yazalm.

Karnaugh haritas kullanarak D1 mantk ifadesini sadeletirelim.

D0 ve D1 in mantk kaplar ile kurulmu hali aadaki ekilde gsterilmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

1) Logisim Programn balatnz.


2) Logisim projesini kaydediniz. (File->Save). Projeyi "Trafik Lambas Ardl Mantk Devresi"
eklinde isimlendirebilirsiniz.
3) Aadaki ekilde gsterilen 2-bitlik saya ve mantk girdilerinin birleimden oluan ardl mantk
devresini (sequential logic) iziniz.
rnek izimi indirmek iin buraya tklaynz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Trafik Lambas Kontrol Sistemi/Tm devre


uana kadar sistemimizin temellerini oluturan tm alt devreleri oluturduk. Geriye sadece
oluturduumuz alt devreleri ve arayz devrelerini birletirme aamas kald.
1) Logisim Programn balatnz.
2) Logisim projesini kaydediniz. (File->Save). Projeyi "Trafik Lambas Kontrol Devresi" eklinde
isimlendirebilirsiniz.
3) Aadaki ekilde gsterilen trafik lambas kontrol sistemi devresini iziniz.
rnek izimi indirmek iin buraya tklaynz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

PIC Temelleri
PIC bir CPU gibi mikrokodlar ile denetlenen aritmetik ve logic
komutlar yrten ve iinde hafza birimleri olan bir devredir.
Ancak hafza birimleri bir CPU gibi youn deildir. Kullanm yerine
gre maksimum 20MHz'de alan birka kilabyte hafza sahip
devrelerdir. Saat frekenas komutlarn hafzdan okunum
zmlenip yrtlmesi zamanlamasn belirler.
PIC'in performasn sadece saat frekans ile yorumlamak yanltr,
tabiki perfromans mimari ile de ilgilidir. PIC'lerde hafza tasarm
kelime uzunluu tasarma gre deimesine ramen esas olarak
Byte ile llr. En yaygn kullanlan PIC1684 entegresinde komut
kmesi 14-Bit'ir.
Pic CPU hakknda basit bir anlatm aada bulabilirsiniz.
Bu uygulamzda temel bir Pic CPU'nun tasarmn greceiz.
Anlatmdaki sanal PIC 8-Bit, iinde RAM ve ROM olan bir
denetleyicidir. Bu devrenin Logisim ile tasarmn grmek
iin picpu.circ devresini ykleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Aada bu tasarmda gereklenen mikro-kod source komutlarn bulacaksnz. Bunlar ROM'da


bulunmaktadr. Komutlarda 16 kontrol bitinin yksek 8 biti ile tanm yapldna dikkat edin. Sanal
tasarmda ancak 13 kontrol iareti zmlenmitir. Logisim dosyasn yklediinizde ROM iinde
hexedecimal kodalrn var olduunu greceksiniz. rnek program decfsz komutu kullanlarak
yaplan bir temel dngdr.
Komutlarda 14-Bit komut kodunun ortasnda 2 bitin zellikle iaretlendiine dikkat edin. Bunlar ile
F yazcsnn kullanld komutlar belirlenmektedir. Burda 1 bit extra adresleme iin kullanlmtr,
aslnda komut kmesinde bu farkll ortaya karmak iin dahil edilmitir ve micro-kod iinde
saylmaz. 8-Bit deimez kodlar olan komutlarda bu bitlerin anlam yoktur. Program sayac PC'yi
dorudan etkileyen komutlarda bu bitler 12-Bit program adresini salamaya yarar. Dier
komutlarda opcode'lern ayn olduuna dikkat edin.
Microcode "source code"
1C ile simgelenen Carry ucunun "1" olmasdr. (Bu u invert edildiinden uOP'de "0"
olmaktadr.) ucase (byk harf) bitin tersini alrken lcase (kk harf) bit ieriini korur. B ALU W
iindedir, A ALU ise L veya F yazcsdr.
|76543210| BSSSSRI COOOO: ALU OP description
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

|76543210|???TKPWFTFMI3210:
addwf :000111fx:000000Ff01011001: A plus B
andwf :000101fx:000000Ff01101011: A AND B
clrf :0000011x:0000000101100011: 0
clrw :0000010x:0000001001100011: 0
comf :001001fx:000000Ff01100000: /A
decf :000011fx:000000Ff01011111: A minus 1
decfsz :001011fx:000010Ff01011111: A minus 1
incf :001010fx:000000Ff01000000: A plus 1C
incfsz :001111fx:000010Ff01000000: A plus 1C
iorwf :000100fx:000000Ff01101110: A | B
movf :001000fx:000000Ff01101111: A
movwf :0000001x:0000000101101010: B
nop :0000000x:0000000000100011: 0
rlf :001101fx:000000Ff01011100: A + A
rrf :001100fx:000000Ff11101111: A
subwf :000010fx:000000Ff01000110: A minus B minus 1 plus 1C
swapf NOT IMPLEMENTED
xorwf :000110fx:000000Ff01100110: A ^ B
BITS is all ones with the specified bit set to 0
bcf :0100bbbx:0001000101101011: A & BITS
bsf :0101bbbx:0001000101101101: A | /BITS
btfsc :0110bbbx:0001100001100111: A & /BITS
btfss :0111bbbx:0001100001100100: /A & /BITS
addlw :11111xxx:0000001000011001: A plus B
andlw :111001xx:0000001000101011: A & B
iorlw :111000xx:0000001000101110: A | B
movlw :1100xxxx:0000001000101111: A
sublw :11110xxx:0000001000000110: A minus B minus 1 plus 1C
xorlw :111010xx:0000001000100110: A ^ B
call NOT IMPLEMENTED
clrwdt NOT IMPLEMENTED
goto :101xkkkk:0000010000000011: 0 (PC loads directly)
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

retfie NOT IMPLEMENTED


retlw NOT IMPLEMENTED
return NOT IMPLEMENTED
sleep NOT IMPLEMENTED
Aada grld gibi tasarmda 74181 ALU birimleri kullanlmtr. Bu devrelerin kullanlmas
kritik olmasna ramen birok PIC tasarmnda ALU devreleri blmnde hemen hemen tm
komutlarn zmnde kullanlabilir. Sadece rrf komutunda rotation (yazcnn kendi etrafnda
dndrlmesi) iin extra bir multiplexer kullanlmtr. rlf komutu is sadece f+f anlamnda
olduundan 74181 entegresinde dorudan yaplmaktadr.
Ana devrede grlebilecei gibi tasarmda bir 3x8 kod zc daha kullanlarak ALU girilerinin
b*f/btfs* komutunu yrtlmesi salanmtr. swapf komutu ayn rrf komutunda olduu gibi extra
bir multiplexer ihtiyac gstereceinden tasarlanmmatr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

MicroDenetleyiciler
Hazrlayan:Mehmet Can
Yksek Performansl RISC CPU'nun zellikleri:

Sadece 35 komut ile programlama

alma hz DC-10 MHz

8 bit geniliinde veriyolu

36x8 genel amal register(SRAM)

1Kx14 EEPROM Program Hafzas

64 Byte EEPROM Data Hafzas

Direkt/Dolayl Adresleyebilme

4 adet Kesme Fonksiyonu (PB0,TMR0, RB Change, EEPROM Write)

13 adet giri/k portu

1 milyondan fazla yazma silme

Kolay ve ucuz programlayabilme

40 yldan fazla EEPROM'da veri tutma sresi

Herbir pinden 25 mA e kadar akm verebilme

8 bit programlanabilir timer


Aagda PIC16F84 n pin diyagram verilmitir.

PIC 16C84 veya F84 dk maliyetli, yksek performansl, CMOS full-statik, 8 bit
mikrodenetleyicidir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Tm PIC 16/17 mikrodenetleyiciler RISC mimarisini kullanmaktadr. PIC16CXX mikrolar birok esas
zelliklere sahiptir. 8 seviyeli, derin kme ve oklu i ve d kesme kaynaklarna sahiptir. Harward
Mimarisinin ayr komut ve veri taycsyla ayr 8 bitlik geni veri taycl, 14 bitlik geni komut
kelimesine imkan vermektedir. 2 aamal komut hatt tm komutlarn tek bir saykl' la (evrimle)
ilenmesini salamaktadr. Yalnzca baz zel komutlar 2 saykl ekerler. Bu komutlar dallanma
komutlardr. PIC16CXX mikrodenetleyicileri tipik olarak 2:1 orannda kod sktrmasna
erimektedir ve snflarndaki 8 bit mikrodenetleyicilerden 2:1 orannda hz arttrlmasna olanak
salanmaktadr. (10MHZ)
PIC16C84 microchip' i 36 bitlik RAM belleine, 64 bayt EEPROM belleine ve 13 I/O pin' ine
sahiptir. Bunun yan sra, timer ve saya ta mevcuttur.
PIC16CXX ailesi d elemanlar azaltacak spesifik zelliklere sahiptir ve bylece maliyet minimuma
inmekte, sistemin gvenirlii artmakta, enerji sarfiyat azalmaktadr. Bunun yan sra tm PIC ler de
4 adet osilatr seenei mevcuttur. Bunlarda tek pin li RC osilatr, dk maliyet zmn
salamakta (4 MHZ) , LP osilatr (Kristal veya seramik rezonatr) , enerji sarfiyatn minimize
etmekte (asgari akm) (40 KHZ), XT kristal veya seramik rezonatr osilatr standart hzl ve HS
kristal veya seramik rezonatrl osilatr ok yksek hza sahiptir (20 MHZ).
PIC mikrokontrolrlerinin en bykzellii sleep modu zelliidir.. Bu mod ile PIC ilem yaplmad
durumlarda uyuma moduna geerek ok dk akm eker. (5m A). Kullanc bir ka i ve d
kesmelerle PIC' i uyuma modundan karabilmektedir. Yksek gvenilirlikli Watchdog Timer kendi
bnyesindeki chip st RC osilatr ile yazlm kilitlemeye kar korumaktadr.
PIC16C84 (16F84) EEPROM program bellei , ayn aygt paketinin orijinali ve retimi iin
kullanlmasna olanak vermektedir. Yeniden programlanabilirlii mikroyu uygulamann sonundan
kaldrmadan kodu gncelletirmeye izin vermektedir. Bu aygtn kolayca eriilemedii, fakat
prototipinin kod gncelletirmesi gerekli olduu durumlarda, bir ok uygulamann gelitirilmesinde
yararldr. Bunun yan sra bu kodun gncelletirilmesi dier ayr uygulamalarda da yararldr.
PIC Mikrokontrolrlerinin Yaps
CPU blgesinin kalbi ALU dur. (Aritmetic Logic Unit-Aritmetik mantk birimi) ALU, W (Workingalan) adnda bir yazma ierir. PIC, dier mikroilemcilerden, aritmetik ve mantk ilemleri iin
bir tek ana yazmaca sahip oluuyla farkllar. W yazmac 8 bit geniliindedir ve CPU'da ki herhangi
bir veriyi transfer etmek zere kullanlr.
Aada PIC16C8X' ailesinin basitletirilmi i yaps gsterilmektedir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Temel PIC Blok Diyagram


CPU alannda ayrca iki kategoriye ayrabileceimiz Veri Yazma dosyalar (Data Regster Files)
bulunur. Bu veri yazma dosyalarndan biri, I/O ve kontrol ilemlerinde kullanlrken, dieri RAM
olarak kullanlr.
Elektrikle Silinebilen Mikrokontrolrler
Bu mikrolar, programnn silinip yeniden yazlabilme zelliine sahiptir ve olduka dk maliyetli
plastik ambalajlar halinde bulunmaktadr. Ayn zamanda bu tip mikrolarn retimi kadar
prototipinin gelitirilmesi ve pilot programlar iin kullanlmasna olanak salamaktadr. Bunun daha
tesindeki avantajlarndan biri, bunlarn devre ii veya Microchip's PICSTART plus veya PROMATE
II programlayclar tarafndan silinebilmesi ve yeniden programlanabilmesidir.
Mimari Olarak ncelenmesi
PIC16CXX snfnn stn performans genellikle RISC mikroiplerinde bulunan birok mimari
zelliklere sahiptir. Balang olarak PIC16CXX Harward mimarisini kullanmaktadr. Harward
mimarisi mikrokontrolclerde veri ak miktarn hzlandrmak ve yazlm gvenliini arttrmak
amacyla kullanlr. Ayr bus' larn kullanmyla veri ve program belleinde hzl bir ekilde eriim
salanr. Bylece PIC mikrosu program bellei ve veri bellei tayclarna sahipken programlarn ve
verilerin ayn bellekten getirilen geleneksel Von Neuman mimarisi zerinde bant genilii
iyiletirilmektedir. Programlarn ve veri belleklerinin ayrlmas komutlarn 8 bitlik geni veri
kelimesinden farkl boyutlandrlmasna olanak vermektedir. PIC16CXX mikrolar tekli kelimeye
imkan veren 14 bit tayc zerinden 14 bit komutu tek bir srete uygulamaktadr. ki aamal hat
komut srecini ve yrtlmesini biraraya getirmektir. (rnek 3-1). Bunun sonucu olarak, program
blnmeleri dnda tm komutlar tek bir srele yrtlmektedir (400ns @ 10MHZ).
PIC 16CXX aygtlar,kayt dosyalarna ve veri belleine dorudan veya dolayl olarak
ynlenebilmektedir. Program Sayac dahil btn zel fonksiyon kaytlar veri belleine
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

yerletirilmitir. Adres modunu kullanarak herhangi bir kaydn stne herhangi bir ilemin
gereklemesini mmkn klan Ortogonal (simetrik) komutlarda kurulmutur. Simetrik zellii ve
"zel optimal durumlarn"eksiklii PIC 16CXX ile programlamay daha da etkin klmaktadr. laveten
enformasyon erisi nemli lde azaltlmtr. PIC16CXX mikrolar 8 bitlik ALU ya ve W(working)
registerine sahiptir. W registerindeki veri ile herhangi bir kayt dosyas arasnda aritmetik ve
boolean fonksiyonlar uygulanmaktadr.
ALU 8 bit enindedir ve toplama, karma , deitirme ve eitli lojik ilemleri ierir. ki bilgili
komutlarda bir bilgi tipik olarak W registeridir dier bilgi ise dosya kayd veya hazr sabit deerdir.
Tekli komutlarda bilgi ya W kayd ya da dosya kayddr. Yrtlen komutlara dayanarak ALU,
STATUS kaydndaki Caryy(C), Digit Caryy(DC) ve Zero(Z) bitlerini etkileyebilmektedir. C ve DC bitleri,
karmalarda, nispeten karma ileminde dn alan ve saysal dn alan bit olarak ilemektedir.

PIC16C84'n i yaps

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

8 Bit Bilgisayar Simlasyonu (Baros)


Bu rneimizde 32 byte hafzaya sahip 8-bitlik basit bir bilgisayarn simlasyonunu yapacaz.
Aada gsterilen basit bilgisayar rnei, 32 adet 8-bit hafza kelimesine (memory words) sahiptir.
Bilgisayarmzn alma prensibi inceleyelim; bilgisayarmz program sayac (program counter)
tarafndan iaret edilen hafza kelimesini (memory word), komut register vastasyla hafzadan
komut getirir (fetch). Getirilen bu kelime komut registernda zmlenir. Program sayac 1 artar.
Bilgisayarmza durdurulma (halt) komutu verilene kadar ayn ilem yaplmaya devam edilir.
Bilgisayarmz durdurulduu anda, akmlatrde komutumuzun ikili (binary) karln grlr.

Asal Say lemleri


Bilgisayarmzla asal say oluturmak iin, appletimizin sa alt kesinde bulunan listeden "Prime"
seeneini seiyoruz ve "Load" tuuna basyoruz. altrmak iin "Start" tuuna bastmzda
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

akmlatrmzde (ACC register) 2 saysn gryoruz. Aralklarla "Start" tuuna basmaya devem
edersek bilgisayarmz, akmlatrnde srayla 3, 5, 7, 11 ? saylarnda grrz.
rnek Program
Bilgisayarmzda A+B-C gibi basit bir ifadeyi ileyelim. Bilgisayarmz nce akmlatre A deerini
alr. Daha sonra B deerini ekler ve C deerini kartr. En sonunda akmlatrdeki deeri
okuyabilmemiz iin bilgisayarmz durdurulur (halt). Aadaki tabloda her satr bir ilemi
gstermektedir.
Konum lem

lenen Aklama

START LDA

Akmlatr ykler

ADD

Akmlatre B ekler

SUB

Akmlatrden C karr

HLT

Bilgisayar durdurur

JMP

START Start adresine gider

DB

A ya 4 deerini atar

DB

B ye 3 deerini atar

DB

C ye 2 deerini atar

Program Makine Koduna evirmek


Programmz, sistemimiz zerinde koturmadan nce makine koduna evirmeliyiz. Programmzn
hafza zerinde nereden balayacan hafza stnde belirtmeliyiz. rnek olarak; program
sayacnn konumunun 0 olduunu net bir ekilde syleyebiliriz.
Bir dier admmz ise her komut satrnn hafza adresini belirlemek olacak. Aadaki tabloda
ilemlerle ilgili detayl bilgi bulunmaktadr.
Konum lem

lenen Aklama

00000 LDA

Akmlatr ykler

00001 ADD

Akmlatre B ekler

00010 SUB

Akmlatrden C karr

00011 HLT

Bilgisayar durdurur

00100 JMP

START Start adresine gider

00101 DB

A ya 4 deerini atar

00110 DB

B ye 3 deerini atar

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

00111 DB

C ye 2 deerini atar

Bu noktada her semboln hafza adresini (Memory Location) gsteren sembol tablosunu
oluturabiliriz.
Sembol ML (Hafza Adresi)
START 00000
A

00101

00110

00111

Her komuta denk gelen ilem kodu aadadr.


lem

Kod

lenen Aklama

HLT

000

Komut getirmeyi durdurur ve Cycle i zmler

LDA

001

X hafza adresini akmlatre ykler

ADD

010

C yi siler ve X adresini akmlatre ykler

STO

011

Akmlatrn ieriini X adresinde saklar

SUB

100

C yi atar ve X adresindeki deeri akmlatrden kartr

BNZ

101

Akmlatr 0 deil ise X adresine gider

BNC

110

Akmlatr 0 ise X adresine gider

JMP

111

X adresine gider

Programmz bilgisayarmza yklemeden nceki son admmz kodumuzu makine koduna evirmek
olduundan daha nce bahsetmitik. Makine kodumuzun son hali aadaki gibidir.
Konum lem

lenen Aklama

00000 001

00101 5 konumunda akmlatr ykler

00001 010

00110 Akmlatre 6 konumunu ekler

00010 100

00111 7 konumunu akmlatrden kartr

00011 000

00000 Bilgisayar durdurur

00100 111

00000 0 konumuna gider

00101 000

00100 5 konumunda A ya 4 deerini atar

00110 000

00011 6 konumunda B ye 3 deerini atar

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

00111 000

00010 7 konumunda B ye 2 deerini atar

Program Bilgisayara Yklemek


Her registerdaki deeri zerine tklayarak deitirebileceinizi yada "Clear () " tuuna basarak
register sfrlayabileceinizi hatrlatalm.
Programmz bilgisayara yklemek iin aadaki admlar takip edelim.
1) C tuuna basarak program sayacn (PC) sfrlaynz.
2) Akmlatre 00100101 giriniz.
3) Write tuuna basnz.
4) Akmlatrn sfrlandn ve program sayacnn bir arttn gzlemleyiniz.
5) Programn her satr iin 2. , 3. Ve 4. admlar tekrarlaynz.
Belirli Bir Konumdaki Hatay Dzeltmek
Hafzada belirli bir konumdaki hatay dzeltmek iin tm hafza konumlarn tekrar yklemek
zorunda kalmadan hatay dzeltebiliriz.
1) Adresi program sayacna giriniz.
2) Akmlatre kelimenin (word) dzeltilmi halini giriniz.
3) "Write" tuuna basnz.
Program altrmak
Programmz ykleyip kontrol ettikten sonra imdi sistemimiz zerinde altrabiliriz.
1) Program sayacn sfrlaynz.
2) "Start" tuuna basnz.
3) Akmlatrn 00000101 deerini okuduunu gzlemleyiniz.
4) Komut registernn (Instruction Register) sfrlandn gzlemleyiniz.
5) Program sayacnn 00000100 deerini okuduunu gzlemleyiniz.
6) "Start" tuuna basarak program tekrar altrabilirsiniz.
Program Adm Adm altrmak

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Programmz altrdmzda akmlatrn doru cevab vermediini grebiliriz. Bu durumda


programmz debug etmek isteyebiliriz. Programmz debug etmek iin "Tek Basamak alma
Modunu" kullanabiliriz. Programmz tek basamak modunda altrmak aadaki admlar takip
ediniz.
1) Program sayacn sfrlaynz.
2) "Step" tuuna basnz.
3) Akmlatrn 00000100, program sayacnn 00001 ve komut registernn 00100101 deerlerini
okuduunu gzlemleyiniz.
4) Programmz her satr iin 2. ve 3. Admlar tekrarlaynz.
alan Program Durdurmak
Baz programlar alrken sonsuz dngye girebilir yada istenmeyen sonular verebilir. Bu tr
durumlarda programmz "Halt" tuuna basarak durdurabiliriz.
rnek Program
Daha nce yazdmz programdan edindiimiz tecrbe ile birazck daha karmak bir program
yazalm. Programmz, akmlatre girilen 0 ile 255 arasndaki saylarn arpanlarn bulsun.
Kullanc, akmlatre 0 ile 255 arasndaki bir say girip "Start" tuuna bastnda, girilen saynn en
byk arpan akmlatre yazlsn. Akmlatrde okunan deer 1 olana kadar, kullanc aralklarla
"Start" tuuna basmaya devam ettike mevcut saynn en byk arpan akmlatre yazlmaya
devam edilsin.
Not: Eer kullanc akmlatrde 1 deerini okuduktan sonra tekrar "Start" tuuna basarsa
program sonsuz dngye girer.
Programmzn algoritmas yle olmal; girilen saynn N olduunu kabul edelim. F saysna N-1 den
balayarak deer atayalm. F says, N saysn kalansz bir ekilde blene kadar F saysn 1 azaltalm.
F says N saysn tam bld anda cevab akmlatre yazalm.
Programmz aadaki gibidir.
Konum lem

lenen Aklama

START STO

Kullanc tarafndan girilen say

LP0

SUB

ONE

N-1 ilemini yapar

STO

F deikenini N-1 e eitler

LDA

Blme denemesi yapmaya hazrlanlr

SUB

Blme ilemi yaplr

BNC

LP2

Blme ilemi sonucu negatif ise program dallanr (branch)

LP1

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

BNZ

LP1

Kalan 0 dan byk ise program dallanr

LDA

F deerine dner ve ekranda gsterir

HLT
LP2

arpann deeri akmlatrde tutularak program durdurulur

LDA

Bir sonraki arpan bulmak iin F arlr

JMP

LP0

Dngnn balangcna gidilir

ONE

DB

ONE a 1 deeri atanr

DB

N iin bir byte ayrlr

DB

F iin bir byte ayrlr

Programmzn sembol tablosu aadadr.


<table >
SembolML (Hafza Adresi)START00000LP000001LP100100LP201001ONE01011N01100F01101
Programmzn makine kodu aadadr.
<table >
Konumlemlenen000000110110000001100010110001001101101000110010110000100100011
0100101110010010011010100100001110010110101000000000000100100101101010101110000
10101100000001
rnek Programn Logisim ile Simlasyonu
1) lk olarak computer.rar dosyasn indirin.
2) Logisim programn balatn.
3) computer.circ (File->Open) dosyasn an.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

4) RAM blouna sa tklayn "Load Image" seeneini sein.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

5) Ticks Enabled (Simulate-> Ticks Enabled) ve clock frekansnn 16Hz(Simulate-> Tick Frequency >16 Hz) olarak seildiinden emin olun.
6) Start yazan kutuya tklayarak deeri "1" yapn ve tekrar deeri "0" yaparak bilgisayar durdurun.
RAM'den okunan saynn en byk arpannn akmlatre yazldn gzlemleyin.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

HYMN rnei
Bu rnei anlayabilmek iin verdiimiz basit hesaplamalar yapacak devrelerin nasl kurulacan
anlam olmalsnz. Bilgisayar Mimarisini anlatmakta kullanacamz bu rnekteki devre bunlardan
ok daha karmak bir cihazdr. Bu blmde bilgisayarlarn hangi seviyede programlar altrdn
renecek ve bunlarn devreler zerinden nasl gerekleebilecei hakknda daha iyi fikir
edineceiz.
Somut bir bilgisayar tasarm ile alabilmek amacyla HYMN ad verilen, eitim amacyla
tasarlanm basit bir bilgisayar inceleyeceiz. sim HYpothetical MachiNe (Kuramsal Makine)
ifadesinin harflerinden gelmektedir. (Gerek bir endstriyel bilgisayar incelemek ilk bakta
mantkl gelmektedir, ancak byle bir bilgisayarn sahip olduu daha karmak yap, temel
kavramlarn anlalmasn zorlatrr.) [HYMN'nin tasarm Noreen Herzfeld'in Computer Concepts
and Applications for Non-Majors (Yeni Balayanlar in Bilgisayar Kavramlar ve Uygulamalar) adl
kitabna dayanmaktadr.
Daha nce anlattmz gibi HYMN de dahil olmak zere modern bilgisayarlarda iki temel bileen
bulunmaktadr; ana ilem birimi (central processing unit) veya CPU ile rastgele eriimli bellek
(random access memory) veya RAM. CPU hesaplama ilemlerini yaparken RAM saklanmas
gereken bilgileri depolar.

Bu iki bileeni veri yolu ad verilen bir kablo demeti balar. Veri yolu, hesaplama iin gerekli
olduunda bellek ile iletiim kurmas ve verilere ulaabilmesi ve saklayabilmesi amacyla CPU iin
bir yol salar.
RAM bu iki paradan daha basit olandr; bir dizi byte'tan ibarettir. Modern bilgisayarlarn
RAM'inde milyonlarca, hatta trilyonlarca byte bulunmaktadr, ancak HYMN'nin RAM'i 32 byte'tan
oluur.

Her byte'ta 8 bit bulunduundan ve RAM'deki her bir bit iin D-Type Filip Flop olduunu bildiimiz
gre, bu RAM'i oluturmak iin
32 8 = 256 D-Type Flip Flop kullanabiliriz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

RAM'deki her bir hafza gznn, kendisini tanmlayan ve adres ad verilen bir numaras vardr;
CPU RAM'deki verilere ulamak istediinde, veri yolu zerinden istedii byte'n numarasn
gnderir. Bellek ile ilgili olarak, baz durumlarda M[7] gibi bir iaret kullanacaz; burada numaras
7 olan byte ifade edilmektedir (ekildeki RAM'in en soldaki stununun altndadr).
En modern bilgisayarlarda CPU, binlerce ya da milyonlarca mantksal geit ieren tek bir yongadr.
CPU tasarm iki temel paraya ayrlabilir, kontrol nitesi ve aritmetik mantk unitesi.

Bunlardan kontrol nitesi gerekletirilen hesaplamann genel yapsn kontrol ederken aritmetik
mantk nitesi (veya ALU) aritmetik ve mantksal ilemlerin gerekletirilmesi iindir. HYMN'de
ALU tarafndan salanan aritmetik ve mantksal ilemler toplama, karma ve bir saynn pozitif ya
da sfr oup olmadnn (ya da hibiri) belirlenmesidir. Daha gelimi CPU'larda ALU, bunlarn yan
sra arpma ve blme gibi dier aritmetik ilemler ve VE, VEYA ve DEL gibi mantksal ilemler iin
de devrelere sahiptir.
CPU grevini yerine getirirken verileri hatrlamaldr. CPUda bilgileri tutmaya yarayan birimler
kaydediciler (register) dir. HYMN'nin tasarmnda kaydedici vardr.

Akmlatr (AC olarak ksaltlr) hesaplama iin kullanlan geici verileri tutar.

Program sayac (PC olarak ksaltlr), yrtlecek sradaki komutun adresini takip eder.

Komut Yazcs (IR olarak gsterilir) yrtlmekte olan geerli komutu tutar.
Yazclar bilgisayarn ksa dnemli bellei, RAM'i ise uzun dnemli bellei olarak dnebilirsiniz.
Komut Seti
Programdaki her bir komut hafzada tutulan bir deerdir. HYMN'in tasarmnda her komut sekiz bit
uzunluktadr; bit ilem kodunu (OP-CODE ? buradaki op "operation" szcnn ksaltmasdr)
tanmlarken geri kalan be bit komut ile ilgili ek bilgileri ierir.

lem kodu, HYMN'in sekiz olas komut tipinden birini gstermektedir; bunlar davranlar ile
birlikte ekil 1'de listelenmitir.
ekil 1. HYMN komut seti.
Kod

lem

Davran

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

000

HALT

Baka hibir komut yrtlmez (Bilgisayar durur.)

001

JUMP

PC veri

010

JZER

Eer AC = 0 doru PC veri yanl PC PC + 1

011

JPOS

Eer AC > 0 doru PC veri yanl PC PC + 1

100

LOAD

AC M[veri]; PC PC + 1

101

STORE M[veri] AC; PC PC + 1

110

ADD

AC AC + M[veri]; PC PC + 1

111

SUB

AC AC M[veri]; PC PC + 1

rnein, HYMN bilgisayarmzn kaytlar ve bellekte aadaki deerler ile altn varsayalm.
(Tm deerler onaltlk tabanda verilmitir.)

Bilgisayarn yrtmek istedii geerli komut normalde IR'de dir; bu noktada IR, C5(16), veya ikili
gsterimde 11000101(2) iermektedir. Bu komutu yrtmek iin kontrol nitesi ncelikle komutu
iki paraya blecektir.

lem kodu olarak ilk biti yorumlar; ekil 1'deki 110 deeri ieren satra gre bir ADD komutuna
baktmz grebiliyoruz.
Kod

lem

Davran

110

ADD

AC AC + M[veri]; PC PC + 1

Bu ilemi gerekletirmek iin bilgisayarn iki ey yapmas gerektiini gsterir.


AC AC + M[veri]
Bilgisayar + M[veri] deerini hesaplar ve sonucu AC'ye yerletirir. Deeri hesaplamak iin ncelikle
komutun son be bitine bakar ve veri belirlenir, bu durumda son be bit 00101(2)=5(10) saysn
vermektedir. Daha sonra M[veri] deerinin hesaplanmas iin adres 5'e baklr; bellek u
anda07(16) deerini iermektedir. Son olarak bu deeri (07(16)) AC'deki geerli deere (yani
0E(16)) ekleyerek 15(16) sonucuna ular. Bilgisayar bu deeri AC'ye yerletirir.
PC PC + 1
Bilgisayar PC'nin geerli deerini (yani 02(16)) alr ve 1 ekler. 03(16) sonucunu PC'ye yerletirir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bylece, komutun tamamlanmasnn ardndan, bilgisayar aadaki verileri tutar. (Deitirilen


veriler yalnzca AC ve PC'dekilerdir.)

Komut Alma - Yrtme Dngs


Bilgisayarlarda, hesaplama ilemi srecinde CPUya bir sonraki ileme gemesini bildiren
bir saat bulunmaktadr. Saatin grevi basite 0 ve 1 arasnda deien bir sinyal gndermektir.

1 ve tekrar 0, buna pulse (vurum) ad verilir. CPU teknik zellikleri arasnda genellikle bu saatin
alma frekans da bulunur: 3GHz ( gigahertz) bilgisayarda, saat saniyede milyar (giga-) pulse
gemedii srece alabilecek bir CPU bulunmaktadr.
Bir komutun gereklemesi iki adml bir sretir; ki buna Komut Alma - Yrtme dngs ad
verilir. ncelikle bilgisayar yrtlecek olan sradaki komutu getirir. Daha sonra bilgisayar komutu
yrtr. Bu dngnn sonsuz olarak tekrarlanmas yoluyla yrtme tamamlanr.
HYMN'de PC yazcs, yrtlecek sradaki komutun adresinin tutulmas, IR ise geerli komutun
tutulmas iindir. Bu nedenle, komut alma sreci srasnda, HYMN CPU'su PC ieriini alacak,
veriyolu zerinden RAM'e gnderecek, CPU RAM'in yantn alacak ve IR'ye yerletirecektir.
Yrtme srecinde IR'de saklanan geerli deer (nceki getirme ileminde buraya yerletirilen
deer) alnr, bunun ilk biti incelenerek opcode belirlenir ve ekil 1'deki ilgili satra gre gerekli
ilem gerekletirilir.

Basit bir program


Bir program altrmak istediimizde CPU'yu altrmadan nce program RAM'e yerletiririz.
rnein aadakini bellee yerletirdikten sonra CPU'yu altrabiliriz.

Adres Deer

OpCode Veri

10000101(2) (85(16))

LOAD

11000101(2) (C5(16)) ADD

11000101(2) (C5(16))

ADDS

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

10100110(2) (A6(16))

STORE

00000000(2) (00(16))

HALT

00000111(2) (07(16))

00000000(2) (00(16)) 0

Aadaki tabloda bilgisayar almaya baladnda gerekleenler gsterilmektedir. Her bir satrda
saat vurum balangc itibariyle kaytlarn ierii (onaltlk olarak) bulunmaktadr; burada bilgisayar
komut alma ya da yrtme srecini gerekletirir.
PC IR AC Tanm
00 00 00 Bilgisayar yazclarnn her birinde otomatik olarak sfrla balar.
00 85 00 Komut Alma: CPU PC = 0 adresinde IR'ye bellei getirir.
01 85 07

Yrtme LOAD : CPU veri = 5 adresindeki bellei AC'ye getirir ve PC + 1 deerini PC'ye
yerletirir.

01 C5 07 Komut Alma: CPU PC = 0 adresinde IR'ye bellei getirir.


02 C5 0E

Yrtme ADD : CPU veri = 5 adresindeki bellei AC'ye ekler ve PC + 1 deerini PC'ye
yerletirir.

02 C5 0E Komut Alma: CPU PC = 2 adresinde IR'ye bellei getirir.


03 C5 15

Yrtme ADD : CPU veri = 5 adresindeki bellei AC'ye ekler ve PC + 1 deerini PC'ye
yerletirir.

03 A6 15 Komut Alma: CPU PC = 3 adresinde IR'ye bellei getirir.


04 A6 15

Yrtme STORE : CPU AC = 15(16) deerini veri = 6 adresinde bellee saklar ve PC + 1


deerini PC'ye yerletirir.

04 00 15 Komut Alma: CPU PC = 4 adresinde IR'ye bellei getirir.


04 00 15 Yrtme HALT : CPU hibir ey yapmaz.
04 00 15 Komut Alma: CPU PC = 4 adresinde IR'ye bellei getirir.
04 00 15 Yrtme HALT : CPU hibir ey yapmaz.

Bilgisayar ayn HALT komutunu getirmeye ve hibir ey yapmamaya devam eder.


Hesaplama ilemleri durdurulmutur.

Burada bilgisayarn yapt M[5] deerini almak, M[5] deerini buna eklemek, M[5] deerini tekrar
eklemek ve M[6] sonucunu elde etmektir Burada M[5]'de 7 bulunduundan, program
durdurulmadan nce 21(10) = 15(16) deerini M[6]'ya yerletirmitir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Makine dil zellikleri


u ana kadar bilgisayarn basit bir program nasl yrttn grdk. Bu blmde, HYMN ile daha
gelimi programlar gelitirmemizi mmkn klan daha karmak programlama zelliklerine gz
atacaz.

Girdi ve kt
Adres 5'teki hafzann ieriinin katnn adres 6'ya yerletirilmesini salanan programmz
olduka gzel, ancak kullanc ile etkileim iindeki bir program daha da iyi olabilir. Bunu salamak
iin HYMN'nin yapsna veri yoluna eklenen iki bileen katyoruz, klavye ve ekran.

Bu cihazlarn her birine birer bellek adresi atyoruz: Klavye iin adres 30, ekran iin ise adres 31.
RAM bu adreslere yant vermeyecek.
CPU adres 30'dan veri yoluna deer yklenmesi ynnde bir talep gnderdiinde RAM yant
vermez. Bunun yerine klavye kullancnn sayy girmesini bekler ve yant olarak rakam veri yolu
zerinden CPU'ya gnderir. Benzer ekilde CPU adres 31'e bir deer yklenmesi ynnde talep
gnderdiinde, ekran talebi alr (sayy ekranda gstererek).
Aadaki program kullanc tarafndan girilen n saysn okumakta ve ekranda 3n saysn
grntlemektedir.
Adres Deer

OpCode Veri

10011110(2) (9E(16))

LOAD

10100110(2) (A6(16)) STORE

11000110(2) (C6(16))

ADD

11000110(2) (C6(16))

ADD

10111111(2) (BF(16))

STORE

31

00000000(2) (00(16))

HALT

00000000(2) (00(16)) 0

30

alma ekli kullanc tarafndan klavyeye girilen saynn AC'ye yklenmesi (komut 0), daha sonra
bu saynn M[6]'da saklanmasdr (komut 1). Daha sonra M[6] akmlatre iki kez eklenir (komut 2
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

ve 3); imdi AC'de 3n deeri tutulmaktadr. AC M[31]'de saklanr (komut 4), bylece durmadan
nce ekranda 3n grntlenir (komut 5).

Dngler
HYMN'de bir sreci tekrarlayacak bir program gelitirmek iin kullanlabilecek komut
bulunmaktadr: JUMP, JPOS ve JZER. Bunlarn arasndan JUMP komutu, komuttaki verinin PC'ye
yerletirilmesiyle alr; bylece sradaki getirme-yrtme dngsnde bilgisayar JUMP komutu ile
verilen adresteki komutu getirecek ve yrtecektir. Bunun sonucu olarak bilgisayar, JUMP komutu
ile belirtilen veride ifade edilen komuta atlar; LOAD, STORE ve ADD komutlarnda olduu gibi bir
sonraki komut ile devam etmez.
Ayrca JPOS (pozitif ise atla) ve JZER (sfr ise atla) komutlar da benzer ekilde alr, ancak bu
komutlarda CPU veriyi yalnzca AC deerinin pozitif say (JPOS) veya sfr (JZER) olmas durumunda
AC'ye kopyalar. Aksi takdirde CPU, PC'yi sradaki komutun yrtlecei ekilde deitirir.
Aada verilen ve JPOS komutunun kullanld program, saylar 10'dan 1'e doru
grntlemektedir.
Adres Deer

OpCode Veri

10000110(2) (9E(16))

LOAD

10111111(2) (BF(16))

STORE

31

11100101(2) (E5(16))

SUB

01100001(2)(61(16))

JPOS

00000000(2) (00(16))

HALT

00000001(2) (01(16))

00001010(2) (0A(16))

10

Bu program anlamak iin HYMN'nin program yrtme srecini takip edelim.


PC IR AC Tanm
00 00 00 Bilgisayar yazclarnn her birinde otomatik olarak sfrla balar.
00 86 00 Komut Alma: CPU PC = 0 adresinde IR'ye bellei getirir.
01 86 0A

Yrt LOAD : CPU veri = 6 adresindeki bellei AC'ye getirir ve PC + 1 deerini PC'ye
yerletirir.

01 BF 0A Komut Alma: CPU PC = 0 adresinde IR'ye bellei getirir.


02 BF 0A Yrt STORE : CPU AC = A(16) deerini adres 31(10)'a gnderir ve PC + 1 deerini PC'ye
yerletirir. Adres 31(10) ekran olduundan, ekranda A(16) = 10(10) deeri ondalk olarak
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

grntlenir.
02 E5 0A Komut Alma: CPU PC = 2 adresinde IR'ye bellei getirir.
03 E5 09

Yrt SUB : CPU veri = 5 adresindeki bellei AC'den karr ve PC + 1 deerini PC'ye
yerletirir.

03 61 09 Komut Alma: CPU PC = 3 adresinde IR'ye bellei getirir.


01 61 09 Yrt JPOS : AC pozitif olduundan CPU PC'yi veri = 1 olarak deitirir.
01 BF 09 Komut Alma: CPU PC = 0 adresinde IR'ye bellei getirir.
02 BF 09

Yrt STORE : CPU AC = 9(16) deerini adres 31(10)'a gnderir ve PC + 1 deerini PC'ye
yerletirir. Adres 31(10) ekran olduundan ekranda 9 grntlenir.

02 E5 09 Komut Alma: CPU PC = 2 adresinde IR'ye bellei getirir.


03 E5 08

Yrt SUB : CPU veri = 5 adresindeki bellei AC'den karr ve PC + 1 deerini PC'ye
yerletirir.

03 61 08 Komut Alma: CPU PC = 3 adresinde IR'ye bellei getirir.


01 61 08 Yrt JPOS : AC pozitif olduundan CPU PC'yi veri = 1 olarak deitirir.

Bilgisayar adres 1 ile 3 arasndaki komutlar tekrarlamaya devam eder. CPU ekrana 1
gnderir.

02 BF 01

Yrt STORE : CPU AC = 1(16) deerini adres 31(10)'a gnderir ve PC + 1 deerini PC'ye
yerletirir. Adres 31(10) ekran olduundan ekranda 1 grntlenir.

02 E5 01 Komut Alma: CPU PC = 2 adresinde IR'ye bellei getirir.


03 E5 00

Yrt SUB : CPU veri = 5 adresindeki bellei AC'den karr ve PC + 1 deerini PC'ye
yerletirir.

03 61 00 Komut Alma: CPU PC = 3 adresinde IR'ye bellei getirir.


04 61 00 Yrt JPOS : AC pozitif olmadndanCPU PC'yi PC + 1 olarak deitirir.
04 00 00 Komut Alma: CPU PC = 4 adresinde IR'ye bellei getirir.
04 00 00

Yrt HALT : CPU hibir ey yapmaz. Ayn HALT komutun getirmeye ve g kayna
kapatlana kadar hibir ey yapmamaya devam edecektir.

Bilgisayarn JUMP, JPOS veya JZER komutlarnda bir baka komuta gitmediine dikkat edin. Komut
yalnzca PC kaydnn ieriini deitirmektedir, LOAD komutunun AC yazcs ieriini deitirdii
gibi. Gerek atlama, sradaki getirme aamasnda, bilgisayarn yrtlecek sradaki komutu JUMP
komutu tarafndan PC'ye saklanan adresten almasnn bir yan etkisi olarak gerekleir.

CPU Mimarisi
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Modern bilgisayarlarda hesaplama ilemi tek bir yonga zerinde gerekleir: merkezi ilem birimi
veya CPU. [Birok bilgisayarda hesaplama ilemleri birden fazla CPU tarafndan paylalmaktadr,
ancak bu durum yk paylaan sanal olarak e CPU'lar eklindedir.] Bu yonga, hesaplama
ilemlerinin gerekleebilmesi iin tasarlanm birok saysal kapdan oluur.
imdi CPU'nun nasl tasarlandn inceleyebiliriz; yani bilgisayarn mimarisini. Birok bileen
bulunduundan bilgisayarn mimarisi kolayca anlalamayabilir. leri kolaylatrmak iin biz
HYMN'in tasarmna bakacaz. Paralarn nasl balandn gsteren aadaki ema olduka iyi bir
rnektir. Her bir bileene bakacaz.
ekil 1. HYMN uygulamas.

Aadaki hususlar genel yap hakknda size bilgi verebilir.

Sa st ksmdaki byk kutu 32 byte bellektir.

Devre iindeki yazcy grebilirsiniz: PC sol st kede, IR sa st kede ve AC ise alt


ortadadr.

Saat devre giriinin sol alt kesindedir; 0 ile 1 arasnda srekli deiir. Bu saat devreyi
hesaplama ilemlerini ilerletecektir.

Yneltme devreleri
Bilgisayarlar bileenler arasnda saysal iaretlerin yneltilmesi ile alr. Bu blmde zellikle
temel grevleri yneltmeye yardmc olmak olan son derece nemli iki devreyi inceleyeceiz.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

oklayclar
eitli girilerden birini seerek kt olarak veren devrelere oklayc ad verilir. oklayc bir
devrede yamuk eklinde grlebilir.

Bu oklaycnn sol tarafnda drt giri, yani veri girileri, alt tarafnda iki giri, yani seim girileri;
sa tarafnda ise tek k bulunmaktadr. alma yntemi, veri girilerinden birinin ka
yneltilmesidir; seim girileri girilerden hangisinin sa tarafa gideceini belirler. rnein eer s1
eittir 1 ve s0 eittir 0 ise, d10 girii ka yneltilir.

Eer s1 eittir 0 ve s0 eittir 1 ise, devrenin k d01 olacaktr.


Bu oklaycya 24 oklayc ad verilmektedir, nedeni sahip olduu iki seim girii ve drt veri
giriidir. Dier oklayc trleri arasnda 12, 38 ve 416 oklayclar bulunmaktadr. Genellikle her
veri giriinin birka bitten olumas istenir; eer her giriin 5 bit olduu bir 24 oklaycmz olsayd,
buna 5 yollu 24 oklayc diyebilirdik.
Kavramsal olarak oklayc, seim bitine gre bir teli giriten ka yneltir, ayn demiryollarndaki
makaslar gibi. Ancak gerekte devrelerin hareketli paralar yoktur, yalnzca mantksal geitlerle
alabiliriz. Aada(1 yollu) 24 oklayc bulunmaktadr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Bilgi Datclar
Bir bilgi datc, oklaycnn yapt ilemi tersine evirir: Tek bir girii eitli klardan birine
yneltir. Seilmeyen klar 0 deerini verir. Daha byk bir devrede aadaki ekilde izilebilir.

Bilgi Datc saysal devresi, oklaycnn devresi ile benzerdir; aada bir uygulama emas
grlebilir.

Bellek devreleri

Yazclar
Bir yazc bellekteki bir dizi bitin hatrlanmasna yarayan basit bir cihazdr. Aada drt bit yazc
emas bulunmaktadr.

Sa taraftaki klar srekli olarak kaydn geerli deerini gndermektedir. Bileenin alt kenarnda
kk bir gen ile ifade edilen set girii, yazcnn deerinin ne zaman deitirileceini bildirir. Giri
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

='dan 1 olarak deitiinde, yazc hatrlad bitleri, yazcnn sol tarafndaki giri bitleri olarak
deitirir.
Byle bir yazcy oluturmak kolay bir ilemdir: yalnzca eitli D-Type flip-flop paralel gerileri
kabul eden sral bir arada yerletirilmeleri ile gereklenir. Bu sral flip-floplar aadaki drt bit
yazcda olduu gibi ayn set giriini paylarlar.

Bellek
32 byte bellek bir yazc ile benzerdir.

Bu devre ile yazc arasndaki fark, bellee hangi adrese eriim salayacan belirten alt ksmdaki
be ek giritir. Sa taraftaki devre k ular, bellein bu adresinde saklanan verileri verirken sol
taraftaki devre giri ular, bu adreste saklanacak olan verileri verir (bunlar saat girii 0'dan 1'e
getiinde deiir).
Bellein tasarm, giri ve klarn uygun dahili filp-floplara ynlendirilmesi amac ile oklayclarn
ve bilgi datclarn kullanlmasyla gerekletirilir.
4 bitten oluan bir bellek oluturmak istediimizi varsayalm; s1 ve s0 eklinde iki adres biti, 4
Bitten oluan bir set giri bitleri ve yine 4 Bitten oluan k bulunacaktr. Bu tr bir devre drt DType Filip Flop ile aadaki gibi tasarlanabilir.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Devreyi 32 bit olarak geniletmek iin sadece daha byk oklayc ve bilgi datclara ihtiya
vardr. Bu bellei 32 bit yerine 32 byte tutacak ekilde deitirmek iin devreyi sekiz kopya olarak
oaltabiliriz, her biri ayn adres biti ve set bitini kullanr ancak giri ve k bitleri farkldr. Byle
bir devre olduka byktr; HYMN uygulamasnda ihtiya duyulan en fazla saysal kapya bu devre
sahiptir.
Gerek yaamda bellek devreleri, CPU'da bulunan kk n bellekler dnda bu ekilde
uygulanmaz. Aslnda gerek bellek devrelerinde veri tutmak iin saysal kaplar kullanlmaz: Yaygn
bir teknik ksa bir sre iin elektrik ykn tutabilen bir nevi elektrik kondansatrnn
kullanlmasdr. Kondansatrn yk kolayca boaldndan hzl arj gereklidir, bu da elektrik
donanmnn daha karmak hale gelmesini ancak gerekli yerin azalmasn ve bellein daha ucuz
olmasn salar.

Aritmetik devreler
ekil 1'deki HYMN uygulamasnda aritmetik hesaplamalarn yaplmas iin devre bulunmaktadr:
Flags (Bayraklar) devresi akmlatrn deerini sfr ya da pozitif bir deer olarak belirler;
incrementer (arttrma) devresi sradaki komut iin varsaylan PC deerini belirler, ve ALU sradaki
akmlatr deerinin aritmetik hesaplamasn yapar. Bu blmde bu devrenin uygulamalarna
bakacaz.

Bayraklar
Bayraklar devresi 2nin tmleyeni gsterimde sekiz bit sayya karlk gelen sekiz girii olarak alr ve
iki k retir, bunlardan biri saynn sfr olduunu ifade ederken dieri pozitif olduunu ifade
eder. klar kontrol nitesine beslenir; nite bu verileri JZER ve JPOS komutlarn yrtrken
kullanr.
Sekiz bit giriinin sfr olduunun ifade edilmesi, giri bitlerinden herhangi birisinin 1 olup olmad
kontrol edilerek gerekletirilir, eer herhangi birisi 1 ise giri 0 deildir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Aadaki iaret devresi uygulamamzda tm giriler, herhangi birisinin 1 olup olmadnn kontrol
edilmesi iin bir VEYA devresine beslenmektedir, daha sonra bu k tersi alnarak kn sfr olup
olmadn ifade eden ZER kna ulamaktadr.

Saynn pozitif olup olmadnn belirlenmesi iin ise giri saysndaki en deerli bit kontrol edilir.
Eer bu bit 1 ise, say negatiftir. Bu nedenle bit, saynn negatif olmadn kontrol eden bir DEL
kapsndan beslenir. Ancak pozitif olmayan ve negatif de olmayan bir say vardr, sfr. Bu nedenle
DEL geidi ktsnn VE geidi (saynn negatif olmadn ifade eder) ile VEYA geidinin k
(saynn sfr olmadn ifade eder) birlikte alnr ve sonu saynn pozitif olup olmadn gsterir.

Artrma Devresi
Birok komut iin yrtlecek bir sonraki komutun adresi bir sonraki adrestedir. Arttrme
devresinin grevi be bit adresi alarak sradaki bir sonraki be bit adresi oluturmaktr. Arttrma
devresi uygulamas, Half Adder devreleri bir araya getirilerek gerekletirilir.

ALU
Aritmetik mantk nitesi, deney devresi olarak braklan kontrol nitesi hari HYMN uygulamasnn
son parasdr. 32 byte bellek hari olmak zere en karmak para budur. ALU iki adet sekiz bit
2nin tmleyeni gsteriminde veriyi giri olarak alr ve sekiz bit 2nin tmleyeni gsteriminde k
verisi oluturur. Devrede bir giri (buna a diyeceiz) geerli bellein k iken dieri (bu da b)
akmlatrn geerli deeridir. ALU tarafndan k olarak verilecek olan say iki adet giri biti
tarafndan kontrol edilir; s1 ve s0. Bu seim bitleri geerli komutun op-codunun iki alt bitine
baldr ve ALU'nun hesaplayaca sayy belirlerler.
s1 s0 k
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

0 0 b
0 1 belirsiz
1 0 a +b
1 1 a b
Bu tablo LOAD, ADD ve SUB opcodelarnn iki alt biti ile eleecek ekilde tasarlanmtr. (Dier be
komut akmlatr deiimi iermemektedir; ancak ALU bu durumda da hesaplama ilemlerini
yapacak, bu durumda akmlatrn deimesi istenmeyeceinden k gz ard edilecektir.)
Devremize neticelendirmek iin istenilen klar a + herhangi bir ey eklinde aadaki gibi
irdeleyebiliriz.
s 1 s 0 k
0 0

0+b

0 1

nemli deil + nemli deil

1 0

a+b

1 1

a + ( b )

Sekiz bit toplama devresinde, toplaycnn bir girii 0 veya a, dier girii ise b veya b olur, bu s1 ve
s0 deerleri ile belirlenir.
lk giriin 0 veya a olmasnn belirlenmesi olduka kolaydr: Grebiliriz ki s1 eittir 0 ise giri 0 olacak
veya nemli olmayacak; s1 eittir 1 iken ise giri a olacaktr. VE geidi s1 ile her bir a biti arasnda
kullanlr ve bu elde edilir.
kartma iin ise 2nin tmlayeni gsterimindeki ikinci giriin tm bitlerinin tersini alr ve bir
arttrrz.
s1 s0 ikinci giri
0 0 b
0 1 nemli deil
1 0 b
1 1 b+1
Bu son bir arttrma ilemi gerekletirmek iin aadaki gibi 8 Bitlik toplama devresinde s0 giriini
en dk deerli full-adder alt devresinin carry (elde) biti olarak girilmesi salanr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Tam ekleyicilerin dier girilerini bulmak iin b veya b deerini s1 ve s0'a gre hesaplayan devreyi
aryoruz. Bunun iin XOR kullanabiliriz (s0 b). Tm bu kavramlar alan tek bir ALU'da
birletirmek iin bunu kullanacaz.

Deney: HYMN Kontrol Devresi


Burada kontrol nitesini tasarlayarak HYMN uygulamasn tamamlayacaz. Kontrol nitesi
zerinde alarak bilgisayarn paralarnn nasl toplandn ve HYMN'nin nasl altn
anlayacaz.
Buraya kada rendiklerimizi bir araya getiren Logisim HYMN.circ devresini ykleyiniz.
Tasarlamanz gereken tek devre Kontrol nitesi devresidir; ana devredeki yeri aada krmz ile
iaretlenmitir.

CPU dngleri
HYMNWde her bir komutun yrtlmesi iin iki saat dngs gereklidir.

Komut Alma dngs: Geerli komut IR'ye gider (IR M[PC]).

Yrtme dngs: Bilgisayar, bir sonraki komut alma dngsnde farkl bir komutun
getirilmesi iin PC'nin deitirilmesi de dahil olmak zere komutu uygular.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Ana devrenin sol alt kesinde, saatin deeri her deitiinde deeri deiecek olan bir D-Type flip
flop bulunur, bylece komut alma dngs de yrtme dngs gibi 0/1 saat deiiminden oluur.
Her bir dngnn 0 aamas srasnda veriler devre araclyla yaylmal, yazclara ve bellee
ulamal, ancak henz deimemelidir. 1 aamas srasnda kontrol nitesi yazclara ve ierii
deiecek olan bellee 1 gnderecek, bylece girilerinde bekleyen veriler yklenecektir. 0 aamas
srasnda hesaplanan veri 1 aamas boyunca kablolarda kalmaldr.
rnein komut alma dngsnde, saat 0 iken kontrol nitesi bellee PC adresinde olduu gibi
verileri yklemesini syleyecektir. Saat 0 olarak kaldnda veri devre araclyla yaylacak, IR'ye
ulaacak anca IR henz deimeyecektir. Saat 1 olarak deitiinde, kontrol nitesi IR'ye 1
gndermeye balar, bylece deeri saatin 0 aamasnda oaltlan deer olarak deiir. Kontrol
nitesi bellekten gelen ayn verinin 1 aamas boyunca IR'ye gnderilmeye devam etmesini
salamaldr; aksi taktirde IR'ye giden yeni bilgiler sinyali IR'yi deitirecek ekilde etkileyebilir ve IR
yanl deer alr.

Kontrol nitesi arayz


Kontrol nitesinde, hepsi sol tarafta olmak zere aadaki komutlar bulunur.

Komutlarn Op-Codelar IR'de bulunan komutun en st bitini ierir.

Sfr Bayra AC'nin sfr olup olmadn gsterir.

Pozitif Bayra AC'nin pozitif olup olmadn gsterir.

Dng (0) ise CPU'nun komut alma dngsnde veya (1) ise yrtme dngsnde olduunu
gsterir.

Saat Saatin geerli deerini verir.


Kontrol devresi yedi bit k retmelidir.

PC se: Bu seim PC yazcsna gnderilen veriyi IR'deki komutun en alt be biti (eer 0 ise)
veya PC + 1 (eer 1 ise) olarak belirler.

PC yaz: PC yazcsna deerini deitirmesini bildirir.

Bellek se: Bellee gnderilen adresi IR'deki komutun en alt be biti (eer 0 ise) veya PC deeri
(eer 1 ise) olarak belirler.

Bellek yaz: Bellee seili adreste deeri deitirmesini bildirir.

Veriyolu se: Verinin bellee gnderildiini (0) ya da bellekten okunduunu (1) belirtir. Mantk
RAM bileeni deerlerin okunmas ve yazlmas iin ayn girii kullandndan bu gereklidir.
izgi Tagem Aratrma Gelitirme ve Eitim Merkezi
Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

IR yaz: IR kaydna deerini deitirmesini bildirir.

AC yaz: AC kaydna deerini deitirmesini bildirir.


HYMN kontrol devresinde her bir k, alt giri be bir D ikili durum olmak zere yedi deikenden
oluan bir Boolean fonksiyonu olacaktr.

izgi Tagem Aratrma Gelitirme ve Eitim Merkezi


Cemal Sururi Cad. Halim Meri Merkezi No: 15/C 34394 ili stanbul
Telefon: (212) 356 70 70 - Faks: (212) 356 70 69 - www.cizgi-tagem.org

Vous aimerez peut-être aussi