PAGE 58

PAGE 15

计算机设计基本原理

简介

半个多世纪以来,计算机技术取得了惊人的发展。1945年时还没有能存储程序的计算机。现在,花不到一千美元买到的个人计算机比1980年花一百万美元买的计算机具有更高的性能、更大的主存和磁盘空间。这一高速发展既得益于计算机制造技术的进步,又离不开计算机设计的创新。

尽管制造技术的进步速度相当稳定,但系统结构的发展速度却不那么稳定。在电子计算机发展的最初25年中,这两股力量的贡献都很大,但大约从七十年代开始,计算机设计者开始更多地依赖于集成电路技术。七十年代,当时计算机工业占统治地位的大型机和小型机的性能以每年25—30%的速度提高。

七十年代末出现了微处理器,它比大型机和小型机集成度更高,因而促进了集成电路技术的发展,这又进一步推动了计算机性能的提高——计算机性能以大约每年35%的速度提高。

这一发展速度,再加上微处理器批量生产的成本优势,使得计算机产业中以微处理器为基础的部分迅速膨胀。此外,计算机市场的两个重大变化使新的计算机系统结构比以往更容易取得商业运作的成功。其一,人们实际已经不再使用汇编语言编程,这就降低了对目标代码兼容性的要求。其二,标准的、与厂商无关的操作系统(如UNIX)的出现,减小了推出新系统结构的成本和风险。

图1.1 八十年代中期之后微处理器的性能增长速度实际上要比以前快。这张图表是根据SPECint测试程序的结果绘制的计算机性能曲线,以VAX 11/780为基准。随着SPEC的发展变化,通过和SPEC的两个不同的版本(如SPEC92和SPEC95)有关的比例因子来对更新的机器性能进行评估。在八十年代中期以前,微处理器的性能提高主要是技术驱动的,平均以每年35%的速度提高。此后,微处理器的性能提高主要得益于先进的系统结构设计思想。截止到2001年,这一增长速度已经使总的性能与单纯依靠技术进步能够达到的性能之间有了十五倍的差距。 浮点运算的性能提高得更快。

正是这些变化使得在八十年代初RISC的新系统结构的推出成为可能。设计者把基于RISC的机器的注意力放在两个关键性能技术上:指令级并行的开发(从最初的流水线操作到后来的多指令流)和高速缓存的使用从最初简单的形式到后来的复杂的组织方式和优化方式。系统结构和组织的共同增强导致在性能方面以每年50%以上的速度持续提高了长达20年。图1.1显示了这种发展速度的差异。

这一令人难以置信的飞速发展带来了双重效果。一方面,它极大地增强了计算机提供给用户的功能。现代最高性能的微处理器对很多应用程序的处理效果远远超过不到10年前的那时候的巨型机。

另一方面,这一飞速发展使以微处理器为基础的计算机在整个计算机领域占据了统治地位。工作站和PC机已经成为计算机工业的主要产品。由逻辑电路或门阵列制成的小型机已经被用微处理器制造的服务器取代了。大型机也在慢慢地被由流行的微处理器组成的多处理器取代。甚至高端产品——巨型机也可以由多个微处理器构成。

不必与以往设计相兼容的自由性和微处理器技术的使用促使了计算机设计的复兴,此时的计算机设计既强调系统结构的创新,又强调充分利用技术进步的成果。正是这一复兴带来了如图1.1所示的计算机工业史无前例的飞速发展。截止到2001年,微处理器的最高性能与单纯依赖以提高集成电路设计在内的技术进步能够达到的性能相比,前者几乎是后者的十五倍。

在过去短短几年间,集成电路的迅猛发展使得像x86(或是IA-32)这样的旧的少流水线型的系统结构也能够采用基于RISC的许多新的方法。如我们所看到的,现代x86处理器基本上有一个前端部件,这个部件可以读取并解码x86指令并将其映射为简单的ALU、内存访问,或者是能在RISC式流水线处理器中执行的分支操作。从90年代末开始,随时晶体管数量的猛增,解释更多更复杂的x86系统结构的费用相对于它在一个现代微型处理器中的整个晶体管数量来说,已经变的微不足道了。

本教材讲述的正是使这一飞速发展成为可能的系统结构设计的基本思想和相关的编译器的发展。处于这一戏剧性革命中心地位的是计算机设计的定量方法的发展和以对程序的直接观察、实验和模拟为工具的分析方法。本书所反映的正是这种设计风格和方法。

要保持近年来计算机成本降低、性能提高的速度需要计算机设计的不断创新,笔者认为这种创新将建立在计算机设计的定量方法基础上。因此,写本书的目的不仅限于阐述这种设计方式,而且希望它能够激励读者为计算机的发展做出自己的贡献。

计算的改变方向和计算机设计者的任务

六十年代,计算的主要形式是利用大型机,这种机器往往价值几百万美元,并且安放在专用的计算机室里,需要多个操作员来进行操作。典型的应用程序是商务数据处理和大规模的科学计算。七十年代诞生了小型机,这是一种小规模的主要针对科学实验室的机器

存储程序通用计算机设计方案,第1章计算机设计方案基本原理.doc相关推荐

  1. 第一 二章 计算机基础知识,[精品]第二章-计算机基础知识.doc

    [精品]第二章-计算机基础知识.doc (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 第二章计算机基础知识2.1将下列各二进制教转换 ...

  2. 电子计算机的基本结构基于存储程序思想是由,第一章计算机基础知识习题

    <第一章计算机基础知识习题>由会员分享,可在线阅读,更多相关<第一章计算机基础知识习题(3页珍藏版)>请在人人文库网上搜索. 1.第一章 计算机基础知识习题一.单项选择题1.通 ...

  3. 第一章计算机基础知识作业答案,第一章 计算机基础知识.doc第一次作业

    交流 借鉴 第一章 计算机基础知识 一.单选题 1. 第四代电子计算机是( C )计算机. A.电子管 B.晶体管 C.大规模集成电路 D.人工智能 2.第一台电子计算机是1946年在美国研制的,该机 ...

  4. 如何使用计算机改进生产线,第四章 计算机生产管理.doc

    第四章 计算机生产管理 第四章 计算机辅助生产管理 基本概念 一.生产与生产管理 (一)生产的含义 生产:生产是"投入→变换→产出"的过程.p105图4-1 例:钢的生产 投入:原 ...

  5. 计算机专业英语第13章,第13章计算机专业英语.doc

    第13章计算机专业英语 第13章 计算机专业英语 [例13-1](2006年5月上午试题68) are those programs that help find the information yo ...

  6. 计算机功能室设计方案,多功能教室的设计方案.doc

    多功能教室的设计方案 多功能教室的设计方案 目录 一.多功能教室系统设计的整体概述1 多功能教室设计的整体思路如下2 二.多功能教室系统的主要设备与设备的使用及功能2 ①投影机2 ②视频展示台3 ③集 ...

  7. 通用计算机的发展历程是巨型机大型机小型机,办公自动化概论ppt 第1章 计算机基础知识.ppt...

    办公自动化概论ppt 第1章 计算机基础知识.ppt (36页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机办公应用第1章 计算机基 ...

  8. 什么是现代通用计算机的轴型,大学计算机基础(版)各章节习题+答案.doc

    大学计算机基础(版)各章节习题答案 第一章 计算机与信息社会基础知识 一.选择题 1._____________是现代通用计算机的雏形. A. 宾州大学于1946年2月研制成功的ENIAC B.查尔斯 ...

  9. 计算机组成原理-第一章 计算机系统概述(详细知识点总结)

    第一章 计算机系统概述 大纲 大纲: (一).计算机发展历程 (二).计算机系统层次结构 计算机硬件的基本组成.计算机软件的分类.计算机的工作过程 (三).计算机性能指标 吞吐量.响应时间.CPU时钟 ...

最新文章

  1. 小Z的袜子(hose)
  2. 容联雷辉:视频系统由标清进入到移动高清时代
  3. 10个程序员才懂的灯谜,你能猜对几个?
  4. 朗读评价语言集锦_评语大全之朗诵评语艺术表现力
  5. 在RH6.5上安装sublime3 build3103步骤
  6. vue的登陆验证及返回登录前页面实现
  7. 信息学奥赛一本通(C++)版在线评测系统网址
  8. GCN与图谱理论(三):图的谱分析与图傅里叶变换
  9. Kubernetes快速入门
  10. 网关 网关路由器 网关交换机 路由器 交换机
  11. html写前端手机页面,前端编写手机兼容页面(简易方式)
  12. 三角函数回忆:三角恒等式、三角曲线、三角形的边角关系
  13. iOS Instrument使用之Core Animation(图形性能)
  14. 推荐一个C# 制作免安装程序的工具和方法,超级好用 fody
  15. 计算机二级怎么样分屏方便,全国计算机等级考试二级教程
  16. 安卓手机如何投屏到电视上_手机如何投屏到电视上?小屏秒变大屏,追剧更享受!...
  17. 人工智能技术与自动驾驶,自动驾驶与人工智能
  18. java开发工具还有那些?
  19. 算法工程师福利:超实用技术路线图
  20. 面试笔记(网易-Java开发实习)

热门文章

  1. Foxmail十大安全隐患解决方法
  2. 基于nginx-rtmp-module模块实现的HTTP-FLV直播模块nginx-http-flv-module(二)
  3. python画图坐标重叠怎么办_Python学习第95课-多个数据在同一个坐标轴画图叠加
  4. 【CSDN|每日一练】鬼画符门之大师兄恋爱
  5. 虚幻引擎(10)-切换控制权
  6. ARM 之 Keil 项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明
  7. To B 和To C 产品经理,哪个对能力要求更高?
  8. sno什么意思mysql_mysql数据库的概念及入门语句
  9. 用Python实现一个简单好用的12306查票系统
  10. Ubuntu系统中解决U盘变为只读文件系统