计算机组成原理学习的心得(一)

        由于我是电子商务专业的,非计算机出生,对于计算机基础不够了解,然后自学了一下,有一些感悟如下:

        1)关于存储器中的缓存机制和Hibernate的缓存机制。存储器中分为主存、缓存、辅存。主存用于存储一些CPU常用的地址及数据单元,交换速度快,存储容量相对较小,辅存即外存,包括以下常用的硬磁盘、软磁盘、磁带、光盘等。而缓存是为了提高CPU与主存之间的存取速度、效率而增加的介于主存和缓存之间的存储器。其中缓存又分为一级缓存和二级缓存,一级缓存一般内置在CPU中,二级缓存则介于CPU和主存之间。其中缓存、CPU、主存之间可以互相通信,而辅存则不能直接和主存通信(DMA设计方式除外DMA,,即直接存储器存储directory memory register,它按CPU周期和主存之间直接通信)。缓存主要是为了减少CPU存取一些常用的数据而到主存进行获取的时间,提高CPU的工作效率而存在的。

        Hibernate中的缓存机制是为了提高检索数据库效率而存在的,Hibernate中的 缓存机制也有两级,第一级为Session缓存,是内置的,不能卸载,而第二级缓存则是可插拔的。感觉这种机制和CPU中的缓存机制差不多,只不具体的实现有区别,CPU中的 缓存主要是和主存进行映射,而Hibernate则是缓存一些数据库中的数据。详见(http://blog.csdn.net/lufeng20/article/details/7336348

        2)关于硬盘的组成部分分层和web应用中的分层。硬盘中的组成有三个部分,即控制器、驱动器和盘片。控制器接收CPU或别的命令,并控制驱动器进行数据相关处理,最后到具体的盘面进行写入或读取数据,这和WEB中的分层相类似。WEB中也分为控制层、业务逻辑层、数据层和表示层。只不过web中的表示层在硬盘中没有相关的装置。

        3)关于总线中的I/O连接的接口设置和Java中的接口编程。总线中的接口设置是为了提高CPU的工作效率,因为I/O设备的处理速度和CPU的处理速度一般不一致,CPU会有一段等待时间,这样会影响CPU的工作效率,设置了I/O接口后,可以在CPU与I/O设备之间进行处理,保证速度一致,I/O接口有一定的处理数据的功能。这样设置同时也隔离了I/O设备和CPU之间的直接通讯,符合接口隔离原则。在Java中的接口编程中,接口是为了封装细节,而提供给外部使用者的一个统一的接口,不仅实现了封装而且也进行了接口隔离,降低了耦合性。同时也更有利于拥抱变化,在出现具体的改动时,只改动具体的实现接口类,而接口本身改动较少,客户端调用接口时改动也较少。

没有更多推荐了,返回首页