计算机系统概论要点记录--2个重要理念及7层转换
2016-08-30 10:57
190 查看
两个反复出现的重要理念
1. 抽象
2. 脑子里不要对软件和硬件做任何区分
学会“抽象”是个重要的进步,它让我们站在更高的层次看问题,从而将事物的本质表现出来,而将其细节隐藏;它让我们更有效的使用大脑,提升工作效率。
但是如果事物出现问题,要想发现问题所在,就必须深入到每个组成的实现细节里去——分解抽象。
如果我们不需要将一个组件和其他的东西相结合,以构建更大的系统,那么将认识停留在抽象层面就万事大吉了。但事实上,我们肯定需要将这些组件拼装成更大的系统,而这些组件在一起工作的时候,也难免会出错误。
因此实际工作中,抽象与分解抽象,总是伴随存在。
脑子里不要对软件和硬件做任何区分,它们只是计算机系统中两个组成部分的名称而已;对设计者来说,将计算机的某个功能划分给哪部分实现,以及它们之间如何协同工作,原则只有一个:让计算机工作得最棒!
比如历史上,intel处理器的设计者就意识到,未来的程序将包含大量的视频信息,所以在他们设计的处理器中,内嵌了专用视频处理硬件,为此intel提出了MMX指令集及MMX专用执行硬件。
个人感想:“软件最后总要转换成cpu可执行的指令,而指令就对应着硬件,要么有专用的执行硬件,要么是间接的执行硬件,比如历史上早期是没有乘法器的,所有的乘法工作都转换成加法(间接执行硬件),后来为了提高效率,研究出了专用的乘法器(专用执行硬件)。自己以前想既然mmx,sse那么厉害,增加几十条指令就提高效率,为什么不增加个几百条呢?太蠢了”
两个重要的思想
1. 所有的计算机,不管是大的还是小的,快的还是慢的,贵的还是廉价的,只要给予足够的时间和内存,它们所能完成的计算任务是相同的。这就是阿兰图灵的思想——通用计算。
2. 我们用英语或者其他语言给出一个问题,然而计算机却能通过电子运转来解决这个问题。看起来不可思议,但却被成功解决了。
从用自然语言对问题进行描述开始,直到电子的实际运转,之间要经历多个层次的转换。在转换过程中,每一层的实现又都存在很多选择方案。
算法:确定性、可计算性、有限性。不同的算法可以描述同一个问题。
语言:高级语言与汇编语言相比,也不能向底层表述更多的计算方式,它们都被转换为特定机器的指令集。
指令集:不同的ISA定义的操作类型、数据类型和寻址模式的数目都是不同的。有的ISA只有几个操作类型,有的ISA有上百个;有的ISA只有一种数据类型,有的则有几十种;有的ISA只有一两种寻址模式,有的则有20多种。
微结构: 实现指令集的具体组织被称为微结构,同一个ISA,具体实现的微结构方案不同。
逻辑电路:微结构最终是由一组简单的逻辑电路实现,同一个微结构,具体实现的电路方案不同。
器件:每个逻辑电路,都是按照特定的器件技术来实现的。
1. 抽象
2. 脑子里不要对软件和硬件做任何区分
学会“抽象”是个重要的进步,它让我们站在更高的层次看问题,从而将事物的本质表现出来,而将其细节隐藏;它让我们更有效的使用大脑,提升工作效率。
但是如果事物出现问题,要想发现问题所在,就必须深入到每个组成的实现细节里去——分解抽象。
如果我们不需要将一个组件和其他的东西相结合,以构建更大的系统,那么将认识停留在抽象层面就万事大吉了。但事实上,我们肯定需要将这些组件拼装成更大的系统,而这些组件在一起工作的时候,也难免会出错误。
因此实际工作中,抽象与分解抽象,总是伴随存在。
脑子里不要对软件和硬件做任何区分,它们只是计算机系统中两个组成部分的名称而已;对设计者来说,将计算机的某个功能划分给哪部分实现,以及它们之间如何协同工作,原则只有一个:让计算机工作得最棒!
比如历史上,intel处理器的设计者就意识到,未来的程序将包含大量的视频信息,所以在他们设计的处理器中,内嵌了专用视频处理硬件,为此intel提出了MMX指令集及MMX专用执行硬件。
个人感想:“软件最后总要转换成cpu可执行的指令,而指令就对应着硬件,要么有专用的执行硬件,要么是间接的执行硬件,比如历史上早期是没有乘法器的,所有的乘法工作都转换成加法(间接执行硬件),后来为了提高效率,研究出了专用的乘法器(专用执行硬件)。自己以前想既然mmx,sse那么厉害,增加几十条指令就提高效率,为什么不增加个几百条呢?太蠢了”
两个重要的思想
1. 所有的计算机,不管是大的还是小的,快的还是慢的,贵的还是廉价的,只要给予足够的时间和内存,它们所能完成的计算任务是相同的。这就是阿兰图灵的思想——通用计算。
2. 我们用英语或者其他语言给出一个问题,然而计算机却能通过电子运转来解决这个问题。看起来不可思议,但却被成功解决了。
问题 |
算法 |
语言 |
指令集 |
微结构 |
电路 |
器件 |
算法:确定性、可计算性、有限性。不同的算法可以描述同一个问题。
语言:高级语言与汇编语言相比,也不能向底层表述更多的计算方式,它们都被转换为特定机器的指令集。
指令集:不同的ISA定义的操作类型、数据类型和寻址模式的数目都是不同的。有的ISA只有几个操作类型,有的ISA有上百个;有的ISA只有一种数据类型,有的则有几十种;有的ISA只有一两种寻址模式,有的则有20多种。
微结构: 实现指令集的具体组织被称为微结构,同一个ISA,具体实现的微结构方案不同。
逻辑电路:微结构最终是由一组简单的逻辑电路实现,同一个微结构,具体实现的电路方案不同。
器件:每个逻辑电路,都是按照特定的器件技术来实现的。
相关文章推荐
- 计算机系统概论之两个反复出现的理念和两个非常重要的思想
- AIO的玻璃缺陷自动检测系统测试报告的要点记录
- LIMS系统开发经历----之二(将业务流程转换成计算机语言)
- 深入理解计算机系统(2.7)---二进制浮点数,IEEE标准(重要)
- 深入理解计算机系统(3.8)---数组、异质结构以及指针的详解(十分重要)(难度较高)【呕心沥血版】
- 深入理解计算机系统(3.7)---汇编世界当中过程的经典(十分重要)(难度较高)
- 计算机系统性能的重要估计法则:little's law
- 第1章 计算机系统概论--笔记
- 深入理解计算机系统(2.5)---二进制整数的加、减法运算(重要)
- 深入理解计算机系统(2.3)---整数的表示方式精解》无符号与补码编码(重要)
- 深入理解计算机系统学习之C语言中有符号与无符号数的转换
- 深入理解计算机系统之《计算机系统漫游》源代码转换为ASCII码
- android 系统编译_要点记录
- 计算机系统概论基础
- 深入理解计算机系统(2.6)---二进制整数的乘、除法运算(重要)【困难度高】
- 第1章 计算机系统概论
- ECC6(Unicode)与其他系统接口字符集转换问题解决记录
- 计算机系统学习笔记一之二进制与十六进制的转换
- 黑客入侵交警计算机系统删交通违法记录牟利
- 计算机系统概论学习