【计组学习笔记】4.指令系统


一、主存和内存的区别

定义上的区别

  • 主存储器(Main memory),简称主存。是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。现代计算机是为了提高性能,又能兼顾合理的造价,往往采用多级存储体系。

  • 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
    存储系统关系


二、在做题时需要注意的细节

指令设计

  • 基址寄存器和变址寄存器一般都用专用寄存器,而如果用通用寄存器来代替的话,就需要在指令中专门用一个字段来指明使用的是哪一个寄存器
  • 如果题中有提到具体两种及以上的数据寻址方式的话,一定要加一个寻址特征字段
  • 若寻址范围=A+B,则取较大值,即寻址范围=max{A,B},当需要的地址空间大于A和B的任何一个时候,可以采用移位的方式来设计指令,把A作为高位B作为低位(反过来也可以)拼接出一个大地址
  • 在转移指令中(无条件转移、条件转移、子程序调用),EA本身就是操作数,不需要再求(EA)作为操作数

微操作序列、数据通路的写法

  • 微操作序列举例:
    MAR←(PC)
    MDR←M(MAR)
    IR←(MDR)
    PC←(PC)+1
  • 微操作序列+所需的控制信号举例:
    MAR←(PC) PCout,MARin
    MDR←M(MAR) MARout,MemR,MDRinE
    IR←(MDR) MDRout,IRin
    PC←(PC)+1 -
  • 数据通路举例:
  • PC→MAR→主存→MDR→IR

三、指令字长和机器字长、存储字长的关系

  • 指令字长和机器字长没有任何关系
  • 指令字长和存储字长之间没有决定性的关系,但是为了方便一般都把指令字长设置成字节的整数倍或者存储字长的整数倍
  • 机器周期一般取访存一次所需要的时间,因此当指令长度为单字长时,取指周期=机器周期

四、CPU如何区分指令和数据?

  • 答:CPU通过控制器中,指令周期的不同阶段来判断从主存中取出的是指令还是数据,取址阶段取出的是指令,间址或执行阶段取出的是数据(如地址、操作数等)

五、单总线

  • 单总线不能配合单周期
  • 单总线的ALU前面至少要配一个暂存器
  • 与总线之间的信息交换控制元件是三态门

六、对用户透明/非透明的寄存器

  • 透明:IR、MAR、MDR、暂存寄存器
  • 不透明(可见可操作):PC、PSW、通用寄存器

七、

CPU控制方式

  • 同步控制方式
  • 异步控制方式
  • 联合控制方式

数据通路基本结构

  • CPU内部单总线方式
  • CPU内部三总线方式
  • 专用数据通路方式

指令执行方案

  • 单指令周期
  • 多指令周期
  • 流水线方案

八、CPU中的寄存器哪些属于运算器?哪些属于控制器?

  • 属于运算器的:ALU、暂存寄存器、ACC、通用寄存器组、PSW、移位器、CT(计数器,控制乘法运算的步数)
  • 属于控制器的:PC、IR、指令译码器、MAR、MDR、时序系统、微操作信号发生器CU

九、微程序思想的关键之处

  • 指令需要扩充,微指令不需要扩充
  • 对于硬布线的电路来说指令是无脑进,选择交给电路vs而微程序则是根据程序选择接口,把选择的任务交给了程序
  • 时序也是关键要素之一,所有的软件硬件最后的执行都要落实到电路中电信号的传递上面来,但是一个指令里需要完成的效果在电信号传递上依然是可分的,因为它的各部分之间有时序要求,因此时序会参与判断逻辑,但是在微指令中,每个微指令内部一定是时序无关的,时序是在微指令的上层参与判断,但是微指令的硬件设计是在微指令层而非指令层。也就是说,逻辑判断被从硬件部分抽离到了软件部分。也就是说,一切的一切,都是为了简化硬件电路的设计。之前电路为什么复杂,因为设计的电路需要同时承担判断、控制时序,执行等职责,但是经过微指令思想设计之后,判断和控制时序的任务交给了软件,硬件只负责执行,因此电路设计就简单了许多。提高了电路的复用性,并使用松耦合思想,把逻辑判断部分和执行部分分开了。
  • 指令是什么?逻辑上是一串0,1比特,物理上是一组电平信号
  • 执行指令的物理实质是什么?控制信号的逐个发出+对应微操作的逐个执行
  • 硬件思想和软件思想的本质区别在哪?软件到底软在哪里?我认为:“软件是更符合贴合人类思维习惯的硬件”,软件和硬件都是电路语言,都是电信号和电子元件的配合工作,软件在物理上也只是有规律的0,1比特串,不是虚无缥缈的东西,只不过它是更亲近人类的比特串。
  • 为什么微操作不再继续往小划分?因为微操作内部是时间无序的,没有再划分的必要了,也正是因为内部时间无序性这一本质区别导致了微操作这一递归出口(其实电信号的传送严格来说也可以说是时间有序的,因为电信号到达导线前段,到达中段,到达末端这一过程必须是有时间上先后顺序的,但是这种有序性的控制不需要人为控制,而是大自然一早就设置好了的,试想如果电流在电线中的流动并非连续的,而是无规律闪烁,那么就需要进一步的控制器来将它校正成为连续的(但是这个控制器已经不可能再以电原理的器件制造出来了))
  • 在控制信号的逐个发出+对应微操作的逐个执行中,而控制信号的逐个发出需要复杂的译码(逻辑上为译码,物理上为电路判断),然后达到效果(输出控制信号),而微操作的执行过程其实是简单的0,1逻辑判断就达到了效果(输出数据信息),微操作执行看上去是非智能,而由指令到控制信号逐个发出的过程看上去则有一丝智能的意味(所以说智能的组成单元是非智能,智能的人类的组成单元是非智能的神经元,有机物的单元是无机原子,量变就会引起质变?)
  • 软件思想是什么?其实本质上是对硬件电路的抽象复用,也就是硬件里面只设置简单几条线,然后通过对这些线的“有规律的复用”从而达到复杂电路相同的效果,可见软件思想是对硬件设计的减负,是将思考的任务与硬件尽量的分离,代价则是效率的降低,那被分离出来的这部分思考任务由谁来负担呢?是人类吗?显然不是,人类虽然在设计软件的时候耗费了思想劳动,但是当软件运行的时候却是不需要人类的干预的。举个例子,比如说计算机内部计算乘法,乘法是需要机器进行相对复杂的逻辑判断的,如果这个“思考过程”纯由硬件承担,那么就会设计出乘法器这种元件;但是如果把乘法的思考部分分解,分解为加法的抽象复用,那么加法的思考就简单多了(照这种思路,加法思考也可以再通过软件进行抽象,可以一直抽象到0,1比特判断也就是门电路为止),那么抽象复用这一块的思考任务不可能凭空消失了,去了哪里呢?没错,就是被分担到了控制单元CU里面。但是我们现在讨论硬布线和微程序思想恰恰就是CU内部的设计,如果仅仅只用“软件思想”一次简单概括,那么请问,被分担出去的这一部分思考任务还能给谁呢?CU已经是控制的最基本单位了!这次可不能把任务再交给“软”的了,因为你本身就已经是处理所有“软”的东西的最末端了,如果再继续交付下去会没完没了,所以说尽头一定还是“硬”的,但是这样不是又退回去了吗?我们好不容易才把思考任务从“硬”的中给剥离出来,然后你又要交给硬的?这次可不一样,这次是仅仅把人已经思考得到的“一一对应关系”教给了硬件,而不是教他运算的方法,也即“授硬件以鱼”而非“授硬件以渔”,可以这么做的根本支持依据是什么?是“鱼”的种类是少量且有限的!人类完全可以做到先把所有的鱼都提前准备好。再举个例子:人类就是老师,微程序和硬布线是学生,二者都要参加小学一年级数学考试,考试的范围是100以内数的四则运算,老师花费了大量的精力给硬布线教会了100以内数的四则运算,并且教给了它快速的心算技巧,使得硬布线可以在拿到一道题以后在极短的时间内就算出答案;另外一边,老师则直接给微程序给了一个小抄,上面写着100以内所有四则运算的直接答案,到时候考试,微程序只需要从第一个开始往后一一比对,看到一模一样的就抄上去就可以了,但是代价则是速度会慢一些。假如之后数学考试大纲发生改革,还需要学生掌握100以内幂指数的运算,那么对于硬布线来说就需要又花心思去教他这些新的知识,并且还要小心不能影响和改变已经教给他的四则运算思想,但是对于微程序来说则只需要再丢给他一本新的答案书就可以。无论是硬布线思想还是微程序思想,都是需要人类提前预知所有可能的答案,所以说有限性和简单性是必要条件。人类利用自身高于机器的先知性,运用自己的高级智能(相较)来赋予机器一个低级智能核心,然后机器便围绕这个核心开始运转,并演变出各种复杂的操作。从这个角度再回到之前的一个话题,进入CU这个层次以后,就无法再“软”了,那么最末端的硬件“存储程序”的产出其实可以看成是人类这个“软件”所做的工作,那么人类这个“软件”再往深层到神经元以后也就不能再“软”下去,那是不是有种高于人类的“软件”力量利用其更高等的智能来烧刻了人类最初始的“硬”件呢,这个角度颇为有趣,我有两种幻想:第一种幻想,这个更高等的智能是地球、太阳系、银河系甚至整个宇宙,那假设以地球为例,是地球通过其漫长的演化(可看做地球的思考)创造出了DNA这种人类的原始硬件,但是人类通过地球给的东西的抽象复用之后,可以做到地球做不到的事情,比如飞出太阳系,但是显然地球的功能在目前来看也是很多人类无法取代的,这类似于人类创造出计算机,计算机的底层硬件逻辑是人类赋予的,但是计算机通过对它们的抽象复用就可以算出人类很难计算的问题,但是同样人类也有东西是机器无法替代的,假设人类有一天可以“战胜”地球这一自然体,是否也就意味着机器有一天也可以发展到“战胜”人类?可如果把人类看做地球的外化,机器看做人类的外化的话,“战胜”这一概念也就变得不再有意义,这时候取而代之则更像是进化,像是破茧成蝶的变态发育。第二种幻想,这个更高等的智能是上帝,这种想法过于自大,因为“上帝”并不是某种有实际意义的概念,他只是我对于终极规律的一种描述,也就是这种“软件套软件”的“硬件尽头”,照事物的一般规律来看,在向底层进发的路上一般来说会根据性质的不同分为很多层次,像现在这样把人类和终极规律直接接到一起实在是狂妄,但假设以此为前提,再以“人类无法超越终极”的正确性为前提,那么是不是可以说明机器因为某种限制也永远无法超越创造出它的终极——人类呢?哈哈,说远了,其实全是瞎写。
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值