当前位置:文档之家› 基于VHDL硬连线控制器设计研究

基于VHDL硬连线控制器设计研究

东华理工大学信息工程学院课程设计报告课程:计算机组成与体系结构课程设计题目:基于VHDL的硬连线控制器设计研究学生姓名:专业:计算机科学与技术班级:10204102指导教师:2013年1月6日目录一、摘要-------------------------------------------------------------------------3二、课程设计目的-------------------------------------------------------------4三、课程设计的内容----------------------------------------------------------4四、课程设计的分析与步骤-------------------------------------------------5五、经验和总结---------------------------------------------------------------10六、参考文献------------------------------------------------------------------11七、程序清单------------------------------------------------------------------11一、摘要控制器是指挥计算机的各个部件按照指令的功能要求协调工作的部件,是计算机的神经中枢和指挥中心,由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器0C(OperationController)三个部件组成,对协调整个电脑有序工作极为重要。

指令寄存器:用以保存当前执行或即将执行的指令的一种寄存器。

程序计数器:指明程序中下一次要执行的指令地址的一种计数器,又称指令计数器。

操作控制器:CPU内的每个功能部件都完成一定的特定功能。

信息在各部件之间传送及数据的流动控制部件的实现。

通常把许多数字部件之间传送信息的通路称为“数据通路”。

信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传到哪个寄存器,都要加以控制。

在各寄存器之间建立数据通路的任务,是由称为“操作控制器”的部件来完成的。

控制器分组合逻辑控制器和微程序控制器,两种控制器各有长处和短处。

组合逻辑控制器设计麻烦,结构复杂,一旦设计完成,就不能再修改或扩充,但它的速度快。

微程序控制器设计方便,结构简单,修改或扩充都方便,修改一条机器指令的功能,只需重编所对应的微程序;要增加一条机器指令,只需在控制存储器中增加一段微程序,但是,它是通过执行一段微程。

具体对比如下:组合逻辑控制器又称硬布线控制器,由逻辑电路构成,完全靠硬件来实现指令的功能。

硬连线控制器是由基本逻辑电路组成的,对指令中的操作码进行译码,并产生相应的时序控制信号的部件,又称组合逻辑控制器。

硬连线控制器由指令部件、地址部件、时序部件、操作控制部件和中断控制部件等组成(参见“中央处理器”条目中的控制器部分)。

其中操作控制部件用来产生各种操作控制命令,它根据指令要求和指令流程,按照一定顺序发出各种控制命令。

操作控制部件的输人信号有:指令译码器的输出信号、时序信号和运算结果标志状态信号等。

设计时根据指令流程、操作时间表得到各种操作控制命令的逻辑表达式,可采用由基本逻辑电路(与门、或门、与非门等)组成的逻辑网络来实现。

也可采用可编程逻辑器件PLD来实现。

PLD的“与”阵列及“或”阵列和操作控制命令的“与一或”逻辑表达式相对应,为设计组合逻辑控制器提供了一种理想器件。

80年代出现的通用阵列逻辑电路〔热L与PAL(参见专用逻辑集成电路))具有与可编程逻辑器件PLD类似的结构,它不但可编程并且是可擦除的,为设计提供了更大的灵活性。

组合逻辑控制器的最大优点是速度快。

但因其线路复杂而且不规整,不便于调试、维护、修改,也不便于仿真不同的机器的指令集。

组合逻辑控制器的基本组成:(1)指令寄存器用来存放正在执行的指令。

指令分成两部分:操作码和地址码。

操作码用来指示指令的操作性质,如加法、减法等;地址码给出本条指令的操作数地址或形成操作数地址的有关信息(这时通过地址形成电路来形成操作数地址)。

有一种指令称为转移指令,它用来改变指令的正常执行顺序,这种指令的地址码部分给出的是要转去执行的指令的地址。

(2)操作码译码器:用来对指令的操作码进行译码,产生相应的控制电平,完成分析指令的功能。

(3)时序电路:用来产生时间标志信号。

在微型计算机中,时间标志信号一般为三级:指令周期、总线周期和时钟周期。

微操作命令产生电路产生完成指令规定操作的各种微操作命令。

这些命令产生的主要依据是时间标志和指令的操作性质。

该电路实际是各微操作控制信号表达式(如上面的A→L表达式)的电路实现,它是组合逻辑控制器中最为复杂的部分。

(4)指令计数器:用来形成下一条要执行的指令的地址。

通常,指令是顺序执行的,而指令在存储器中是顺序存放的。

所以,一般情况下下一条要执行的指令的地址可通过将现行地址加1形成,微操作命令“ 1”就用于这个目的。

如果执行的是转移指令,则下一条要执行的指令的地址是要转移到的地址。

该地址就在本转移指令的地址码字段,将其直接送往指令计数器。

控制器功能:(1)数据缓冲:由于I/O设备的速率较低而CPU和内存的速率却很高,故在控制器中必须设置一缓冲器。

在输出时,用此缓冲器暂存由主机高速传来的数据,然后才以I/O设备所具有的速率将缓冲器中的数据传送给I/O设备;在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机。

(2)差错控制:设备控制器还兼管对由I/O设备传送来的数据进行差错检测。

若发现传送中出现了错误,通常是将差错检测码置位,并向 CPU报告,于是CPU将本次传送来的数据作废,并重新进行一次传送。

这样便可保证数据输入的正确性。

(3)数据交换:这是指实现CPU 与控制器之间、控制器与设备之间的数据交换。

对于前者,是通过数据总线,由CPU并行地把数据写入控制器,或从控制器中并行地读出数据;对于后者,是设备将数据输入到控制器,或从控制器传送给设备。

为此,在控制器中须设置数据寄存器。

(4)状态说明:标识和报告设备的状态控制器应记下设备的状态供CPU了解。

例如,仅当该设备处于发送就绪状态时,CPU才能启动控制器从设备中读出数据。

为此,在控制器中应设置一状态寄存器,用其中的每一位来反映设备的某一种状态。

当CPU将该寄存器的内容读入后,便可了解该设备的状态。

(5)接收和识别命令:CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。

为此,在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。

例如,磁盘控制器可以接收CPU发来的Read、Write、Format 等15条不同的命令,而且有些命令还带有参数;相应地,在磁盘控制器中有多个寄存器和命令译码器等。

(6)地址识别:就像内存中的每一个单元都有一个地址一样,系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址。

此外,为使CPU能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有唯一的地址二、课程设计目的通过硬连线控制器以及其协作工作环境的设计,融会贯通教材上的内容,掌握计算计各功能模块的的工作原理,相互联系和来龙去脉,完整地建立计算机的整机概念。

通过具体的动手操作,理论知识运用到具体硬件上,来激发学生的学习热情和主动性,培养学生的独立工作能力,自学查找相关资料的能力,培养学生的相互协作能力;在具体的时间活动中,将所学的知识综合运用,增长才干,并积累经验。

通过学习对TEC-2000系统控制器部件相关程序的VHDL语言,学习了解VHDL语言。

理解并学习各个部件之间的程序关联信息。

培养严谨的科研作风,使学生利用先修课和计算机组成原理课程的理论知识和实验技能。

在该课程所涉及的工程技术范围内,创造性地完成部件以及系统的分析、设计、组装和调试,从而加深学生对计算机组成原理课程内容的理解和掌握。

三、课程设计的内容(1)按教材给定的部分代码,编写和完善相关代码。

(2)通过编写运行相关代码,大概学习VHDL语言,了解相关代码的作用。

(3)通过Expert8.3中软件编译并运行相关软件四、课程设计的分析与设计(整体系统设计概述)(1)系统指令格式特点本机模型字长为8位,要求系统支持单字长指令和双字长指令,因此指令应是8位。

为了简便,此设计选择8条具有代表性的指令,刚好指令的操作码部分只需要3位确定,寻址放式包括立即数寻址方式、寄存器寻址方式、存储器直接读写1.ADD RI,RJ格式7 5 4 3 2 1 0000 不用RI RJ功能:RI ← RI+RJ2.SUB RI,RJ格式7 5 4 3 2 1 0001 不用RI RJ功能:RI←RI-RJ3.AND RI,RJ格式7 5 4 3 2 1 0010 不用RI RJ功能:RI←RI∧RJ4.LDR Ri,D格式7 5 4 3 2 1 0011 Ri 不用D功能:Ri←M(D)5.STR Ri,D格式 7 5 4 3 2 1 0100 Ri 不用D功能:M(D)←(Ri)6.JMP D格式 7 5 4 3 2 1 01 01 Ri 不用D功能:无条件转移 PC ← D7.OUT Ri,Mj格式 7 5 4 3 2 1 01 1 0 Ri Mj功能:(M j)← R i8.TEST RI,RJ格式 7 5 4 3 2 1 0111 RI RJ功能: RI RI OR RJ其中RI,RJ 是4个通用寄存器,有2位决定。

D 为立即数。

MJ为断口地址(2)总体设计硬连线控制器由程序计数器PC(提供指令地址),指令寄存器IR(保存指令内容),控制信号产生电路CU(产生计算机各部件所需要的控制信号),节拍发生器Timing(提供指令执行步骤)组成。

下面分别对这些部件的设计做描述1.程序计数器程序计数器保存一条指令在内存中的地址,用于到内存指定单元读取读取指令;它具有自行增值(形成相邻的下一条指令的地址)和接受下一条要执行指令的地址的功能(转移指令)。

在硬件中,它就是一个寄存器2.指令寄存器指令寄存器用于暂时保存从内存中读取的指令并提供操作码信息作为控制信号产生的条件到时序信号发生部件。

也是用一个寄存器实现这个功能。

寄存器位数由指令的位数决定。

3.节拍发生器节拍发生器是多位触发器的输出信号的不同组合状态,来标志每条指令的不同执行步骤4.控制信号产生部件它依据指令的操作码,指令执行步骤作为输入,使用大量组合逻辑门电路来形成并提供出计算机各部件当前时刻要用到的控制信号。

相关主题