计算机科学导论第三版 1-5章随笔

下笔前,我在思考,到底随笔要写什么。计算机科学和人文文章,有诸多区别。我们日常接触的新闻媒体,文章,往往有固定的主题,很多文字,是不言自明的。也就是说废话很多。然后,技术书籍,它也有主题,主题确是非常的抽象,它的组成,是一个又一个知识点组成。这些知识点,属于“复合对象”,理解它们比较困难。

知识体系,相当于搭建积木,上层(较高抽象)需要下层(较低抽象)支撑。日常生活接触到的知识,层次相对较少;技术书籍的知识,层次相对较高。

这意味着,技术书籍,要解析很多个知识点,才能达到"由浅入深"。而我写随笔,自然不可能把知识点都解析通透。我的目的是加深记忆和理解,所以说我的随便要精练。

方式方法,在于只描述自己印象不深的点,重点。

我的随笔,定下一个基调:广度优先,重点知识就深度讲解。

 

阿兰.图灵1937年提出了图灵机,图灵机可以做任何可以计算的任务。一个黑盒程序,有输入输出。 特定的输入,有稳定的输出;特定的程序,相同的输入,有不同的输出。

冯诺依曼模型1944年提出。感觉它更像图灵机的具体实现。有4个子模块:存储器、算术逻辑单元、控制单元、输入输出设备。程序是一个有限的指令集合,顺序执行。

计算机的组成,包括硬件,数据,软件。

按步骤解决问题的方法,也就是算法。

诞生了操作系统,它是隔离软件和硬件的中间层。分离出内核态,用户态。

计算机的历史有很久了。

机械计算机器

17世界,著名数学家和物理学家布莱斯·帕斯卡发明了Pascsline,可用于加减运算。20世纪Nikalaus Wirth发明了Pascal程序语言,纪念这位学者。

Gottfried Leibnitz 特佛里德·莱布尼兹发明了加减乘除的计算机,称为Leibnitz’s Wheel

1823年,查尔斯·巴比奇发明了差分引擎,可以加减乘除,解多项式

电子计算机器

早期计算机,程序没有在存储器上。1939年,发明的机器可以实现解线程方程。

1930年,美国海军和IBM公司联合哈佛大学,建造了Mark I巨型计算机,既有电子部件,也有机械部件。

第一台通用,完全电子的计算机由约翰·莫奇勒,ENIAC

 

第一台冯诺依曼思想的计算机,是在1950年宾夕法尼亚大学诞生,名为EDVAC。

 

1950年,电子计算机逐渐发展,产生了5代,第一代材料是真空管,第二代是晶体管,第三代是集成电路,第4代是微型计算机,集成在电路板上,第5代可以说是移动时代。

计算机的发展,现在是2019年,满打满算,也就70年时间,已经发展到移动时代了。这在我的过去的认识当中,是难以想象的。1950年,新中国才刚建立,西方列强的计算机也就是这么简陋。到我出生时,是1990年,java语言还没诞生。想不打,在学校的时候,还是C++,asp.net, c#。而现在,java语言似乎一直都是编程语言的冠军。其实也没几年。我毕业到现在,经历了移动互联网,大数据,人工智能,分布式计算,未来几年,还是5G的时代,人工智能的时代。技术发展,确实是日新月异。前2年,我对自己很没有信心,因为自己是大学后再接触计算机的,前几年迷茫中度过,感觉自己永远追不上哪些起点比我高的人。现在看来,技术发展很快,其实学习技术也没想象中困难。花个2年时间,把基础打牢,跟上时代,有一番作为,也是很明确可以达到的。我看到的一些例子,也是可以做到的。

 

计算机的发展,深刻影响社会。大体有几点:社会不公平。有资源的人,掌握计算机知识,远远凌驾于缺乏机会认识计算机的群体;信息交流,出现割裂,比如有些人,只看抖音,快手,有些人,偏向看新闻,军事,人文。最后导致大家的思想不一致。

犯罪问题也是与日俱增。公民信息安全,信息泄露,骗局横生。利用信息不对称,谋取个人私利。计算机易于信息传播,不利于保护版权。

种种问题,只能说。社会由各个组织组成,我们只管发展计算机,对社会的影响,由政府部门去规划吧,分工明确。

 

第二章 数字系统

非位置化和位置化数字系统。

位置化数字系统,数字所处的位置决定了其表示的值。

如10进制,2进制,8进制,16进制。会介绍各种进制之间的转换。值得注意的是,二进制转16进制,转8进制都很方便。

2进制,8进制,16进制转10进制都很方便。

非位置化数字系统,没有应用到计算机中。比如罗马数字

 

第三章 数字存储

这章帮助理解,数据有哪些类型,是如何存储到计算机的。

数据主要包含 文本,数字,声音,视频,图像。简称多媒体。

bit 位是计算机存储的最小单位。表示两种状态,0,1.

位模式来存储数据。

 

存储数字有两种,定点和浮点。定点存储整数,浮点存储实数。

无符号表示法,有符号表示法。是最高位,用于表示符号位。0代表正,1代表负

符号加绝对值表示法,最高位符号,其他用绝对值表示。这种表示法,有正负0。不用于存储整数,常用于存储部分实数。

二进制补码表示法 正数,原样存储,负数,用补码表示。补码计算方式:取反码后加1.两次补码,还是原样。

 

带有很大的整数部分或很小的小数部分的实数,不应该使用定点表示法。

浮点表示法,代表小数点是可以移动的。由符号,位移量,定点数表示。

余码系统。余127码,余1024码,比较难理解。用到再看

 

文本也是用位模式表示。主要就是把符号编成特定的数字.ASCII美国信息标准交换码。unicode编码。

存储音频。音频是连续的,存储方式是采样。每秒4万个样本。使用无符号数来量化,采样的数据。MP3格式

存储图像,主要分光栅图,矢量图。用三原色表示一个颜色。采用JPEG.

视频是图像在时间上的表示。图像此时成为帧。

 

 

第4章,数据运算

逻辑运算、算术运算、移位运算

布尔代数,乔治·布尔发明的,属于逻辑的特殊数学运算。包含4中操作非(NOT),与(and),或(or),异或(XOR)

模式层次的逻辑运算,简单来说,对于n位的二进制,两个位模式,一一对应,使用逻辑运算,然后得到结果。

 

移位运算,改变位的位置,向左或者向右移动。分为逻辑移位运算,算术移位运算

逻辑右位移,最高位补0

逻辑左位移,最低位补0

逻辑位移,可以理解为不是整数,单纯是移动,然后用0补位

 

算术右移,不改变符号位,相当于除以2;

算术左移,丢弃符号位,但是最终的符号位要和原来一致,否则发生上溢或者下溢

 

算术运算,包含加减乘除,适用于整数和浮点数。

补码可以将减法变成加法运算。

实数的加减法有点难理解,留给下次细看这本书时候再熟悉。

 

第5章 计算机组成

计算机可以分为三大系统:中央处理单元,主存储器、输入输出子系统。组成一台计算机。

CPU一般由算术逻辑单元(ALU),控制单元、寄存器组、快速存储定位

ALU可以执行逻辑,算术,移位等运算。

寄存器是存放临时数据的高速独立的存储单元。包括数据存储器,指令存储器,程序计数器(这个和java内存模型中的,是不是同一个?)。

 

主存储器

我理解是我们的内存条

是存储单元的集合,每一个存储单元都有唯一的地址。内存地址用无符号二进制数表示

RAM 随机存取存储器。可以方便的读写数据,然而断电后就会消失

ROM只读存储器 由开发商写入,用户只能读。往往用于存储开机需要的信息

PROM 可编程只读存储器 只能写一次,然后就只能读

CPU和内存之间,由于处理速度的不一致,所以需要缓冲。

寄存器 > 高速缓冲存储器 > 主存

 

输入输出子系统

主要包含非存储设备 和 存储设备

键盘鼠标 ,显示器,打印机等非存储

存储设备,廉价,不易丢失,材料主要包括磁介质,光介质

磁介质,主要是磁盘,磁带

光介质,主要是CD-ROM DVD

 

子系统间的互联

Cpu和内存 ,通过3种总线:地址总线,数据总线,控制总线

输入输出设备 要链接cpu和主存,需要控制器(接口)作为中介。每一个设备,都要对应的接口,链接子系统。

接口有SCSI,火线,USB,HDMI

CPU和输入输出设备进行寻址,有两种:I/O独立寻址, I/O存储器映射寻址

程序和数据,都放在内存上

 

机器周期,包含3步骤:取指令,译码,执行

输入输出设备速度较慢,cpu需要获取数据,则需要做同步。

同步的方式有3种:

1。程序控制输入输出,CPU等待IO设备,意味着cpu轮训IO状态,比较浪费CPU

2.中断控制输入输出 CPU通知IO设备传输,然后cpu干其他事,当IO设备完成时,通知cpu

3.直接存储器存取,需要一个DMA控制器,数据不通过cpu传输数据。kafka的所谓的zero拷贝,难道是通过这种方式?

 

CISC 复杂指令集计算机,奔腾系列处理器

RISC精简指令集计算机 复杂的指定通过简单的指令模拟

流水线,并行处理,在CPU层面上,比较难理解。指令流,数据流。

计算机CPU处理指令的方式,

内存中区分指令区和数据区。cpu从内存中获取指令,存到指令寄存器,解析指令,从内存数据区获取data到数据寄存器,然后根据指令,进行数据的操作。当一条指令完成,通过程序计数器,获取下一条指令,进而完成程序的run

 

 

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值