计算机组成与设计:硬件软件接口第一章笔记,总结

笔记可能有误,读者自行参考!
本书是计算机组成的经典教材,着眼于计算机设计中最基本的概念,详细介绍软硬件间的关系,并介绍计算机系统发展的主流技术和最新成就。
有必要先说说计算机的发展,不喜欢可以跳过。
有求必有应,第二次世界大战的爆发促进了计算机数字领域的发展,此时第一代计算机诞生了,真空管和数字卡片,不过有好多的部分还是需要人的参与,例如需要将结果搬运,然后作为输出,那时候的计算机还是非常庞大的,而且还只能进行简单的运算,后来将程序做成穿孔卡片让计算机读取而不用插件板有了一点点的进步。20世纪50年代第二代计算机:晶体管和批操作系统,晶体管与真空管相比,稳定性以及运算速度都有了较大的提高,由于计算机成本比较高,所以人们就使用批处理系统来节省时间(也就是提前准备好数据磁带,接连逐个执行,最后将结果一起打印)。20世纪60年代初,第三代计算机诞生,第三代操作系统使用了小型集成电路(第二代是分离晶体管)性价比有很大的提高。当时的计算机有两种生产线,一种是面向字的大型计算机,另一种是面向字符的商用计算机,比如打印账单等。IBM公司后来引入了system/360将两个系统的功能合二为一,这使得它获得了成功,又推出了后续的机型,性能 功能得到了较大的提高。与此同时这种系统面临着一个问题,软件基于所有系统设计,但是这种合二为一的系统做了好多的修改,增长了两个数量级也没有改变这种情况。说完了发展,说说性能,在那时,省时间还是非常重要的,为了节省时间,出现了多道程序设计,即兼容分时系统(CTSS),当登录在系统的用户(一般不止一个)没有操作的时候,CPU就处理其他用户的作业。IBM的成功让其他人眼红,于是MULTICS一种可支持上百人的系统提上了议程,后来贝尔实验室、GE都退出了,MIT一直在坚持,到最后虽然成功了,但是多种原因还是没有获得推广。虽然MULTICS失败了,但是它对Linux Unix MINIX都有很大的影响。如果想要拥有个人计算机,现在还是不行的,集成电路以及储存技术还没有达到一定的程度。第四代、第五代计算机由于算法以及大规模集成电路的出现导致体积越来越小,没什么说的。如果有,那就是Jobs的第二个产品Mac大获成功,并且在车库发明了个人计算机。

现在可以进入正题了
本书重点展示软件与硬件的关系,并重点介绍当今计算机中的基础概念。为什么学习本书:未来软件设计者对与软件系统协同工作的基本硬件技术的理解程度,将直接影响软件系统的性能和能效。因此编译器设计者,操作系统设计者,数据库程序员以及其他大多数软件工程师对本书的原理必须有充分的了解。
本书第一个目标:通过一个例子来论证硬件对于提高性能和能效的重要性。
第二个目标:介绍计算机设计的八大思想
第三个目标:将I/O贯穿于本书
第四个目标:通过例子和材料来识别计算技术从pc时代进入后pc(2000后)时代的变化。
引言部分:人们经历了农业革命、工业革命、信息革命,信息革命的到来以及计算成本的降低,使得许多不可能的事情变为了可能。计算机俗称电脑,是现代一种用于高速计算的电子运算机器,可以进行多种运算,还具有存贮记忆功能,自动、高速处理海量数据的现代化智能电子设备,有软件和硬件构成。万维网www是一种基于客户机、服务器的信息发现技术,www服务器通过超文本标记语言把信息组织成图文并茂的超文本,利用链接从一个站点跳到另一个站点。摆脱了以前查询工具只能按特定路径一步步查询信息的限制。计算机主要包括三类应用,个人计算机,服务器,嵌入式计算机。服务器过去常被称作是大型机的存在,借助网络访问。更强调可靠性。现在服务器多为多用户运行大型程序的计算机,由多个用户并行使用,一般通过网络访问。高端服务器常被称作超级计算机,由成百上千台处理器组成,一般用于科学和工程计算等大规模问题。嵌入式计算机是数量最多的一类计算机,通常和硬件集成在一起以单一系统的形式交付给用户。后PC时代是指将通信,计算机,消费产品结合起来,以3C产品的形式通过Internet(小写代表互联网)进入家庭。
欢迎来到后PC时代
云计算代替传统服务器,它依赖于被称为仓储规模计算机的巨型数据中心(WSC),当今的软件开发者通常在云和PMD上各运行一部分。也实现了软件即服务。
20世纪6.70年代,限制计算机性能的主要因素是内存容量,现在性能已经不是那么好提升了,如果想要提升性能,需要了解代码之下的许多细节,为了创建有竞争力的软件版本,必须增加对计算机的认知。程序性能的影响因素有算法;编程语言,编译器,体系结构;处理器和存储系统;处理器和存储系统;硬件和操作系统;
计算机系统结构中的8个伟大思想
1.面向摩尔定律的设计
2.使用抽象简化设计
3.加速大概率事件
4.并行性(多核处理器,不是多处理器(云服务))
5.流水线(分工明确)
6预测(提前开始操作)
7.存储器层次(成本因素)
8.冗余(备份)提高可靠性
每个系统不一样,一般而言,从操作系统的基本功能的角度来看,操作系统包括五部分,分别是作业管理(包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等)、进程管理、内存管理、文件管理、设备管理。
指令是能被计算机识别并执行的位串。100011001100000告诉计算机将两个数相加。汇编程序可以将助记符形式的指令翻译成对应的二进制。汇编语言是非常原始的语言,要求程序员像计算机一样思考。I/O设备是对于计算机和用户而言的,I为计算机提供输入,O输出给用户。

硬件概念入门
任何一台计算机都要完成的基础功能:输入数据、输出数据、存储数据、处理数据。组成计算机的五个经典部件:输入、输出、存储器、数据通路、控制器。
第一代电视机技术,阴极射线显像管,CRT的工作原理电子枪发射电子束,RGB三色荧光点被不同强度的电子束击中,就会产生各种色彩,通过控制电子束的强弱和通断,则可以形成各种绚丽多彩的画面。第二代LCD技术,大多数LCD(液晶)显示器采用动态矩阵显示技术,每一个像素由一个晶体管准确的控制电流(输出0(低电位或者1(高电位)),使得图像更清晰。在彩色LCD技术中,每个像素由三个晶体管控制。第三代OLED技术,OLED技术不需要背光源,像素自身可以发光,由电压控制像素亮度。因此对于手机屏幕采用的是LCD(应用较多,美日韩德垄断)和OLED(日韩垄断)技术,微型显示技术应用的很少,但是最保护眼睛,也是最贵。对于LCD技术,简单来说晶体管的开关(即0和1)控制像素。触摸屏是采用电容感应技术来实现的,这种技术允许同时接触几个点,可以实现非常良好的交互。对于LCD技术而言,图像的显示是从上到下,从做到右,每个像素可能由24组成。对于计算机而言,通过光栅扫描CRT显示器将图像数据转化为图形数据。对于OLED技术,图像的显示方式应该也是如此,利用人的视觉延迟就够了(光信号传入大脑神经后不会立刻消失,而是暂留一段时间),如果再寻找新方法会增加难度以及电视体积。
有必要看一下CPU的工作原理,链接如下:
https://www.bilibili.com/video/BV1R54y1k7Pr
存储器是分等级的,等级比价或者价格比较 cache>DRAM>SRAM。为什么要采用不同级别的存储器,肯定是牵扯到读写速度以及易失性问题,当然成本也很重要。指令集体系结构和CPU是一起产出的,指令集作为抽象充当硬件(1234567等等)和底层软件的接口。时钟周期通常是处理器时钟,由于采用DRAM,所以处理器时钟通常为常数。
处理器和存储制造技术
以前影响计算机性能的因素主要是内存,随着晶体管的诞生以及集成电路的出现,影响计算机性能的因素包括:
计算机组成与设计:硬件软件接口第一章笔记,总结_第1张图片
影响程序性能的因素包括:
计算机组成与设计:硬件软件接口第一章笔记,总结_第2张图片
为什么是平均时钟频率:为了节省能量或提高性能,CPU可以以不同的频率运行。
计算机组成与设计:硬件软件接口第一章笔记,总结_第3张图片
功耗墙导致了从单核到多核的沧桑巨变,设计师们开始追求更大的吞吐率,而不在专注于降低程序的相应时间。现在程序员要想显著改变程序的相应时间,必须充分利用多处理器的优势。
SPEC组织是由许多计算机厂商赞助并支持的合作组织,目的是为现代计算机建立测量基准测试程序集,SPEC CPU 2006包括12个整数基准程序集和17个浮点基准测试程序集。后来又增加了用于评估功耗的基准测试程序

你可能感兴趣的:(计算机组成与设计:硬件软件接口第一章笔记,总结)