计算机组成原理 | 第一章《计算机系统概论》学习笔记
引言 & 声明
《计算机组成原理》是计算机及有关信息技术专业的一门核心基础课程。
在学习《计算机导论》、《程序设计基础》等课程、对计算机应用有基本掌握之后,便需要了解计算机的基本组成和工作原理。此外,对于后继课程,如《操作系统》等的学习,也需要在掌握计算机基本工作原理的基础上来进行。因此,从课程的地位来说,《计算机组成原理》在整个课程体系中起着承上启下的作用,是计算机及相关专业的主要课程之一。
以上内容引用自《计算机组成原理》教材“引言”部分。
本文取材于学习时所做的课程笔记,引用资料部分另行标注。
本人水平有限,错误之处在所难免,欢迎读者批评、指正,我也会在适当时间进行修正与补充。
第一章 计算机系统概论
本章主要讲述计算机的发展历程及其广泛的应用领域,同时介绍了计算机硬件系统的和计算机软件系统的基本组成及其功能。
此部分内容较为枯燥,如不感兴趣可选择忽略。
1.1 计算机的发展与应用
1.1.1 计算机的发展
第一代计算机(1946~1958):电子管数字计算机
第二代计算机(1957~1964):晶体管数字计算机
第三代计算机(1965~1970):集成电路计算机
第四代计算机(1971~至 今):大规模、超大规模集成电路计算机
第五代计算机(20世纪80年代以来):人工智能计算机(如:英国的“阿尔维”计划、法国的“尤利卡”计划等)
1.1.2 微处理器(CPU)的发展
第一代(1971~1973):
1971年,Intel公司推出MCS-4微机,4004,4位微处理器
1972年,Intel公司推出8008,8位微处理器
第二代(1973~1978):
1973年,出现了N沟道MOS集成电路(NMOS)、P沟道集成电路(PMOS)
1974年,Intel公司推出8080,8位微处理器
1975~1976年,Motorola公司推出6800,Zilog公司推出Z80等处理器芯片(NMOS)
第三代(1978~1984):
1978年,Intel公司推出8086,16位微处理器
1979年,Intel公司推出8088,16位微处理器
1981年,以8088微处理器为核心组成IBM PC机,
同年,Motorola公司推出MC 6800,Zilog公司推出Z-8000处理器(工作方式:实模式和保护模式两种)
1982年,Intel公司推出80286微处理器,16位微处理器
第四代(1985~1992):
1985年,Intel公司推出80386微处理器,32位微处理器,增加虚拟86工作模式(与后来的80486、Pentium等统称为IA-32处理器,或32位8086处理器)
1989年,Intel公司推出 80486微处理器(工作频率100MHz,简单指令集RISC)
第五代(1993~2000):
1993年,Intel公司推出 Pentium(奔腾),586微处理器,32位微处理器,简称P5,主频60MHz
1995年,Intel公司推出Pentium Por(高能奔腾),简称P6,主频166MHz
同年,IBM,Apple,Motorola三家公司推出PowerIP,AMD公司推出K5,Cyrix公司推出M1
1997年,Intelg公司推出Pentium MMX(多能奔腾),增加了处理多媒体数据的MMX指令集
2000年,Intel公司推出代号为Northwood的Pentium4,主频2.2GHz
第六代(2000~2002):
Itanium(安腾)处理器——IA-64结构的开放硬件结构,用于用在高端企业级64-bit计算环境中
2000年,Intel公司推出64位Itanium处理器
2002年,Intel公司推出Itanium 2处理器,主频1GHz
第七代(2003~2004):
2003年,AMD公司推出64位处理器
2004年,Intel公司推出64位存储技术,用在Pentium 4终极版,6XX系列
第八代(2005~至今):
2005年,Intel公司推出采用双核设计的桌面级处理器,有Pentium D820,830,840,最高端型号为Pentium Extreme Edition 840
同年,AMD发布用于WorkStation的双核心Opteron处理器,双核桌面处理器Atlon64 X2家族;还发布FX-60和FX-62高性能桌面处理器以及Turion64 X2移动处理器
2006年,Intel公司开始推广应用四核处理器
2009年,Intel公司发布基于Nehakem架构的移动版酷睿i7四核处理器(用于笔记本电脑)
第九代(2018~至今):
2018年10月8日,Intel公司正式发布第九代酷睿桌面处理器,主打游戏、创意工作者和生产力市场
2019年4月25日,Intel公司正式发布基于 14nm Coffe Lake 架构的第九代酷睿移动级处理器
第十代(2019~至今):
2019年8月1日晚,Intel公司正式发布面向二合一PC以及笔记本的11款高度集成的全新第十代智能英特尔酷睿处理器
第十一代(2021~至今):
2021年3月16日23:00,Intel公司正式发布第11代桌面酷睿处理器,最新一代Intel CPU采用全新的14nm Cypress CPU架构,代号“Rocket Lake”
本人更倾向于使用Intel CPU,对其他CPU了解较少,以上内容部分来源于网络资料(截止至2021年5月)。
如读者阅读时发现较大错误,欢迎与我联系更正。
1.1.3 计算机的分类
① 按信息的形式和处理方式分
{
数
字
计
算
机
模
拟
计
算
机
数
字
模
拟
混
合
计
算
机
\left\{ \begin{array}{c} 数字计算机 \\ 模拟计算机 \\ 数字模拟混合计算机\end{array}\right.
⎩⎨⎧数字计算机 模拟计算机 数字模拟混合计算机
② 按计算机的用途分
{
通
用
计
算
机
专
用
计
算
机
\left\{ \begin{array}{c} 通用计算机 \\ \\专用计算机\end{array}\right.
⎩⎨⎧通用计算机专用计算机
③ 按计算机的规模分
{
巨
型
机
大
型
机
中
型
机
小
型
机
微
型
机
单
片
机
\left\{ \begin{array}{c} 巨型机 \\ 大型机 \\ 中型机 \\ 小型机 \\ 微型机 \\ 单片机\end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧巨型机大型机中型机小型机微型机单片机
1.1.4 计算机的特点
① 快速性
② 通用性
③ 准确性
④ 逻辑性
1.1.5 计算机的应用
① 科学计算
② 实时控制
③ 信息处理
④ 计算机辅助技术
⑤ 办公自动化
⑥ 家用电器
⑦ 人工智能
1.2 计算机的硬件系统
1.2.1 冯 · 诺依曼结构的特点
① 采用二进制代码表示数据和指令
② 存储程序工作方式:事先编制程序,事先存储程序,自动连续的执行程序
③ 由运算器、存储器、控制器、输入设备和输出设备组成
1.2.2 计算机的总线结构
总线:指计算机各部件之间的一组公共信息线,是信息传输的公共通路。
总线分类:
① 按用途分
{
控
制
总
线
数
据
总
线
地
址
总
线
\left\{ \begin{array}{c} 控制总线 \\ 数据总线 \\ 地址总线\end{array}\right.
⎩⎨⎧控制总线数据总线地址总线
② 按连接位置分
{
内
总
线
片
间
总
线
板
间
总
线
通
讯
总
线
\left\{ \begin{array}{c} 内总线 \\ 片间总线 \\ 板间总线 \\ 通讯总线\end{array}\right.
⎩⎪⎪⎨⎪⎪⎧内总线 片间总线板间总线通讯总线
1.3 计算机的软件系统
1、系统软件:用于实现计算机系统的管理、调度、监视和服务
(1)操作系统
{
管
理
好
计
算
机
系
统
的
全
部
资
源
(
硬
件
和
软
件
资
源
)
为
计
算
机
系
统
和
用
户
提
供
友
好
的
交
互
界
面
\left\{ \begin{array}{c} 管理好计算机系统的全部资源(硬件和软件资源) \\ \\ 为计算机系统和用户提供友好的交互界面 \end{array}\right.
⎩⎨⎧管理好计算机系统的全部资源(硬件和软件资源)为计算机系统和用户提供友好的交互界面
(2)数据库管理系统
(3)语言处理系统
程序设计语言:指用于编写程序的语言,包括:
{
机
器
语
言
:
用
二
进
制
形
式
表
示
,
并
能
直
接
被
计
算
机
硬
件
识
别
和
执
行
的
语
言
汇
编
语
言
:
将
机
器
语
言
符
号
化
,
用
字
母
、
符
号
来
代
替
数
字
编
码
的
机
器
指
令
高
级
语
言
:
与
计
算
机
具
体
逻
辑
结
构
无
关
,
表
达
方
式
接
近
于
被
描
述
问
题
的
程
序
设
计
语
言
\left\{ \begin{array}{c} 机器语言:用二进制形式表示,并能直接被计算机硬件识别和执行的语言 \\ 汇编语言:将机器语言符号化,用字母、符号来代替数字编码的机器指令 \\ 高级语言:与计算机具体逻辑结构无关,表达方式接近于被描述问题的程序设计语言\end{array}\right.
⎩⎨⎧机器语言:用二进制形式表示,并能直接被计算机硬件识别和执行的语言汇编语言:将机器语言符号化,用字母、符号来代替数字编码的机器指令高级语言:与计算机具体逻辑结构无关,表达方式接近于被描述问题的程序设计语言
语言处理系统:是完成翻译计算机各种语言的一组程序,包括:
{
汇
编
程
序
编
译
程
序
解
释
程
序
\left\{ \begin{array}{c} 汇编程序 \\ 编译程序 \\ 解释程序\end{array}\right.
⎩⎨⎧汇编程序编译程序解释程序
源程序(源代码):将汇编语言程序和高级语言程序称为源程序
目标程序(目标代码):经翻译后得到的机器语言程序
(4)服务性程序:帮助用户使用与维护计算机,提供服务性手段而编制的一类程序,包括:
{
输
入
与
装
配
程
序
编
辑
工
具
调
试
工
具
诊
断
程
序
窗
口
软
件
提
示
系
统
可
供
调
用
的
通
用
性
软
件
\left\{ \begin{array}{c} 输入与装配程序 \\ 编辑工具 \\ 调试工具 \\ 诊断程序 \\ 窗口软件 \\ 提示系统 \\ 可供调用的通用性软件\end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧输入与装配程序 编辑工具 调试工具 诊断程序 窗口软件 提示系统 可供调用的通用性软件
(5)标准程序:系统中事先配置的一些通用、优化的标准子程序,供用户调用(例如编译程序中含有的库文件)
2、应用软件:解决某种应用问题而编制的程序和资料
{
科
学
计
算
类
程
序
工
程
设
计
类
程
序
数
据
处
理
类
程
序
信
息
管
理
类
程
序
自
动
控
制
类
程
序
情
报
检
索
程
序
\left\{ \begin{array}{c} 科学计算类程序 \\ 工程设计类程序 \\ 数据处理类程序 \\ 信息管理类程序 \\ 自动控制类程序 \\ 情报检索程序 \end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧科学计算类程序工程设计类程序数据处理类程序信息管理类程序自动控制类程序情报检索程序
1.4 计算机系统的层次结构
1.4.1 计算机系统的层次结构
工作过程:
1.4.2 软件与硬件的逻辑等价性
计算机系统的软件与硬件可以相互转换,例如:
早期计算机的运算器只有加减法功能,当时要做乘、除法运算要通过软件编程把乘、除法变换为加、减法,再通过硬件来实现。
1.5 计算机的性能指标
(1)字长:计算机一个机器字长中包含的二进制位数,标志着处理数据的精度
小型机字长一般为16位,中型机字长多为32位,微型机字长有8位、16位、32位、64位。
为了适应不同的需要,有的计算机还能进行可变字长计算,如:半字长、全字长、双字长等。
(2)运算速度:用每秒执行的指令条数来表示
该指标的单位有MIPS(每秒运行百万条指令)或MFLOSPS(每秒运行百万条浮点指令)。
计算机的运行速度可以采用基准程序(Benchmark)测试。
(3)主存容量:主存储器能够存储信息的总字节数
计算机的最大主存容量由CPU的地址总线的位数决定。
地址总线为16位时,CPU的最大寻址范围为64KB;地址总线为20位时,CPU的最大寻址范围为1MB。
(4)配置外围设备
计算机系统结构上允许配置的外围设备的最大数量、实际数量和种类是由用户决定的。
第二章 计算机中数据的表示方法
本章主要讨论了计算机中数值数据的表示方法,介绍二、八、十、十六进制数据的表示和相互转化方法。接着了讨论有符号数据在计算机中的表示(原码、反码、补码和移码等)。同时介绍了非数值数据——字符、汉字、声音、图形、图像在计算机中的表示方法。最后讨论了计算机中常用的检验编码(奇偶校验码、交叉校验码、CRC校验码和海明校验码)。
第三章 运算方法和运算部件
本章讨论了在计算机内部完成各种基本逻辑运算和算术运算的方法。主要基于定点数和浮点数的运算方法,较详细地论证了各种运算方法的依据。在论证过程中又主要针对补码表示的机器数进行讨论。
第四章 存储系统
对存储器的要求是容量大、速度快、成本低。为了解决这三方面的矛盾,计算机采用多级存储体系结构,即Cache、主存和外存。CPU能直接访问内存(Cache、主存),但不能直接访问外存。
多个用户共享主存时,系统应提供存储保护。通常采用的方法是存储区域保护和访问方式保护,并用硬件来实现。有些机器中提供特权指令来实现某种保护。
第五章 指令系统
指令是要求计算机执行某种操作的命令,一台计算机所有机器指令的集合就构成该机器的指令系统。
本章首先说明指令系统的发展与性能要求,然后介绍指令的一般格式。重点讲述寻址方式、指令的分类及功能。
第六章 中央处理器(CPU)
计算机的硬件由控制器、运算器、存储器、输入设备和输出设备五部分组成。随着集成电路的出现及其集成度的提高,设计者将控制器和运算器集成在一片集成电路上,称作微处理器,通常称之为中央处理器(Central Processing Unit,简称CPU)。CPU是计算机的核心部件。本章介绍CPU的功能、结构及工作原理。
第七章 总线系统
总线技术是计算机系统的一个重要技术,总线的结构直接影响着计算机的性能,它是承载计算机系统各个部件之间信息传递的桥梁。
第八章 计算机的外围设备
计算机的外围设备主要包括输入设备、输出设备、外部存储设备,以及数据通信设备和过程控制设备。它们的功能是在计算机和其他设备之间,以及计算机与计算机之间提供联系。
第九章 输入输出系统
计算机系统输入/输入(I/O)的种类日益增多,使得输入/输出设备在计算机系统中的影响日益显著。
(已完结 2021.05.23)