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ış veriyolu 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
Mano 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. Veriyolu 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
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.
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
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
Kaynakça
Mano, M. Morris (Ekim 1992). Computer System Architecture. 3rd. Prentice-Hall. ISBN 0-13-175563-3.