1.1计算机的发展历程
略
1.2计算机系统的基本组成
计算机系统由硬件和软件两部分组成,硬件是具体物理装置的总称,软件包括在硬件上的程序和数据及其相关的文档。程序是指挥计算机如何操作的一个指令序列,数据是指令操作的对象
冯诺依曼结构的基本思想主要包括以下几个方面。
(1)采用“存储程序”的工作方式
(2)计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成
(3)存储器存放数据和指令,控制器控制指令自动执行,运算器算术和逻辑运算,人通过输入输出使用计算机
(4)计算机以二进制表示指令和数据,每条指令由操作码和地址码两部分组成,操作码指出操作类型,地址码指出操作数地址,由一串指令组成程序。
中央处理器-------脑子-->数据通路(按指令处理数据)和控制器(对指令译码,生成控制信号)
存储器-------记忆仓库-->内存(主存和告诉缓存)
I/O设备------耳朵/嘴巴
总线--------神经网络


1.3计算机系统层次结构
计算机系统是一个层次结构系统,每一层都通过想上层用户提供一个抽象的简介接口将低层的实现细节隐藏起来。
1.3.1 计算机系统抽象层的转换
通常用自然语言对应用(问题)进行描述,但计算机硬件只能理解机器语言,所以要经过多个抽象层的转换

1、算法和程序
问题求解流程化-->编程语言描述的程序
2、编程语言
分高级语言和低级语言,高级语言与底层计算机结构无关,低级语言则和底层结构密切相关。机器语言就是用二进制进行编码的机器指令,每条指令都是一个01序列
3、语言处理系统
高级语言(程序员编写)-->机器语言(计算机自译)
翻译程序有以下三类:
(1)、汇编程序(汇编-->机器)
(2)、解释程序(源程序语句-->机器指令)
(3)、编译程序(高级-->汇编或机器目标语言)
4、操作系统
所有的语言处理系统都必须在操作系统提供的计算机环境中运行,操作系统是对机器底层和计算机硬件的一种抽象
5、指令集体系结构
从应用问题到机器语言程序的每次转换所涉及的概念都是属于软件的范畴,而机器语言程序所运行的计算机硬件和软件之间的桥梁就是指令集体系结构(ISA).
ISA是软件和硬件之间接口的一个完整定义,它定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行的操作,所处理的操作数所存放的位置以及操作数的类型等。
ISA是指软件可见的部分
6、微体系结构
ISA是对指令系统的一种规定或结构规范,具体实现的组织称为微体系结构,简称微架构。两者是不同层次上的概念,微体系结构是软件不可见的部分,它由逻辑电路实现。
1.3.2 计算机系统的不同用户
分为四类:最终用户(使用软件者)、系统管理员(管理软件者)、应用程序员(软件开发者)、系统程序员(底层开发者,操作系统、编译器、数据接口管理程序等系统软件程序员)
1.4程序开发与执行过程
略
1.5计算机系统性能评价(较重要)
一个完整的计算机系统由硬件和软件构成,硬件性能的好坏对整个计算机系统的性能起着至关重要的作用。
1.5.1计算机性能的定义
吞吐量和响应时间是考量一个计算机系统性能的两个基本指标。
------吞吐率表示在单位时间内所完成的工作量。
------响应时间是指作业提交开始到作业完成所用的时间。
计算机系统的性能主要考虑的是CPU性能。系统性能和CPU性能不等价。
------系统性能是指系统的响应时间,它与CPU性能相关,同时业余CPU以外的其他部分有关;而 CPU性能是指用户CPU时间,它只包含CPU运行用户程序代码时的时间
在对用户CPU进行计算时需要用到以下重要概念和参数
(1)时钟周期。计算机执行一条指令的过程被分成若干个步骤来完成,每一步都要由相应的控制信号进行控制,这些控制信号何时发出、作用时间多长,都要有相应的定时型号进行同步。因此,计算机必须产生同步的时钟定时信号,也就是CPU主脉冲信号,其宽度称为时钟周期。
//说人话:时钟信号控制控制信号的发出和作用时间长短,时钟信号的周期就是时钟周期
(2)时钟频率。CPU的主频就是主脉冲信号的时钟频率,它是CPU时钟周期的倒数。
(3)CPI。CPI表示执行一条指令所需的时钟周期数,不同指令的功能不同,所需的时钟周期数也可能不同,因此都要一条特定指令而言,其CPI指执行该条指令所需的时钟周期数,此时CPI时一个确定的值;对应一个程序或一台机器来说,其综合CPI指该程序或该机器指令集中的所有指令执行所需的平均时钟周期
//说人话:CPI表示执行一条指令所需的时钟周期数,单条指令是确定不变的,程序和机器指令集算平均的
用户CPU时间=程序总时钟周期数/时钟频率=程序总时钟周期数*时钟周期
------程序总时间周期数=程序总指令条数*CPI
若已知程序中共有n种不同类型的指令,第i种指令的条数和CPI分别为和
------程序总时间周期数= (
*
)
表示地i种指令在程序中所占比例
------程序的综合CPI=程序总时钟周期数/程序总指令条数=(
)
若已知程序综合CPI和指令条数,则可用下列公式计算CPU时间:
------用户CPU时间=程序总指令条数*CPI*时钟周期
有了用户CPU时间,就可以评判两台电脑性能的好坏,计算机性能可以看成用户CPU
1.5.2 用指令执行速度进行性能评估
略
1.5.3 用基准程序进行性能评估
略
1.5.4Amdahl定律
基本思想是,对系统中某个硬件部分被使用的频率或其执行时间占总执行时间的比例。
Amdahl定律定义了增强或加速部分不见而获得的整体性能的改进程度。
两种表现形式:
1、改进后的执行时间=改进部分执行时间/改进部分的改进倍数+未改进部分执行时间
2、整体改进倍数=1/(改进部分执行时间比例/改进部分的改进倍数+未改进部分执行时间比例 )
