CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

简单适用的计算机系统结构课程专用实验开发板

已有 5598 次阅读 2011-4-11 06:23 |个人分类:计算机实验|系统分类:科研笔记| 计算机设计实验

    中国的计算机要腾飞需要深入搞好计算机系统结构教学,PMC计算机系统结构课程实验开发板能够以现代电子设计技术帮助教师更好完成任务,培养学生的计算机创新设计能力。
    北京明泽科技发展有限公司生产的PMC计算机系统结构课程实验开发板,采用现代超大规模集成电路可编程芯片为核心制作(图1、图2),外形尺寸合适,结构明确直观,内容丰富多变,能够充分满足计算机系统结构课程和计算机组成原理课程的教学实验及设计开发需求,其特点是能变验证型实验为设计型实验,适合计算机软、硬件各专业使用,有利于学生对计算机原理和系统结构知识的理解掌握。

                                     图1  PMC计算机系统结构实验开发板(基本型)
    PMC计算机系统结构课程实验开发板随机携带设计开发必须的软件资料,既适合初学者使用,也为有经验的教师提供了深入研发的条件。特别是已经下载到板上的教学计算机系统,不仅是一个包括微体系结构、简单操作系统设计在内的通用计算机系统,而且是学习汇编语言程序设计、编译原理、操作系统核心设计、人机交互基本方法等课程的简单实用教具。该教学计算机提供完整汇编语言程序设计资料,汇编语言编辑、编译程序,通过它们得到的二进制程序可直接在此教学计算机上运行。

                                   图2   带液晶屏PMC实验开发板
    与该实验开发板相配合的实验资料包括:数制转换设计演示实验、寄存器设计演示实验、存储器设计演示实验、队列设计演示实验、加减法运算器设计演示实验、乘除法运算器设计演示实验、浮点加减法运算器设计实验、译码器设计演示实验、总线结构实验、多路控制原理设计实验、输入输出设计实验、队列缓冲区设计实验、缓冲区数据编辑设计实验、汇编程序设计实验、设备驱动程序设计实验、操作系统核心程序设计实验、整机工作过程设计演示实验、指令系统设计技巧实验、控制器设计实验、复杂指令系统设计实验、精简指令RISC及指令流水线设计实验、按键编码设计实验、液晶显示屏设计实验、X86体系结构整机实验、流水线体系结构整机设计实验、多核结构设计实验和动态计算机结构设计实验等。这些实验简单精炼,适合教学课时要求。为方便初学者,其中许多实验都用原理图设计。

                                    图3  系统结构课程实验开发板配件
                                          随机配件
    PMC系统结构课程实验开发板的配件如图3所示,其中包括一个9伏插头内负外正的直流电源、一条Altera USB Blaster下载线,一个资料U盘,内含用户手册、板上器件驱动与设计接口程序、必备软件和设计实例等。
                                          参考教材
   《PMC计算机设计与应用》《计算机原理教程》《基于QuatusII的计算机核心设计》《计算机原理综合课程设计》等。
                                   教学计算机内置程序实例
    PMC计算机系统结构课程实验开发板已经下载了PMC教学计算机,其机器指令集如表1所示。这是一个通用x86体系的简单计算机,可以运行用户用该指令集编写的程序。
    为了能够让使用者能够深刻理解该PMC教学计算机的功能,作者在设计的计算机内存中固化了一些程序实例,有求任意两数乘积、求前n个自然数和、将二进制数或十六进制数转化成十进制数、求小于256的整数N的阶乘等,这些程序都可以用子程序调用命令Call来调用.用开关组输入Call 指令,程序运行结果会在发光二极管、数码管或液晶屏上显示输出。

 1  PMC教学计算机指令集

序号

功能设想

英文助记符

操作码

次数

操作码

(2进制)

1

R数据存储单元内容送到累加器da

LDA  R

81

3

10000001

2

数据存储单元R的内容与累加器da的内容相加结果送da

ADD  R

82

3

10000010

3

用累加器da的内容减去数据存储单元R的内容结果送da

SUB  R

83

3

10000011

4

R存储单元内容输出

OUT  R

84

3

10000100

5

跳到程序存储器的R单元取指令执行

JMP  R

85

3

10000101

6

如果累加器da的值是0则跳到程序存储器的R单元取指令

JZ   R

86

3

10000110

7

如果累加器da的值为负则跳到程序存储器的R单元取指令

JN   R

87

3

10000111

8

调子程序

CALL R

88

3

10001000

9

输入数据到数据存储器的R存储单元

IN   R

89

3

10001001

10

将累加器da的内容送到数据存储器存储单元R

STR  R

8A

3

10001010

11

将数N送到累加器da

SDA  N

8B

2

10001011

12

将累加器da的内容入栈

PUSH

4C

1

01001100

13

将堆栈的内容送到累加器da

POP

4D

1

01001101

14

从子程序返回指令

RET

4E

1

01001110

15

PTR的内容加1

INC

4F

1

01001111

16

PTR的内容减1

DEC

50

1

01010000

17

将累加器da的内容送x寄存器

DATX

51

1

01010001

18

将累加器da的内容送y寄存器

DATY

52

1

01010010

19

将寄存器xy的内容互换

XCHY

53

1

01010011

20

x的内容送da

XTDA

54

1

01010100

21

y的内容送da

YTDA

55

1

01010101

22

将累加器da的内容送到ptr8

DALP

56

1

01010110

23

ptr的低8位内容送到累加器da

PLDA

57

1

01010111

24

将累加器da复位为0

ZERO

58

1

01011000

25

将数据输入到ptr指示的程序存储单元

INP

59

1

01011001

26

如果除数为0则跳转到程序的R单元指令执行

JERR R

9A

3

10011010

27

如果输入的数据是h80则跳转到程序的R单元指令执行

JEND R

9B

3

10011011

28

左移一位是1跳转到R单元指令执行

JL   R

9C

3

10011100

29

右移一位是1跳转到R单元指令执行

JR   R

9D

3

10011101

30

输入缓冲区空暂停

STPK

5E

1

01011110

31

da值的按位逻辑非,结果在da

LNOT

5F

1

01011111

32

DaR存储单元的逻辑与放入da

LAND R

A0

3

10100000

33

DaR存储单元的逻辑或放入da

LOR  R

A1

3

10100001

34

Da与存储单元R的逻辑异或放入da

LXOR R

A2

3

10100010

35

da左移一位送xda不变

SHL

63

1

01100011

36

da右移一位送xda不变

SHR

64

1

01100100

37

执行下一条指令

NOP

65

1

01100101

38

将累加器da的内容送到指针ptr8

DAHP

66

1

01100110

39

将指针ptr的高8位内容送到累加器da

PHDA

67

1

01100111

40

输入数据送到ptr指示的数据存储单元

INPD

68

1

01101000

41

da的值送到ptr指示单元

DAPD

69

1

01101001

42

ptr指示单元内容送da

DPDA

6A

1

01101010

43

有符号daR单元相乘,结果低字节送da,高字节送x

MULS R

AB

3

10101011

44

累加器daR单元相除,商送da,余数送x

DIVI R

AC

3

10101100

45

累加器daR单元带进位加,结果送da,进位保留

ADDC R

AD

3

10101101

46

累加器daR单元带进位减,结果送da,进位保留

SUBC R

AE

3

10101110

47

无符号daR单元相乘,结果低字节送da,高字节送x

MULT R

AF

3

10101111

48

无符号da×R+x,本位结果送da,进位字节送x

MADD R

B0

3

10110000

49

进位为1跳转

JCRY R

B1

3

10110001

50

清除进位

NCTY

B2

1

10110010

51

停止程序执行

STP

7F

1

01111111

52

程序输入结束

END

80

1

10000000



https://blog.sciencenet.cn/blog-340399-431735.html

上一篇:谁能接替我的动态计算机研究
下一篇:民科官科探讨问题是正科
收藏 IP: 123.121.198.*| 热度|

2 吕喆 曾新林

发表评论 评论 (4 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-16 21:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部