计算机发展历程程序员
从 1946 年世界上第一台电子数字计算机( ENIAC )问世以来,计算机的发展经历了四代。数据库
摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每一个18个月便会增长一倍,性能也将提高一倍。编程
机器字长是指计算机进行一次整数运算所能处理的二进制数据位数。缓存
到目前为止,计算机中全部信息仍以二进制方式表示的理由是由物理器件的性能决定。并发
机器语言是计算机惟一能够直接执行的语言汇编语言用助记符编写,以便记忆。性能
解释程序的特色是翻译一句执行一句,边翻译边执行;由高级语言转化为汇编语言的过程称为编译,把汇编语言源程序翻译成机器语言程序的过程称为汇编。测试
计算机系统层次结构spa
硬件系统和软件系统共同构成了一个完整的计算机系统。操作系统
冯·诺依曼体系:计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备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)是指计算机系统中引入数据库后的系统,通常由数据库、数据库管理系统、数据库管理员和应用系统构成。
计算机的工做过程分为如下几个步骤:
下面以取数指令(即将指令地址码指示的存储单元中的操做数取出后送至运算器的 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)。
运算速度
将程序固定在 ROM 中组成的部件称为固件。
当前设计高性能计算机的重要技术途径是采用并行处理技术。
以上内容均来自王道书籍及相关课程等