上次在听到isaac 采访庄秀丽的MP3中记忆很深的一段话,大意是“我会把自己每天做的一些事情记录下来,到一定的时间再去和目标对比下,这样的回顾会让我知道我为了这个目标曾做过写什么,过程是怎样的,而不会达到了或未达到一个目标,但却忘记了过程是怎样的了”
很幸运这个学期能跟董老师重修以前学过的《计算机体系结构》这门课程,下面是我的课堂笔记,且当作自己在记录一些学习的过程。体系结构以前自学过(其实所有的计算机课程都是我自学的,我的本科就是自考),个人的感觉是:自学可以掌握这门课程,但有一位好的老师指导能让你事半功倍,他能让你知其然还能知其所以然,开始的第一堂课董老师就说过我们的知识结构的缺陷是知识在我们的脑里是一块一块的,没有形成一个整体,希望通过选修他的课程能改变我目前的这个现状。
【课程笔记】计算机体系结构一
1:计算机的能力基本上仅仅是判断,之所以可以做运算是二进制与布尔代数的完美结合。
2:由于二进制语义的不确定,同一个对象可以由不同的二进制表示。
3:计算机体系结构是执行一类算法的计算环境。
4:算法是一个能行的过程。
体系结构:
l 应用层
l 配置层
l 组织层
l 结构层
结构层:为一个计算环境定义它的框架性的结构。
一:字长:计算环境的规模;
怎么确定字长
l 字长所能表示的数值范围
l 性价比
l 计算的精度
l 直接寻址的能力
“多值逻辑”“三值逻辑”
二:存储系统
1. 寄存器文件
2. 一级缓存
3. 二级缓存
4. 三级缓存
5. 主存储器
6. 磁盘
7. 磁带
8. 磁带库
三:功能部件
逻辑门尽量少,连线不限(过去)―――――逻辑门尽量多,连线尽量少(目前)
四:定义指令集
如果不考虑效率,用:加、传送、求发、移位四种指令即可。
任何一台计算机的指令,必须包含以下语义:
1. 包含语义
2. 操作语义
3. 控制语义
4. 存取语义
五:中断
中断的优先级,中断的处理方式
六:输入/输出
I/O是计算机的天然瓶颈
组织层:如何把已经存在的系统成分组织成一个整体的内联系的系统。
1. 单总线:地址线、数据线、控制线。
缺陷:计算机执行程序70%是在访问存储器,不该把CPU和主存挂在总线上。解决方法:双总线
2. 双总线
缺陷:主存和I/O之间无联系,导致I/O不能直接访问主存。解决方法:DMA方式
3. DMA方式
在主存与I/O之间DMA,缺陷:随着外设的增多,总线的宽度越来越不够用,导致消息拥塞。解决方法:多总线结构
4. 多总线结构:缺陷,带宽的限制,使总线方法走到了尽头。解决方法:正交开关
5. 正交其它:正交开关(多用于军方)、二维网(曙光2000、3000)、三维环网(银河三型)、胖树(银河四型)
配置层:
OS――裁减――链接――用户OS
通道号――组号――设备号
应用层
计算机运行的模式
批处理――假脱机――分时――虚拟――多道程序设计――交互
1946 195* 196* 197* 198* 199*
批处理:内存中常驻一个作业(JOB)
假脱机:CPU――外围处理机――外围设备
分时:既多任务,一个作业下的任务,既单用户,多任务。
进程――线程――轻线程
线程的资源从进程中继承过来,OS不再为线程分配
轻线程:最小调度单位
时间的划分对进程划分
继承层次:越多造成资源冲突,调度算法压力大
问题:有限的内存空间不够
主存=OS常驻内存+外设工作区+终端数量及工作区+常用软件+常驻作业、进程数量
虚拟
开始虚拟空间――虚拟CPU?虚拟机,时间片轮转,多用户共享CPU
如何决定虚拟空间的大小?
实空间运行的效率:虚空间运行的效率=1:0.8 V/R=1.3~1.4(0.1留给OS管理虚拟空间的效率)
多道程序设计
控制类模型、数据类模型、
交互:人机界面
计算分类:
1. 科学和工程应用:特点:计算量大、数据量不一定大、指数型、要求精度高
2. 数据处理:特点:计算量小、数据量大、精度要求不高、多媒体
3. 实时处理:实时控制。要求:速度快
应用设计:1:文件组织2:作业多重度3:地址空间的分配
高性能的计算机所要追求的六大特性:(三高,三低)
1. RAS :安全性,可收缩性
2. P/C:高的性价比
3. 吞吐量大
4. 不平衡性低
5. 开销低
6. 作业运行时间低
可以将这种情况形象的形容为一只乌龟,RAS是它的头,性价比是它的左前脚,吞吐量是它的右前脚,不平衡性是它的尾巴,作业运行时间低和低开销分别是它的左右后腿。它努力想爬,但却怎么也爬不动,应为有四个它永远无法突破的限制
l 限制一:1823年,Chares Banbage 的理论
l 限制二:1945年冯。诺依曼的理论限制
l 限制三:1936年图灵理论
l 限制四:1845年的boole逻辑学理论
下次的笔记主要就是讲上面提到的这四个限制,这个四个限制是比较震撼我的,以前学这门课的时候从来没有从这个角度考虑过。