计算机组成原理1——计算机:机械到智能的发展

182 阅读7分钟

本系列文章是学习了网课《哈尔滨工业大学--计算机组成原理》之后,用以梳理思路而整理的听课笔记及相关思维拓展。本文涉及到的观点均为个人观点,如有不同意见,欢迎在评论区讨论。

自动织布机——第一台计算机?

我认为的计算机特点、优点:

1、输入能源后,依据设定的逻辑和输入,执行动作

2、可以进行大量重复性的动作

3、等等

而且在200年前就有人设计出了能够满足1和2的机器,它是一台自动织布机。

在1799年,法国发明家约瑟夫·玛丽·雅卡尔发明了一台自动织布机

1、先确认好想要织的图案;

2、设计好每条线的走线,在纸片上做好对应的打孔;

3、纸卡连成长条,形成连续指令;

4、采用动力装置提供动力,织布机按照卡片长条不断循环执行就行了。

这么听起来是不是和现代计算机有些许类似的地方。

雅卡尔的穿孔纸带提花机

图片源自: www.sohu.com/a/385256822…

机械式计算机系统——IBM穿孔卡片制表系统

这个历史故事,在关于计算机发展介绍里面都会看到。

1890年,美国要做人口普查,但是人工统计要13年,人口普查才10年一次;所以IBM公司制作了一个机械式的计算机,通过卡带

自动统计人口相关数据,将普查的统计时间缩短到了两年半(警觉)。卡带将个人的婚姻、性别等信息记录下来。就婚姻来说,比如说

打孔代表没有结婚;没有打孔代表结婚。该机器检测到婚姻那一列时,如果是没有打孔,就在结婚统计数据上加一,以此类推。

与人工速度相比,该机器将统计速度加快了10倍(好像没有想象中的那么快,而且应该是一台机器与一定数量的人的工作速度做对比)。

这种穿孔卡片系统一直用到20世纪中期,实际上IBM在21实际初仍然在推出穿孔卡片存储系统(为了数据保存的够久,用磁、纸片、玻璃(玻璃稳定性好、但是易碎)等方式保存,这些材质能够保存的数据可能远超你的想象,这里不做展开)。

图灵机

以上两个例子,有点类似于对特定问题的有限状态机。自动织布机完全按照设定顺序执行,卡片制表系统根据输入,进行统计但是不涉及对内容的操作,但是仅此而已。

youtube上看到的对图灵机说明最好的一个:www.youtube.com/watch?v=PLV…

Crash Cource对图灵机的说明:www.youtube.com/watch?v=7Ty…

B站上转载的Crash Cource对图灵机的说明:BV1EW411u7th wiki上对图灵机的说明:zh.wikipedia.org/wiki/%E5%9B…

图灵机和有限状态机的对比:blog.csdn.net/wsn_ipv6/ar…

图灵机实机演示: www.youtube.com/watch?v=gJQ… youtu.be/E3keLeMwfHY

图灵机,我结合以上的说法和我的理解,感觉是模拟人处理问题的过程(下面也是照搬第一个youtube的解释):

你在做一项很简单的重复性劳动,比如说现在每个家庭要摘苹果,摘下来的苹果也会自己吃但是不清楚吃多少,摘多少也不知道,每个家庭三个人,统计一天每个家庭的剩余苹果。 现在让你拿一张纸来统计,第一个家庭来了,首先说摘了多少,然后你写上;然后说吃了多少,你再在纸上做修正;有时候说错了,你还要修改;有时候说慢了,你要等;然后你一个一个统计直到所有家庭的统计结束。

图灵构造的计算模型可以实现上述“人形计算机”的工作过程 1、机器遵循逻辑(程序) 2、机器可以在纸上写、修改 3、机器有自己的状态,接收输入,进行切换 4、机器处理完成以后,自己停机

这看上去图灵机只是处理了统计苹果的问题,但是图灵机它有自己的内存,你可以不断的修改它的规则(程序)让其处理不同的问题。比如你编写了一个加法程序,图灵机可以作为通用计算机的地方在于,你可以不断的编写程序(修改规则),当需要乘法时,图灵机只需要将程序切换到乘法即可。在任意一台图灵机上,你都可以使用以上程序。

对比有限状态机,有限状态机没有内存的概念,也就是没有存储这个概念,它可能可以用来判断输入的0和1是奇数还是偶数,但是它不能比较0和1的数量哪个多,这是因为内存概念导致的有限状态机的一个限制。另一个有限状态机的状态也是有限的,图灵机的修改这个点,可以让图灵机在运行时能够产生更多的情况,可以用于更加复杂的计算中,而让有限状态机来做这一点是过于复杂的。

冯·诺伊曼计算机

这里直接套用书中的话:

冯诺伊曼计算机有“存储程序”的概念,依此概念为基础的各类计算机通称为冯诺伊曼机。特点如下: 1、计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。 2、指令和数据以同等地位存放在存储器内,并可以按照地址访存(存储的概念,通用机) 3、指令和数据均用二进制数表示 4、指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置 5、指令在存储器内按顺序存放, 6、机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成

典型的冯诺依曼计算机结构框图,如下: 在这里插入图片描述

现代计算机

其它技术的计算机

以下几种类型计算机的参考:blog.csdn.net/wsn_ipv6/ar…

光子计算机

量子计算机

生物计算机

书中重点概念

1、计算机系统的层次结构

在这里插入图片描述

2、计算机硬件框图

在这里插入图片描述

3、需要注意的概念

1、存储元件、存储基元、存储元、. 存储单元、存储字、存储字长 存储元件(存储元、存储基元):存放一个二进制代码“0” 或 “1” 存储单元:存储一串二进制代码,或者说存储一个存储字的所有存储元集合 存储字:存放在一个存储单元中的二进制代码组合 存储字长:存放在一个存储单元中的二进制代码位数

2、机器字长、指令字长、存储字长 机器字长:CPU一次能处理的数据的位数 指令字长:机器指令中二进制代码的总位数 存储字长:存储单元中存放的二进制代码的总位数

4、常见术语简写

中央处理器,CPU:Central Processing Unit

程序计数器,PC:Program Counter

指令寄存器,IR:Instruction Register

控制单元,CU:Control Unit

算数逻辑单元,ALU:Arithmetic Logic Unit

累加器,ACC:Accumulator

乘商寄存器,MQ:Multiplier-Quotient Register

寄存器地址寄存器,MAR:Memory Adress Register

寄存器数据寄存器,MDR:Memory Data Register

主寄存器,MM:Memory Register

课后习题

1、以加法指令ADD M(M为主存地址)为例,写出该指令的信息流程

取指令:PC -> MAR -> M -> MDR -> IR

分析指令:OP(IP) -> CU

执行指令:Ad(IR) -> MAR -> M -> MDR -> X

ACC -> ALU,同时X ->ALU

ALU -> ACC