【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

资源Bilibili AV58129929
计算机组成原理 清华大学 刘卫东

本次笔记内容:
P1 计算机组成原理(01)
P2 计算机组成原理(02)

课程信息

由up主总结

课程名称: 计算机组成原理
英文课名: Computer Organization
学分: 4(课内周学时:4 课内总学时:64, 其中讲课48,实验32)
(注:实验占用16个课内学时和16个实验学时)
学期: 秋季
先修课程要求: 汇编语言程序设计、数字逻辑及数字集成电路
课程大纲:
一、 计算机组成概述(2学时)

  1. 计算机系统的基本组成和它的层次结构
  2. 计算机系统的体系结构、组成和实现概述
  3. 课程的教学目标和学习建议

二、 数据表示、运算和运算器部件(14学时)

  1. 信息编码与码制转换,数据表示(2学时)
  2. 数据运算算法(加、减、乘、除)及实现(2学时)
  3. 运算器的功能及组成;位片结构的定点运算器芯片实例Am2901(2学时)
  4. 教学计算机的运算器设计与实现,运算器教学实验说明(2学时)
  5. 浮点运算和浮点运算器,检错纠错码(2学时)
  6. 完成8位机的运算器部件设计(4学时)

三、 指令、指令系统和控制器部件(22学时)

  1. 指令格式和寻址方式(2学时)
  2. 教学计算机指令系统和监控程序的功能(2学时)
  3. 完成8位机的指令系统设计(2学时)
  4. 计算机控制器部件的功能及组成,指令执行步骤概述,控制器分类(2学时)
  5. 微程序控制器的运行原理(2学时)
  6. 教学计算机的微程序控制器设计与实现,微程序控制器教学实验说明(2学时)
  7. 组合逻辑控制器运行原理(2学时)
  8. 教学计算机组合逻辑控制器设计与实现(2学时)
  9. 完成8位机的微程序控制器和硬连线控制器设计(6学时)

四、 多级结构的存储器系统(12学时)

  1. 层次存储器系统概述,主存储器存储原理和特点(2学时)
  2. 静态存储器芯片和动态存储芯片原理与特性,教学计算机存储器的设计与实现(2学时)
  3. 高速缓冲存储器(CACHE MEMORY)(2学时)
  4. 虚拟存储器(VIRTUAL MEMORY)的运行原理(2学时)
  5. 磁表面存储设备、光盘设备的存储原理及组成,磁盘阵列(2学时)
  6. 存储器系统设计(2学时)

五、 输入/输出设备与输入/输出系统(12学时)

  1. 输入/输出系统与输入/输出方式概述:输入输出系统的作用、功能、与其他部件的关系、组成、需要解决的问题;输入、输出方式:程序直接控制、中断、DMA、外围处理机(2学时)
  2. 计算机总线:总线的作用、功能、构成;总线周期、总线仲裁、运行方式;总线的发展(无总线、单总线、双总线、多总线);总线举例:ISA、EISA、SCSI、PCI(2学时)
  3. 输入输出接口电路:接口电路的作用、构成;串行接口举例(串、并行接口、USB)(2学时)
  4. 计算机输入设备:输入设备种类;典型输入设备(键盘、鼠标、扫描仪)运行原理(2学时)
  5. 计算机输出设备:输出设备种类;典型输出设备(显示器、打印机)运行原理(2学时)
  6. 总线与接口设计(2学时)
    六、 总结与复习(2学时)

预热内容-课程介绍

  • 这门课很难、很累;
  • 计算机组成原理是计算机专业同学的看家本领。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,数字逻辑是计算机归根结底的东西,但是没有选修也没有太大关系,因为本课程内用的数字逻辑器件并不多(但是要有硬件描述语言的基础)。

陈卫东老师:想开一门课,叫“计算机系统综合实验”,造一台计算机,设计编译器等等,从后端到前端认识计算机。

学习目的

  • 了解计算机的硬件组成(五大部分组成);
  • 掌握计算机的运行原理(计算机怎样执行机器语言程序);
  • 理解现代计算机中的一些核心技术(流水、并行、Cache、缓存);
  • 提高编程能力。

培养计算机系统能力

什么是计算机系统能力?
  • 系统观:整体性、关联性、层次性、动态性、开放性。
  • 系统方法:硬软件协同及相互作用;层次结构。
如何培养计算机系统能力?
  • 在教学过程中注重系统观,围绕构建计算机系统这一目标组织教学;
  • 多课程联动,注重课程间知识点的有机衔接;
  • 课程实验设计中注意系统的设计和实现。
怎样检验是否具备计算机系统能力?

设计和实现“自己”的计算机系统:

  • 简单但完整的计算机硬件;
  • 建立在硬件之上的教学操作系统;
  • 在操作系统下调用经编译器编译的高级语言程序。

学习目标

掌握单CPU计算机的完整硬件组成:

  • 基本工作原理;
  • 内部运行机制;
  • 建立完整计算机系统概念。

了解计算机系统的新技术。

达到能独立设计一台完整计算机的水平:

  • 硬件、软件齐全;
  • 功能基本完整。

知识和能力两方面都提高。

硬件系列:计算机结构、计算机组成、数字电路等课程区别

计算机结构(Architecture)相当于“建筑师”:

  • 对程序员精确描述计算机硬件的功能;
  • 对硬件工程师的最“抽象”的设计需求;
  • 比如提出“设计一个指针式手表,能准确指示时刻”。

计算机组成(Organization)相当于“土木工程师”:

  • 计算机体系结构的逻辑实现;
  • 计算机硬件功能的集成;
  • 计算机硬件性能评价;
  • 计算机硬件优化;
  • 比如是设计石英表还是机械表,电池发条怎么做。

数字电路(Digital Logical),相当于“砖瓦”提供者。

主要教学内容

计算机的层次结构:

  • 学习计算机组成原理的基本方法。

计算机如何执行程序:

  • 本课程要解决的基本问题。

运算器的功能、组成和运行原理:

  • 程序的功能是如何实现的。

控制器的功能、组成和运行原理:

  • 程序是如何执行的?
  • 怎样能执行得快一些?

存储器及层次存储器系统。

系统如何完成输入和输出。

教学环节和学习方法

《礼记·中庸》:博学之,审问之,慎思之,明辨之,笃行之。

只看ppt不行,要看书与资料。

考评方法

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,Tsinghua与我校在这方面口头上说的都很严格。只是不知道他们落实会怎样,会不会像我校一样水。

历史成绩,平均分在80~85,如果卷面成绩低于40分,直接挂;如果高于40分,基本能过。

大实验Project

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,五个大作业。对于第4个实验,历史表明平均30个小时可做完。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,老师还是鼓励大家两人一组的。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,鼓励尝试创新大作业。对于当时正听课的同学,还没有学习OS,能否尝试在那块板子上跑Ucore?对于32位新型教学计算机,创新实验达到要求者免考试。

教材和参考书

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

本课程教材如上图。

计算机组成

计算机里有什么?

首先看看,什么是计算机?

  • 一种高速运行的电子设备;
  • 用于进行数据的算术或逻辑运算;
  • 可接受输入信息;
  • 根据用户要求对信息进行加工;
  • 输出结果。

Oxford English Dictionary:A calculating machine, esp. an automatic electronic device for performing mathematic or logical operations; freq. with defining word prefixed, as analogue, digital, electronic computer.

计算机基本组成

基础理论支撑

三大理论撑起基础:

  • Turing理论;
  • Shannon贡献主要在信息方法,如何编码;
  • Von Neumann结构。

组成计算机的关键部件50内基本没有大的改变:

  • CPU:Data Path; Controller;
  • Memory;
  • I/O。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,这个冯诺依曼结构采用了采用了图灵机模型、二进制,实现了存储结构,体系结构上明确地提出了五大功能部件。但是,其是以数据通路为核心(输入输出都在IU上,以其为核心);而现在计算机都是以存储为核心。

现代计算机

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,这么多年过去,其结构没有任何改变。但是,其性能提升在于:

  • 集成电路的采用;
  • 体系结构的改变(还是冯诺依曼体系结构,但是采用了流水的技术、层次存储器技术、并行技术)。

计算机运行机制

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图:

  • 数据通路(Datapath)完成算数运算,通常包括简单的寄存器;
  • CPU是运算器和控制器合在一起,控制器是计算机中相当重要的一环;
  • Memory指内存,存储运行时的数据;
  • 输入输出在涉及外部设备;
  • 五个器件在控制器的控制下协调运行。

计算机的层次结构

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,对计算机组成而言,重要的是硬件如何实现机器语言。

机器发展简史

古往今来

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,计算机发展到了第四代:超大规模集成电路。

现在的五代机可能想突破冯诺依曼体系结构,比如量子计算、光计算、生物计算。

古代和近代计算技术

中国的算盘、Blaise Pascal发明自动进位的加法机器;16世纪,Alkhowarizmi提出算法(Algorithm)概念:

  • 面向计算过程设计辅助计算工具;
  • 以提高计算效率为目标;
  • 使用机械等方式实现;
  • 为现代计算机提供了思路。

近代计算技术

1822年,Charles Babbage,差分机(Differential Engie):当时,取对数等需要查表,很麻烦;因此提出差分机通过迭代方式求解;1833年,又提出分析机(Analytical Engine),是一个通用概念,不仅针对一种算法;他请了Ada Augusta Lovelace,第一位程序员。

但是由于分析机工艺要求过高,造不出来。

图灵机

1937年,图灵提出“通用”计算机概念,可以执行任何一个描述好的程序。能证明是否为“图灵可计算”。

存储程序又让计算机走向通用。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,图灵机的串行执行概念无法被打破。

特点:

  • 通用计算机(不用查表);
  • 存储程序的计算机;
  • 速度有限(时间复杂性);
  • 空间有限(空间复杂性);
  • 奠定了现代计算机的理路基础。

Vannevar Bush:Memex

提出保存人类共享的知识;现在已经实现了,即互联网。

里程碑事件

第一台通用电子计算机ENIAC,5000次加法/秒,使用十进制数,20个寄存器,每个存放10位的十进制数,设计用于计算火炮的弹道。通过设置6000个开关和插头插座来编程(没有存储软件程序的地方,是用于硬件编程)。

【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史

如上图,冯诺依曼结构如上。

第一台商用小型计算机PDP-1,1957年由DEC公司生产,是第二代计算机(晶体管),18位字长,4K内存,机器周期为5微秒,总线结构,开创了计算机产业。

第一个系列计算机IBM 360,第三代计算机,科学计算和商务处理,是微程序控制器的实现者。

IBM PC机将应用普及。新型计算模式也在不断发展。

https://computerhistory.org/