计算机组成原理自学笔记
- 第二章 计算机的开发与应用
-
- 2.1 计算机发展史
-
- 2.1.1 计算机的生产和发展
- 2.1.2 微型计算机的出现和发展
- 2.1.3 软件技术的兴起与发展
- 2.2 计算机应用
-
- 2.2.1 科学计算和数据处理
- 2.2.2 工业控制和实时控制
- 2.2.3 应用网络技术
- 2.2.4 虚拟现实
- 2.2.5 信息系统的自动化和管理
- 2.2.6 CAD/CAM/CIMS
- 2.2.7 多媒体技术
- 2.2.8 人工智能
- 2.3 计算机展望
第二章 计算机的开发与应用
2.1 计算机发展史
- 第一台电脑是什么时候出现的?
- 第一台电子计算机的基本指标?
- 发展的驱动力是什么?
- 主要部件的发展?
- 主要部件的发展规律是什么?
- 主要代表型号?
- 微型计算机的发展?
- 软件开发?
2.1.1 计算机的生产和发展
-
第一代电子管计算机(1946-1957)
经美国国防部批准Pennsyivania大学John Mauchly教授和John Presper Eckert工程师提出的计划。
电子数字积分机和计算机由电子管组成ENIAC(Electronic Numerical Integrator And Computer),解决武器弹道的计算问题。
十进制运算
电子管18000多个,继电器1500多个,运行时耗电150千瓦,30吨,1500平方英尺,加法/秒5000次。
标志计算工具进入了一个新时代。
ENIAC正式退休于1955年。
-
第二代晶体管计算机(1958-1964)
用晶体管代替电子管,大大提高了计算机的性能。
以IBM 以700/7000系列为例,与电子管机701相比,晶体管机7094的主存容量为2K字增加到32K存储周期为30μs下降到1.4μs;指令操作码数从24增加到185;操作速度从每秒数万次提高到每秒50万次。
-
第三代集成电路计算机(1965-1971)
利用光刻技术把晶体管、电阻、电容等构成的单个电路制作在一块极小的硅片上(如几个平方微米)。进一步发展,实现了将成百上千个这样的门电路全部制作在一块极小的硅片上,即小规模集成电路(SSI)中型集成电路(MSI)第三代计算机。
典型代表为IBM的System/360和DEC的PDP-8。
另一种代表机器是DEC的PDP-8.采用总线结构。
-
第四代机(1972-1977)
硬件技术:大规模集成电路
运算速度/(次/秒):1万万
-
第五代机(1978-)
硬件技术:超大型集成电路
速度/(次/秒)
发展阶段 | 时间 | 硬件技术 | 速度/(次/秒) |
---|---|---|---|
一 | 1946-1957 | 电子管 | 40000 |
二 | 1958-1964 | 晶体管 | 200000 |
三 | 1965-1971 | 中小型集成电路 | 1000000 |
四 | 1972-1977 | 大规模集成电路 | 10000000 |
五 | 1978-现在 | 超大型集成电路 | 100000000 |
现代计算机产生的驱动力
- 需求
- 技术发展
- 发展电子技术
- 计算机系统结构技术的发展
2.1.2 微型计算机的出现和发展
机型 | 机器字长 | 时间 | 晶体管数量 | |||
---|---|---|---|---|---|---|
8080 | 8位 | 1974年 | ||||
8086 | 16位 | 1979年 | 2.9万个晶体管 | |||
8088 | 16位 | 1979年 | 2.9万个晶体管 | |||
80286 | 16位 | 1982年 | 13.4万个晶体管 | |||
80386 | 32位 | 1985年 | 27.5万个晶体管 | |||
80486 | 32位 | 1989年 | 120.0万个晶体管 | |||
Pentium | 32位 | 1993年 | 310.0万个晶体管 | |||
Pentium Pro | 64位 | 1995年 | Pentium Ⅱ | 64位 | 1997年 | 750.0万个晶体管 |
Pentium Ⅲ | 64位 | 1999年 | 950.0万个晶体管 | |||
Pentium Ⅳ | 64位 | 2000年 | 4200.0万个晶体管 |
目前,芯片上可集成超过30亿个晶体管。
摩尔(Moore)定律:
Intel公司的缔造者之一,Gordon Moore提出,微芯片上集成的晶体管数目每三年翻两番。
一味地追求微芯片集成度的提高,会引发功耗、散热问题,还会出现更多问题,如线延迟问题、软误码率现象等。
从20世纪微处理器的发展来看,几乎每3年处理器的性能就能提高4~5倍,但是计算机中一些其他部件性能的提高速度达不到这个水平。因此,会产生不同部件性能不匹配的问题,必须不断调整计算机的组成与结构。
影响处理器和其他部件性能不匹配的主要因素是处理器于主存之间的接口和处理器于外设之间的接口。
处理器于主存之间的接口是整个计算机中最重要的通路,因为它负责在主存于处理器之间传送指令和数据,如果主存或主存与处理器之间的传送跟不上处理器的要求,就会使处理器处于等待的状态。为此,可加宽数据总线的宽度,在主存和处理器之间设置高速缓冲存储器(Cache)并发展成片内Cache和分级Cache,采用高速总线和分层总线来缓冲和分流数据,从而提高处理器和存储器之间的连接带宽。
处理器和外设之间也存在大量的数据传输要求,可通过各种缓冲机制、加上高速互联总线以及更精致的总线结构来解决他们之间传输速率的不匹配问题。
因此,必须不断平衡处理器、主存、I/O设备和互连结构之间的数据吞吐率和数据处理的需要,使计算机的性能越来越好。
从21世纪初来看,当前通用微处理器的发展重点将在以下的几个方面。
-
进一步提高复杂度来提高处理器性能。这种方法沿袭传统的指令级并行方法加速单线程应用,组织更宽的超标量,采用更多的功能部件、多级Cache和激进的数据、控制以及指令轨迹预测,达到使用尽可能多的指令级并行(Instruction-Level Parellelism, ILP)。例如,先进超标量处理器(Advanced Superscalar Processor)、超前瞻处理器(Superspeculative Processor)、多标量处理器(Multiscalar Processor)、数据标量处理器(Datascalar Processor)和踪迹处理器(Trace Processor)等。
-
通过线程/进程级并行性的开发提高处理器的性能,即通过开发线程级并行性(Thread-Level Parallelism, TLP)或进程级并行性(Process-Level Parallelism, PLP)来提高性能,简化硬件设计。例如,多处理器(Multiprocessor)、但芯片处理器CMP(On-chip Multiprocessor)、多线程处理器(Multi-Threaded Processor)以及同时多线程处理器(Simultaneous Multi-Threading Processor)、动态多线程处理器(Dynamic-Multithreaded Processor)和多路径多线程处理器(Threaded Multipath Processor)等。
-
将存储器集成到处理器芯片内来提高处理器性能。采用ILP、TLP、PLP能大大提高处理器内部指令执行的并行度,而指令和数据的供应是充分发挥这些技术的关键问题。传统上以处理器为中心的设计思想导致处理器把大量的复杂性花在解决访存延迟的问题上。然而处理器和存储器性能的差距仍在以每年50%的速度增大,使得访存速度将成为未来提高处理器性能的主要瓶颈。基于此,PIM(Processor In Memory)技术提出将处理器和存储器集成在同一个芯片上,这样可使访存延时减少510倍以上,存储器带宽可增加50100倍以上。大多数情况下,整个应用在运行期间都可放到片上存储器例。将存储器集成到处理器芯片上后,原来用于增加处理器—存储器带宽的大量存储总线引脚可以被节省下来用于增加I/O带宽,这将有利于提高未来大量的网络性能,并且能减少对片外存储器的访问,使处理器的功耗大大降低。
-
发展嵌入式处理器。由于嵌入式应用需求的广泛性,以及大部分应用功能单一、性质确定的特点,决定了嵌入式处理器实现高性能途径与通用处理器有所不同。目前嵌入式处理器大多是针对专门的应用领域进行专门设计来满足高性能、低成本和低功耗的要求。例如,视频游戏控制需要很高的图形处理能力;手持、掌上、移动和网络PC要求具备虚存管理和标准的外围设备;手机和个人移动通信设备要求在具有高性能和数字信号处理能力的同时具有超低功耗;调制解调器、传真机和打印机要求低成本的处理器;机顶盒和DVD则要求高度的继承性;数字相机要求既有通用性又有图像处理能力。
目前嵌入式处理器的高性能和低成本技术发展趋势是:体系结构需要在新技术与产品、市场和应用需求之间取得平衡;设计方法趋向于走专用、定制和自动化的道路。
2.1.3 软件技术的兴起和发展
-
各种语言
机器语言 面向机器 0/1序列
汇编语言 面向机器 机器语言的符号化表示
高级语言 面向问题 接近人们习惯用的自然语言和数学语言
- FORTRAN 科学计算和工程计算
- PASCAL 结构化程序设计
- C++ 面向对象
- Java 适应网络环境
-
系统软件
语言处理程序
- 汇编程序 编译程序 解释程序:使高级语言描述的算法能在机器上执行
操作系统:协调管理计算机中各种软件、硬件及其他信息资源,能够调度用户的作业程序,使多个用户能有效地共用一套计算机系统。
- DOS、UNIX、Windows、Linux、Kylin Linux
服务性程序
- 装配程序 调试程序 诊断程序 排错程序
数据库管理系统
- 数据库和数据库管理软件
网络软件
-
软件发展的特点 开发周期长: 软件规模大,代码量大 制作成本昂贵: 软件开发完全依赖于人工 检测软件产品质量的特殊性: 要完善一个软件产品,必须在应用过程中不断加以修改、补充。 只有使用了一定时间后,才能对软件产品质量进行确定。
2.2 计算机的应用
2.2.1 科学计算和数据处理
-
科学计算 特点:计算量大,数值变化大。 在天文学、量子化学、空气动力学和和物理学等领域都要依靠计算机进行复杂的运算。
-
数据处理
大批复杂的事务数据,如政府机关公文、报表和档案。银行、公司、企业的财务等数据信息,都是由计算机处理的。
2.2.2 工业控制和实时控制
通过各种传感器获得的各种物理信号经转换为可测可控的数字信号后,再经计算机运算,根据偏差,驱动执行机构来调整,便可达到控制的目的。
2.2.3 网络技术的应用
新Moore定律,全球入网量每6个月翻一番。
-
电子商务
任何一个组织机构可利用Internet来改变他们与客户、供应商、业务伙伴和内部员工的交流,也可以认为使消费者、销售者和结算部门之间利用Internet完成商品采购和支付的过程。
-
网络教育
通过教育网络,学生受教可以不受时间、空间和地域的限制,通过网络伸展到全球的每个角落,建立真正意义上的开放式的虚拟学校,每个学生可以在任意时间、任意地点通过网络自由地学习。
-
敏捷制造
敏捷制造由两部分组成:敏捷制造的基础结构和敏捷制造的虚拟企业。前者为形成虚拟企业提供环境和条件,后者对市场不可预期的变化做出迅速响应。
2.2.4 虚拟现实
虚拟现实使利用计算机生成的一种模拟环境,通过多种传感设备使用户“投入”到该环境中,达到用户与环境直接进行交互的目的。
2.2.5 办公自动化和管理信息系统
利用计算机及自动化的办公设备来替代“笔、墨、纸、砚”及办公人员的部分脑力、体力劳动,从而提高了办公的质量和效率。如,利用计算机来起草文件;利用计算机来安排日常的各类公务活动;利用计算机手机各类信息,并存于数据库内,便于查询修改。
2.2.6 CAD/CAM/CIMS
利用计算机来参与产品辅助设计、产品辅助工艺设计、产品模拟样机、产品辅助制造,直至产品制造系统。
-
CAD
计算机辅助设计(Computer Aided Design, CAD)按设计任务书的要求,可进行各种设计方案的比较,确定产品结构、外形尺寸、材料选择、模拟组装;再对模拟整机进行各种性能测试,包括强度分析、振动分析、运动状态分析等;并任意修正,从性能的先进性、经济的合理性、加工的可行性等方面进行论证,获得最终的设计产品;然后将其分解为零件、分装部件,并给出零件图、分部装配图、总体装配图等。由计算机完成上述工作,大大降低产品的设计成本,缩短了产品的设计周期,最大限度地降低了产品设计的风险。
-
CAM
计算机辅助制造(Computer Aided Manufacturing, CAM)是以数控机床为主体,利用存有全部加工资料的数据库,实现对产品加工的自动化。
-
CIMS
计算机集成制造系统(Computer Integrated Maunfacturing Systems, CIMS)利用信息技术和现代管理技术改造传统制造业、加强新兴制造业、提高企业市场竞争能力的一种生产模式。
以企业选定的产品为龙头,在产品设计过程、管理决策过程、加工制造过程、产品质量管理和控制等过程中,采用各种计算机辅助技术和先进的科学管理方法,在计算机网络和数据库的支持下,实现信息集成,进而优化企业运行,达到产品上市快、质量好、成本低、服务好的目的,以此提高产品的市场占有率和企业的市场竞争力。
2.2.7 多媒体技术
多媒体技术是计算机技术和视频、音频及通信等技术相结合的产物。它是用来实现人和计算机交互地对各种媒体(如文字、图形、影像、音频、视频、动画等)进行采集、传输、转换、编辑、存储、管理,并由计算机综合处理为文字、图形、动画、音响、影像等视听信息而有机合成的新媒体。
2.2.8 人工智能
专门研究如何使计算机来模拟人的智能的技术。目前来看,要使电脑具有人的经验知识以及通过联想、比拟、推断来做出决策的功能,还有相当的距离。
近年来在模式识别、语音识别、专家系统和机器人制作方面都取得了很大的成就。
2.3 计算机的展望
-
计算机具有类似人脑的一些超级智能功能
要求计算机的速度要足够快,信息处理的计算机速度至少达到每秒 1 0 15 10^{15} 1015存储容量至少达到 1 0 13 10^{13} 1013字节
-
芯片集成度的提高受以下三方面的限制
- 芯片集成度受物理极限的制约
- 按几何级数递增的制作成本
- 芯片的功耗、散热、线延迟
-
替代传统的硅芯片
- 光计算机:利用光子取代电子进行运算和存储
- DNA生物计算机:通过控制DNA分子见的生化反应
- 量子计算机:利用原子的量子特性实现计算