程序:由指令序列组成
指令会被分为微操作
微指令可以完成微笑作,例如微指令a能完成微操作1、微操作2。
微程序:由微指令序列组成,每一种指令对应一个微程序。(例如指令2就对应一个微程序,微程序就由微操作组成。)
指令是对程序执行步骤的描述。
微指令是对指令执行步骤的描述。
采用“存储程序”的思想,CPU出厂前将所有指令的“微程序”存入“控制器存储器”中。
微命令(发出什么控制信号)与微操作(要做什么)①①对应。
由上图中,可知微指令中可能包含多个微命令。
这里就可以引出微指令的基本格式,如下图:
每一种微指令可能对应多种操作,所以需要操作控制字段,由若干个bit。还需要顺序控制的字段,致命下一条微指令的地址。
控制存储器(CM):用来存放各指令对应的微程序,控制存储器可用只读存储器ROM构成。
微地址寄存器(CMAR):别名 μ P C \mu PC μPC,接收微地址形成部件送来的微地址,为在CM中读取微指令作准备。有点类似于PC → \rightarrow →MAR,M(MAR) → \rightarrow →MDR。
MAR需要译码器才能选择主存信息,所以在CU中也有地址译码。
地址译码:将地址码转换为存储单元控制信号。
需要将CM中取出的微指令送到CMDR中。
CMDR:别名, μ I R \mu IR μIR,用于存放从CM中取出的微指令,它的位数同微指令字长相等。(这里格式就是上面微指令格式)
根据不同指令,要引入首地址,这里提出了微地址形成部件。
微地址形成部件:产生初始为地址和后续为地址,以保证微指令的连续执行。
顺序逻辑:控制微指令的执行顺序。
取值周期,间指周期,中断周期微程序是可以共享的。
所有的机器指令执行,在取指,间指,中断都是一样的,所以可以共享。
标志:根据指令地址码的寻址特征位判断是否要跳过间指周期。。
CLK:根据中断信号判断是否进入中断周期。
例:取数指令 LAD X。
取指周期:#0 #1 #2
间指周期:#3 #4 … #7
执行周期:#13 #14 #15
取指周期:#8 #9 … #12
取指周期微程序通常是公用的,故如果某指令系统中有n条机器指令(n个微程序),则CM中微程序的个数至少是n+1(这里的1是取指周期微程序,有些CPU不需要间指周期和中断周期)。
Tips:物理上,取指周期、执行周期看起来像两个微程序,但逻辑上应该把它们看作一个整体。因此,“一条指令对应一个微程序”的说法是正确的。
相容性微命令:可以并行完成的微命令。
互斥性微命令:不允许并行完成的微命令。
1.水平型微指令 一条微指令能定义多个可并行的微命令
优点:微程序短(指令条数少),执行速度快。
缺点:微指令长,编写微程序麻烦。
下面给出如何用若干个比特信息表示控制信号:
微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。
(1)直接编码(直接控制)方式
在微指令的操作控制字段中,每一位代表一个微操作命令
某位为"1"表示该控制信号有效。如下图, P C → M A R PC\rightarrow MAR PC→MAR和 1 → R 1\rightarrow R 1→R有效。
优点:简单、直观,执行速度快,操作并行性好。
缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大。
(2)字段直接编码方式
将微指令的控制字段分为若干“段”,每段经译码后发出控制信号
上述PC → \rightarrow →MAR和1 → \rightarrow →R是可以并行的,放在分别的两个段里。PC → \rightarrow →MAR和PC+1 → \rightarrow →PC是互斥的。
微命令字段分段的原则:
①互斥性微命令分在同一段内,相容性微命令分在不同时间段内
②每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
③一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3时,最多只能表示7个互斥的微命令,通常用000表示不操作
例题:某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有多少位?
第1个互斥类有7个微命令,要留出1个状态表示不操作,所以需要表示8种不同状态,需要3个二进制位。其余同理都是+1,然后取上限。
所以操作控制字段的总位数:3+2+4+3+3=15位。
若采用直接编码需要33位。
优点:可以缩短微指令字长。
缺点:要通过译码电路后再发出微命令,因此比直接编码方式慢。
(3)字段简接编码方式
一个字段的某些微命令需要由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称隐式编码。
优点:可进一步缩短微指令字长。
缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段。
2.垂直型微指令 一条微指令只能定义一个微命令,由微操作码字段规定具体功能
优点:微指令短、简单、规整、便于编写微程序。
缺点:微程序长,执行速度慢,工作效率低。
3.混合型微指令
在垂直型的基础上增加一些不太复杂的并行操作。
微指令较短,扔便于编写;微程序也不长,执行速度加快。
4.类似JMP
测试网络指内部的一些电路。
例题:某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是多少位?
取指周期对应的微指令序列只有2条。
每条机器指令对应的微指令4条。
间指周期和中断周期可以没有。
总共需要存储多少条微指令?下地址需要可以指向每一条微指令。
32×4+2=130条微指令
所以取上限需要 2 8 2^8 28,至少8位。
设计步骤:
1.分析每个阶段的微操作序列
要考虑如何读出这3条微指令,以及如何转入下一个机器周期。
第一条的微指令由硬件给出。用微指令a的下地址字段指向微指令b。就是在CMDR发出信号后,拔CMDR的下地址给CMAR。即
Ad(CMDR) → \rightarrow →CMAR
把微地址形成部件的地址给CMAR
OP(IR) → \rightarrow →微地址形成部件 → \rightarrow →CMAR
加上上述,就变成如下图:
微程序控制器的速度比硬布线慢。
2.写出对应机器指令的微操作命令及节拍安排
(1)写出每个周期所需要的微操作(参照硬布线)
(2)补充微程序控制器特有的微操作:
3.确定微指令格式
根据微操作个数决定采用何种编码方式,以确定微指令的操作控制字段的位数。
根据CM中存储的微指令总数,确定微指令的顺序控制字段的位数。
最后按操作控制字段位数和顺序控制字段位数就可确定微指令字长。
4.编写微指令码点
根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点。
1.静态微程序设计和动态微程序设计
本篇文章是我在进行计算机组成原理学习时候听王道课程记录的笔记,为了方便我自己回顾,硬布线部分暂未记录,后续可能会补充。
玻璃钢生产厂家句容商场大型美陈大型主题商场美陈研发玻璃钢灯光雕塑登封商场美陈植物墙玻璃钢和不锈钢雕塑价格陕西动物玻璃钢雕塑订做价格玻璃钢浮雕广场不锈钢雕塑设计新乡锻铜玻璃钢仿铜雕塑河南商场美陈生产梅州玻璃钢雕塑设计玻璃钢雕塑制做模具定做人物玻璃钢雕塑福建商场主题创意商业美陈道具大型主题商场美陈订购崇州玻璃钢造型雕塑资阳玻璃钢雕塑定制潞城玻璃钢雕塑扬州玻璃钢雕塑供应厂家吉林玻璃钢动物雕塑哪家好北京节庆商场美陈销售厂家山东公园玻璃钢雕塑销售厂家茂名玻璃钢酒瓶雕塑铜陵水果玻璃钢雕塑供应商湖北玻璃钢花盆造型曲阳玻璃钢佛像雕塑玻璃钢雕塑砂岩浮雕上海玻璃钢金属雕塑制作乌海玻璃钢仿铜雕塑四川商场美陈供应商玻璃钢寺庙雕塑制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万