这周看了一下唐朔飞计算机组成原理,看的比较粗略,但大概知道计算机组成原理讲的是什么东西啦,现在做一下笔记。记录个这本书大概的内容框架。
第一章:讲计算机的系统概论,我很快的过去了,不过有一点仔细看了就是
计算机体系结构和计算机组成原理的区别:计算机体系结构讲的是机器的属性,功能等抽象性概念,而组成原理讲的是如何实现这些属性和功能。比如一台机器是否具有乘法指令这一功能属于计算机体系结构的内容,而是采用乘法电路还是加法电路实现这个乘法功能属于计算机组成原理的内容。这也算是解答了我的一点疑惑吧。
第二章:计算机的发展与应用(略)
第三章:系统总线
什么是总线?为什么要有总线?
总线是连接多个部件之间的公共信息传输线。为什么要有总线?我的理解是早期采用分散连接方式,如果计算机增加一个外设,那你就必须给这个外设和CPU,主存建立连线,设备越来越多,就得单独的加越来越多的连线。也就越来越复杂。采用总线连接可以很大程度减少复杂度,将所有的部件的信息传输都放在一组公共路线当中,你需要添加或减少外设只需让设备接入或断开总线即可。打个比方就是这里有许多村落,村子之间需要两两需要联通,你可以两两之间修一条路,也可以修一条大马路,然后每个村子修条路接通大马路。哪个更加方便省力不言而喻了吧。
一、总线分类:
不同角度有分类不同
1.连接部件不同:
片内总线:芯片内部的总线。如在CPU内部,寄存器与寄存器之间,寄存器与算逻单元ALU之间都采用片内总线。
系统总线:指CPU、主存、I/O设备各大部件之间的信息传输线。
然后系统总线的分类:
按传输信息内容的不同:
1、数据总线:传输数据信息,双向
2、地址总线:传输地址信息,由CPU输出,单向
3、控制总线:传输各种控制信号,对于单根线来说是单向传输,总体来看是双向传输。
二、关于总线结构:
总线结构有单总线结构,双总线结构,多总线结构,还有以CPU为中心的多总线结构,也有以存储器为中心的总线结构。
三、总线判优控制
如果多个主设备同时要使用总线的话,就要有总线控制器判优、仲裁逻辑来按一定顺序确定设备使用总线的先后。方法有:
1、链式查询
2、计数器定时查询
3、独立请求方式查询
第四章:存储器
讲了一些存储器的分类,什么按介质分类有半导体、磁性材料、光盘存储器。
按存取方式分类有随机存储器(RAM)、只读存储器(ROM)等
按在计算机中的作用不同有:主存,缓存,辅助存储器
比较重要的就是存储器的层次结构啦吧
总要有缓存--主存和主存--辅存两个层次结构
缓存--主存解决的是CPU和主存速度不匹配的问题。由于缓存的速度比主存高,只要将CPU近期需要调用的数据提前存入缓存,CPU就能直接从缓存中获取信息,提高访问存储速度。
主存--辅存解决的是容量问题。辅存的速度比主存低且不能和CPU进行数据交换但是容量大,当CPU需要用到辅存信息时提前将其放入主存中。
从CPU角度看,缓存--主存这一层次的速度接近缓存,容量接近主存。主存--辅存这一层次速度接近主存,容量接近辅存。计算机的这种层次结构很好的缓解了速度,容量,价格之间的矛盾。
然后在主存--辅存这一层次的不断发展中,产生了虚拟存储系统。在这个系统中程序员可以使用的内存空间要比实际内存空间大的多。
还有就是高速缓冲存储器Cache的工作原理吧
为什么可以利用CACHE提高访问速度呢?
因为通过大量典型程序分析发现CPU在从主存取指令或者数据时,在一定时间内只是对主存局部地址区域的访问,即指令和数据在主存的位置不是随机的而是相对的簇聚,使得CPU在访问时具有相对的局部性。也就是程序访问的局部性原理。
Cache在和主存进行数据交换的时候是按块进行的,块的大小主存和Cache一样大,但是主存的块数更多。任何时刻都有一些主存的块存放在Cache中。CPU先从Cache中提取数据,如果Cache中有,则称为命中。否则不命中,则需要将给数据所在的主存块调入Cache中。
评价Cache有个指标便是命中率。
当高速缓存Cache满了时,但是CPU访问数据时还是未命中这时候就需要替换策略将Cache中的某块替换出去,替换策略有:
1、先进先出算法。
2、近期最少使用。
3、随机法。
第五章:输入输出系统
输入输出系统的发展:
1、早期阶段:I/O设备较少,与主存交换信息都必须通过CPU。
2、接口模块和DMA阶段
3、通道结构阶段
4、具有I/O处理机阶段
主要讲第二个阶段
1、I/O设备的编址方式:讲IO设备码看成地址码,对IO设备地址码编码有两种方式,即统一编码和不统一编码。统一编码就是将IO地址看成存储器地址的一部分。例如将64K地址的存储空间划出8K作为设备的地址。凡是在这8K地址范围内的访问就是对IO设别的访问。非统一编码就是指IO地址和设备地址是分开的,所有对IO设备的访问都必须有专用的IO指令。
2、IO设备和主机信息传送的控制方式。
1、程序查询方式
程序查询方式是由CPU通过程序不断查询IO设备是否已经做好准备,从而控制IO设备与主机交换信息。即只要CPU启动IO设备,便停止执行原有程序,转入执行查询程序,不断查询IO设备是否已经做好准备。若查得IO设备未准备就绪,就继续查询,若查得IO设备准备就绪就将数据从IO接口送至CPU,再由CPU送至主存。这样一个一个字节传送,直至这个数据块的内容全部传送完毕,CPU又重新回到原有程序执行。
这种工作方式CPU和IO设备处于串行工作状态,CPU效率不高。
2、程序中断方式
CPU在启动IO设备后,不查询设备是否已经准备就绪,继续执行自身程序,只是当IO设备准备就绪并向CPU发送中断指令后才予以响应。响应后执行中断处理程序,处理完之后返回原程序断点继续执行。这就是程序中断方式。可以大大提高CPU执行效率。
3、DMA方式(直接存储器存取方式)
第六章:计算机的运算方法
主要讲了计算机中数的表示,计算机数的乘法运算怎么计算的等等。。。这部分我没细看,就这样吧
第七章:指令系统
之前看了汇编的指令系统,这个就没看了需要时候在细看。
第八章:CPU的结构和功能
里面有CPU 的结构,功能等知识,还有指令周期,指令流水等概念以后再细看
第九章:控制单元的功能
第十章:控制单元的设计
总结:这次是带着粗略过的心态看的,毕竟现在还用不到,到时候需要的话再深究。如有不当之处欢迎指出。