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

MIPS R2000 CPU Simülatörü

Bilgisayar Mimarisi


 
 
Seçenekler Stil
  #1
Alt  Standart MIPS R2000 CPU Simülatörü
maFiaCarLeS
Administrator
maFiaCarLeS - ait Kullanıcı Resmi (Avatar)
Release: 05-29-2008, 12:22 PM
Profile:
Üyelik tarihi: Oct 2007
Mesajlar: 2.917
İ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...]


Programı indirmek için [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Yardım

ProcSim MIPS v2.0

James Garton (c) 2005

Bu program bir MIPS R2000 İşlemcisini simüle eder.İşlemciden geçen bir dizi veriyolunu görünür kılarak mimarinin her bir bileşeninin girdiyle nasıl çalıştığını gösterebilirsiniz. Assembly programları verilen talimatları kullanarak programda girdi olarak kullanılabilir. Bunlar kullanılan mimariye göre değişir. XML formatı kullanılarak bir program için diyagram tasarımcısıyla birlikte farklı mimariler yaratılabilir veya yüklenebilir. Aşağıda kullanılan XML formatının açıklamasını bulabilirsiniz. Bu program işlemcinin nasıl çalıştığını öğrenmek için harika bir programdır. Ayrıca anlayışınızı geliştirmek için kendi mimarilerinizi tasarlamakta da kullanabilirsiniz (ancak ISA’ ya yeni talimatlar ekleyemezsiniz – sadece şunlar desteklenmektedir: ekle, çıkar, ve, veya, slt, sw, beq, addi, andi, ori, j). Bu programı çalıştırmak için Java v1.5’ e ihtiyacınız vardır.
Java v1.5’ i şu adresten indirebilirsiniz: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Minimum Sistem Gereksinimleri:

İS: Windows 95-XP, (Linux).
İşlemci: 1GHz CPU
Monitör Çözünürlüğü: 1024*768

Tavsiye Edilen:

İS: Windows 2k-XP
İşlemci: >1.5GHz
Monitör Çözünürlüğü: 1280*1024

ProcSim MIPS’ i Çalıştırmak

ProcSim’ i çalıştırmadan önce Java runtime ortamı V1.5’ e sahip olduğunuzdan emin olun.

Windows:

Zip ile sıkıştırılmış program dosyasını açın ve ProcSim.exe dosyasına çift tıklayın. Eğer bir nedenden ötürü bu çalışmazsa, bunun yerine \classes\ProcSim.jar veya \classes\ProcSim.bat dosyalarını çalıştırabilirsiniz.

Linux:

Bu yazılımın Windows altında çalıştırılması önerilir!

ProcSim’ i Linux’ ta çalıştırmak için birkaç farklı yol vardır...

- ".\classes\" klasörü içinde, bir konsol penceresinde "java ProcSim" yazın.

- ".\classes\" klasörü içinde pencereli bir ortamda ProcSim.jar dosyasına çift tıklayın.

Eğer Javanın bulunmadığını söyleyen bir mesaj çıkarsa, Javanın kurulu olduğundan emin olun. Sonra Javanın bulunduğu klasörü bulun ve şunu yazın:

export PATH=/usr/java/j2re1.5/bin:$PATH

Bu "/usr/java/j2re1.5/bin" i sizin Java klasörünüze giden yolla değiştirecektir.

Şimdi "java ProcSim" yazınca bir sorun olmamalı.

-Hala çalışmazsa, ".\classes\" klasöründe "./usr/java/j2re1.5/bin/java ProcSim" yazin.

Simülasyon Kullanımı Yardımı

Simülasyon Penceresi

Programın içinde bir dizi mimari ve assembly programı vardır ve bunlardan bir tanesi başlangıçta yüklenir.Bu sayede, "Start Simulation" a basarak derhal başlamak mümkündür. Şu anda gördüğünüz şey aritmetik R-Formatı talimatlarını (ekle, ve, veya, çıkar) destekleyen, çok basit bir veriyoludur. Simülasyonu başlatmak için
" Yürütmeyi Başlat” a basmanız gerekir. Bu işlemden sonra simülasyonun başladığını göreceksiniz.

Simülasyonu sol tarafta yer alan kontrol panelindeki Hız çubuğu ile yavaşlatabilirsiniz.

Kontrol Panelindeki diğer kontroller:

Adım: Bir animasyon adımını gösterir ve siz üzerine tekrar basana kadar veya sürdüre basana kadar durur.
Yazmaç: Yazmaç çerçevesini gösterir (zaten ekranda görünüyor olmalı).
Ana Hafıza:Ana Hafıza çerçevesini gösterir.
Komut Hafızası: Komut Hafızası çerçevesini gösterir (zaten ekranda görünüyor olmalı).
Süper Hız: Sadece her bir veriyolunun köşesinde animasyon yapar. Bu yüzden çok hızlıdır.
Anında Hızı: Hiçbir animasyon yapmaz. Eğer simülasyon penceresini de en küçük hale getirirseniz, assembly programının yürütmesini neredeyse anında yapar.
Kapat: Simülasyon penceresini kapatır.

Yazmaç Penceresi:

İçinde saklı değerler bulunan bütün saklayıcıları gösterir. Sütunlar şöyledir: Reg – Saklayıcı adresinin ikili değeri, Reg – saklayıcıların dizgi değeri, Bin Val – Bu saklayıcıda ikili olarak saklanan değer, ve Dec Val – Ondalık halde değer.Hepsini Göster’ e basarak sadece değerleri olan saklayıcılar yerine saklayıcıların hepsini görebilirsiniz.
Pencereyi saklamak için Bitti’ ye basın.

Komut Hafızası Penceresi:

Bu da benzerdir, ama burada komutu Assembly veya Makine Dili olarak görme seçeneğine sahipsiniz.

Her bir komut 4 byte olarak saklanır, böylece MIPS mimarisi byte adreslenir bir makine olduğu için adresler her seferinde 4 artar. Üzerine basarak komut hakkında bir yorum görebilirsiniz.

Ana Hafıza Penceresi:

Bu, her bir byte’ın adresini gösterdiği gibi, her bir kelimenin adresini de gösterir. Bunun sebebi MIPS’in tam bir kelimeyi okumayı seçebileceği gibi sadece tek bir byte’ı okumayı da seçebilmesidir.

Ana Çerçeve Menüsü:

Farklı bir mimari yüklemek için " File\Open Sim..." a basabilir ve örnek " .xml" dosyalarından birini seçebilirsiniz.
Bir assembly programı yüklemek için " File\Open Assembly..." a basabilir ve bir " .asm" dosyası seçebilirsiniz.
Bunlardan herhangi birini düzenlemek için simülasyon penceresini kapatmanız ve ana program penceresi üzerinde ilgili seçeneği seçmeniz gerekir.

İpuçları:

Animasyonlu bir değer üzerindeki küçük 2 rakamı o değerin ikili olduğu anlamına gelir. Eğer animasyonun üzerinde bir rakam yoksa, o halde değer ondalıktır.
Bir bileşenin ne yaptığını anlatan tarifi görmek için bileşenin üstüne basabilirsiniz.

Eğer animasyon çok yavaş ya da " kesik kesik" çalışıyorsa, diğer pencereleri küçültmeyi ya da kapatmayı deneyin. Aynı zamanda ayarlar menüsünden Saydamlığı kapatın.

Bir bileşen sadece bütün veriyolları ayarlanmışsa yürütme yapacaktır ( yani hepsi kırmızı ise). Bunun tek istisnası veriyolunun opsiyonel olduğu durumdur ( XML mimari dokümanının içinde ayarlanmıştır).

Assembly Kodu

Assembly kodunu düzenlemek için ana pencerede "Assembly Kodu" na basın. Bu yeni ekran bir metin editörü gibi çalışır.

Desteklenmiş Assembly:

Desteklenmiş ISA mevcut yüklenmiş mimari dosyasına bağlıdır. Desteklenmiş ISA’ yı "Help\Supported ISA" a basarak görebilirsiniz (bunlar mevcut yüklenmiş XML dokümanından alınır). Saklayıcıları varsayılan değerlere ayarlamak için, ".register" assembler komutu kullanabilirsiniz.Örnek:
register $s0 21".
Açıklamalar kullanılabilir. Açıklama karakteri " # " işaretidir.
Etiketler bir sıra üstüne tek başlarına yerleştirilemezler, yanı başlarında bir yönerge olması gerekir. Bunun tek istisnası programın en sonuna konan " :çıkış"etiketidir.
Kodu assemble etmek için, Assemble’a basın. Bu, programınızın başarılı bir şekilde assemble edilip edilmediğini size söyleyecektir. Eğer başarısız olmuşsa, sorunun nerede olduğunu öğrenmek için konsol penceresi hata paneline bakabilirsiniz.
Assembly yerine makine dili de kullanılabilir. Sadece 32bit desteği vardır ve XML mimarisiyle başka kısıtlamalar da vardır.

Mimari Dosyalar (XML)

Farklı mimariler yaratmak için bileşenleri ve veriyollarını detaylandırmak ve nasıl etkileştiklerini görmek üzere bir XML dosyası yaratmanız gerekir.

Bunu yapmak için program editöründen yararlanabilirsiniz. Bir kere XML mimariniz oldu mu, mimarilerinizin bileşenlerini tuval üstünde çizmek için diyagram tasarımcısından yararlanabilirsiniz.

Önce ana pencerede "İşlemci Mimarisi" ne basın. Bu size, üzerinde o an mimari diyagramları yüklenmiş durumda bulunan bir pencere gösterecektir.

XML’ i düzenlemek için " Mimariyi Düzenle " ye basın. Artık yeni bir XML dökümanı yükleyebilir veya mevcut dokümanı düzenleyebilirsiniz. XML’ i nasıl kullanacağınızı öğrenmek için örneklere bakmanız yeterli olacaktır. Bütün özellikle örneklerin bir yerinde kullanılmıştır.

< do func="s are as follows:mux, or, zero, multiplexor, add, and, sub, readmem, writemem, bitout, out, split, readreg, writereg, getInstruction, shiftleft, signextend, slt, join. Once you have finished creating the architecture, press "Parse". This will tell you if it succedes or fails. If it fails look at the error panel on the console for information about where the problem is.
İpuçları:

ğer bütün girdi veriyolları yürütme sırasında ayarlanmışsa, bir bileşen her zaman en azından bir tane işlem yapabilmelidir.
Bütün girdi ve çıktı veriyolu isimleri eşleşmelidir (büyük ve küçük harfe duyarlı).

"< output name="Result" bits="32" alternativeStr="true" optional="true" >" bu çıktı veriyolu isminin Sonuç olduğu ve 32 bit’ e sahip olduğu anlamıa gelir.Diğer özellikler seçimlidir, alternatifStr veriyolunun ikili bir değer yerine ondalık bir değer göstereceğini (ya da bir komut durumunda assembly) ifade eder. " Seçimli" demek bu veriyolunun işlemi yapabilmesi için bağlanmış bileşene ayarlanması gerekmediği anlamına gelir.
Bir bileşende en azından aşağıdakilerin olması gerekir:

<Bileşen>
<isim>A</isim>
<tanımlama>A Tanımlama< /tanımlama> <girdiVeriyolları> <input isim="Z" bits="1" >
</girdi Veriyolları>
</Bileşen>

(Z girdisi bir çıktı veriyoluna farklı birbileşenden bağlanmalıdır – bu bileşeni sadece tek bir çıktısı olabilir).

< specialcomponent comp="StartComp" /> Bunun anlamı, bu bileşenin yürütmeye başlayacak ilk bleşen olmasıdır. Yürütmeye başlarken bütün çıktı veriyollarını 0’ a ayarlayacaktır. Çoğunlukla PC için kullanılır.

Mimari Diyagram

Bir kere XML mimari dokümanı yarattınız mı, onunla birlikte işleyecek diyagramı da yaratabilirsiniz. Bunu düzenlemek için, ana ekrandaki İşlemci Mimarisine basın. Şimdi mevcut yüklenmiş mimariyi görebilirsiniz. Eğer daha önce yaptığınız bir XML dokümanını yüklemek isterseniz Dosya/Yükle menüsünü kullanın.


Artık diyagrama bileşenleri ekleyebilirsiniz. Sağ üstteki listedeki maddelerden birine basınız. Sonra tuvalde herhangi bir yere basınız. Aşağıya kare şeklinde bir kutu inecek. Bu kareyi ekranda çekerek taşıyabilirsiniz. Sağdaki kutulardan karenin enini ve boyunu değiştirebilirsiniz.


Aşağıya birkaç bileşen indirdikten sonra, veriyollarını çizmeye başlayabilirsiniz. Bunu yapmak için veriyolu eklemek istediğiniz bileşenlerin üzerlerine basın, sonra sağdaki listenin ortasında yer alan bir veriyoluna (" bağlanmış veriyolları”) basın. Şimdi bu veriyolunun birleştirdiği iki bileşenin renk değiştirdiğini göreceksiniz.

Kırmızı bileşen çıktı veriyoludur, mavi olanı ise girdi veriyolu. Tuvalin üzerinde çıktı bileşenine yakın bir yere basarak üstüne veriyolunu yerleştirin. Artık daha çok çizgi yerleştirmek için basmaya devam edebilirsiniz (hepsi birleşmiş). O veriyolunu düzenlemeyi sona erdirmek için girdi bileşeninin üzerine basın.

Şimdi bazı veriyolu isimleri göreceksiniz. Onları da hareket ettirebilirsiniz. Aynı zamanda ilgisiz olarak gördüğünüz "veriyolu" isimlerini sağ alta yer alan "Veriyolu İsimlerini Gizle" ye basarak gizleyebilirsiniz.


Diyagramdan memnun kalınca, " Bitti " ‘ye basabilirsiniz.

Daha fazla yardım için ayrıntılı örneklere bakınız.

James M Garton 18/09/2005
james@jamesgart.com
[Ü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
Karnaugh Haritası Simülatörü maFiaCarLeS Sayısal Devreler 2 06-10-2008 10:55 AM
CPU Simülatörü maFiaCarLeS Bilgisayar Mimarisi 0 05-29-2008 12:17 PM


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 01:21 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