计算机组成原理里面有许许多多的概念,而这些概念需要梳理,更加需要深入地辨析。俺上次吃亏就是因为概念不清,就像打乒乓球,不知道对手出的是什么招,乱接就只能是让球弹出桌外。
这里就有一些老师经常强调的概念,并且是考试的内容:
【主存/内存】计算机能够直接寻址的半导体存储器。
bibodeng:内存的本质是什么? 存储器 但是存储器有很多,半导体?半导体的有DRAM、catch、寄存器等等,显然还不是本质的东西。 我跑去问老师,说catch是不是内存呀?
professor : 主存的本质在于能够直接寻址,而只有半导体存储器适合直接寻址。catch虽然也是一些锁存器组成的,但是它是不能直接寻址的,是需要硬件产生一个相对地址才能访问。而主存不一样,给一个绝对地址,CPU就能访问它了。
【为什么我们的计算机叫做电子计算机?】
bibodeng : 为啥我们平常用的计算机叫做电子计算机?
professor : 所谓电子计算机就是电子驱动运算部件完成运算功能的机器,而将来可能会产生量子计算机,不是用电子驱动,而是用更小的量子能量来驱动。
【为什么要有数据结构?】
bibodeng : 什么是数据结构?为啥要有数据结构,害我们学的好辛苦。
professor : 数据结构(data structure)是计算机中存储、组织的方式。因为计算机里面数据的表示能力有限,有些数据因为结构的原因不能直接进行运算,故而需要用软件的方法实现一种结构,便于运算。这里告诉我们,软件和硬件在逻辑上是等价的。但是数据结构的使用,使得计算机处理更复杂的结构的数据,以解决生活中复杂的问题。辛苦也要学呀!
【什么是指令周期、机器周期、时钟周期?它们之间有什么关系?】
bibodeng : 为什么有这么多的周期,到底怎样能记住它们?
professor :指令周期就是执行一条机器指令所需的时间,在设计CPU的作业中可以知道不同的运算占用的时间是不一样的,即指令周期不同。完成一个基本操作所需的周期数称为机器周期,也叫CPU周期,什么事基本操作呢?就是计算机发出控制一次控制信号所完成的操作。时钟周期则是时钟一个脉冲回归的时间,就像正弦函数那样。
bibodeng : 哦,原来是这样!
【什么是机器指令、微指令、微程序、微操作】
bibodeng : professor,我想知道什么事机器指令,微指令、微程序等等概念,还有他们是怎样的一种关系?
professor :看它们的名字,机器指令就是我们常说的“指令”,就是那些汇编程序员用到的助记码对应的一条指令,能够完成某个运算,比如加法指令ADD。微指令,重在“微”,说它微是因为它是cpu里面的控制器只读寄存器里面的指令,多条微指令有机组合起来就能完成一条指令的功能。而微程序则是由微指令写的程序,若干条微指令组成一个微程序,微程序的执行产生控制信号完成微操作,指令就是考微程序来完成功能的。其实这是一层一层的有机组合,由微指令 ->微程序->指令->程序 。反正就是简单的操作有机组合,这样一层层就有很强大的功能了。
【什么是冯诺依曼机?】
bibodeng : 老师你总是说我们的计算机是基于冯诺依曼的,那什么是冯诺依曼机呢?
professor :冯诺依曼机是采用二进制、且将数据和指令一其存放在内存中的计算机。另外一种是哈佛结构的,即将指令和数据分开存放。
bibodeng : 那么分开存放是说整个字里面(假设有8位),可以同时有指令和数据地址(比如高三位是指令,低五位是数据地址);还是说数据不和指令放到同一个内存里;还是说两者都要满足?
professor : 这个,额,你说呢?当然是第二种了——数据和指令分开存放。问题的根本是在于CPU内部是怎样读取数据的。是读一下指令,然后读数据地址,还是一次性读入一条指令,然后将指令送到指令寄存器,地址送到数据寄存器的问题。故而更加根本的原因是指令码和数据的分开存放,在哈佛结构中,指令解码后将地址送到地址寄存器,然后去另外一个存储器找到数据,而且在读指令的同时能够读数据,提高了速度。甚至整个内存就是catch,不需要catch了,而且节省了时间。各有各的好,不是吗?
【什么是I/O独立编址和统一编址?】
bibodeng : professor,您能告诉我什么是I/O独立编址和统一编址,他们的区别在哪里?
professor :I/O独立编址是指I/O口有自己单独的地址,而统一编址是所有CPU寻址的设备一起编址,I/O接口和内存一视同仁,像内存一样寻址。
bibodeng : professor ,今天就到这里,我过几天再来问,谢谢您!