【2020/12/4修订】【梳理】计算机组成与设计 第1章 计算机中的常见概念(docx)

本文介绍了计算机组成与设计的第一章内容,涵盖基本思想(如摩尔定律、抽象、多态等)、常用术语(如CPU、内存、缓存、指令集架构)以及性能相关概念。内容包括高级语言与编译器的作用、计算机硬件组件的解释、存储层次结构、性能指标(如主频、功耗、性能评测基准)。文章旨在帮助读者建立计算机系统的基础理解。
摘要由CSDN通过智能技术生成

配套教材:
Computer Organization and Design: The Hardware / Software Interface (5th Edition)


第一章 计算机中的常见概念

第一节 基本思想与常用术语

第二节 性能

链接:https://pan.baidu.com/s/1e1WoLvPzkDXjDYZmAQ0bqA
提取码:0000


第一章 计算机中的常见概念

这一章的内容是概述性的。有些概念解释起来比较复杂,将在后面的章节进一步学习,如果一时理解不了也没关系,可以结合搜索引擎和日后的深入学习慢慢消化。
第一节 基本思想与常用术语
下面介绍贯穿计算机科学与工程的八个重要思想:
·摩尔定律(Moore’s Law)。这是Intel的创始人之一Gordon Moore提出的,其内容是:集成电路(Integrated circuit,IC,也叫芯片(chip))中的晶体管数量每隔18到24个月翻一倍。
当前,相关技术逐渐接近瓶颈,摩尔定律在CPU领域已经失效。
·抽象(abstract)方法。为了缩短延长越来越明显的开发周期,在不同的层面上采用不同的抽象模型来简化设计过程:高级层面的模型会隐去低级层面的细节。例如:把频繁使用的算法写成函数,而使用函数时,通常无需考虑函数内部的执行过程;用常见的逻辑门设计数字电路时,大都不考虑在晶体管层面怎样实现逻辑门。
·多针对最常见的情况进行优化。为了使计算机在多数时间内表现出更好的性能,应该优先选择常见的情况进行针对性优化。而且,对常见场景的优化的困难程度往往低于对个别极端情况的优化。
·并行(Parallelism)。同时执行尽量多的指令。
·流水线化(Pipelining)。流水线已经成为芯片的必备设计,用于并行执行。将在第四章进一步学习流水线技术。
·预测(prediction)执行。有一句话是这样说的:“请求饶恕比请求批准更好。”(It can be better to ask for forgiveness than to ask for permission.)猜测接下来需要执行的可能性更大的指令并提前执行,而不是让芯片空转。虽然误预测的代价较大(清空流水线并重新执行一系列指令,见第四章),但预测执行的平均表现更好。
·层次化存储。程序员们总是渴望又快又大又便宜的存储。但高速存储(如:缓存)的成本巨大,大容量的存储(如:硬盘(Hard Disk Drive,HDD))虽然价格低,但性能远远不足。容量和性能往往又不能兼顾。一个缓和这些矛盾的方法是:设计不同层次的存储。多层次的存储可以用金字塔表示:顶端是速度快、容量小、价格贵的存储(寄存器、多级缓存);次一级是内存(memory),成本降低、速度减慢、容量提升;再低一级是外存,包括HDD / SSD(Solid State Drive,固态硬盘),成本更低、速度更慢、容量更大。
·冗余(Redundancy)。任何计算机设备都具有一定的损坏几率(也可能是毫无前兆的暴毙)。在计算机系统中添加多个相同功能的设备(例如:多份数据备份、多电源),确保在部分设备损坏时,一般不影响系统运行,并为修复争取时间。

计算机拥有众多的软件。软件有不同的分类方法,但所有的计算机一定有两种软件:操作系统(Operating System,OS)和编译器(Compiler)。
操作系统是用户程序和硬件之间的接口,并提供一系列权限级功能,包括但不限于:
·处理基本的输入输出(IO)操作。
·分配内存和外存。
·在多个应用共享计算机时提供必要的保护。
Windows是大家常见的操作系统。除了Windows以外,还有一系列类UNIX系统(Linux、FreeBSD、Solaris、Minix等)。Android是基于Linux的操作系统,多用于手机等移动设备。iOS和Mac OS X基于类UNIX系统Darwin。
编译器负责将高级语言(如:C / C++)编写的程序转变为低级语言,再进一步转换为机器指令,使程序能被计算机执行。

目前的计算机都是采用二进制(binary)的。计算机只认识0和1两种代码,每个0或1称为二进制位(binary digit),简称位(bit)。我们令计算机执行的动作,称为指令(instruction)。一切指令和数据都用二进制表示。
计算机刚诞生时,程序员直接用二进制编写机器指令让计算机执行。这个过程复杂且易错。后来人们发明了汇编器(assembler)和汇编语言(assembly language)。汇编语言是机器语言的助记符,汇编器负责把汇编语言转换为机器语言(machine language)。只有机器语言才可以直接被计算机执行。
当然,汇编语言使用起来还是不够方便,因为汇编语言强迫程序员按照计算机的思维而非人类的常用思维去编写程序。后来࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值