oneMr

计算机发展历程

从 1946 年世界上第一台电子数字计算机( ENIAC )问世以来,计算机的发展经历了四代。

  1. 第一代计算机——电子管时代。
  2. 第二代计算机——晶体管时代。
  3. 第三代计算机——中小规模集成电路时代。
  4. 第四代计算机——超大规模集成电路时代。

 

摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每个18个月便会增加一倍,性能也将提升一倍。

机器字长是指计算机进行一次整数运算所能处理的二进制数据位数。

到目前为止,计算机中所有信息仍以二进制方式表示的理由是由物理器件的性能决定。

机器语言是计算机唯一可以直接执行的语言汇编语言用助记符编写,以便记忆。

解释程序的特点是翻译一句执行一句,边翻译边执行;由高级语言转化为汇编语言的过程称为编译,把汇编语言源程序翻译成机器语言程序的过程称为汇编。

 

计算机系统层次结构

硬件系统和软件系统共同构成了一个完整的计算机系统。

 

冯·诺依曼体系:计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成。早期的冯·诺依曼机以运算器为中心,现代计算机已发展为以存储器为中心。

 

CPU 能直接访问的存储器是主存储器。存储体存放二进制信息,地址寄存器(MAR)存放访存地址,经过地址译码后找到所选的存储单元。数据寄存器(MDR)是主存和其他部件的中介机构,用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。

MAR 用于寻址,其位数对应着存储单元的个数,如 MAR 为 10 位,则有210个存储单元,记为1K。MAR 长度与 PC 的长度相等。

MDR 位数和存储字长相等,一般为字节的二次幂的整数倍。

MAR 与 MDR 虽然是存储器的一部分,但在现代 CPU 中却是存在于 CPU 中的;高速缓存也存在于 CPU 中。

 

运算器的核心是算术逻辑单元(ALU)。运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等,其中前3个寄存器是必须有的。

运算器内还有程序状态寄存器(PSW),它保留各类运算指令或测试指令的结果的各类状态信息,以表征系统运行状态。

 

控制器是计算机的指挥中心,由其“指挥”各部件自动协调地进行工作。控制器由程序计算器(PC)、指令寄存器(IR)、和控制单元(CU)组成。

PC 用来存放当前欲执行指令的地址,可自动加1以形成下一条指令地地址,它与主存的 MAR 之间有一条直接通路。

IR 用来存放当前指令,其内容来自主存的 MDR。指令中的操作码 OP(IR) 送至 CU,用以分析指令并发出各种微操作指令序列;而地址码 Ad(IR)送往 MAR,用以取操作数。

 

数据库管理系统(DBMS)是位于用户和操作系统之间的一层数据管理软件,是系统软件;而数据库系统(DBS)是指计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、数据库管理员和应用系统构成。

 

计算机的工作过程分为以下几个步骤:

  1. 把程序和数据装入主存储器。
  2. 从程序的起始地址运行程序。
  3. 用程序的首地址从存储器中取出第一条指令,经过译码、执行步骤等控制计算机各功能部件协同运行,完成这条指令功能,并计算下一条指令的地址。
  4. 用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止;每条指令都是在取指、译码和执行的循环过程中完成的。

下面以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的 ACC 中)为例进行说明,其信息流程如下:

  取指令:PC → MAR → M → MDR →IR

  分析指令:OP(IR) → CU

  执行指令:Ad(IR) → MAR → M → MDR → ACC

此外,每取完一条指令,还须为取下一条指令做准备,形成下一条指令的地址,即(PC)+ 1 → PC。

(PC)指程序计数器 PC 中存放的内容。PC → MAR 应理解为 (PC)→ MAR ,即程序计数器中的值经过数据通路送到 MAR ,也即表示数据通路时括号可省略(因为只是表示数据流经的途径,而不强调数据本身的流动)但运算时括号不能省略。OP(IR):取操作码,Ad(IR):取地址码。

 

冯·诺依曼机的基本工作方式是控制流驱动方式。

虽然指令和数据都以二进制形式存放在存储器中,但 CPU 可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,在执行阶段取出的是数据。

软件和硬件在逻辑上具有等效性,硬件实现具有更高的执行速度,软件实现具有更好的灵活性。

由于解释程序要边翻译成机器语言边执行,因此一般速度较编译程序慢。

寄存器的设置对汇编语言不透明,汇编程序员要对寄存器进行直接操作。IR、MAR、MDR 对各类程序员都是透明的。

相联存储器(TLB)既可以按照地址寻址又可以按内容(通常是某些字段)寻址,为与传统存储器区别,又称按内容寻址的存储器。

 

计算机的性能指标

主存容量,是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可以用字数 * 字长来表示存储容量。其中,MAR 的位数反应存储单元的个数,MAR 的位数反应可寻址范围的最大值(而不一定是实际存储器的存储容量)。

例如,MAR 为16位,表示216  = 65536,即存储器体内有65536个存储单元(可称为 64K 内存),若 MDR 为32位,表示存储容量为 64K * 32 位(bit)。

 

运算速度

  1. 吞吐量和响应时间
    • 吞吐量。指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU 能多快地取指令,数据能多快地取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每步都关系到主存,因此系统吞吐量主要取决于主存的存取周期。
    • 响应时间。指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。通常包括 CPU 时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O 操作、操作系统开销等时间)。
  2. 主频和 CPU 时钟周期
    • CPU 时钟周期。通常为节拍脉冲或 T 周期,即主频的倒数,它是 CPU 中最小的时间单位,每个动作至少需要1个时钟周期。CPU 时钟周期 = 1 / 主频
    • 主频(CPU 时钟频率)。机器内部主时钟的频率,是衡量机器速度的重要参数。主频的倒数是 CPU 时钟周期。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
  3. CPI,即执行一条指令所需的时钟周期数。
  4. CPU 执行时间,指运行一个程序所花费的时间。CPU 执行时间 = CPU 时钟周期数 / 主频 = (指令条数 * CPI)/ 主频
  5. MIPS、MFLOPS、GFLOPS 和 TFLOPS
    • MIPS,每秒百万指令数
    • MFLOPS,每秒百万浮点数运算
    • GFLOPS,每秒十亿浮点数运算
    • TFLPOS,每秒万亿浮点数运算

 

将程序固定在 ROM 中组成的部件称为固件。

当前设计高性能计算机的重要技术途径是采用并行处理技术。

 

以上内容均来自王道书籍及相关课程等

分类:

技术点:

相关文章: