计算机组成原理CPU设计
- 格式:docx
- 大小:42.31 KB
- 文档页数:18
课程设计课程名称:计算机组成原理设计题目:一个非常简单的CPU的设计学院:信息工程与自动化专业:计算机科学与技术年级: 08级 1班学生姓名:张桥指导教师:李凌宇日期: 2010-9-9教务处制课程设计任务书信息工程与自动化学院计算机专业 08 1 年级学生姓名:张桥课程设计题目:一个简单的CPU的设计课程设计主要内容:设计一台完整的计算机。
首先要确定该计算机的功能和用途。
在设计中根据功能和用途确定指令系统,定义数据通路,设计每条指令的执行流程,要求利用微程序进行设计,每人至少要求4条CPU指令,可以自己选择;在设计中要求画出指令系统的格式并说明各位的意义;要求画出数据通路并定义微操作信号;要求画出微程序流程图。
设计指导教师(签字):教学基层组织负责人(签字):年月日一台模型计算机的设计一、教学目的、任务与实验设备融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。
二、数据格式和指令系统本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R 0~R 3,能执行11条指令,主存容量为256KB 。
1. 数据格式数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符号位,小数点位置定在符号位后面,其格式如下:数值相对于十进制数的表示范围为:-1≤X ≤1―2―72. 指令格式及功能由于本模型机机器字只有8位二进制长度,故使用单字长指令和双字长指令。
⑴ LDR Ri ,D格式 7 4 3 2 1 0功能:Ri ←M (D )(2) STR Ri ,D格式功能:M (D )←(Ri )(3) ADD Ri ,Rj格式 功能:Ri ←(Ri )+ (Rj )(4) SUB Ri ,Rj格式 7 4 3 2 1 0功能:Ri ←(Ri )- (Rj )(5) AND Ri ,Rj格式功能:Ri ←(Ri)∧(Rj)(6)OR Ri,Rj格式功能:Ri ←(Ri)∨(Rj)(7)MUL Ri,Rj格式7 4 3 2 1 0功能:Ri ←(Ri)×(Rj)(8)转移指令格式7 4 3 2 1 0功能:条件码00 无条件转移PC ←D01 有进位转移PC ←D10结果为0转移PC ←D11结果为负转移PC ←D⑼IN R i,M j格式其中M j为设备地址,可以指定四种外围设备,当M j=01时,选中实验箱的二进制代码开关。
计算机组成原理CPU设计实验报告课程设计题目:16位CPU设计学院: 信息学院班级:电子A班学号:1115102015姓名:方茹1目录1 实验方法 ..................................................................... . (4)2 总体说明 ..................................................................... ................................................. 5 2.1指令系统: .................................................................... .......................... 5 2.1.1指令格式分类(按指令字长和操作数不同): ...................................................... 5 2.1.2具体指令汇总表: .................................................................... .......................... 6 2.1.3相关指令流程图: .................................................................... .......................... 6 2.1.4指令数据通路的构建: .................................................................... ................... 8 2.1.5指令的分组及节拍: .................................................................... ..................... 12 2.1.6指令执行状态图:(见下页)..................................................................... ........... 13 2.1.7具体微指令: .................................................................... ............................... 13 2.2 系统整体介绍 ..................................................................... .................. 16 2.2.1系统基本模块划分 ..................................................................... ....................... 16 2.2.2总体结构图:(见下页)..................................................................... (17)3 CPU的控制逻辑与具体数据通道设计 ..................................................................... ......18 3.1取指令逻辑的设计 ..................................................................... .. (19)3.1.1指令地址的保存 ..................................................................... (19)3.1.2指令存储器 ..................................................................... .................................. 20 3.1.3下一条指令地址的计算 ..................................................................... ................ 20 3.2指令译码逻辑的设计...................................................................... ...................... 21 3.3指令执行逻辑的设计...................................................................... ...................... 22 3.4存储器访问逻辑的设计 ..................................................................... ................... 23 3.5结果写回逻辑的设计...................................................................... ...................... 24 3.6单周期CPU的总成...................................................................... (25)4各部分说明 ..................................................................... .............................................26 4.1ALU .................................................................................................................... 26 4.2数据选择器BUS_MUX ................................................................ ........................ 28 4.3器件T1 ..................................................................... .......................................... 30 4.4标志寄存器FLAG_REG ............................................................... ........................ 31 4.5T2: .................................................................... ................................................ 33 4.6程序计数器PC ..................................................................... ............................... 33 4.7地址寄存器AR和指令寄存器IR: .................................................................... .. 34 4.8寄存器、寄存器组和寄存器的选择.......................................................................36 4.9一位控制信号/WR .................................................................... ........................... 37 4.10 节拍发生器 ..................................................................... .................................. 37 4.11控制逻辑 ..................................................................... ...................................... 39 4.12T3...................................................................... ................................................ 42 4.13REG_OUT ......................................................................................................... 43 4.14存储器 ..................................................................... .......................................... 44 4.15总线选择器 ..................................................................... .. (45)24.16REG_TEST ............................................................... .. (46)5附录: .................................................................... .. (47)附录A:组员分工: .................................................................... .. (47)附录B:组员设计总结: .................................................................... . (47)31 实验方法实验要完成的工作主要包括:指令系统的设计,FPGA-CPU的整体结构设计及其细化,逻辑设计的具体实现(VHDL语言程序的编写),软件模拟,以及硬件调试。
1个时钟周期 Clock 电子科技大学计算机科学与工程学院标 准 实 验 报 告(实验)课程名称: 计算机组成原理实验 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告学生姓名: 郫县尼克杨 学 号: 2014 指导教师:陈虹 实验地点: 主楼A2-411 实验时间:12周-15周一、 实验室名称:主楼A2-411二、 实验项目名称:单周期CPU 的设计与实现。
三、 实验学时:8学时四、 实验原理:(一) 概述单周期(Single Cycle )CPU 是指CPU 从取出1条指令到执行完该指令只需1个时钟周期。
一条指令的执行过程包括:取指令→分析指令→取操作数→执行指令→保存结果。
对于单周期CPU 来说,这些执行步骤均在一个时钟周期内完成。
(二) 单周期cpu 总体电路本实验所设计的单周期CPU 的总体电路结构如下。
(三) MIPS 指令格式化MIPS 指令系统结构有MIPS-32和MIPS-64两种。
本实验的MIPS 指令选用MIPS-32。
以下所说的MIPS 指令均指MIPS-32。
MIPS 的指令格式为32位。
下图给出MIPS 指令的3种格式。
本实验只选取了9条典型的MIPS 指令来描述CPU 逻辑电路的设计方法。
下图列出了本实验的所涉及到的9条MIPS 指令。
五、 实验目的1、掌握单周期CPU 的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、运算器等。
?2、认识和掌握指令与CPU 的关系、指令的执行过程。
?3、熟练使用硬件描述语言Verilog 、EDA 工具软件进行软件设计与仿真,以培养学生的分析和设计CPU 的能力。
六、 实验内容(一)拟定本实验的指令系统,指令应包含R 型指令、I 型指令和J 型指令,指令数为9条。
(二)CPU 各功能模块的设计与实现。
(三)对设计的各个模块的仿真测试。
(四)整个CPU 的封装与测试。
七、 实验器材(设备、元器件):(一)安装了Xilinx ISE Design Suite 的PC 机一台(二)FPGA 开发板:Anvyl Spartan6/XC6SLX45(三)计算机与FPGA 开发板通过JTAG (Joint Test Action Group )接口连接,其连接方式如图所示。
《计算机组成原理实验》实验报告(实验三)学院名称:数据科学与计算机学院专业(班级):学生姓名:学号:时间:2019 年11 月8 日成绩:实验三:单周期CPU设计与实现一.实验目的(1) 掌握单周期CPU数据通路图的构成、原理及其设计方法;(2) 掌握单周期CPU的实现方法,代码实现方法;(3) 认识和掌握指令与CPU的关系;(4) 掌握测试单周期CPU的方法。
二.实验内容设计一个单周期CPU,该CPU至少能实现以下指令功能操作。
指令与格式如下:==> 算术运算指令加“加”运算。
加“加”运算。
==> 逻辑运算指令加“与”运算。
功能:GPR[rt] ←GPR[rs] or zero_extend(immediate)。
==>移位指令==>比较指令==> 存储器读/写指令==> 分支指令else pc ←pc + 4特别说明:offset是从PC+4地址开始和转移到的指令之间指令条数。
offset符号扩展之后左移2位再相加。
为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“00”,因此将offset放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。
else pc ←pc + 4(16)bltz rs, offsetelse pc ←pc + 4。
==>跳转指令(17)j addr说明:由于MIPS32的指令代码长度占4个字节,所以指令地址二进制数最低2位均为0,将指令地址放进指令代码中时,可省掉!这样,除了最高6位操作码外,还有26位可用于存放地址,事实上,可存放28位地址,剩下最高4位由pc+4最高4位拼接上。
==> 停机指令功能:停机;不改变PC的值,PC保持不变。
三.实验原理单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。
电平从低到高变化的瞬间称为时钟上升沿,两个相邻时钟上升沿之间的时间间隔称为一个时钟周期。
计算机原理 cpu课程设计一、教学目标本节课的教学目标是让学生了解和掌握计算机CPU的基本原理和组成结构,包括中央处理器(CPU)的功能、架构、工作原理及其在计算机系统中的重要性。
知识目标要求学生能够描述CPU的主要组成部分,如控制单元、算术逻辑单元(ALU)、寄存器等,并理解它们的作用。
技能目标则要求学生能够通过实验或模拟软件,观察和分析CPU的工作过程,提升学生的实际操作能力和问题解决能力。
情感态度价值观目标则是培养学生对计算机科学的好奇心和探索精神,增强学生对技术进步的认同感,同时培养学生的团队合作意识。
二、教学内容本节课的教学内容将围绕CPU的原理与结构展开。
首先,介绍CPU在计算机系统中的核心地位及其重要性。
接着,详细讲解CPU的组成,包括控制单元、ALU、寄存器等关键部件的功能和作用。
然后,通过实例分析CPU的工作流程,即 fetch-decode-execute 循环,让学生理解指令的执行过程。
最后,讨论CPU性能指标,如时钟频率、指令周期、流水线技术等,并介绍多核处理器的基本概念。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学。
首先,采用讲授法向学生介绍CPU的基本概念和原理。
其次,通过案例分析法,分析具体的CPU工作实例,让学生更直观地理解CPU的工作过程。
再次,利用实验法,让学生在实验室中实际操作CPU模拟软件,亲身体验CPU的工作原理。
最后,课堂讨论,鼓励学生提出问题、分享心得,以提高学生的主动性和参与度。
四、教学资源为了支持教学,将准备丰富的教学资源。
主要教材为《计算机组成原理》,辅助教材包括《计算机科学概论》等。
参考书籍将提供更深入的理论知识,如《深入理解计算机系统》。
多媒体资料将包括教学PPT、视频动画等,以形象直观的方式展示CPU的工作原理。
实验设备包括CPU模拟器软件和必要的计算机硬件,供学生进行实验操作,增强实践体验。
五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式。
CPU计算机组成原理实验报告实验名称:CPU计算机组成原理实验一、实验目的:1.了解计算机硬件的基本组成原理,特别是CPU的工作原理;2.掌握计算机的组装和调试技能;3.熟悉计算机操作系统的安装和配置方法;4.学习使用计算机进行基本的应用程序开发。
二、实验设备和材料:1.CPU主机:包括主板、CPU、内存、硬盘等;2.显示设备:显示器、键盘、鼠标等;3.软件:操作系统、开发工具等。
三、实验步骤:1.将主板、CPU、内存、硬盘等硬件组件组装到主机箱中,连接电源、显示器、键盘、鼠标等外设;2.打开电源,按照BIOS界面提示进行主板和硬件设置;3.插入操作系统安装光盘,根据安装界面提示进行操作系统的安装;4.安装完成后,进入操作系统,根据提示进行相应驱动程序的安装和配置;5.打开开发工具,进行编程实践。
四、实验结果与分析:通过以上步骤,成功组装了一台计算机并安装了操作系统。
在操作系统中,能够正常运行各种应用程序,并且能够进行编程开发。
通过实验,可以清楚地了解到计算机硬件的组成原理,特别是CPU的工作原理。
CPU 作为计算机的核心部件,负责指令的执行和数据的处理。
通过对CPU的组装和调试,可以更深入地了解其工作原理和操作方法。
五、实验心得与体会:通过实验,我对计算机硬件的组装和设置有了更深入的理解。
计算机硬件的组成非常复杂,需要我们仔细阅读说明书,按照步骤进行操作。
在实验过程中,我们学会了解决一些常见的硬件问题,如硬件不兼容、连接错误等。
此外,操作系统的安装和配置也是非常重要的一步,只有正确地安装和配置操作系统,才能保证计算机的正常运行。
通过这个实验,我不仅学到了理论知识,还锻炼了实际操作的能力。
计算机的组装和调试需要我们仔细、耐心地进行,一丝不苟地对待每一步操作。
只有掌握了计算机组成原理,才能更好地理解和应用计算机技术。
通过实验,我深刻地认识到计算机是一台高度复杂的机器,它可以帮助我们解决各种问题,提高工作效率。
“计算机组成原理”课程设计报告微程序控制器的设计一、设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
从而可以想到如下指令: (1)24位控制位分别介绍如下:位控制位分别介绍如下: XRD XRD :: 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
定外设读数据。
EMWR EMWR:: 程序存储器EM 写信号。
写信号。
EMRD EMRD:: 程序存储器EM 读信号。
读信号。
PCOE PCOE:: 将程序计数器PC 的值送到地址总线ABUS 上。
上。
EMEN EMEN:: 将程序存储器EM 与数据总线DBUS 接通,由EMWR 和EMRD 决定是将DBUS 数据写到EM 中,还是从EM 读出数据送到DBUS DBUS。
IREN IREN:: 将程序存储器EM 读出的数据打入指令寄存器IR 和微指令计数器uPC uPC。
EINT EINT:: 中断返回时清除中断响应和中断请求标志,便于下次中断。
中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP ELP:: PC 打入允许,与指令寄存器的IR3IR3、、IR2位结合,控制程序跳转。
转。
MAREN MAREN:将数据总线:将数据总线DBUS 上数据打入地址寄存器MAR MAR。
MAROE MAROE:将地址寄存器:将地址寄存器MAR 的值送到地址总线ABUS 上。
上。
OUTEN OUTEN:将数据总线:将数据总线DBUS 上数据送到输出端口寄存器OUT 里。
里。
STEN STEN:: 将数据总线DBUS 上数据存入堆栈寄存器ST 中。
中。
RRD RRD:: 读寄存器组读寄存器组R0-R3R0-R3,寄存器,寄存器R?R?的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
计算机组成原理课程设计第一篇:CPU设计计算机中心处理器(Central Processing Unit, CPU)是计算机的心脏,它负责执行指令,完成计算和控制计算机的所有运算和数据传输。
在计算机组成原理课程设计中,设计一块CPU是非常重要的一步。
CPU的设计与制作需要有一定的基础和经验。
首先,需要了解CPU的工作原理和基本组成,包括寄存器、ALU、控制器和数据通路等。
其次,需要掌握数字逻辑、硬件描述语言和电子工艺制作等知识和技能,以实现CPU的具体功能。
设计一块CPU可分为以下几个步骤:1.确定CPU的整体架构和指令集。
根据需求和实际应用,确定CPU的整体架构和指令集。
可以参考现有的CPU设计,并根据实际情况进行优化和改进。
2.编写CPU的硬件描述语言代码。
使用硬件描述语言(如VHDL)编写CPU的硬件描述语言代码,包括寄存器、ALU、控制器和数据通路等。
3.使用仿真工具进行验证。
使用仿真工具模拟CPU的运行过程,验证硬件描述语言代码的正确性和功能实现。
4.设计和制作PCB电路板。
将CPU的硬件描述语言代码转换为PCB电路板设计,并制作出实际的电路板。
5.测试CPU的性能和功能。
对制作出的CPU进行测试,验证其性能和功能可靠性。
CPU的设计和制作是计算机组成原理课程设计中非常关键的一步,它直接影响到完成整个计算机系统的可靠性和性能。
因此,设计和制作一块优秀的CPU需要耐心和实践经验的积累。
第二篇:存储器设计存储器是计算机系统中重要的组成部分,用于存储数据和程序。
存储器需要具有读、写、删等常见操作,设计一块性能良好和容量适中的存储器是计算机组成原理课程设计的核心内容之一。
存储器的设计和制作需要掌握数字电路设计、电子工艺制作和人机交互等知识和技能。
下面是存储器设计的主要步骤:1.确定存储器的类型和容量。
根据实际需要和使用场景,确定存储器的类型和容量,包括SRAM、DRAM、FLASH等。
2.设计存储器的电路和控制线路。
1 CPU的用途字长:8位 D[7…0]寻址范围:64byte,2的6次方=64,A[5…0]2 确定ISA(包括程序员可访问的寄存器)1)程序员可访问的寄存器 AC—8位累加器CPU的指令集(共4条)2)其他寄存器3 CPU设计状态图为了确定CPU的状态图,对每条指令作以下分析1)从存贮器中取指令(所有指令均相同)原理:在CPU能执行指令之前,它必须从存贮器中取出,CPU通过执行如下的操作序列完成这个任务A)选择存贮单元由A[5…0]确定B)对工A[5…0]译码,延迟,并向存贮器发一个信号使存贮器将此指令输出到它的输出引脚。
这些引脚与CPU的D[7…0]相连。
CPU从这些引脚读入数据。
具体操作:(分为三个状态)A)要取的指令的地址存放在程序计数器(PC)中。
第一步就是把PC的内容拷贝到AR中。
FETCH1:AR←PCB)CPU必须从存贮器中读取指令,为此CPU必须发一个READ信号到器的RD (RD-RAM,相对于OE-ROM)端上使存贮器将数据发送到D[7…0]上,存入CPU的DR寄存器中。
同时实现PC←PC+1,为取下一条指令作准备。
FETCH2:DR←M,PC←PC+1C)作为取指令的一部分,CPU还必须完成两件事。
①DR的高2位拷贝到IR,目的是确定指令的功能②DR的低6位拷贝到AR,目的:a. 对于ORT和SUB1指令这6 位包含了指令的一个操作数的存贮器地址(一个数已经在AC)b. 对于COM和JREL,它们不需要再次访问存贮器,一旦它们返回到FETCH1周期,FETCH1将把PC的值装到AR,覆盖无用的值。
FETCH3:IR←DR[7,6], AR←DR[5…0]取指令周期的状态图2)本CPU有四条指令,因此有四个不同的执行同期,为此用IR中的值来确定即可。
3)指令执行(每条指令的执行周期都是一样的)每条指令的执行周期的状态分析:1.COM指令功能是对AC的内容取反,执行周期的状态是COM1:AC←AC’2. JREL指令代码为01AAAAAA,即转移的相对地址由AAAAAA确定,而AAAAAA在DR[5…0]中,所以有JREL1:PC←PC+ DR[5…0]3.OR指令为了执行指令,必须完成两件事情OR1:DR←M;从存贮器取出一个操作数送到数据寄存器OR2:AC←AC∨DR;与AC相或,并把结果存回AC中4. SUB1指令为了执行指令,必须完成两件事情SUB11:DR←M;从存贮器取出一个操作数送到数据寄存器SUB12:AC <- AC + DR';对DR取反,等于-DR-1综上所述可知CPU的完全状态图如下4 设计必要的数据通路和控制逻辑,以便实现这个有限状态机,最终实现这个CPU。
状态图以及寄存器的传输说明了实现本CPU所须完成工作(方法和步骤如下)1)与CPU的每个状态相关联的操作(共九个状态)FETCH1:AR←PCFETCH2:DR←M,PC←PC+1FETCH3:IR←DR[7,6], AR←DR[5…0]COM1: AC←AC’JREL1:PC←PC+ DR[5…0]OR1:DR←M;OR2:AC←AC∨DR;SUB11:DR←M;SUB12:AC <- AC + DR'2)建立数据通路的原理和方法A.存贮器是通过引脚D[7…0]将数据送给CPU。
B.存贮器的地址是通过地址引脚A[5…0]从AR中获得的。
于是CPU与存贮器之间要A[5…0](地址)和D[7…0](数据)通路,如下图3)总线类型的确定方法原理:首先把操作数重新分组,依据是指导修改同一个寄存器的操作分配在同一组。
AR:AR←PC ,AR←DR[5…0]PC:PC←PC+ DR[5…0],PC←PC+1DR:DR←M,IR:IR←DR[7,6],AC:AC <- AC + DR',AC←AC∨DR,AC←AC’决定每个部件应完成的功能a>AR, DR, IR,AC总是从其他一些部件中装入数据。
若数据已在总线上,则需要做的是能够执行并装入操作。
(LD端口分别是ARLOAD,DRLOAD,IRLOAD,ACLOAD信号同步装入)b>PC能从其他一些部件中装入数据,还有相应的自增(INC)当前值,所以应创建一个单独的硬件使之能自增。
(端口有PCINC,PCLOAD)4)把每个部件都连接到系统总线上三态缓冲区——原有的寄存器部是把结果输出到系统总线,使CPU内部数据冲突,所以应增加三态缓冲区加以控制,但AR的输出还应与A[5…0]相接,这是寻址所需。
5)根据实际需要修改上图的设计,并加上适当控制信号名称1.AR :仅向存贮器提供地址,没有必要将它的输出连接到内部总线上,加上ARLOAD实现从BUS装入数据。
2.AR←PC :保留三态缓冲器由PCBUS控制同步3.IR :不通过内部总线向任何其他部件提供数据,而IR的输出将直接送到控制器用于确定指令的功能4.AC:本CPU不向其他任何单位提供数据5.DR[7…0]:不统一,有6位也有2位宽度,必须确定哪些寄存器从总线的哪些位上接收和发送数据。
应有DRBUS实现同步。
DRLOAD实现LD6.AC:必须能装载AC + DR'的和,以及AC∨DR与AC’的逻辑与结果。
CPU必须包含一个能产生这些结果的ALU,并由ACLOAD实现装入。
7.PC:必须能装载PC+ DR[5…0]的和。
CPU必须包含一个能产生这些结果的ALU 并由PCLOAD实现载入,而PCINC实现PC←PC+1ALU的设计1)ALU1(与PC相连)的设计数据通路的分析:功ALU1必须接收PC和DR作为输入,然后把运算结果输出到PC实现PC←PC+ DR[5…0]在本CPU中,把PC的导线和ALU的输入输出相连起来,并且利用系统总线把DR和ALU的输入连接起来。
用计数器来实现PC←PC+1操作,就可以在FETCH2内完成,因为计数器不必占用总线的时间。
2) ALU2(与AC 相连)的设计在本ALU 的设计中AC 和ALU 的输入输出连接,并且利用系统总线把DR 和ALU 和输入相连起来。
( [ALUS1,ALUS2]=[0,0], 选AC ←AC’,[ALUS1,ALUS2]=[0,1],选AC ←AC ∨DR , [ALUS1,ALUS2]=[1,0],选AC <- AC + DR', )用硬布线的方法设计控制器 组成:计数器:保存当前状态DRTO PC共有9个状态(四条指令,共有9个状态)所以需要一个四——16位译码器,译码器中有7个状态没用到。
译码器:接收当前状态并为每个状态生成单独的信号逻辑组合:接受单独的状态信号,为每一部件生成控制信号以及计数器的控制信号原理图:计数器与译码器的设计:1. FETCH1状态:规定计数器的0值,使用计数器的CLR=1到达这一状态。
(指令执行完毕后,转入的取址状态。
)2. 将顺序状态设定为计数器的连续值,用INC实现。
3 利用IR映射1 [IR]0来确定指令的执行如下表指令的执行FETCH1――――――――――――――――0FETCH2――――――――――――――――1FETCH3――――――――――――――――2COM1: ――――――――――――――――8JREL1:――――――――――――――――10OR1:――――――――――――――――12OR2:――――――――――――――――13SUB11:――――――――――――――――14SUB12:――――――――――――――――15计数器控制信号的确定LD:在取址周期的FETCH3状态中发出,进入执行周期的第一个状态(装载1IR[]0进入指令的正确执行周期)FETCH3:IR←DR[7,6], AR←DR[5…0]INC:CLR:如上图所示根据译码器的输出信号组合后产生CPU中寄存器的有关信号1ARLOAD(装载地址寄存器的控制信号)FETCH1:AR←PCFETCH3:AR←DR[5…0]2PCLOAD PCINCPCLOAD =JREL1: PC←PC+ DR[5…0]PCINC =FETCH2:PC←PC+13DRLOAD(实现DR←M)FETCH2+OR1+SUB114ACLOAD (实现AC←AC’, AC←AC∨DR,AC <- AC + DR')ACLOAD=COM1+ OR2+ SUB125IRLOAD= FETCH36 ALUS1,ALUS2与AC相连的ALU有两个控制信号[ALUS1,ALUS2]=[0,0], 选COM1: AC←AC’[ALUS1,ALUS2]=[0,1],选OR2:AC←AC∨DR;[ALUS1,ALUS2]=[1,0],选SUB12:AC <- AC + DR'ALUS1= SUB12ALUS2= OR2缓冲器控制信号许多操作需从内部总线上获取数据,CPU必须能控制缓冲器以便在合适的时间将正确的数据放到总线上,为此应满足如下逻辑关系。
MEMBUS= FETCH2+ OR1+ SUB11PCBUS= FETCH1READ= FETCH2+ OR1+ SUB11DRBUS= FETCH3+ JREL1+ OR2+ SUB12部分电路图如下:COM1 OR2 SUB12设计验证1.程序段如下所列[存贮单元:指令]0: COM1: JREL 02 OR 43: SUB 54 20H5: 30H2. CPU遵循状态图并以合适的状态顺序取出、译码和执行每条指令:COM: FETCH1→FETCH2→FETCH3→COM1JREL 4: FETCH1→FETCH2→FETCH3→JREL1OR 5: FETCH1→FETCH2→FETCH3→OR1→OR2SUB 6: FETCH1→FETCH2→FETCH3→SUB11→SUB122.对这段程序的一次循环的跟踪情况(所有寄存器的初始值都是0)用微程序控制器设计一微程序控制器的基本框图两种可能的下址方式(由MUX 实现选择)S =1―――操作码映象(经指令译码进入下一条指令的执行周期) S =0―――绝对跳转(下一条要执行的微指令在控存内) 工作原理分析描述1) 确定微子程序的第一条指令入口地址。
方法是根据取批中的最后一个状态FETCH3,便可转入到四条指令中任一条执行周期的第一条微指令入口,但必须通过MAP 输入来实现 2) 下址的确定绝对跳转:可直接跳转到FETCH1状态 当前地址加1。
3) 几个参数的设定控存中地址的倍数24=16>9因共有9 条微指令,可用四位 MUX →微地址寄存器,微地址寄存器→控存 24=16>9用四位 确定UPOS 的位数4二生成正确序列并设计映象逻辑1. 给有限状态机的每一种状态分配一个控存地址利用IR映射1 [IR]0来确定指令的执行如下表2.其余微指令的地址微程序控制器的状态地址FETCH1――――――――――――――――0FETCH2――――――――――――――――1FETCH3――――――――――――――――2COM1: ――――――――――――――――8JREL1:――――――――――――――――10OR1:――――――――――――――――12OR2:――――――――――――――――13SUB11:――――――――――――――――14SUB12:――――――――――――――――153. 确定微指令中的选择域和地址域,即生成正确的微指令执行顺序1)一般状态转换设SEL=0,ADDR为下一条指令要执行的控存号,一个微指执行完后,从ADDR中得到下址,转到ADDR指定的微指令2)特别状态FETCH3下址的确定当FETCH3执行完后,必须到指令执行周期的微子程序入处,根据1IR[]0所算出的结果三生成正确的微操作及相应的控制信号用水平型微指令生成微操作及用垂直型指令生成微操作本CPU采用水平型微指令生成微操作法微操作及它们的助记符由于IRDR和ARDR在同一个微操作进行,可以对他们进行合并为AIDR来表示。