时间:2023-05-25 16:00
人气:
作者:admin
现代计算机
现代计算机问世之前
计算机的发展也经历了机械式计算机、机电式计算机和萌芽期的电子计算机3个阶段。了解几个阶段的著名科学家的贡献。
事物的发展是一个曲折的、复杂的漫长过程。
第一台电子计算机
1946年 美国 ENIAC
冯•诺依曼思想
1945年数学家冯•诺依曼对计算机的组成结构提出了重大的改进理论:
冯·诺依曼 计算机结构体系

计算机的五代
现代计算机的发展大体分为五个年代,主要依据三个方面进行划分:
硬件技术对计算机更新换代的影响

第一代(1946-1957年)电子管计算机
IBM650 小型机于1954年12月推出,是第一代计算机中销量最广的计算机
第二代(1958-1964年)晶体管计算机
CDC6600 大型机于1963年8月由控制数据公司(CDC)推出,当时很受各原子能机构、航空宇航、气象研究等机构的认可。安装了35万个晶体管,运算速度为1Mflops。至1969年,CDC6600以及改进型CDC7600巨型机共售出150余台。
第三代(1965-1971年)中小规模集成电路计算机
1964年由IBM推出的IBM 360 是最早采用集成电路的通用计算机,也是影响最大的第三代计算机。平均运算速度从每秒几千次到一百万次,它的主要特点是通用化、系列化和标准化。
第四代(1972年至今) LSI和VLSI计算机
第五代计算机
存储器的发展
存储器技术的发展是促进计算机的一个重要因素
摩尔定律
摩尔定律:“集成电路芯片上所集成的电路的数目,每隔18个月就翻一番”。当初预测这个假定只能维持10年左右,然而芯片制造技术的进步让摩尔定律保持了40年。
集成电路:依据一片集成电路芯片上包含的逻辑门个数或元件个数分小规模集成电路SSI(逻辑门数小于10门或含元件数小于100个);中规模集成电路MSI(所含逻辑门数为10~99门或含元件数100~999个);大规模集成电路LSI(逻辑门数为100~9999门或含元件数1000~99999个);超大规模集成电路VLSI(106~107个元件或10000个以上逻辑门);巨大规模集成电路ULSI(107~109个元件;GSI集成109以上个元件)。
中央处理器的发展
中国计算机的发展
计算机的分类方法较多,根据处理的对象、用途和规模不同可有不同的分类方法。
1.按处理的对象划分
(1)模拟计算机
用一种连续变化的模拟量作为运算对象的计算机。
特点:运算过程是连续的,计算精度较低,电路结构复杂,抗干扰能力极差,应用范围较窄。
(2)数字计算机
参与运算的数值用非连续的数字量表示,运算过程按数字位进行,具有逻辑判断等功能。相比模拟计算机,计算精度高,运算速度快,抗干扰能力强。
2.根据计算机的用途划分
(1)通用计算机
用于解决一般问题,其适应性强,应用面广,可用于科学计算、数据处理和过程控制等领域,但其运行效率、速度和经济性依据不同的应用对象会受到不同程度的影响。
(2)专用计算机
用于解决某一特定方面的问题,配有专门开发的软件和硬件,应用于军事、自动化控制或仪器仪表等领域。专用计算机针对某类问题能显示出最有效、最快速和最经济的特性,但它的适应性较差。
3.根据计算机的规模划分
衡量计算机的规模的主要技术指标:字长、运算速度、存储容量、外部设备、输入和输出能力、配置软件丰富与否、价格高低等。
根据计算机的规模可分为巨型计算机、小巨型计算机、大型主机、小型计算机、微型计算机、图形工作站等。
(1)巨型计算机:又称超级计算机,一般用于国防尖端技术和科学计算等领域。速度最快,容量最大,体积最大,造价也最高。
(2)大型主机:包括通常所说的大、中型计算机。具有较高的运算速度和较大的存储容量,一般用于科学计算、数据处理或用作网络服务器。随着微机与网络的迅速发展,很多应用中正在被高档微型计算机所取代。
(3)小型计算机:指采用8-32颗处理器,性能和价格介于PC服务器和大型主机之间的一种高性能 64 位计算机。例如DEC公司的PDP-11系列、VAX-11系列等。一般用于工业自动控制、医疗设备中的数据采集等方面。
(4)微型计算机:是目前发展最快、应用最广泛的一种计算机。PC(Personal Computer个人计算机)是现在比较流行的微型计算机。其中央处理器采用微处理芯片,体积小轻便。
(5)图形工作站:是以个人计算环境和分布式网络环境为前提的高性能计算机,其规模介于微型机和小型机之间。通常配有高分辨率的大屏幕显示器及容量很大的内存和外部存储器,具有较强的信息处理功能和高性能的图形、图像处理功能以及联网功能。主要应用在专业的图形处理和影视创作等领域,

冯•诺依曼计算机的主要特点
(1)计算机硬件系统由5个基本部分组成:运算器、控制器、存储器、输入设备和输出设备。
(2)数据和指令都采用0或1组成的二进制编码。
(3)采用存储程序的方式,事先将程序(包括指令和数据)存入存储器中,计算机在运行程序时自动地、连续地从存储器中依次取出指令并加以执行,直到程序执行完毕,不需要人工干预。
其核心思想:程序存储并按地址顺序执行。
早期的冯•诺依曼计算机---- 以运算器为中心

输入输出设备与存储器之间的数据传输都需通过运算器。结构复杂、控制复杂。
现代计算机---- 以存储器为核心,总线结构
典型的单CPU、单总线结构图:
运算器和控制器合称为中央处理单元(CPU,Central Processing Unit)。
系统连线减少,结构变得清晰,大大简化了硬件的设计。

知识拓展
- 冯·诺依曼结构:程序指令和数据存储在同一个存储器的不同物理位置,取数据和取指令通过同一套数据总线。信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
- 哈弗结构:程序指令和数据分别放在不同的存储器中,通过不同的总线取指令和存取数据,这就允许取指令和取操作数同时进行,大大地提高了系统的工作速度。如DSP和ARM等微处理器,采用了哈佛结构,方便实现数据处理和现场实时控制。
计算机硬件系统由5个基本部件组成:运算器、控制器、存储器、输入设备和输出设备。构成计算机的五大部件有相对独立的功能,在控制器的控制下协调统一地完成各自不同的工作。
存储器----组成结构
存储体
地址译码电路
读写控制电路
输入输出线路

存储器----几个基本概念
存储单元:对应一个地址编号、存放一定位数二进制代码的电路集合。
存储字长:一个存储单元存放的二进制信息也称为一个存储字,其位数称为存储字长。
单元地址:存储单元的地址编号。
单元内容:存储单元中存放的二进制信息。
存储容量:存储器能够存放的二进制信息的总量称为其存储容量。
两种表示形式:
存储器芯片:用字数×字长表示,如1K×4位,它表示一个芯片有1K个单元,每个单元可以存放4位二进制代码;
系统的存储器:通常用字节数表示,如4GB、1TB。
存储容量的数量单位
KB(Kilo Byte)、MB(Mega Byte)、GB(Giga Byte)、TB(Tera Byte)、PB(Peta Byte)、EB(Exa Byte)、ZB(Zetta Byte)和YB(Yatta Byte)等。
数量关系:1KB= 1024B,1 MB=1024KB,1GB= 1024MB,…,它们之间存在1024倍的数量级关系。
事实上,1K=2(10)» 10(3),1M=2(20)» 10(6),1G=2(30)» 10(9)等等 。
存储器----内存与外存
注意:
目前内存是由半导体存储器构成,但不能说半导体存储器就是内存。
运算器

控制器
控制器是整个计算机的指挥中心,它发布各种操作命令控制计算机的各功能部件有条不紊地进行工作。
(1)控制器的功能

(2)程序和指令
程序是为计算机解决某一问题或完成某一任务,由一组特定编程语句构成的有序集合。
编程语言分高级语言、汇编语言和机器语言三种。
指令是计算机硬件能够直接执行,完成一些基本操作的编程语句,它属于机器语言。
指令编码中包含两部分信息:操作码表明指令进行何种操作,地址码部分表明指令操作的数据位置。指令的一般格式如下:
例如:假设某计算机只有8条指令,其操作码可用3位二进制编码来定义,如表1-1所示。

101 1000表示从1000单元取数送入累加器;
001 1000表示从1000单元取数和累加器相加,结果存入累加器。
不同的计算机的指令的格式及编码规则会有区别,详细内容参考第5章指令系统。
各部件协调工作过程

输入输出设备及适配器
总线
计算机系统中有多种总线,关于总线相关概念和技术的内容在第8章详细介绍。
几个常用术语
数据流和指令流
软件泛指在计算机硬件上运行的各类程序、数据文件及相关的文档资料。
程序是计算机可以执行的,而文档不能执行。程序是计算机软件的主体,所以一般说到软件主要是指程序。
软件系统指一台计算机中全部程序的统称。
软件的作用是扩大计算机系统的功能,提高计算机系统的效率,为计算机运行服务提供技术支持。
按照软件的功能不同,人们把计算机的软件划分为系统软件、应用软件两大类。
系统软件是为整个计算机系统配置的、不依赖于特定应用领域的一些通用软件,用来管理计算机的硬件系统或软件资源。只有在系统软件的管理下,计算机的各硬件部分才能协调一致地工作。系统软件还为应用软件提供运行环境,离开系统软件,应用软件同样也不能运行。
系统软件也有很多种,主要包括操作系统、语言处理程序和数据库管理系统三大类。
应用软件是为解决某个特定应用领域的实际问题而编制的程序。
应用软件从其服务对象的角度,又可分为专用应用软件和通用应用软件两类。
1.操作系统
操作系统(Operating System,OS)是直接运行在“裸机”上的最基本的必备的系统软件。
计算机系统各种资源(包括硬件资源和软件资源)的管理者、控制者、调度者和监督者,合理地组织计算机的工作流程,协调计算机各部件之间、系统和用户之间的关系。其目标是提高各类资源的利用率,方便用户使用计算机系统,为其他软件的开发提供必要的基础和软件接口。
2.语言处理程序
计算机程序设计的语言可分为三大类:机器语言、汇编语言和高级语言。
机器语言是计算机的硬件可以直接识别并执行的二进制编码语言,但难以记忆和使用。
将汇编语言源程序翻译成机器语言目标程序的称作汇编程序。
编译程序则是将高级语言程序翻译成机器语言目标程序的软件。
无论是汇编程序还是编译程序,它们都是用于处理软件语言的程序,统称为语言处理程序。
3.数据库管理系统
数据库应用系统主要由数据库、数据库管理系统以及相应的应用程序组成。
数据管理系统,简称DBMS(Database Managment System),是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础之上,对数据库进行统一的管理和控制。利用它可以方便地建立、删除、维护数据库,对库中数据进行各种操作。它是数据库应用系统开发人员与数据库之间联系的桥梁。它是一个平台,是一种系统软件。
常用的数据库管理软件有Oracle、Sybase、MySQL、Informix
应用软件是为解决某个特定应用领域的实际问题而编制的程序。
如:解决科学与工程计算问题的科学计算软件,实现生产过程自动化的控制软件,用于企业财务、人事管理的管理软件,具有人工智能的专家系统等等。
应用软件从其服务对象的角度,又可分为专用应用软件和通用应用软件两类。
1.专用的应用软件
专用的应用软件是按照用户的特定需求,用于解决特定问题而开发的软件。其应用面较窄,往往只限于特定的部门及其下属单位使用。这种软件的运行效率较高,开发成本较高。如前面提到的某企业的人事管理软件,或某特定的生产过程的控制软件等。
2.通用的应用软件
通用的应用软件是指计算机的应用过程中,迅速推广使用并不断更新的一些通用工具软件。如现在计算机中普遍都安装的文字处理软件Word、电子表格处理软件Excel等许多办公工具软件。
计算机系统以硬件为基础,通过配置软件扩充功能,形成了一个十分复杂的有机系统。
采用层次结构的观点和方法去描述计算机系统的组成与功能,有利于正确理解计算机系统的工作过程,明确软件、硬件在计算机系统中的地位和作用,控制计算机系统的复杂性。
计算机系统分层的方法有很多种,常用的层次结构模型:从系统内部的有机组成和程序设计语言功能的角度划分的。
从计算机系统组成角度划分层次结构

自上而下看反映了应用计算机求解问题的过程
从下向上看,直观展示了构成一个计算机系统时的的逐级生成过程。
从语言功能角度划分层次结构

如果将计算机功能抽象为“能执行某种程序设计语言编写的程序”的机器,可以按语言功能划分计算机层次结构。
实际机器:只能执行机器语言的物理实体,是计算机系统的硬件。
虚拟机(Virtual Machine):一种特殊的软件,它在计算机平台和终端用户之间创建一种环境,终端用户可以基于这个软件所创建的环境来操作自己的软件。使用某种语言编程的程序员,看到的就是可以执行这种语言的机器,即具有这种语言功能的虚拟机。
多层次结构小结:
计算机系统虽然复杂,但具有明显的层次性。
采用分层的观点来分析或设计计算机时,可以根据需要,忽略一些无关的细节,针对相应层次去观察、分析计算机的组成、性能和工作机理,或进行系统各层面的设计,使得复杂的问题变得更容易解决。
比如,有人专门致力于微处理器的研制工作,有人致力于操作系统的开发,也有人专门进行编译程序的开发等等。
本书重点讨论的是第1、第2层中计算机硬件组成的基本原理和实现方法。
硬件和软件的逻辑等价性:
计算机系统以硬件为基础,通过配置软件扩充其功能。在计算机系统设计时,硬件只完成最基本的功能,复杂的功能通过软件实现。
早期的计算机,硬件和软件之间的界限十分清楚。随着计算机技术的发展,软件、硬件之间的界限变得越来越模糊。许多功能既可以由硬件实现,也可以在硬件支持下靠软件实现。例如,乘法运算,可由硬件乘法器实现,也可以由乘法子程序实现。
人们在选择或设计一台计算机时,要知道从哪些方面衡量一台计算机的性能。衡量计算机性能的指标有很多种,而且不同用途的计算机其侧重点也有所不同。
这里主要从速度、容量两方面简单介绍几种常用的性能指标,包括主频、机器字长、存储容量、存储器带宽、运算速度等。
1.主频
2.机器字长
3.存储器带宽
单位时间内从存储器读出的二进制位数的多少,称为存储器带宽。它也是影响计算机工作速度的一个重要指标。
4.运算速度
计算机的运算速度与很多因素有关,如机器的主频、执行何种操作、主存的存取速度等都有关系。衡量计算机运算速度不能单从某一方面来定,必须综合考虑每条指令的执行时间以及它们在全部操作中所占的比例。目前,一般用以下三个参数描述:CPI、MIPS、FLOPS
4.运算速度
(1)CPI(Cycle Per Instruction)指的是执行一条指令的平均时钟周期数。计算公式为:

(2)MIPS(Million Instruction Per Second) 指平均每秒执行定点指令的百万条数。对于一个给定的程序,算式为:

(3)FLOPS(Floating-point Operation Per Second):表示每秒执行浮点操作的次数,算式为:

4.运算速度
MPIS在一定程度上可以反应机器的运算速度。但它过于依赖指令集,用来比较指令集不同的机器性能不准确。
FLOPS取决于机器和程序两方面,只能用来衡量机器浮点操作的性能,不能体现机器的整体性能。不过,FLOPS是基于操作而不是基于指令,用来比较两种不同的机器相对来说好些。当然,浮点操作的类型不同,运算时间相差会很大,如浮点加远远快于浮点除
与计算机运算速度相关的参数还有3个:
5.存储容量
计算机的存储系统包含主存和外存以及高速缓存。相对于主存,高速缓存的容量很小。外存不能被CPU直接访问,需要执行的程序与处理的数据要调入主存才能被CPU访问。计算机处理能力的大小在很大程度上与主存有关。因此一般来说,计算机存储容量指的是主存容量的大小。
存储容量:表示存储器中可以存放的所有二进制位的总数
关于存储器的容量前面已经介绍,这里不再赘述。
计算机的体系结构、组成与实现 【知识拓展】
计算机体系结构(Computer Architecture)
- 主要研究硬件和软件功能的划分,确定硬件和软件的界面,即哪些功能应划分给硬件子系统完成,哪些功能应划分到软件子系统中完成。更多说的是计算机的外特性,是硬件子系统的结构概念及其功能特性。
- 对于不同的计算机系统,从机器语言或汇编语言程序员的角度看,具有不同的属性。但高级语言程序员看,它们几乎没什么区别,具有相同的属性。因此,计算机系统是机器语言或者汇编语言的程序设计人员所见到的计算机系统的属性。
计算机组成(Computer Organization)
- 计算机组成是依据体系结构所确定的硬件子系统的概念结构和功能特性,研究硬件子系统各组成部件的内部结构和相互联系,实现机器指令级的各种功能和特性,是计算机体系结构的逻辑实现。
- 例如:AMD Opteron 64与Intel Pentium 4的指令系统相同,即两者的系统结构相同,但内部组成不同,流水线和Cache结构完全不同。
计算机实现(Computer Implementation)
- 计算机实现是指计算机组成的物理实现。它包括处理器、主存储器等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术及有关的制造技术和工艺等。
三者之间的关系
系统结构的不同使得采用的组成技术产生差异,计算机组成也会影响系统结构。计算机实现是计算机系统结构和组成的基础,其技术的发展,特别是器件技术的发展,促进了组成和结构的发展。计算机系统结构、组成和实现之间的关系如图1-10所示。
随着计算机技术的迅猛发展,三者之间的关系将变得越来越模糊。
本章小结
NVIDIA RTX PRO 4500 Blackwell GPU测试分析