计算机知识学习——计算机组成原理

学习资源:http://blog.csdn.net/zhangyuan19880606/article/details/51258759

作者:Cascade
链接:https://www.zhihu.com/question/20706264/answer/17004815
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这门课绝对算是我四年里学过的最有意义的课程之一。如何学好不大清楚,只能说说我的感受。

学这门课程之前,要先忘掉这门课程名字中的“计算机”三个字。每节课,每个课程阶段都会介绍一种电路。从简单到复杂,从开关到ALU。每个阶段做出来的东西看起来都和“计算机”没什么关系,除了他们都能存储和运算。但是会很清楚的了解到每个阶段做出来的东西其实完全没有“存储”和“运算”功能。他们只不过是一种电路的状态,或者通过一个信号,控制另一部分电路的状态。由于很简单,很容易弄清楚这个东西是如何工作的。最后把所有东西拼成一块CPU的时候,就像你趴在地上拼拼图,拼完最后一块起身俯视的感觉。会了解到高低电平是如何通过各种门电路变成数据,变成屏幕上花花绿绿的程序的。这就是所谓的“原理”。

这门课完全可以用一个词来概括,就是“抽象”。在我看来这也是整个计算机设计中所蕴含的的灵魂。

其实一个门电路完全不知道自己在做什么,不过是按照电气特性把高电平变成低电平,低电平变成高电平。是人们把这些不同的状态抽象出0和1的概念,然后从中产生了“逻辑门”。并用此来表达逻辑运算,然后用这些逻辑运算去表示二进制的数值运算,再把这些运算组合起来,用一组开关来启动,就有了一条指令,最终把这些简单的电路变成了CPU。整个过程不过是一层一层的抽象。上层依赖于下层所提供的功能与意义,完成本身的功能同时又提供了更高层次的抽象。最后你从上挖到下,最底下的一层根本找不到什么0或1 。包括操作系统和各种协议,绝大部分计算机相关的东西都是这么一层层抽象出来的。这就是“计算机”“组成”的“原理”。

友情提示,理论课可以逃,但实验课绝对不能逃。不知道你们的实验课做的是什么,我们是用VHDL写程序,然后烧到一个FPGA试验台里面。由于我的理论课老师每次课程要花至少三分之二的时间给我们讲西游记的处世哲学,所以我基本没怎么上过。但实验课一次没逃过,就算因故缺勤也会自己找老师补上。我感觉算法也好,理论也好,玩具也好,如果自己不亲自拆一遍再装回去,就没办法深刻理解它们是怎么跑起来的。

http://spoc.wzu.edu.cn/portal/course/1408/5705.mooc

目录

导论

寄存器和运算器

内存读写操作

数据通路综合练习

内存读写操作的微指令实现

寄存器读写及机器指令的微程序实现

微程序相关概念及指令系统

指令系统的寻访方式

并行技术与流水CPU

指令系统与中央处理器

冯诺伊曼结构

#表示负逻辑,0有效,1无效;带T的信号要与时序脉冲(QD)配合才能生效

 初始化:关闭所有的总线信号;关闭所有的写入信号

第二节课      内存读写操作的微指令实现

原文地址:https://www.cnblogs.com/fangfang66/p/8550024.html