Yazmaç nasıl çalışır

Erdem⁣

Paylaşımcı üye
Katılım
14 Ocak 2013
Mesajlar
713
Puanları
106
Diyelim ki 8 bit bir Merkezi İşlem Birimimizde (CPU) tüm programların çalışma adresi 0x50 yani ikili olarak 0101 0000.

Bu değeri yazmaca yüklemek için giriş seçicide ("multiplexer") 1 seçiyoruz. Kısaca 0 hesap yap, 1 yazmaca veri yükle demek.

Seç ucunu 1 yaptıktan sonra, etkin girişini de 1 yapıyoruz ve saati çalıştırıyoruz.

Seç ucunu 0 yaptığımızda hesap yapmaya başlıyor. Yazmaca girdiğimiz değere 4 ekliyor.

Bu MIPS türünde bir bilgisayarın (PC) çalışma prensibine benziyor. Bir komut işlenir, sonra yazmaç (PC) 4 arttırılır, böylelikle bir sonraki komutu işaret eder.

Nasıl çalıştığını burada görebilirsiniz :

http://kotla.tk/yazmaç.webm

Logisim'le kendiniz denemek isterseniz buradan indirebilirsiniz.

http://kotla.tk/yazmac.circ

Logisim ile yazmaç kullanarak 4 bitlik geri sayıcı yapımını buradan görebilirsiniz.


Geri sayıcının sadece bir kere çalıştığına dikkat ediniz.

Logisim ile yapılmış ilginç bir uygulamayı merak ediyorsanız buraya bakabilirsiniz.

Logisim ilk bakışta basit bir yazılım gibi görünebilir. Ama bir süre kullandığınız zaman hiç de öyle olmadığını görebilirsiniz.

Burada Logisim Evolution üzerinde tasarlanmış bir CPU'nun Verilog'a nasıl aktarılabileceğini anlatıyorlar.

 
Bir tane de Ortak Bölenlerin En Büyüğünü (OBEB) donanımsal olarak hesaplayan bir devre yaptım.

Sağ üstte, B ucuna takılı en üstteki giriş seçici ("mux") için bir en iyileştirme bulun falan diyordu. Ama şimdilik vakit kaybetmek istemediğim için fazla uğraşmadım.


Bu devrenin yaptığı işlemi sözde kodla şu şekilde ifade edebiliriz.

Kod:
def obeb (a,b)
    if a == 0 : return b  #dur
    elif a >= b : return obeb(a-b, b) #çıkart
    else : return obeb (b,a) #yer değiştir
 

Forum istatistikleri

Konular
128,153
Mesajlar
915,486
Kullanıcılar
449,895
Son üye
HalilKonec

Yeni konular

Geri
Üst