计算机系统概论要点记录--2个重要理念及7层转换

原创 2016年08月30日 10:57:36

两个反复出现的重要理念

1. 抽象

2. 脑子里不要对软件和硬件做任何区分

 

学会“抽象”是个重要的进步,它让我们站在更高的层次看问题,从而将事物的本质表现出来,而将其细节隐藏;它让我们更有效的使用大脑,提升工作效率。

但是如果事物出现问题,要想发现问题所在,就必须深入到每个组成的实现细节里去——分解抽象。

如果我们不需要将一个组件和其他的东西相结合,以构建更大的系统,那么将认识停留在抽象层面就万事大吉了。但事实上,我们肯定需要将这些组件拼装成更大的系统,而这些组件在一起工作的时候,也难免会出错误。

因此实际工作中,抽象与分解抽象,总是伴随存在。

抽象


脑子里不要对软件和硬件做任何区分,它们只是计算机系统中两个组成部分的名称而已;对设计者来说,将计算机的某个功能划分给哪部分实现,以及它们之间如何协同工作,原则只有一个:让计算机工作得最棒!

比如历史上,intel处理器的设计者就意识到,未来的程序将包含大量的视频信息,所以在他们设计的处理器中,内嵌了专用视频处理硬件,为此intel提出了MMX指令集及MMX专用执行硬件。

个人感想:“软件最后总要转换成cpu可执行的指令,而指令就对应着硬件,要么有专用的执行硬件,要么是间接的执行硬件,比如历史上早期是没有乘法器的,所有的乘法工作都转换成加法(间接执行硬件),后来为了提高效率,研究出了专用的乘法器(专用执行硬件)。自己以前想既然mmx,sse那么厉害,增加几十条指令就提高效率,为什么不增加个几百条呢?太蠢了”


两个重要的思想

1. 所有的计算机,不管是大的还是小的,快的还是慢的,贵的还是廉价的,只要给予足够的时间和内存,它们所能完成的计算任务是相同的。这就是阿兰图灵的思想——通用计算。

2. 我们用英语或者其他语言给出一个问题,然而计算机却能通过电子运转来解决这个问题。看起来不可思议,但却被成功解决了。

 

                         问题
                         算法
                         语言
                        指令集
                        微结构
                         电路
                         器件

从用自然语言对问题进行描述开始,直到电子的实际运转,之间要经历多个层次的转换。在转换过程中,每一层的实现又都存在很多选择方案。

算法:确定性、可计算性、有限性。不同的算法可以描述同一个问题。

语言:高级语言与汇编语言相比,也不能向底层表述更多的计算方式,它们都被转换为特定机器的指令集。

指令集:不同的ISA定义的操作类型、数据类型和寻址模式的数目都是不同的。有的ISA只有几个操作类型,有的ISA有上百个;有的ISA只有一种数据类型,有的则有几十种;有的ISA只有一两种寻址模式,有的则有20多种。

微结构: 实现指令集的具体组织被称为微结构,同一个ISA,具体实现的微结构方案不同。

逻辑电路:微结构最终是由一组简单的逻辑电路实现,同一个微结构,具体实现的电路方案不同。

器件:每个逻辑电路,都是按照特定的器件技术来实现的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

《计算机系统概论》

计算机系统概论ISBN: 978-7-111-21556-1第一章 1.1 我们的目标 计算机并不神秘,它是一个确定的系统,会精确地按照我们的要求执行计算任务。相同条件下计算机会得到相同的结果。 ...
  • Conigz
  • Conigz
  • 2016年06月30日 18:15
  • 395

计算机系统概论——笔记(1)

在大一结束的暑假中,在家里闲来无事,便读了Yale N.Patt教授写的计算机系统概论的前十章节,从中获益匪浅。下面打算以一个章节一份笔记来记录我的学习心得。 第一章节主要是宏观介绍了计算机系统研究的...
  • xiaoerlaigeid
  • xiaoerlaigeid
  • 2016年08月27日 23:26
  • 345

第一章 计算机系统概述

1.     计算机发展历程 计算机系统由“硬件”和“软件”两大部分组成。 1.1   计算机硬件 1.1.1    硬件的概念 所谓“硬件”,是指计算机的实体部分,它由看得见摸得着的各种...
  • yang1018679
  • yang1018679
  • 2015年05月07日 14:52
  • 654

c++内存模型------计算机系统核心概念及软硬件实现

c++编程语言有3中不同类项的变量:全局变量、局部变量和动态分配变量。变量的值存储在计算机的内存中,但是变量存储的方式取决于变量的类项。3种类型的变量分别对应存储器中3个特定的区域: 全局变量存...
  • li_haoren
  • li_haoren
  • 2017年10月23日 23:53
  • 36

读书笔记:《计算机系统概论》——第三章:数字逻辑

本章节从MOS晶体管这个逻辑单元的最基本的要素开始说起,基于MOS晶体管来实现逻辑门(Logic Gate),然后通过逻辑门互连构成计算机的各种电路,这些电路可以分为两大类:组合逻辑电路和存储逻辑电路...
  • qianxuecheng27
  • qianxuecheng27
  • 2016年11月20日 23:37
  • 588

计算机系统概论——笔记(2)

第二章节主要介绍了bit、数据类型机器运算。这一章节我的理解是从最底层的开端。 首先是bit,比特是一个位,有01两种状态,分别用无电平和有电平来表示。通过多个bit位的连续排列,便形成了记录数据的方...
  • xiaoerlaigeid
  • xiaoerlaigeid
  • 2016年08月28日 09:16
  • 364

WPF重要的几个概念:

WPF重要的几个概念: Binding :用来绑定数据的,非常强大 Command:用来实现命令,比如键盘和按钮都能实现某个功能, Template:模板,有数据模板也有控件模板 上述几个功能...
  • etwdone
  • etwdone
  • 2013年03月07日 10:17
  • 908

计算机概论总结

一.计算机硬件的五大单元:输入单元、输出单元、CPU内的控制单元、CPU内的算数逻辑单元、内存。 NOTE: 1.算术逻辑单元主要负责程序运算和逻辑判断。 2.控制单元主要协调各组间和各单元间的工作。...
  • u013181216
  • u013181216
  • 2015年08月14日 17:18
  • 489

Linux设备驱动程序(第三版)/深入理解计算机系统(原书第2版)/[Android系统原理及开发要点详解].(韩超,梁泉)百度云盘下载

文档下载云盘连接:http://pan.baidu.com/s/1dDD2sgT 更多其他资料,请关注淘宝:http://shop115376623.taobao.com/ http://...
  • aidem_brown
  • aidem_brown
  • 2014年12月20日 22:24
  • 2727

读书笔记:《计算机系统概论》——第四章:冯·诺依曼模型

当今社会中我们所用的个人计算机,基本上都是基于冯·诺依曼模型设计的。冯·诺依曼模型包括5个部分: 内存(memory)、处理单元(processing unit)、输入(input)、输出(outpu...
  • qianxuecheng27
  • qianxuecheng27
  • 2016年11月22日 21:31
  • 585
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算机系统概论要点记录--2个重要理念及7层转换
举报原因:
原因补充:

(最多只允许输入30个字)