非常易懂且全面的计算机科学概论知识总结

计算机科学概论(美)布鲁克希尔 这本书非常推荐大家去读一下,作者用非常浅显易懂的语言让你能够对计算机领域有一个全面的认识和了解,我在研一时候读的,这本书让我受益匪浅,对本科学的计算机知识能够串联在一起,也非常适合入门者读,一定物有所值。
我将此书的第11版中文电子版.pdf放到了网盘

链接:https://pan.baidu.com/s/18c4qrHsoF_B1y3zVygtH5g

提取码:a0ki

绪论

  • 算法:就是完成一项任务所需要的步骤

    一旦一个算法被设计出来,那么完成任务就变成了按照指令执行的过程

    所以说计算机的智能限制于算法的智能

     总结
  • 其实计算机就是一个能够存储(主存)并且处理数据(cpu)的一个机器
  • Cpu其实就是能够处理数据(指令也是数据)有着控制电路去完成指令(也就是一种机器语言)所指定的操作----说白了就是读取指令数据,根据指令来操作
  • 然后附加的都是外围设备,比如 海存磁盘,鼠标,键盘,显示器等等----这些靠控制器来控制
  • 然后呢,操作系统就是用户与计算机之间的媒介,用户通过操作系统这个软件来使用计算机这台机器,并完成自己的需求

第一章数据存储


主要讲如何编码和存储
 1.1位和位存储
   1.1.1 布尔运算

  位 0或1
把01看成真与假的话,那么对位的操作就是布尔运算

3个基本的布尔运算:与 或 异或(进行的是逻辑值的运算)

  1.1.2 门和触发器

就是位模式如何存储的

  • 门:可以进行布尔运算的电路
  • 触发器:是更复杂的电路(由门组合而成)—能够产生一个0,1的输出—那么它就可以用来存储二进制位(因为还可以通过改变电脉冲来改变它的输出的值)
   1.1.3位模式的表示

十六进制计数法----就是用来表示位模式

也就是用一个符号来表示4个位(2的4次方=16 16种组合)

另一种表示位模式的方法是点分十进制—一个字节一个10进制的数

 1.2主存储器

主存储器是以称为存储单元的可管理单位组织起来的(一般就是一个字节,8位)

0100 0110

高-----低(最左边是低端位)

那么每个存储单元都有地址(也就是给它的编号),然后顺序排列起来的

除了像触发器那样的存储电路以外,还有就是可以进行读写数据的电路

RAM(random access memory)随机存取存储器----需要拥有刷新电路,具有不稳定性

也就是因为主存的存储单元是独立的有编号的单元,所以它就可以用任何顺序访问存储单元

存储的时候是2的幂会很方便—所以存储的单位是1024

主存储器一般都是电路啊,快速消散电荷啊来存储位的,所以需要刷新电路—就是在1s能够反复的补充电荷很多次

 1.3海量存储器

海存有:磁盘 CD sd卡

首先相比主存,它不是电子器件来存储的,一般也做的是机械(物理运动)

  • 磁盘:磁道 扇区 读写磁头

磁道和扇区的划分不是固定化的----它是通过磁盘格式化来磁化形成的

  • Cd:光学 螺旋式读取数据(所以适合读取连续的数据)

物理记录(就是符合磁盘存储的数据单元) 逻辑记录(实际上信息的单元,比如员工信息)

主存中有缓存区,来保存一部分海存中的文件-----以保证我们是按照逻辑记录来存取

 1.4用位模式表示信息
  1.4.1 文本的存储

其实我们就是把文本看作符号每一个符号都有对应的一个唯一的位模式----这就是编码

这个样子文本就能够用一串位串来表示

但是不同的编码体系,一个符号所对应的位模式也不同

而一个文本也只能呈现一种编码机制

Ascii码一开始一个字符7字节,后来8 再后来出现了unicode—16字节(2^16=65536个字符,可以表示中文等语言)

 1.4.2数值的表示
  • 二进制计数法

为什么不把数值也当作字符存储呢
以25为例,相当于两个字符,需要2个字节,并且2个字节所能表示最大的数是99
而我们使用二进制计数法的话 2个字节可以存储0~65535的任意数字

  • 二进制补码—存储整数
  • 浮点计数法—存储带有分数部分的数
1.4.3图像的表示

点(像素)的集合----位图 rgb编码方式 矢量编码方式

1.4.4 声音的表示

固定时间间隔对声波频率的数据的采集—这个是收录声音

但是电子音乐合成器—是编码了乐器本身,而不是音乐本身

1.5二进制系统

10进制的数如何转换为二进制—求余

  • 二进制系统中的小数

小数点后面分别是 2^-1 2^-2 所以它很难表现0.1这样子的数(就是 10^-1)

  • 二进制补码

使用二进制补码的话,一个加法电路和一个取反电路就可以解决加法和减法的问题了

溢出 不是说位数溢出了,而是说结果不对 比如正正得负

1.6整数存储

一般计算机中整数使用二进制补码记数法来表示

就是比如4位数,就用这4位数的组合来表示整数
在这里插入图片描述

1.7小数的存储

在这里插入图片描述

1.8数据压缩

无损哈夫曼编码,字典编码 和有损

图像压缩----就是GIF(将颜色限制在256色块中)JPEG—就是像素点取平均值

1.9通信差错

奇偶校验位—可以用来检错

纠错编码—既能发现差错,又能纠正差错

注:数字技术模拟技术

数字技术就是:像字符一样单独存储数值的每一位

模拟技术就是:用一连串的位来表示一个数值(也就是一个单元就存储了一个数值

数字技术相比模拟技术对错误 的容忍率更高



第二章数据操作

如何操作数据以及如何与外围设备通信

2.1计算机体系结构
2.1.1CPU基础知识
  • Cpu(central processing unit)中央处理器—控制数据操作的处理器(就是一个小芯片)—包含3个部分
    控制单元(协调机器活动的电路) 算术/逻辑单元(进行运算的电路) 寄存器
  • Cpu和主存储器之间连着一条总线 从主存储器中读取数据到寄存器,进行操作
2.1.2存储程序的概念

一开始要执行的步骤内置于控制单元当中,这个样子步骤更改cpu中的控制单元也得修改(就是对它的电路重新布线)

  • 程序就像数据一样

后来冯诺依曼想出了程序像数据一样也存储在主存中,这个样子就可以读取程序,将指令解码来执行它们然后程序也可以像数据一样很方便的修改

指令构成程序,程序有很多个指令组成

比如一个程序是a+b

那么指令就是:读取a 读取b a和b加法电路 输出结果

寄存器中存放正在使用的数据 主存中是即将用到的数据(数据可能是程序,可能是数据)

CPU高速缓存器:

Cpu****寄存器----cpu的高速缓存器(寄存器的一部分)----主存

主存-----主存的缓存-----海存

在这里插入图片描述

提取 解码 执行 写回

2.2机器语言
  • 机器所能识别的指令----这些指令是由二进制编码的
  • 而指令以及它的编码系统称为机器语言----说明变成指令就是机器语言的形式了
  • 两种CPU体系结构: 复杂指令集 简单指令集
  • Cpu生产者:intel AMD

指令就是一些操作呀,指令一般分为3类(1)控制类(2)算术/逻辑类(3)数据传输类 分别对应的功能是:
(1)指导程序执行 (2)进行运算 (3)请求进行数据的传输(本质是复制)

Cpu所能执行的指令集根据复杂与否可以分为 简单指令集 如 amd
复杂指令集 如intel

指令由操作码和操作数组成,表示了要实现的动作,以及对应的动作更详细的信息

比如 3 5 A 7 (16进制形式)

3表示指令类型为存储 5表示了存储位模式的cpu寄存器 A7表示存储到主存的这个地址中
所以就是:把寄存器5中的数据存储到主存中的A7地址中去

  • Cpu的位数是指什么意思?

32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面32位系统的最大寻址空间是2^32(bit)= 4(GB)左右,就是指它最大能映射到4GB的内存空间,而64位系统的最大寻址空间的寻址空间则达到了2的64次方(bit)=数值大于1亿GB。换而言之,就是说32位系统的处理器最大只支持到4G内存,而64位系统最大支持的内存高 达亿位数。

2.3程序执行

计算机会按照需要把存储器中的指令复制到cpu中(来执行存储器中的程序),cpu再解码指令再执行

就是cpu不断的读取指令,解析指令,并执行

Cpu有两个专用的寄存器:指令寄

  • 35
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值