课程设计(大作业)报告一、题目分析本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用CPU、cache、存储器以及一些外设设备来组成一台简单计算机,微观上由运算器、译码电路、和存储器指令用的控制存储器构成。
此次设计要求完成各个指令的格式以及编码的设计,实现各个机器指令的微代码。
本计算机实现的功能有:IN(输入),OUT(输出),ADD(加法),SUB(减法),STA(存数),JMP(跳转)。
设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。
根据机器指令系统要求,设计微程序流程图及确定微地址。
设计的加法和减法中, 被加数和被减数都由调试人员输入, 而加数和减数都从存储器中读取. 最后上机调试,各个功能运行结果正确。
二、基本理论计算机原理图(一)、ALU1、功能及组成它是数据加工处理部。
执行所有的算术运算执行所有的逻辑运算,并进行逻辑测试,通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。
2、设计图(二)、CPU1、如何执行指令(1)MOV指令a. 程序计数器PC中装入第一条指令地址101b. PC的内容被放到指令总线ABUS上,对指存进行译码,并启动读命令。
c. 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR。
d. 程序计数器内容加1,变成102,为取下一条指令做好准备。
e. 指令寄存器中的操作码被译码。
f. CPU识别出是MOV指令。
至此,取值周期结束。
g. 操作控制(OC)器送出控制信号到通用寄存器,选择R1作源寄存器,选择R0作目标寄存器。
h. OC送出控制信号到ALU,制定ALU做传送操作。
i. OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS 上。
(任何时候DBUS上只能有一个数据)j. OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR。
k. OC送出控制信号,将DR中的数据打入到目标寄存器R0,R0的内容由00变为10。
至此,MOV指令执行结束。
(2)LAD指令a. 取指周期与MOV指令取指周期一样,只是PC提供的指命令地址为102,按此地址从指令存储器读出指令放入IR中,然后将PC+1,使PC内容变为103,为取下一条ADD指令做好准备。
b. 操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上。
c. OC发出读命令,将地址码6装入数存地址寄存器AR。
d. OC发出命令,将数存6号单元中的数100读出到DBUS上。
e. OC发出命令,将DBUS上的数据100装入缓冲寄存器DR。
f. OC发出命令,将DR中的数100装入通用寄存器R,原来R1中的数10被冲掉,至此,LAD指令执行周期结束。
(3)ADD指令a. 取指周期和MOV指令一样。
b. 操作控制器OC送出控制命令道通用寄存器,选择R1做源寄存器,R2做目标寄存器。
c. OC送出控制命令,打开ALU输出三态门,运算结果120放到DBUS上。
e. OC送出控制命令,将DBUS上数据打入缓冲寄存器DR,ALU产生的进位信号保存状态字寄存器在PSW中。
f. OC送出控制命令,将DR(120)装入R2,R2中原来的内容20被冲掉。
至此,ADD指令执行结束。
(4)STO指令a. 取指周期和MOV指令一样。
b.操作控制OC送出操作命令到通用寄存器,选择(R3)=30做数据存储器的地址单元。
c. OC发出操作命令,打开通用寄存器输出三态门,将地址30放到DBUS上。
d. OC发出操作命令,将地址30打入AR,并进行数存地址译码。
e. OC发出操作命令到通用寄存器,选择(R2)=120,做为数存的写入数据。
.f. OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上。
g. OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉。
至此,STO指令执行结束。
(5)JMP指令a. 取指周期和MOV指令一样b. OC发生操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上。
c. CC发出操作控制命令,将DBUS上的地址码101地打入到程序计数器PC 中,PC中的原先内容106被更换。
下一条指令不是从106号单元取出,而是转移到101号单元取出。
至此,JMP指令执行结束。
2.如何设计(1)CPU的硬件结构设计(2)分析构成CPU硬件的各部件的控制信号(3)设计指令系统和指令格式(4)分析指令在所设计的CPU硬件结构中的执行流程,画出指令周期流程图和各步的控制信号(5)对指令周期流程图中的控制信号进行优化(6)设计微指令格式(7)将控制信号以微指令的形式存放在控制存存储器中(8)对控制型信号进行同步控制(9)将经过同步后的控制信号与构成CPU的各功能部件的相应控制端相连接。
3.指令系统一条指令就是机器语言的一个语句,由一组二进制代码来表示。
一条指令由两部分构成。
一条指令必须有一个操作码,可能包含几个地址码。
指令涉及指令长度、操作码结构、地址码结构等问题。
操作码:指明指令的操作性质及功能。
地址码:指明操作数的地址。
(a)指令长度指令长度是指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。
一般希望指令长度短一些。
指令长度与机器字长没有固定的关系。
指令长度可以等于机器字长,也可以大于或小于机器字长。
在一个指令系统中,若所有指令的长度都相等,称为定长指令字结构;若各种指令的长度随指令功能不同而不同,称为变长指令字结构。
(b)寻址方式所谓寻址就是寻找操作数的地址或下一条要执行的指令的地址,而形成操作数或指令地址的方式,称为寻址方式。
寻址方式分为两类,即指令寻址方式和数据寻址方式。
下图几种Power PC寻址方式:(c)ARM汇编语言汇编执行指令是机器指令的符号化表示,其操作码用记忆符表示,地址码直接用标号、变量名字、常数等表示。
汇编执行指令经汇编程序翻译为机器指令,二者之间基本上保持一一对应的关系。
汇编伪指令又称作汇编指示,用于向汇编程序提供用户自定义的符号、数据的类型、数据空间的长度,以及目标程序的格式、存放位置等提示性信息,其作用是指示汇编程序如何进行汇编。
S1.分类存储介质:半导体存储器、磁表面存储器存取方式:随机存储器、顺序存储器存储器存储内容可变性:只读存储器、随机读写存储器信息易失性:易失性存储器…….系统中的作用:内部存储器、外部存储器…….2.分级3.组成一个半导体触发器由于有0和1两个状态,可以记忆一个二进制代码。
通常,在存储器中把保存一个数的16个触发器称为一个存储单元。
存储器是由多个存储单元组成的。
每个存储单元都有编号,称为地址。
向存储器中存数或者从存储器中取数,都要按给定的地址来寻找所选的存储单元。
存储器所有存储单元的总数称为存储器的存储容量。
4.扩展(1)字长位数扩展给定的芯片字长位数较短,不满足设计要求的存储器字长,此时还需要用多片给定芯片扩展字长位数。
三组信号线中,地址线和控制总线公用而数据线单独分开连接,所需芯片计算公式为:(I)(2)字存储量扩展给定的芯片存储容量较小,不满足设计要求的总存储容量,此时需要用多片给定芯片来扩展字数。
三组信号组中给定芯片的地址总线和数据公用,控制总线中R/W公用,使能端EN不能公用,它由地址总线的高位段译码来决定片选信号。
所需芯片数仍由式(I)决定。
(3)存储器模块条存储器通常以插槽用模块条形式供应市场。
这种就是内存条,它们是在一条状形的小印制电路板上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。
然后通过它下部的插脚插到系统板的专用插槽中,从而使存储器的总容量得到扩充。
5.如何与CPU链接(1)地址线的连接一般将CPU地址线的低位地址与存储器芯片对应的低位地址相连接。
CPU的高位地址线用作存储器芯片扩展,或者其他用途。
(2)数据线的连接存储器数据线的数量与存储器芯片的内部结构有关。
(3)读/写命令线的连接一般情况下,存储器的读/写命令线可以直接连接到CPU的读/写控制器,通常高电平为读,低电平为写。
注意:①当CPU和存储器的读/写控制端是分开的,需要单独连接:②当CPU和存储器的读/写控制端有一个是分开的,另一个是复用的,需要设计相应的逻辑电路来连接。
(4)片选信号线的连接指CPU与存储器芯片之间能够准确工作的关键,一般通过设计一个译码电路来实现。
(5)合理的芯片选择指ROM和RAM的配合及其选择。
6.存储器技术综述主存储器的性能指标主要是存储容量、存储时间、存储周期和存储器带宽。
存储容量:字一个存储器中可以容纳的存储单元总数。
存储容量越大,能存储的信息就越多。
存储容量的单位:B、GB、TB。
它反应了存储空间的大小。
存储时间:指一次度操作命令发出到该操作完成,将数据读出到总线上所经历的时间。
存储周期:指连续启动两次操作所需间隔的最小时间,单位为ns。
存储器带宽:单位时间里存储器所存储的信息量,通常以位/秒或字节/秒做度量单位。
带宽是衡量数据传输速率的重要技术指标。
1.分类(1)内部总线:CPU内部连接各寄存器及运算部件之间的总线。
(2)系统总线:CPU同计算机系统的其它高速功能部件,如存储器、通道等互相连接的总线。
(3)I/O总线:中、低速I/O设备之间互相连接的总线。
2如何与CPU连接1.磁盘存储器结构与原理(1)结构图(2)原理写操作:当写线圈中通过一定方向的脉冲电流时,铁芯内就产生一定方向的磁通。
读操作:当磁头经过载磁体的磁化元时,由于磁头铁芯是良好的导磁材料,磁化元的磁力线很容易通过磁头而形成闭合磁通回路。
不同极性的磁化元在铁芯里的方向是不同的。
通过电磁变换,利用磁头写线圈中的脉冲电流,可把一位二进制代码转换成载磁体存储元的不同剩磁状态;反之,通过磁电变换,利用磁头读出线圈,可将由存储元的不同剩磁状态表示的二进制代码转换成电信号输出。
这就是磁表面存储器存取信息的原理。
磁层上的存储元被磁化后,它可以供多次读出而不被破坏。
当不需要这批信息时,可通过磁头把磁层上所记录的信息全部抹去,称之为写“0”。
通常,写入和读出是合用一个磁头,故称之为读写磁头。
每个读写磁头对应着一个信息记录磁道。
2光盘(1)分类CD-ROM、WORM、CD-R、CD-RW、DVD-ROM。
(2)原理光盘上的信息以坑点形式分布,有坑点表示为“1”,无坑点表示为“0”,一系列的坑点(存储元)形成信息记录道。
对数据存储用的CDROM光盘来讲,这种坑点分布作为数字“1”、“0”代码的写入或读出标志。