Arama
Forumdan En İyi Şekilde Faydalanmak İçin KAYIT Olmanız Gerekmektedir.    

Aritmetik Devre Tasarımı

Bilgisayar Mimarisi


 
 
Seçenekler Stil
  #1
Alt  Standart Aritmetik Devre Tasarımı
maFiaCarLeS
Administrator
maFiaCarLeS - ait Kullanıcı Resmi (Avatar)
Release: 01-24-2008, 07:04 PM
Profile:
Üyelik tarihi: Oct 2007
Mesajlar: 2.916
İletişim:
maFiaCarLeS - MSN üzeri Mesaj gönder maFiaCarLeS - YAHOO üzeri Mesaj gönder
Last Update: None Rating: None
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Şimdi yandaki blok diyagramda temel Aritmetik Mantıksal deverelerin tasarımını görelim. Aritmetik işlemlerde aşağıdaki sırada işlemler yürür:
Kontrol devresi aritmetik işlem komutunu algılar. Örneğin belirlenmiş bir hafıza gözündeki veri Akümülatör üzerindeki veri ile toplanması istenmektedir.
Toplanacak sayı B kaydedicisine alınır. B kaydedicisindeki veri akümülatördeki veri ile Logic devreler (Full Adder) ile toplanır ve sonuç tekrar akümülatörde saklanır.
Akümülatör (8Bit veri) + Yazıcı (8Bit veri) → Akümülatör (Sonuç 8 Bit veri)
Akümülatördeki veri bir sonraki işlemlerde kullanılmak için saklanır veya daha sonra tekrar yeni bir hafıza gözüne alınır. Bu devrenin tasarımına geçmeden önce işleme biraz daha yakından bakalım.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Toplam Devresi Tasarımı
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinde Tam Toplayıcı (Full Adder) devresinin tasarımını vermiştik. Burada tekrar özetleylim:
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Tek bitlik A ve B girişleri olan Elde Bitini bir önceki tek bitlik toplam devresinden alan (CIN) ve incelediğimiz Tam Toplama deveresinde doğacak elde bitini de bir sonraki parallel tek bitlik toplama devresine taşıyan (COUT) devrenin aritmetik tablosu yandaki gibidir.
Karnough Diyagramlarını biraz açarsak toplama işleminin aritmetik kanunları gereği aşağıdaki örnekle ile çözümleyebiliriz.
• A ve B girişleri sıfır iken (Ā, A’nın üstünde çizgisi olması ile ifade edilir) CIN sıfır ise S=Toplam sıfır olmakta, CIN bir ise toplam “1” olmakta ve COUT çıkışı her iki koşulda da sıfır olmaktadır. (Diyagramlarda 1. satırlar)
• A girişi sıfır, B girişi bir iken CIN girişi sıfır ise S (toplam) bir olmakta ve CIN girişi bir iken toplam sıfır olmaktadır. (2. satır, soldaki tablo)
• A girişi sıfır, B girişi bir iken CIN girişi sıfır ise COUT çıkışı (taşınan elde) sıfır olmakta ve CIN girişi bir iken toplam COUT çıkışı bir olmaktadır. (2. satır, sağdaki tablo)
Aşağıdaki tabloada bunlar özetlenmiştir:
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Yukarıdaki tabloları basit 2’li düzendeki aritmetik bilgisi ile de bulabiliriz. Şimdi Karnough Diyagramlarından mantıksal formülünü bulduğumuz Tam Toplama devresinin tasarımını görelim.
Yandaki devrede FA (Full Adder) ismi verilen temel bir bitlik toplama birimi görülmektedir. Bu devrede A ve B girişlerinden giren sayısal tek bitlik bilgi toplanmakta, S (Toplam çıkışı yine bir önceki haneyi toplamada kullanılan benzer tek bitlik bir Full Adder biriminden gelen CIN verisi ile birlikte ele alınarak belirlenmektedir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinde Sayısal Devre simulatörümüz ile Tam Toplama devresinin çalışmasını deneyebileceğinizi göstermiştir.
Paralel 2’li Düzende Toplama
A ve B girişlerini toplayan bu Full Adder devreleri parallel bağlanarak daha yüksek kelime uzunluğuna sahip 2’li düzendeki sayılar toplanabilir. Aşağıdaki tasarımda da görüleceği gibi A ve B girişleri CIN ve COUT bitleri ile birlikte paralel toplanmakta ve S Bitleri toplama sonucunu tutmaktadır. Elde bitlerinin bir sonraki haneye nasıl taşındığına dikkat edin.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Bu noktada artık Bilgisayar Mimarisi tasarımı için Logisim simulatörünü kullanacağız. Lütfen öncelikle Java Simulatörleri bölümünden [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] özelliklerini okuyunuz. Örnek uygulamalara bakınız ve konumuz olan 2'li düzende paralel toplama devresi için Logisim Uygulama Örnekleri içinde [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bölümünü inceleyiniz.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] uygulama örneği içinde 4-Bit Ripple Carry Adder devresi (4-Bit Ripple Carry Adder devresine, View Circuit seçeneği ile veya çift tık yaparak erişebilirsiniz) yukarıda anlattığımız gibi Full Adder deverelerinin paralel bağlanması ile elde edilmiştir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Paralel Full Adder devrelerinde elde bitinin yayılımını bu örnekte daha iyi anlayabilirsiniz.
Kaydediciler ile Tasaralanmış Komple Paralel 2’li Düzende Toplama
Sayısal Devreler [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ve bunun arkasından gelen bölümlerinde kaydediciler veya kilitleme devrelerinin temel prensiplerini anlatmıştık. Burda tekrarlarsal kaydediciler (Registers) Bilgisayar Mimarisinde hafızadan okunan bilgiyi bir süre saklayan, aritmetik logic işlemler için bu veriyi kaynak olarak tutan flip-flop mantık devreleridir. Akümalatör bu kaydedicelerden ALU işlemlerinin sonucunun da yazıldığı özel bir kaydedicidir.
Kaydedicilerin [A] şeklinde tırnak içinde bir gösterimi vardır:
[A]=1011 gösterimi bu kaydedicide bitler bazında A3=1, A2=0, A1=1, A0=1 anlamındadır.
Kaydediciler arasındaki veri transferi bir ok ile ifade edilir. [b]→[A] B kaydedicisinin içeriğinin A kaydedicisine aktarılması anlamındadır. Aritmetik Lojik işlemler bu kaydedicilerin tuttuğu bilgiler ile belirli Clock, zamanlama işaretleri ile gerçeklenir. Örneğin 2’li düzende 1001 ve 0101 toplama işlemi aşağıdaki resimdeki tasarımda ve zamanlama diyagramında görüleceği gibi:
• İlk olrak t1 anında vir CLR (clear veya reset) işareti süreci başlatır. Akümülatör sıfırlanır.
• t2 anında 2’li düzendeki ilk verimiz 1001 B kaydedicisine yüklenir.
• t3 işareti ile 1001 ve 0000 toplamı tekrar A kaydedicine yüklenir.
• t4 işareti ile ikinci veri 0101 B kaydedicisine hafızadan yüklenir.
• t5 darbesi ile tekrar toplam çıkışları A kaydedicisine yükelenir.
• Ve 2’li düzendeki iki verinin toplamı artık Akümülatör’de hazırdır.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Elde Bitinin Yayılımı (Yürümesi)
• Paralel toplayıcı devreleri Elde Biti yayılımı (bazen yürümesi denir) ile sınırlıdırlar.
• Elde biti bir sonraki tma toplam devresine yayılırken bir bekleme süresi oluşur. Tahmin edeceğiniz gibi toplama işleminin doğru olabilmesi için bir önceki bitten sürüklenen elde bitinin de tam toplayıcı devresine hazır hale gelmesi gerekir.
• Toplama işleminde kelime uzunluklarının artması elde biti yayılımı süreciden dolayı işlemi yavaşlatır.
• Bu gecikmeyi azaltmak için çok değişik teknikler kullanılır. Bunlardan biri de look-ahead carry (elde biti için ileriye bakmak) procedürdür ve işlemleri hızlandırır.
Tam Toplayıcı Entegre Devreler
Yandaki şekilde sık kulanılan 4 Bit’lik paralel toplayıcı devresi görülmektedir. 74HC283 entegre devresi 4 bit tam toplama mantık devrelerine ve look-ahead carry tasarımaına sahiptir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
A ve B uçları 4 Bit’lik toplanacak verileri ve ∑ uçlarıda toplam çıkışları simgeler. C0 tüm entegrenin elde girişi ve C4 ise taşınan eldedir.
4 Bit’lik bu parallel toplayıcılar yan yana kullanılarak 8 Bit (byte) kelime uzunluklarında tam toplama devreleri tasarlanabilir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
2’nin Tümleyeni ile Toplam ve Çıkarma İşlemleri Tasarımı
Daha önce 2’li düzende çıkartma işlemi için çıkartılacak verinin tümleyenini almak (her bitin tersini al ve sonra çıkan veriyi 1 arttır) ve sonra toplama yapmak gerektiğini görmüştük.
Şimdi paralel tam toplayıcı devreleri ile toplama ve çıkarma işlemlerinin nasıl yapıldığını özetleyelim.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Toplama için A ve B girişlerindeki sayısal veriler doğrudan verilmekte ve Elde Biti girişi Cin=0 sabit olarak verilmektedir.
Çıkarma işlemi için ise A girişi doğrudan verilmekte B'nin ise tüm bitler tersine çevirilerek o şekilde verilmektedir. Elde Biti çıkarma işleminin daha önce gördüğümüz tanımına göre Cin=1 dir. Bu şekilde tümleyen alınmıştır. Bu iki işlemi birden tek bir Full Adder devresinde yapabiliriz.
Aşağıdaki devreyi inceleyin. ADD simgesinin üstündeki çizgi o girişin "0" olması durumunda etkin olduğunu gösterir.[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] girişi "0" ise toplama yapılmasını, "1" ise çıkarma işlemeni belirler.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Entegre olarak tasarlanmış sadece çıkarma işlemi yapan bir devre aşağıda görülmektedir. Burda (A-B) işleminin yapılması için yine 2’nin tümleyeni yöntemi kullanılmaktadır. Çıkartılacak sayı (B) nin tersi alınmakta ve 1 arttırma işlemi için C0 = 1 yapılmaktadır.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Aynu Full Adder entegre devresi ile hem toplama hem de çıkarma işlemi yapabiliriz. Aşağıdaki tasarımda 4 Bit’lik tam toplama ve 2’nin tümleyeni yüntemi ile çıkarma yapan devre tasarımı görülmektedir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
ALU Arithmetic ve Logic Unit
Bir bilgisayarda genel anlamda aritmetik ve mantıksal işlemlerin yapıldığı birime ALU adı verilir. Yukarıda gördüğümüz ve sadece toplama çıkarma yapan devre de bir anlamda basit bir ALU'dur. Bu örnek birim sadece 2 işlem yapabildiğinden tek bir control girişi tarafından kontrol edilmektedir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Daha gelişmiş fonksiyonları yerine getiren ALU'lar için tabiki daha geniş seçenekli kontrol devreleri ve bu seçenekleri belirleyen kontrol bitleri, daha doğrusu kontrol giriş kodu gereklidir. Bu noktada Logisim paketini kullanarak daha geniş aritmetik ve mantıksal komutlar yürütebilen bir ALU tasarlayalım. Öncelikle komutları belirleyelim. 4 komutumuz olsun, ve doğal olarak bu 4 seçenek için 2 bit bir komut kümemiz olacaktır.
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 aşağıdaki devreyi inceleyin. Bu ALU devresi yukarıdaki 4 komutu birden A ve B girişleri üzerinde yürüten tek bir bitliktir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Logisim simulatörünü açıp [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dosyasını yükleyin. Aşağıdaki devreyi elde edeceksiniz. Devreyi çalıştırın ve işlem seçenekleri ile A ve B girişleri üzerinde 4 işlemin sonuçlarını inceleyin.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
ALU devreleri daha önce gördüğümüz toplam-çıkarma yapan devreler gibi paralel bağlanarak 2"li tabandakiveriler üzerinde çalışabilirler. Logisim simülatöründe [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dosyasını yükleyerek aşağıdaki devreyi inceleyiniz. Paralel çalışan ALU'ların fonksiyonlarını 6Bit'lik A ve B 2'li düzendeki veriler üzerinde işlemleri inceleyiniz.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Fonksiyon tuşlarını seçerek AND, OR, TOPLAMA ve ÇIKARMA (Girişin tersini alma, Cin girişine+1 vererek Tümleyenini alma ve toplama) işlemlerini deneyrek bulunuz.
ALU Entegre Devreleri
Aritmetik ve mantıksal işlemlerin temel deverelerini gördükten sonra tüm bu fonksiyonları içeren bazı entegre devrelere bakalım.
• Aşağıdaki 74LS382 entegre devresi yine 2’li düzende çalışan fonksiyon belirleme uçları (S) seçimi ile değişik aritmetik lojik fonksiyonları yerine getirir.
• S0, S1 ve S2 üç bitlik olduğundan daha once sayısal devrelerde gördüğümüz gibi 23 = 8 değişik fonksiyon tanımlanmıştır.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Temel 74HC382 ALU entegreleri parallel bağlanarak 8 Bit’lik veya daha yüksek kelime uzunluğundan Aritmetik ve Lojik işlemler yapılabilir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  Alıntı ile Cevapla
maFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond reputemaFiaCarLeS has a reputation beyond repute   
 

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Hizli Erisim

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Bilgisayar Tasarımı ve Merkezi İşlem Birimi maFiaCarLeS Bilgisayar Mimarisi 0 01-24-2008 07:03 PM
Aritmetik Üniteler maFiaCarLeS Sayısal Devreler 0 01-24-2008 06:55 PM
Devre sadeleştirme örnekleri maFiaCarLeS Sayısal Devreler 0 01-24-2008 06:47 PM
Anahtar kontak tasarımı maFiaCarLeS Sayısal Devreler 0 01-24-2008 06:39 PM


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 12:26 AM.

Copyright© 2007 - 2008 TAMARSIV.NET | "Türkiye'nin En Büyük Arsivi"
Copyright© 2000 - 2008 Powered vBulletin® Version v3.6.10 Jelsoft Enterprises Ltd.

Sitemiz bir Forum Sitesidir ve siteye gönderilen tüm mesajlar onaydan geçmeksizin anında paylaşılmaktadır Eklenen İçerik, Makale, Resim vs.'den Sadece Ekleyen Üye Sorumludur.
TAMARSIV.NET
Yönetimi Hiç Bir Şekilde Sorumluluk Kabul ETMEZ!
Webmaster Resource
Engellenen Saldiri : 3 Adet Güvenlik Kalkanları : Devrede