计算机系统组成与体系结构.docx
- 文档编号:17843210
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:11
- 大小:22.10KB
计算机系统组成与体系结构.docx
《计算机系统组成与体系结构.docx》由会员分享,可在线阅读,更多相关《计算机系统组成与体系结构.docx(11页珍藏版)》请在冰点文库上搜索。
计算机系统组成与体系结构
学习指南
计算机系统组成与体系结构
目录(仅含本课程讲授的第3~10章)
第一章-数字逻辑基础(本课程不讲,属于先修课程数字逻辑教学内容)
第二章-有限状态机(本课程不讲,属于先修课程数字逻辑教学内容)
第三章-指令集结构
第四章-计算机组成
第五章-寄存器传输语言
第六章-硬布线控制设计CPU
第七章-微序列控制单元设计
第八章-运算方法
第九章-存储器结构
第一十章-输入/输出组成
第一十一章-精简指令集计算(本课程不讲,属于高级专题,研究生阶段)
第一十二章-介绍并行处理(本课程不讲,属于高级专题,研究生阶段)
第三章-指令集结构
本章小结
指令集结构构架是微处理器设计的第一步,也是最重要的一步。
指令集结构清楚说明了我们从外部看见的微处理器。
它包括了微处理器可处理的指令集,用户可访问的寄存器,及其与存储器的相互作用。
指令集结构并不能说明处理器如何设计,正是它必须能够做到的。
本章首先描述了不同级别的编程语言和将程序转换成对应级别二进制机器代码的工具,介绍了不同类型的汇编语言指令和其处理的数据格式,然后更详细的讲解汇编语言指令。
这章描述了微处理器可能具有的不同寻址方式和其可能的指令格式。
在上述的前提下开始进行指令集结构的学习较为合适。
这一章分析了设计一个微处理器ISA的指令集和寄存器所需要考虑的因素。
同时探讨了两个微处理器的指令集结构。
第一个是相对简单CPU是为本书教学辅助设计的,它贯穿整个文本用来阐述计算机的设计原则;第二个处理器是实际存在的8085微处理器的指令集结构,虽然并不比当前的微处理器强大,它依旧应用于很多不需太多处理能力的程序中,例如Sojourner,1997年探测火星表面的火星探路者。
学习目标
学习本章之后,学生应该能够对需要完成给定任务的处理器设计一个指令集结构。
学生也应该可以基于功能分类指令,正确识别不同寻址模式并生成有效地址。
必备知识
本章依赖于第1章的逻辑组件。
该知识是用于…
指令集结构用于第4章的计算机系统的设计和第6、7章的CPU设计。
教师点评
1.学生们通常把ISA比为一个蓝图,但这个比喻有点缺陷。
作为一个替代的类比,考虑建造一个房子。
首先,我们指定连接房间的数量,以及整个房子如何连通。
这些规范更类似于指令集体系结构,而不是施工蓝图。
2.从实际角度上看,Javaapplet只适用于小应用程序。
Java编译器允许用户编写、编译和执行Java程序编写的程序,就像其他高级语言编写的程序,如C++。
这个角度看只适用于小应用程序,而不是独立的应用程序。
3.汇编语言指令的类型是本书自己的分类方式。
其他作者有不同,但同样有效的汇编语言指令分类方法。
第四章-计算机组成
本章小结
上一章描述的指令集结构,很好的说明了微处理器能做什么,但它几乎没有提供任何关于如何使用微处理器的信息。
ISA描述微处理器可以处理的指令,但不涉及处理器如何访问这些指令。
当设计一个完整的计算机系统,一个系统设计者需要比ISA提供的更多信息。
本章提出了基本计算机系统的组织。
首先概述基本系统组织,包括CPU总线、内存子系统和相互通信的I/O子系统。
接着,详细讲解三个系统组件,描述了每个组件的功能和组织,及其与其它计算机系统的接口。
最后它着眼于两个计算机系统组织。
一个是基于相对简单的CPU,在前面的一章进行了介绍。
另一个是真实世界存在的例子,即基于英特尔8085微处理器的CPU。
学习目标
学习本章之后,学生应该能够设计一个简单的计算机系统,包括它的内存和I/O子系统。
他们应该能够区分不同类型的内存芯片,和不同类型的I/O接口。
必备知识
本章依赖于第1章的逻辑组件,第3章的指令集结构。
该知识是用于…
计算机组成贯穿于本书的余下部分,第5、6、7、8、9、10、11和12章。
教师点评
1.这一章提出的简单组成应用于许多系统,特别是那些需要控制飞家用电器。
然而,计算机系统是学生最熟悉的,个人计算机和工作站则相对更复杂。
DMA、中断和其他功能并未在本章中讨论。
2.本章的CPU组成排除了现代CPU中流水线、中断和其他特性。
这些内容稍后再进行讨论。
3.在I/O子系统只涉及同步I/O端口。
异步I/O端口在后面进行介绍。
4.开发了相对简单计算机的一个模拟器。
如需可见拓展资源。
第五章-寄存器传输语言
本章小结
微操作是大多数顺序数字系统的基础。
与汇编语言指令指定的操作不同,微操作指定更简单的行为。
设计者使用硬件描述语言(HDL)来指定符合系统要求飞微操作条件和转移。
本章将讨论一个称为寄存器传输语言(RTL)的简单硬件描述语言。
RTL更像是一种伪语言,它是缺乏正式结构的传统HDLs。
它可以用来指定一个系统的逻辑,但直接翻译成硬件会产生歧义。
这一章首先解释了如何指定使用RTL的顺序系统,然后如何转换到数字RTL规范设计。
作为一个真正世界的例子,这一章介绍了硬件描述语言(VHDL),一个更严格的HDL。
这是一个几乎用于所有CAD程序公认的标准,不像RTL,它可以同时完成一个系统逻辑与实现。
学习目标
学习本章之后,对于给定问题的陈述,学生应该能够开发一个RTL规范,并在硬件上实现RTL规格。
学生也应该能够进行简单VHDL开发设计。
必备知识
本章依赖于第1章的逻辑组件。
设计样例依赖于第2章的有限状态机。
该知识是用于…
RTL用于第6、7、8章的CPU设计和计算机运算电路。
教师点评
1.RTL并非最优的硬件描述语言。
它的模棱两可容易使数字设计者混淆。
如果把它作为计算机辅助设计工具是完全不合适的。
然而通过书本呈现设计而言,它足够简单。
我觉得简单的RTL,与硬件描述语言(VHDL)相反,使学生更容易理解本书后面提到的设计。
2.学生往往忽略了这一点,RTL仅指定了一个系统的功能,而不是它的实现。
3.如果有开设Verilog课程,教师可以用等效的Verilog取代与硬件描述语言(VHDL)。
第六章-硬布线控制设计CPU
本章小结
在之前的章节中,我们从程序员(指令集结构)和系统设计师(计算机组织)的角度看待CPU。
本章从计算机架构师的角度出发,详细说明硬连接控制单元设计CPU的过程。
一个CPU包含三个主要部分:
寄存器部分,包括CPU的ISA的寄存器以及不直接提供给程序员的其他寄存器;ALU部分;控制单元。
RTL代码的微操作通过寄存器部分和ALU执行功能。
这些微操作是用来设计寄存器部分的数据通路,包括直接连接和总线及每个寄存器的功能。
微操作也指定ALU的功能。
ALU必须在一个时钟周期执行所有计算,因此它只使用组合逻辑构造。
每个微操作的执行条件由控制单元设计控制。
控制单元产生寄存器部分的装载、增一和清零的控制信号。
控制单元也使控制CPU的内部总线缓冲区有效。
ALU执行的功能是由控制单元指定的。
通过控制信号正确顺序输出,控制单元使CPU正确取指、译码和执行指令集的每条指令。
为了设计一个CPU,设计者首先设计指令集结构,包括指令集和内部寄存器,接着创建一个需进行取指、译码和执行指令集中每条指令的微操作的有限状态机模型。
然后制定这个状态机的RTL规范。
本章给出了两个简单CPU的完整的设计,并分析了他们的缺点。
作为一个真实世界的例子,本章考察了曾在第三章介绍其指令集结构的英特尔8085内部架构。
学习目标
学习本章之后,学生应该能够根据CPU的指令集架构开发RTL规范,并在硬件上完成该RTL,从而实现CPU。
必备知识
本章依赖于第1章的逻辑组件。
控制单元的设计与第2章的有限状态机关系密切。
第3章的指令集结构,第4章的计算机组成和第5章的RTL,也都是本章CPU设计所需的。
该知识是用于…
CPU设计用于第7章的微代码控制单元的CPU设计。
它也可以用于第9章内存管理单元,第10章的DMA和中断,第11章的RISC处理器的内部构架。
教师点评
1.当设计一个CPU时,我们首先基于CPU执行任务开发一个规范。
任务决定CPU的指令集结构设计。
从ISA角度,设计者开发一个RTL规范,然后用数字电路来实现CPU设计。
2.硬布线控制单元随着ISA规模的增大变得越来越复杂。
所以他们一般不用于过于强大的CPU,例如奔腾系列。
3.学生需要充分理解非常简单CPU是如何工作,否则他们无法了解相对简单CPU的功能。
4.这一章的最后三个问题可以作为辅助设计示例课堂演示。
这些问题在解决方案手册中有详细设计。
5.提供一个相对简单CPU模拟器。
如需可见拓展资源。
6.第10章的中断和DMA,及第11章的指令流水线,在本章有所提及没有丢失其连续性。
第七章-微序列器控制单元设计
本章小结
微序列器是微处理器中控制单元的一种。
不像前一章介绍的用逻辑门产生控制信号的硬布线控制单元,微序列器在查询ROM中存储控制信号。
控制单元通过查询ROM读取数据输出控制信号。
不管使用哪种控制单元类型,CPU的其余部分设计与前一章相同。
本章首先介绍了微序列器的基本结构,它是如何根据所需的微操作产生控制信号,以及它如何产生正确序列输出这些信号。
它描述了将存储控制信号值存到微代码内存中的三个主要方法。
然后,本章提出非常简单的CPU和相对简单的CPU微代码控制单元设计。
接着,本章探讨在不减少处理器功能的情况下如何减少微代码数,并把微序列控制和硬布线控制作比较,讨论各自的优缺点。
作为一个真实世界的例子,这一章考察分析了一个占市场份额很高的英特尔奔腾处理器。
学习目标
学习本章之后,学生应该能够设计一个CPU的微序列器控制单元和指令集中每条指令的微代码。
必备知识
本章依赖于第1章的逻辑组件。
控制单元的设计在很大程度上依赖于第2章的有限状态机。
第3章的指令集结构,第4章的计算机组成和第5章的RTL,也都是本章设计所需的。
第6章的CPU设计,不包括硬布线控制单元设计,是本章必不可少的。
该知识是用于…
本章不能直接用于本书的其余部分,但其基本原则在学习第8章算术算法中特别有用。
教师点评
1.本章使用了第6章的非常简单的CPU和相对简单的CPU。
这减轻学生需要学习新内容的负担,允许他们专注于微序列器和微码设计。
2.学生需要理解的是在硬布线CPU和微代码CPU中,寄存器部分和ALU设计是一模一样的。
寄存器和ALU不在乎自己的控制信号是如何生成的;他们只对这些信号值产生响应。
3.如果微序列器允许多个层次的微子程序或递归微子程序,一个硬件堆栈可以替代微子程序寄存器。
与装载语言代码不同,微子程序堆栈的最大深度可以事先确定。
4.最后的三个问题,就像第六章的三个问题,可以用作补充设计实例在课堂演示。
这些问题在解决方案手册中有详细设计。
5.本书提供用于相对简单的CPU的模拟器。
如需可见拓展资源。
这是与第6章相同的模拟器;它允许用户选择硬布线控制单元或微码控制单元。
6.第10章的中断和DMA,第11章的指令流水线,在本章有所提及没有并未丢失其连续性,虽然可能在第6章介绍更合适。
第八章-运算方法
本章小结
如果一个微处理器是有用的,那么它必须能够处理一个或多个数据格式。
本章分析介绍了算术算法和几个常用的数据格式的硬件实现。
这些格式包括无符号的和有符号的定点格式,二进制编码的十进制格式和浮点格式。
本章回顾了不同格式的加、减、乘、除的算法及其硬件实现。
数字设计者已经开发出不同方法来提高算法速度,从而改善系统性能。
本章介绍了三种方法:
指令流水线、查找表和华莱士树。
作为真实世界的例子,本章描述了IEEE754浮点标准,该标准定义了大多数数字的设置和处理的方法。
几乎所有现代CPU浮点数处理都遵守这个标准。
学习目标
学习本章之后,学生应该能够对于算术算法开发RTL规范,从硬件上实现RTL规范,从而实现该算法。
必备知识
本章依赖于第1章的逻辑组件。
第4章的计算机组成和第5章的RTL,也都是本章设计所需的。
该知识是用于…
本章不能直接用于本书的其余部分。
教师点评
1.无符号记数的算法和硬件作为所有其他格式算法和硬件的基础。
在本章教学时数课上,花费将近一半的时间在无符号记数上。
2.本章提出了算法流水线可能会有一定的限制,因为他们只执行一个固定功能。
第12章提出的可重构流水线更有用。
3.学生容易对浮点特殊数字,±∞,零和NaN产生疑惑,尤其是NaN。
解释浮点算法的第一步是检查这些值,并产生一个预先确定的结果,如果任意操作数是这些值中的一个,似乎会有帮助。
第九章-存储器结构
本章小结
这一章详细讲解了内存子系统。
它回顾了计算机系统在可接受的成本下旨在实现整体系统性能目标最大化的存储器层次和这个层次的两个重要组件,缓存内存和虚拟内存。
然后,本章回顾在现实世界中应用原则的一些扩展。
最后,它介绍了在一个真实的世界场景中的存储器层次,一个基于奔腾运行微软WindowsNT系统个人计算机。
学习目标
学习本章之后,学生应该开发计算机系统的存储器层次和分析其性能。
必备知识
本章依赖于第4章的计算机组成和第6、7章的CPU设计。
该知识是用于…
本章用于第12章的多处理器系统设计。
教师点评
1.内存组件的大小,作为内存子系统的一部分,距离CPU越远,规模越大。
高速缓冲存储器通常小于物理内存,反过来它小于虚拟内存。
内存组件离CPU距离更远,从而每字节成本降低,但同时增加了访问时间。
2.目前大多数CPU在微处理芯片设置了1级和2级缓存内存。
3.为了解释虚拟内存,学生提出一个好的想法,这类似于在Windows和其他个人电脑操作系统交换文件或交换磁盘。
4.大多数系统包含多个层次的页表。
因为他们可以访问GB或TB的存储,具有单个层次的页表对一个虚拟内容系统的是不可行的。
5.大多数处理器使用LRU替代政策,或专有变体的LRU。
第十章-输入/输出组成
本章小结
为了执行一个有用的功能,除存储器之外,计算机必须有其他与外界进行交互的接口和设备。
这便是I/O设备所扮演的角色。
本章详细的介绍了输入/输出设备和接口,和程序I/O及其对CPU的影响。
本章也介绍了几种提高I/O性能的方法,从而提高系统性能;这些包括中断,直接内存访问和I/O处理器。
然后本章研究了串行通信。
本章考察了两个真实世界串行通信标准,RS-232串行接口和通用串行总线。
学习目标
学习本章之后,学生应该能够开发一个计算机系统给的I/O子系统和分析其性能。
他们也应该能够同时在计算机系统和中央处理器中实现中断和DMA。
必备知识
本章依赖于第4章的计算机组成和第6、7章的CPU设计。
该知识是用于…
本章用于第12章的多处理器系统设计。
教师点评
1.尽管可以实现没有握手的异步I/O,大多数I/O设备在实际计算机系统需要相关的反馈信号交换,以确保适当的数据传输。
2.第6章和第7章对中断和DMA有所提及并没有丢失连续性,虽然可能在第6章介绍更合适。
3.教师可用IEEE1394总线标准替代通用串行总线标准。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 组成 体系结构
![提示](https://static.bingdoc.com/images/bang_tan.gif)