CPTH.docx
- 文档编号:23629324
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:95
- 大小:1.10MB
CPTH.docx
《CPTH.docx》由会员分享,可在线阅读,更多相关《CPTH.docx(95页珍藏版)》请在冰豆网上搜索。
CPTH
第一章系统概述
1.1DJ-CPTH简介
DJ-CPTH型计算机组成原理实验系统<以下简称系统>,是由江苏启东市东疆计算机有限公司结合国内同类产品的优点,最新研制开发的超强型实验计算机装置<以下简称模型机>。
该系统采用单片机管理和EDA控制技术,自带键盘和液晶显示器,支持脱机和联PC机两种工作模式,运用系统监控和数码管等实时监视,全面动态管理模型机的运行和内部资源。
模型机软硬件配置完整,支持8位字长的多种寻址方式,指令丰富,系统支持RS-232C串行通讯,并配有以win98/2000/XP为操作平台的动态跟踪集成调试软件,示教效果极佳,特别适用于计算机组成原理课程的教学与实验。
1.2DJ-CPTH特点
1、采用总线结构
总线结构的计算机具有结构清晰,扩展方便等优点。
DJ-CPTH实验系统使用三组总线即地址总线ABUS、数据总线DBUS、指令总线IBUS和控制信号,CPU、主存、外设和管理单片机等部件之间通过外部数据总线传输,CPU内部则通过内部数据总线传输信息。
各部件之间,通过三态缓冲器作接口连接,这样一方面增强总线驱动能力,另一方面在模型机停机时,三态门输出浮空,能保证不管模型机的CPU工作是否正常,管理单片机总能读/写主存或控存。
2、计算机功能模块化设计
DJ-CPTH为实验者提供运算器模块ALU,众多寄存器模块(A,W,IA,ST,MAR,R0…R3等),程序计数器模块PC,指令部件模块IR,主存模块EM,微程序控制模块〈控存〉uM,微地址计数器模块UPC,组合逻辑控制模块及I/O等控制模块。
各模块间的电源线、地线、地址总线和数据总线等已分别连通,模块内各芯片间数据通路也已连好,各模块的控制信号及必要的输出信号已被引出到主板插孔,供实验者按自己的设计进行连接。
3、智能化控制
系统在单片机监控下,管理模型机运行和读写,当模型机停机时,实验者可通过系统键盘,读写主存或控存指定单元的内容,使模型机实现在线开发。
模型机运行时,系统提供单步一条微指令(微单步)、单步一条机器指令(程单步),连续运行程序及无限止暂停等调试手段,能动态跟踪数据,流向、捕捉各种控制信息,实时反映模型机现场,使实验者及时了解程序和微程序设计的正确性,便以修改。
4、提供两种实验模式
①手动运行“Hand……”:
通过拨动开关和发光二极管二进制电平显示,支持最底层的手动操作方式的输入/输出和机器调试。
②自动运行:
通过系统键盘及液晶显示器或PC机,直接接输入或编译装载用户程序<机器码程序和微程序>,实现微程序控制运行,运用多种调试手段运行用户程序,使实验者对计算机组成原理一目了然。
5、开放性设计
运算器采用了EDA技术设计,随机出厂时,已提供一套已装载的方案,能进行加、减、与、或、带进位加、带进位减、取反、直通八种运算方式,若用户不满意该套方案,可自行重新设计并通过JTAG口下载。
逻辑控制器由CPLD实现,也可进行重新设计并通过JTAG口下载。
用户还可以设计自己的指令/微指令系统。
系统中已带三套指令/微程序系统,用户可参照来设计新的指令/微程序系统。
系统的数据线、地址线、控制线均在总线接口区引出,并设计了40芯锁进插座,供用户进行RAM、8251、8255、8253、8259等接口器件的扩展实验。
6、支持中断实验
采用最底层的器件设计,让学生可以从微程序层面上学习中断请求、中断响应、中断处理、中断入口地址的产生、中断服务程序及中断返回(RETI)整个过程。
7、支持两种控制器实验
系统提供两种控制器方式,即微程序控制器和组合逻辑控制器。
在微程序控制器中,系统能提供在线编程,实时修改程序,显示程序并进行调试的操作环境。
组合逻辑控制器,已下载有一套完整的实验方案,用户也可使用CPLD工具在PC机上进行自动化设计。
8、支持子程序调用、返回、指令流水线和RISC精简指令系统实验。
9、配备以Win98/2000/XP为操作平台的集成调试软件包
系统支持RS-232C串行通讯,借助PC资源形成了强大的在线文档与图形的动态管理系统,自带编译器,支持汇编语言的编辑、编译、调试,一次点击即可完成程序和与其对应微程序的链接装载并自动弹出调试窗口,在主界面中开辟了程序和与其对应微程序的调试、模型机结构示意图(点击各模块即可修改双向模块参数)、微程序等跟踪显示窗口,供用户选择,可动态显示数据流向、实时捕捉数据、地址、控制总线的各种信息,使调试过程极为生动形象。
1.3实验系统组成
CPTH计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。
实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展单元、总线接口区、微动开关/指示灯、逻辑笔、脉冲源、管理单片机、24个按键、字符式LCD、RS232。
第二章 模型机模块实验
对于硬件的描述可以有多种方法:
如原理图,真值表,高级语言(本手册使用ABEL/VHDL),时序图等,在本手册中可以使用以上的四种方式来综合描述硬件。
2.1寄存器实验
实验要求:
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。
实验目的:
了解模型机中各种寄存器结构、工作原理及其控制方法。
实验电路:
寄存器的作用是用于保存数据的,因为我们的模型机是8位的,因此在本模型机中大部寄存器是8位的,标志位寄存器(Cy,Z)是二位的。
CPTH用74HC574来构成寄存器。
74HC574的功能如下:
1.在CLK的上升沿将输入端的数据打入到8个触发器中
2.当OC=1时触发器的输出被关闭,当OC=0时触发器的输出数据
74HC574工作波形图
实验1:
A,W寄存器实验
寄存器A原理图
寄存器W原理图
寄存器A,W写工作波形图
连接线表:
系统清零和手动状态设定:
K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。
在后面实验中实验模式为手动的操作方法不再详述.
将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
将66H写入W寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据66H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据66H被写入W寄存器。
注意观察:
1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。
2.WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。
实验2:
R0,R1,R2,R3寄存器实验
寄存器R原理图
寄存器R写工作波形图
连接线表
将11H写入R0寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据11H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R0的黄色选择指示灯亮,表明选择R0寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据11H被写入R0寄存器。
将22H写入R1寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据22H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R1的黄色选择指示灯亮,表明选择R1寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据22H被写入R1寄存器。
将33H写入R2寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据33H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R2的黄色选择指示灯亮,表明选择R2寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入R2寄存器。
将44H写入R3寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据44H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R3的黄色选择指示灯亮,表明选择R3寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据44H被写入R3寄存器。
注意观察:
1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。
2.K1(SB),K0(SA)用于选择寄存器。
寄存器R读工作波形图
读R0寄存器
置控制信号为:
这时寄存器R0的红色输出指示灯亮,R0寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00010001.将K11(RRD)置为1,关闭R0寄存器输出。
读R1寄存器
置控制信号为:
这时寄存器R1的红色输出指示灯亮,R1寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00100010.将K11(RRD)置为1,关闭R1寄存器输出。
读R2寄存器
置控制信号为:
这时寄存器R2的红色输出指示灯亮,R2寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00110011.将K11(RRD)置为1,关闭R2寄存器输出。
读R3寄存器
置控制信号为:
这时寄存器R3的红色输出指示灯亮,R3寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
01000100.将K11(RRD)置为1,关闭R3寄存器输出。
注意观察:
1.数据在K11(RRD)为0时输出,不是沿触发,与数据打入不同。
实验3:
MAR地址寄存器,ST堆栈寄存器,OUT输出寄存器
寄存器MAR原理图
寄存器ST原理图
寄存器OUT原理图
寄存器MAR,ST,OUT写工作波形图
连接线表
将12H写入MAR寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据12H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据12H被写入MAR寄存器。
K14(MAROE)为0,MAR寄存器中的地址输出,MAR红色输出指示灯亮。
将K14(MAROE)置为1,关闭MAR输出。
将34H写入ST寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据34H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器ST的黄色选择指示灯亮,表明选择ST寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据34H被写入ST寄存器。
将56H写入OUT寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据56H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器OUT的黄色选择指示灯亮,表明选择OUT寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据56H被写入OUT寄存器。
2.2运算器实验
实验要求:
利用CPTH实验仪的K16..K23开关做为DBUS数据,其它开关做为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU的运算方式,实现运算器的功能。
实验目的:
了解模型机中算术、逻辑运算单元的控制方法。
实验电路:
CPTH中的运算器由一片CPLD实现,有8种运算,通过S2,S1,S0来选择,运算数据由寄存器A及寄存器W给出,运算结果输出到直通门D。
连接线表
将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
将33H写入W寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据33H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入W寄存器。
置下表的控制信号,检验运算器的运算结果
注意观察:
运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。
2.3数据输出实验/移位门实验
实验要求:
利用CPTH实验仪的开关做为控制信号,将指定寄存器的内容读到数据总线DBUS上。
实验目的:
1、了解模型机中多寄存器接数据总线的实现原理。
2、了解运算器中移位功能的实现方法。
实验电路:
CPTH中有7个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据,由X2,X1,X0决定那一个寄存器输出数据。
数据输出选择器原理图
连接线表
实验1:
数据输出实验
置下表的控制信号,检验输出结果
实验2:
移位实验
ALU直接输出和零标志位产生原理图
ALU左移输出原理图
ALU右移输出原理图
直通门将运算器的结果不移位送总线。
当X2X1X0=100时运算器结果通过直通门送到数据总线。
同时,直通门上还有判0电路,当运算器的结果为全0时,Z=1,右移门将运算器的结果右移一位送总线。
当X2X1X0=101时运算器结果通过右通门送到数据总线。
具体内部连接是:
Cy与CN→DBUS7
ALU7→DBUS6
ALU6→DBUS5
ALU5→DBUS4
ALU4→DBUS3
ALU3→DBUS2
ALU2→DBUS1
ALU1→DBUS0
Cy与CN→DBUS7
当不带进位移位时(CN=0):
0→DBUS7
当带进位移位时(CN=1):
Cy→DBUS7
左移门将运算器的结果左移一位送总线。
当X2X1X0=110时运算器结果通过左通门送到数据总线。
具体连线是:
ALU6→DBUS7
ALU5→DBUS6
ALU4→DBUS5
ALU3→DBUS4
ALU2→DBUS3
ALU1→DBUS2
ALU0→DBUS1
当不带进位移位时(CN=0):
0→DBUS0
当带进位移位时(CN=1):
Cy→DBUS0
将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
S2S1S0=111时运算器结果为寄存器A内容
注意观察:
移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
2.4微程序计数器uPC实验
实验要求:
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现微程序计数器uPC的写入和加1功能。
实验目的:
1、了解模型机中微程序的基本概念。
2、了解uPC的结构、工作原理及其控制方法。
实验电路:
74HC161是一片带预置的4位二进制记数器。
功能如下:
当RST=0时,记数器被清0
当IREN=0时,在CK的上升沿,预置数据被打入记数器
当IREN=1时,在CK的上升沿,记数器加一
TC为进位,当记数到F(1111)时,TC=1
CEP,CET为记数使能,当CEP,CET=1时,记数器工作,CEP,CET=0时,记数器保持原记数值
uPC原理图
uPC工作波形图
在CPTH中,指令IBUS[7:
0]的高六位被接到uPC预置的高六位,uPC预置的低两位被置为0。
一条指令最多可有四条微指令。
微程序初始地址为复位地址00,微程序入口地址由指令码产生,微程序下一地址有计数器产生。
连接线表
实验1:
uPC加一实验
置控制信号为:
按一次STEP脉冲键,CK产生一个上升沿,数据uPC被加一。
实验2:
uPC打入实验
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据12H
置控制信号为:
当EMWR,EMEN=0时,数据总线(DBUS)上的数据被送到指令总线(IBUS)上。
按住STEP脉冲键,CK由高变低,这时寄存器uPC的黄色预置指示灯亮,表明uPC被预置。
放开STEP键,CK由低变高,产生一个上升沿,数据10H被写入uPC寄存器。
2.5PC实验
实验要求:
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1功能。
实验目的:
1、了解模型机中程序计数器PC的工作原理及其控制方法。
2、了解程序执行过程中顺序和跳转指令的实现方法。
实验电路:
PC是由两片74HC161构成的八位带预置记数器,预置数据来自数据总线。
记数器的输出通过74HC245(PCOE)送到地址总线。
PC值还可以通过74HC245(PCOE_D)送回数据总线。
PC原理图
在CPTH中,PC+1由PCOE取反产生。
当RST=0时,PC记数器被清0
当LDPC=0时,在CK的上升沿,预置数据被打入PC记数器
当PC+1=1时,在CK的上升沿,PC记数器加一
当PCOE=0时,PC值送地址总线
PC打入控制原理图
PC打入控制电路由一片74HC151八选一构成(isp1016实现)。
当ELP=1时,LDPC=1,不允许PC被预置
当ELP=0时,LDPC由IR3,IR2,Cy,Z确定
当IR3IR2=1X时,LDPC=0,PC被预置
当IR3IR2=00时,LDPC=非Cy,当Cy=1时,PC被预置
当IR3IR2=01时,LDPC=非Z,当Z=1时,PC被预置
连接线表
实验1:
PC加一实验
置控制信号为:
按一次STEP脉冲键,CK产生一个上升沿,数据PC被加一。
实验2:
PC打入实验
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据12H
置控制信号为:
每置控制信号后,按一下STEP键,观察PC的变化。
2.6 存储器EM实验
实验要求:
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现程序存储器EM的读写操作。
实验目的:
了解模型机中程序存储器EM的工作原理及控制方法。
实验电路:
存储器EM由一片6116RAM构成,是用户存放程序和数据的地方。
存储器EM通过一片74HC245与数据总线相连。
存储器EM的地址可选择由PC或MAR提供。
存储器EM的数据输出直接接到指令总线IBUS,指令总线IBUS的数据还可以来自一片74HC245。
当ICOE为0时,这片74HC245输出中断指令B8。
EM原理图
连接线表
实验1:
PC/MAR输出地址选择
置控制信号为:
以下存贮器EM实验均由MAR提供地址
实验2:
存储器EM写实验
将地址0写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据00H
置控制信号为:
按STEP键,将地址0写入MAR
将数据11H写入EM[0]
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据11H
置控制信号为:
按STEP键,将数据11H写入EM[0]
将地址1写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据01H
置控制信号为:
按STEP键,将地址1写入MAR
将数据22H写入EM[1]
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据22H
置控制信号为:
按STEP键,将数据22H写入EM[1]
实验3:
存储器EM读实验
将地址0写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据00H
置控制信号为:
按STEP键,将地址0写入MAR
读EM[0]
置控制信号为:
EM[0]被读出:
11H
将地址1写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据01H
置控制信号为:
按STEP键,将地址0写入MAR
读EM[1]
置控制信号为:
EM[1]被读出:
22H
实验4:
存储器打入IR指令寄存器/uPC实验
将地址0写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据00H
置控制信号为:
按STEP键,将地址0写入MAR
读EM[0],写入IR及uPC
置控制信号为:
EM[0]被读出:
11H
按STEP键,将EM[0]写入IR及uPC,IR=11H,uPC=10H
将地址1写入MAR
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据01H
置控制信号为:
按STEP键,将地址1写入MAR
读EM[1],写入IR及uPC
置控制信号为:
EM[1]被读出:
22H
按STEP键,将地址EM[1]写入IR及uPC,IR=22H,uPC=20H
实验5:
使用实验仪小键盘输入EM
1.连接J1,J2
2.打开电源
3.按TV/ME键,选择EM
4.输入两位地址,00
5.按NEXT,进入程序修改
6.按两位程序数据
7.按NEXT选择下个地址/按LAST选择上个地址
8.重复6,7步输入程序
9.按RST结束
2.7微程序存储器uM实验
实验要求:
利用CPTH实验仪上的开关做为控制信号,实现微程序存储器uM的输出功能。
实验目的:
1、了解微程序控制方式模型机的基本工作原理。
2、了解微程序存储器uM的控制方法。
·
实验电路:
存储器uM由三片6116RAM构成,共24位微指令,采用水平型微指令格式。
存储器的地址由uPC提供,片选及读信号恒为低,写信号恒为高.存储器uM始终输出uPC指定地址单元的数据。
uM原理图
连接线表
实验1:
微程序存储器uM读出
置控制信号为:
K0为1
uM输出uM[0]的数据
按一次STEP脉冲键,CK产生一个上升沿,数据uPC被加一。
uM输出uM[1]的数据
按一次STEP脉冲键,CK产生一个上升沿,数据uPC被加一。
uM输出uM[2]的数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPTH