複合機モデルのマシンとマイクロ命令プログラムに書くことはヘレン式を計算 - コンピュータコースデザインの原則を

まず、実験の内容

1.実験

コンピュータ組成原則知識の統合利用、デザイン、より完全なコンピュータを実装します。

2.実験対象

モデルマシンは複雑なの原理を完全に理解して、自分のマシン命令とマイクロの製造は、複雑な式を使用してモデルヘレン・コンピューティングの目標を達成するために対応します。

3.実験装置

PCマシン、1台湾、TD-CMA実験システムセット。

第二に、実験的な原則

1)データフォーマット

機械モデルは、所定の固定小数点を使用補数表記データの語長が8ビットデータ全体を表すために使用される8ビット(最上位ビットがシンボルを表していない)であり、数値範囲で表される:0≦X≦ 8。 -1 。

2)設計命令

ヘレン式、必要に応じて指示に応じて、設計モデルは、3つのカテゴリが算術命令、制御転送命令、データ転送タイプ命令を含む15個のネイティブ命令がありました。

12月、SUB、OR、SARは、すべての操作がシングルバイトの命令クラスであり、ADD、AND:命令のクラスは、6つの演算命令で設計された3つの算術演算、算術演算、論理演算、シフト操作を、含まれている、あります、アドレッシングモードを使用すると、直接アドレス登録します。

制御転送命令は、HLT命令は単一バイト、ダブルバイトBZCとJMP命令である、三つのクラスHLT、JMP、BZC、及び制御プログラム分岐を転送するために有しています。

ロード命令は、シングルバイトの命令MOV命令に加えて、IN、OUT、MOV、LDI、LAD、6のSTAの合計は、レジスタとレジスタ、レジスタ、I / O、およびメモリ・レジスタ間のデータの交換を完了しなければなりません残りはダブルバイト命令です。

3)命令フォーマット

次のようにすべてのシングルバイト命令(ADD、AND、DEC、SUB、OR、SAR、HLT、およびMOV)形式は次のとおりです。

7 6 5 4 3 2 1 0
OP-CODE RS RD

ここで、OP-CODEオペコード、RSが提供するソース・レジスタ、RDのデスティネーションレジスタです。

RSまたはRD 選択されたレジスタ
00 R0
01 R1
10 R2
11 R3

INとOUT命令形式は次のとおりです。

7 6 5 4(1) 3 2(1) 1 0(1) 7-0(2)
OP-CODE RS RD P

括弧内の最初の1つのバイトは、命令を表す、命令は、第二のバイト2、OP-CODEオペコード、RSによって表されるソース・レジスタであり、デスティネーションレジスタがRDであり、Pは、I / Oポート番号、ワード占めセクション、図1(アドレスバスユニット)に示されたシステムのI / Oアドレスデコーダ原理。
 回路図デコーダI / Oアドレス
概略デコーダ図1のI / Oアドレス

表1に示すように、デコードされたアドレスバスと最上位ビットので、I / Oアドレス空間は、4つの領域に分割されています。

表1 I / Oアドレス空間の割り当て

A7 A6 選択 アドレス空間
00 IOY0 00-3F
01 IOY1 40-7F
10 IOY2 80-BF
11 IOY3 C0-FF

すなわち、即時、直接、間接、相対アドレッシングインデックスは、LDI命令は直ちに、LAD、STA、JMP命令、及びBZCは、直接的、間接的、および索引を相対アドレッシングが設けられてアドレス指定されるデータ、の5種類のアドレッシングシステム容量。

LDI命令フォーマット、上記と同じ内容の最初のバイト、第二のバイトリテラル。

7 6 5 4(1) 3 2(1) 1 0(1) 7-0(2)
OP-CODE RS RD データ

LAD、STA、JMP命令の形式とBZC。

7 6 5 4(1) 3 2(1) 1 0(1) 7-0(2)
OP-CODE M RD データ

Mは、アドレッシング・モードであることを特徴とする請求インデックスがRIにレジスタR2として、表2に詳述されています。

アドレッシングモード表2

モードMアドレッシング E有効なアドレス 説明
00 E = D 直接アドレッシング
01 E =(D) 間接アドレッシング
10 E =(RI)+ D RIは、アドレス指定のインデックス化
11 E =(PC)+ D 相対アドレッシング

4)命令

ターゲットヘロンの公式計算実験は、15のデザインは、基本命令の次の命令フォーマットは、アセンブリのシンボル、コマンド機能を含みます。

命令の説明表3

ここに画像を挿入説明

第三に、全体的なデザイン

図2に示すモデルマシンデータパスのブロック図。
ここに画像を挿入説明

データパスの2ブロック図

複数の命令、複数のアドレッシングモードを使用したモデルマシン・実験は、回路をデコード命令は、複雑な設計を必要とします。図3は、INS-DEC IRユニットで実現しました。

ここに画像を挿入説明
命令デコード図3概略

この実験4つの一般的なレジスタR3〜R0に使用するために、レジスタがREG_DECに実装レジスタデコード回路、(GAL16V8)IRユニット、などを有していて、この目的のために設計された命令の下位4ビットを介して選択されます図4は、図3に示します。

ここに画像を挿入説明
図4概略デコードレジスタ

機械命令の設計要件、図に示すように、マイクロプログラムフローの設計およびマイクロアドレスを決定します。

按照系统建议的微指令格式,见表4,参照微指令流程图,将每条微指令代码化,译成二进制代码表,如表5,并将二进制代码表转化为联机操作时的十六进制格式文件。

表4 微指令格式
ここに画像を挿入説明
ここに画像を挿入説明

图5 微指令流程图

表5 二进制码表

地址 十六进制表示 高五位 S3-S0 A字段 B字段 C字段 UA5-UA0
00 000001 00000 0000 000 000 000 000001
01 006D43 00000 0000 110 110 101 000011
03 107070 00010 0000 111 000 001 110000
04 002405 00000 0000 010 010 000 000101
05 04B201 00000 1001 011 001 000 000001
06 002407 00000 0000 010 010 000 000111
07 013201 00000 0010 011 001 000 000001
08 106009 00010 0000 110 000 000 001001
09 183001 00011 0000 011 000 000 000001
0A 106010 00010 0000 110 000 000 010000
0B 000001 00000 0000 000 000 000 000001
0C 103001 00010 0000 011 000 000 000001
0D 200601 00100 0000 000 011 000 000001
0E 005341 00000 0000 101 001 101 000001
0F 0000CB 00000 0000 000 000 011 001011
10 280401 00101 0000 000 010 000 000001
11 103001 00010 0000 011 000 000 000001
12 063201 00000 1100 011 001 000 000001
13 002414 00000 0000 010 010 000 010100
14 05B201 00000 1011 011 001 000 000001
15 002416 00000 0000 010 010 000 010110
16 01B201 00000 0011 011 001 000 000001
17 002418 00000 0000 010 010 000 011000
18 033201 00000 0110 011 001 000 000001
1B 005341 00000 0000 101 001 101 000001
1C 10101D 00010 0000 001 000 000 011101
1D 10608C 00010 0000 110 000 010 001100
1E 10601F 00010 0000 110 000 000 011111
1F 101020 00010 0000 001 000 000 100000
20 10608C 00010 0000 110 000 010 001100
28 101029 00010 0000 001 000 000 101001
29 00282A 00000 0000 010 100 000 101010
2A 04E22B 00000 1001 110 001 000 101011
2B 04928C 00000 1001 001 001 010 001100
2C 10102D 00010 0000 001 000 000 101101
2D 002C2E 00000 0000 010 110 000 101110
2E 04E22F 00000 1001 110 001 000 101111
2F 04928C 00000 1001 001 001 010 001100
30 001604 00000 0000 001 011 000 000100
31 001606 00000 0000 001 011 000 000110
32 006D48 00000 0000 110 110 101 001000
33 006D4A 00000 0000 110 110 101 001010
34 003401 00000 0000 011 010 000 000001
35 000035 00000 0000 000 000 000 110101
36 006D51 00000 0000 110 110 101 010001
37 001612 00000 0000 001 011 000 010010
38 001613 00000 0000 001 011 000 010011
39 001615 00000 0000 001 011 000 010101
3A 001617 00000 0000 001 011 000 010111
3B 000001 00000 0000 000 000 000 000001
3C 006D5C 00000 0000 110 110 101 011100
3D 006D5E 00000 0000 110 110 101 011110
3E 006D68 00000 0000 110 110 101 101000
3F 006D6C 00000 0000 110 110 101 101100

根据实验计算海伦公式的目标,以及基于此设计的机器指令,在模型机实现以下运算:从IN单元读入三角形三边(要求输入三边一定能构成三角形),求此三角形的面积平方,将所求结果存于61H单元,机器指令流程图如图6。
ここに画像を挿入説明
图6 机器指令流程图

根据流程图设计表6程序,地址和内容均为二进制。

表6 机器指令程序

地址 内容 助记符 说明
00000000 00100000 IN R0,00H 读入a
00000001 00000000
00000010 00100001 IN R1,00H 读入b
00000011 00000000
00000100 00100010 IN R2,00H 读入c
00000101 00000000
00000110 11010000 STA 60H,R0 将a存入60H
00000111 01100000
00001000 00000100 ADD R0,R1 a+b存入R0
00001001 00001000 ADD R0,R2 a+b+c存入R0
00001010 01100011 LDI R3,01H 将1存入R3
00001011 00000001
00001100 10101100 SAR R0,R3 a+b+c向右移一位,R0=P
00001101 01000011 MOV R3,R0 将p移入R3
00001110 10000100 SUB R0,R1 R0=P-B
00001111 01001101 MOV R1,R3 将P存入R1
00010000 10001001 SUB R1,R2 P-C存入R1
00010001 01000010 MOV R2,R0 将R0移入R2,作为乘数准备
00010010 01110001 DEC R1 将另一个乘数减1,做好准备
00010011 11110000 BZC RESULT 判断
00010100 00011011
00010101 00001000 LOOP:ADD R0,R2 开始乘法
00010110 01110001 DEC R1
00010111 11110000 BZC RESULT 判断
00011000 00011011
00011001 11100000 JMP LOOP 回到LOOP开始
00011010 00010101
00011011 01001101 MOV R1,R3 将P存回R1
00011100 01110001 DEC R1 将另一个乘数减1,做好准备
00011101 11110000 BZC RESULT 判断
00011110 00100110
00011111 01000010 MOV R2,R0 将R0移入R2,作为乘数准备
00100000 00001000 LOOP:ADD R0,R2 开始乘法
00100001 01110001 DEC R1
00100010 11110000 BZC RESULT 判断
00100011 00100110
00100100 11100000 JMP LOOP 回到LOOP开始
00100101 00100000
00100110 11000001 LAD 00 R1,60H 将a重新放入R1
00100111 01100000
00101000 10000111 SUB R3,R1 R3=P-A
00101001 01001101 MOV R1,R3 R3->R1
00101010 01000010 MOV R2,R0 R0->R2
00101011 01110001 DEC R1
00101100 11110000 BZC RESULT 判断
00101101 00110100
00101110 00001000 LOOP:ADD R0,R2 开始乘法
00101111 01110001 DEC R1
00110000 11110000 BZC RESULT 判断
00110001 00110100
00110010 11100000 JMP LOOP 回到LOOP开始
00110011 00101110
00110100 11010000 STA 61H,R0 将所得结果存入61H
00110101 01100001
00110110 00110000 OUT 40H,R0 将所得结果输出
00110111 01000000

四、实验步骤

1. 按图6连接实验线路,仔细检查连线后打开实验箱电源。

ここに画像を挿入説明
图7 实验连线图

2. 写入实验程序,并进行校验。

联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中,本次实验程序如下,程序中分号';'为注释符,分号后面的内容在下载时将被忽略掉。 TXT文件如下:

; //*************************************** // 
; //                                 // 
; //       复杂模型机实验指令文件    // 
; //                                 // 
; //       By TangDu CO.,LTD         // 
; //                                 // 
; //*************************************** // 
; //****** Start Of Main Memory Data ****** //
$P 00 20	;IN R0,00H
$P 01 00	
$P 02 21	;IN R1,00H
$P 03 00	
$P 04 22	;IN R2,00H
$P 05 00	
$P 06 D0	;STA 60H,R0
$P 07 60	
$P 08 04	;ADD R0,R1
$P 09 08	;ADD R0,R2
$P 0A 63	;LDI R3,01H
$P 0B 01	
$P 0C AC	;SAR R0,R3
$P 0D 43	;MOV R3,R0
$P 0E 84	;SUB R0,R1
$P 0F 4D	;MOV R1,R3
$P 10 89	;SUB R1,R2
$P 11 42	;MOV R2,R0
$P 12 71	;DEC R1
$P 13 F0	;BZC RESULT
$P 14 1B	
$P 15 08	;LOOP:ADD R0,R2
$P 16 71	;DEC R1
$P 17 F0	;BZC RESULT
$P 18 1B	
$P 19 E0	;JMP LOOP
$P 1A 15	
$P 1B 4D	;MOV R1,R3
$P 1C 71	;DEC R1
$P 1D F0	;BZC RESULT
$P 1E 26	
$P 1F 22	;MOV R2,R0
$P 20 08	;LOOP:ADD R0,R2
$P 21 71	;DEC R1
$P 22 F0	;BZC RESULT
$P 23 26	
$P 24 E0	;JMP LOOP
$P 25 20	
$P 26 C1	;LAD 00 R1,60H
$P 27 60	
$P 28 87	;SUB R3,R1
$P 29 4D	;MOV R1,R3
$P 2A 42	;MOV R2,R0
$P 2B 71	;DEC R1
$P 2C F0	;BZC RESULT
$P 2D 34	
$P 2E 08	;LOOP:ADD R0,R2
$P 2F 71	;DEC R1
$P 30 F0	;BZC RESULT
$P 31 34	
$P 32 E0	;JMP LOOP
$P 33 2E	
$P 34 D0	;STA 61H,R0
$P 35 61	
$P 36 30	;OUT 40H,R0
$P 37 40	
; //***** End Of Main Memory Data *****// 

; //** Start Of MicroController Data **//
$M 00 000001    ; NOP   
$M 01 006D43    ; PC->AR, PC加1   
$M 03 107070    ; MEM->IR, P<1>   
$M 04 002405    ; RS->B   
$M 05 04B201    ; A加B->RD   
$M 06 002407    ; RS->B   
$M 07 013201    ; A与B->RD   
$M 08 106009    ; MEM->AR   
$M 09 183001    ; IO->RD   
$M 0A 106010    ; MEM->AR   
$M 0B 000001    ; NOP   
$M 0C 103001    ; MEM->RD   
$M 0D 200601    ; RD->MEM   
$M 0E 005341    ; A->PC   
$M 0F 0000CB    ; NOP, P<3>   
$M 10 280401    ; RS->IO   
$M 11 103001    ; MEM->RD   
$M 12 063201    ; A减1->RD   
$M 13 002414    ; RS->B   
$M 14 05B201    ; A减B->RD   
$M 15 002416    ; RS->B   
$M 16 01B201    ; A或B->RD   
$M 17 002418    ; RS->B   
$M 18 033201    ; A右移->RD   
$M 1B 005341    ; A->PC   
$M 1C 10101D    ; MEM->A   
$M 1D 10608C    ; MEM->AR, P<2>   
$M 1E 10601F    ; MEM->AR   
$M 1F 101020    ; MEM->A   
$M 20 10608C    ; MEM->AR, P<2>   
$M 28 101029    ; MEM->A   
$M 29 00282A    ; RI->B   
$M 2A 04E22B    ; A加B->AR   
$M 2B 04928C    ; A加B->A, P<2>   
$M 2C 10102D    ; MEM->A   
$M 2D 002C2E    ; PC->B   
$M 2E 04E22F    ; A加B->AR   
$M 2F 04928C    ; A加B->A, P<2>   
$M 30 001604    ; RD->A   
$M 31 001606    ; RD->A   
$M 32 006D48    ; PC->AR, PC加1   
$M 33 006D4A    ; PC->AR, PC加1   
$M 34 003401    ; RS->RD   
$M 35 000035    ; NOP   
$M 36 006D51    ; PC->AR, PC加1   
$M 37 001612    ; RD->A   
$M 38 001613    ; RD->A   
$M 39 001615    ; RD->A   
$M 3A 001617    ; RD->A   
$M 3B 000001    ; NOP 
$M 3C 006D5C    ; PC->AR, PC加1   
$M 3D 006D5E    ; PC->AR, PC加1   
$M 3E 006D68    ; PC->AR, PC加1   
$M 3F 006D6C    ; PC->AR, PC加1 

3. 运行程序

进入软件界面,选择菜单命令"【实验】—【CISC 实验】",打开相应的数据通路图,选择相应的功能命令,即可联机运行、监控、调试程序。

按动CON单元的总清按钮CLR,然后通过软件运行程序,当模型机执行完OUT指令后,检查OUT单元显示的数是否正确。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。

五、实验结果

考虑到模拟机的硬件约束,因此采用边长分别为3、4、5的三角形来测试程序。

順次入力3,4,5のステップは、プログラムされた後、最終的な出力(すなわち、十進数36)、期待に沿った結果、及び対応する機械語命令は、マイクロプログラミングと考えることができるプログラム24Hは、機械三角形のモデル式ヘレン正方形領域に応じて、正確です。
ここに画像を挿入説明
結果は図8

第六に、実験と解析の問題点

ヘロンの公式は、プログラムは、乗算累積的を使用して、必要な乗算を達成するために使用されるが、乗数から始まることではなく0から蓄積よりも、元の数を累積開始し、他の乗算器は、保存を掛ける前に、それは必要性に必要です1、それ以外の場合は、乗算の実装もう一度支払うことになります。

リリース5元の記事 ウォンの賞賛1 ビュー280

おすすめ

転載: blog.csdn.net/weixin_44318192/article/details/103834856