Mano makinesi
Bu madde, öksüz maddedir; zira herhangi bir maddeden bu maddeye verilmiş bir bağlantı yoktur. (Haziran 2023) |
Mano makinesi teorik olarak M. Morris Mano tarafından tanımlanan bir bilgisayardır. Bir merkezi işlem birimi, rasgele erişimli bellek ve bir giriş-çıkış veri yolu içerir. Sınırlı buyruk kümesi ve küçük adres alanı, mikrodenetleyici olarak kullanılmasını sınırlar. Ancak Verilog veya VHDL gibi bir HDL dili kullanılarak 32 bitlik bir birikeç (akümülatör) yazmacına ve 28 bitlik adreslemeye sahip olacak ve yeni talimatlar için yer açacak şekilde kolayca genişletilebilir.
Özellikler
değiştirMano makinesi, aynı adres alanı, yalnızca bir birikeç yazmacı ve benzer buyruklar gibi birçok açıdan PDP-8'e benzer. Mano makinesi, 12 bitlik bir adres yolu gerektiren 4096x16 paylaşılan bir veri/program belleği bölümüne sahiptir. Veri yolu 16 bittir. Harici iletişim için 8 bitlik giriş/çıkış veri yolları ve ilgili kesme bayrakları vardır.
Bir adet 16 bitlik birikeç yazmacı ve ek taşıma ve sistem durdurma için tek bitlik yazmaçlar (mandallar) vardır.
Buyruk kümesi
değiştir3 kategoriye ayrılan 25 buyruk vardır: doğrudan/dolaylı bellek referans işlemleri, yazmaç referans işlemleri ve giriş/çıkış/kesme işlemleri.
Her buyruk 16 bit uzunluğundadır [4 nybble veya 1 word]. Bu, bellek referanslama talimatlarının 4 bit işlem kodu verisi ve adrese ayrılmış 12 bit içerdiği anlamına gelir.
15. bit | 14-12. bitler | 11-0. bitler | Hatırlatıcı isim | Açıklama |
---|---|---|---|---|
0 | 0 | (Doğrudan adres) | AND | Doğrudan belleği birikeç ile VE operasyonuna tabi tut |
0 | 1 | (Doğrudan adres) | ADD | Doğrudan belleği birikeç ile topla (Elde bitini etkiler) |
0 | 2 | (Doğrudan adres) | LDA | Doğrudan belleği birikece yükle |
0 | 3 | (Doğrudan adres) | STA | Birikeci doğrudan bellekte depola |
0 | 4 | (Doğrudan adres) | BUN | Doğrudan belleğe koşulsuz dallandır |
0 | 5 | (Doğrudan adres) | BSA | Mevcut program sayacını doğrudan bellekte depola ve bir sonraki adrese dallandır |
0 | 6 | (Doğrudan adres) | ISZ | Doğrudan belleteki değeri bir artır ve toplam sıfır ise sonraki buyruğu atla |
1 | 0-6 | (Dolaylı adres) | Yukarıdaki buyrukların dolaylı adreslenmiş hâlleri | |
0 | 7 | 800 | CLA | Birikeci temizle |
0 | 7 | 400 | CLE | Elde bitini temizle |
0 | 7 | 200 | CMA | Birikeci tümle |
0 | 7 | 100 | CME | Elde bitini tümle |
0 | 7 | 080 | CIR | Birikeci sağa çevrimsel kaydır (elde biti üzerinden) |
0 | 7 | 040 | CIL | Birikeci sola çevrimsel kaydır (elde biti üzerinden) |
0 | 7 | 020 | INC | Birikeci bir artır (elde bitini etkilemez) |
0 | 7 | 010 | SPA | Birikeç pozitif ise sonraki buyruğu atla |
0 | 7 | 008 | SNA | Birikeç negatif ise sonraki buyruğu atla |
0 | 7 | 004 | SZA | Birikeç sıfı ise sonraki buyruğu atla |
0 | 7 | 002 | SZE | Elde biti sıfır ise sonraki buyruğu atla |
0 | 7 | 001 | HLT | Durdurma biti mandalını temizleyerek bilgisayarı durdur |
1 | 7 | 800 | INP | Karakter veri yolundan birikece girdi |
1 | 7 | 400 | OUT | Birikeçten karakter veri yoluna çıktı |
1 | 7 | 200 | SKI | Girdi bayrağı kaldırılmış ise sonraki buyruğu atla |
1 | 7 | 100 | SKO | Çıktı bayrağı kaldırılmış ise sonraki buyruğu atla |
1 | 7 | 080 | ION | Kesintileri etkinleştir |
1 | 7 | 040 | IOF | Kesintileri devre dışı bırak |
Bilgisayar optimizasyon teorisine uygulamalar
değiştirMakine spesifikasyonları, işlemcinin mikro işlemlerini belirleyen bir sonlu durum makinesi içerir. Durum makinesinin kanonik uygulaması, indirgeme için mükemmel bir adaydır ve aynı zamanda boru hattı işlemci olarak yeniden uygulanabilir.
Dış bağlantılar
değiştir- Mark Roth'un Mano makine assembler'ı/simülatörü 29 Ocak 2023 tarihinde Wayback Machine sitesinde arşivlendi.
- MANOSIM ve MANOASM ikili dosyaları ve kılavuz sayfası 16 Ağustos 2022 tarihinde Wayback Machine sitesinde arşivlendi.
- N. Narasimhamurthi tarafından Mano Machine'in bir VHDL uygulaması 3 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- Mano Machine'in Greg Toombs tarafından bir Verilog uygulaması 23 Nisan 2010 tarihinde Wayback Machine sitesinde arşivlendi.
- Tarayıcıda çalışan bir Mano Machine simülatörü (Java Applet) 2 Mayıs 2015 tarihinde Wayback Machine sitesinde arşivlendi.
Kaynakça
değiştirMano, M. Morris (Ekim 1992). Computer System Architecture. 3rd. Prentice-Hall. ISBN 0-13-175563-3.