Mano makinesi

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 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 
Mano makinesi, aynı adres alanı, yalnızca bir akümülatör kaydı 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 akümülatör yazmacı ve ek taşıma ve sistem durdurma için tek bitlik yazmaçlar (mandallar) vardır.

Buyruk kümesi 
3 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.

Bilgisayar optimizasyon teorisine uygulamalar 
Makine 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 

 Mark Roth'un Mano makine assembler'ı/simülatörü 
 MANOSIM ve MANOASM ikili dosyaları ve kılavuz sayfası 
 N. Narasimhamurthi tarafından Mano Machine'in bir VHDL uygulaması 
 Mano Machine'in Greg Toombs tarafından bir Verilog uygulaması 
 Tarayıcıda çalışan bir Mano Machine simülatörü (Java Applet)

Kaynakça