汇编语言与计算机系统结构

合集下载

计算机组成与系统结构

计算机组成与系统结构

计算机组成与系统结构1.冯·诺依曼计算机设计思想:依据存储程序,执行程序并实现控制。

2.早期计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

3.软件系统爆过两大部分:系统软件和应用软件。

4.计算机的层次结构分为:微程序或逻辑硬件、机器语言、操作系统、汇编语言、高级语言、应用语言。

5.计算机系统结构、组成与实现之间的区别与联系:①计算机结构:也称为计算机体系结构,是一个系统在其所处环境中最高层次的概念;是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配。

②计算机组成:也常译为计算机组织或成为计算机原理、计算机组成原理。

在计算机系统结构确定了分配给硬件子系统的功能及其概念之后,计算机组成的任务是研究硬件子系统各部分的内部结构和相互联系,以实现机器指令级的各级功能和特性。

③计算机实现:指的是计算机组成的物理实现,主要研究个部件的物理结构,机器的制造技术和工艺等,包括处理机、主存等部件的物理结构,器件的集成度、速度和信号。

器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。

6.Flynn分类法:按照计算机在执行程序时信息流的特征分为单指令单数据流计算机(SISD)、单指令多数据流计算机(SIMD)、多指令单数据流计算机(MISD)、多指令多数据流计算机(MIMD).7.加速比Sp=1/{(1-Fe)+Fe/Re},Fe为可改进比例,Re为部件加速比。

8.在计算机中有两种信息在流动,一种是控制流,即控制命令,由控制器产生并流向各个部件;另一种是数据流,它在计算机中被加工处理。

9.摩尔定律得以延续的理由:集成电路芯片的集成度每18个月翻一番。

10.冯·诺依曼计算机的执行过程:将要处理的问题用指令编程成程序,并将程序存放在存储器中,在控制器的控制下,从存储器中逐条取出指令并执行,通过执行程序最终解决计算机所要处理的问题。

汇编语言与计算机组成的关系

汇编语言与计算机组成的关系
究 、 开发 新 的 软 件 系 统 打 下 良好 的 训 练基 础 。 然 而 汇编 语 言 的 是 面 向 机 器 的语 言 ,与 机 器 关 系 密 切 。
汇 编语 言是 计 算 机 能 提 供 给 用 户 的最 快 而 又 最 有 效 的 语 言 ,
在对 于程序 的空 间和 时间要求 很高 的场合 ,汇编语 言是必
的效 率 都 不 如 汇 编 语 言 程 序 ,许 多 情 况 下 更 是 远 远 不 及 。


计算 机 、软 件 工 程 、电 子 商 务 、管 理 信 息 的 专 业 的 学 生 ,理所 当然 地 需 要 有 较 深 的 计 算 机 基 础 知 识 和 计 算 机 的 应 用 能 力 。该 专 业 的学 生 不 应 仅 仅 满 足 于 利 用 他 人 已 开 发 出来 的 软 件 和 软 件 工 具 来 解 决 实 际 问题 ,还应 具 备 有 分 析 、 研究 原 有 软 件 系 统 ,改 进 、完 善 、提 高 原 有 系 统 功 能 的 能 力 。 因此 ,计 算 机 组 成 与 汇 编 课 程 就 成 为 一 门 十 分 重 要 的 专 业 基 础 课 程 ,它 可 以 帮 助 学 生 理 解 和 掌 握 其 它 计 算 机 课 程 的理 论 。 同 时 汇 编 语 言 程 序 设 计 将 使 学 生 受 到 更 严 密 、 更 系统 的 程 序 设 计 及 其 思 维 方 法 的 训 练 ,为 深 入 分 析 、研
( 广东 商学 院 信 息 学 院 ,广 东 广 州 5 0 2 ) 1 3 0

要 :“ 算机 组成 与汇 编”课程 是 计 算机 、软 件 工 程 、 电子 商务 、 管理信 息等 专 业 的一 计
门十分 重要 的专业 基础课 程 。也是 进一 步 学 习其他 后 继 课程 的基 础课 程 。要 学好 汇 编语 言 , 首先要 熟 悉机 器硬 件 系统—— 即计 算机 的基 本 组成原 理 ;同时汇编语 言 又是计 算机 组成原 理

汇编语言基础知识

汇编语言基础知识

第1章汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。

1.1微型计算机概述微型计算机由中央处理器(Central Processing Unit,CPU)、存储器、输入输出接口电路和总线构成。

CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。

存储器包括随机存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。

输入输出接口电路用来连接外部设备和微型计算机。

总线为CPU和其他部件之间提供数据、地址和控制信息的传输通道。

如图1.1所示为微型计算机的基本结构。

图1.1微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。

一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。

数据总线用来在CPU与内存或其他部件之间进行数据传送。

它是双向的,数据总线的位宽决定了CPU和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。

在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。

汇编语言程序设计2地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU可以直接寻址的内存范围。

如CPU的地址总线的宽度为N,则CPU最多可以寻找2N个内存单元。

控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。

计算机系统结构--《张晨曦、王志英》课后习题参考答案

计算机系统结构--《张晨曦、王志英》课后习题参考答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。

这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。

虚拟机: 用软件实现的机器。

翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。

解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。

执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。

计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。

在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。

计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。

系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。

Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。

包括时间局部性和空间局部性。

CPI: 每条指令执行的平均时钟周期数。

测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。

存储程序计算机: 冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。

计算机系统结构(张晨曦)基本概念

计算机系统结构(张晨曦)基本概念

在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。 只要时间上 互相重叠,就存在并行性。 同时性 两个或多个事件在同一时刻发生的并行性。 并发性 两个或多个事件在同一时间间隔内发生的并行性。 字串位串 每次只对一个字的一位进行处理。这是最基本的串行处理方式。 字串位并 同时对一个字的全部位进行处理,不同字之间是串行的。 字并位串 同时对许多字的同一位(称为位片)进行处理。 全并行 同时对许多字的全部位或部分位进行处理。 指令内部并行 单条指令中各微操作之间的并行。 指令级并行 并行执行两条或两条以上的指令。 线程级并行 并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。 任务级或过程级并行 并行执行两个或两个以上的过程或任务(程序段) ,以子程序或进程为调度单元。 作业或程序级并行 并行执行两个或两个以上的作业或程序。 时间重叠 多个处理过程在时间上相互错开, 轮流使用同一套硬件设备的各个部分, 以加快硬件周转而 赢得速度。 资源重复 通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。 资源共享 是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 同构型(对称型)多处理机 由多个同类型, 至少担负同等功能的处理机组成, 同时处理同一作业中能并行执行的多个任 务。 异构型(非对称型)多处理机 由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原 理,依次对它们的多个任务进行加工,各自完成规定的功能动作。 分布处理系统 把若干台具有独立功能的处理机(或计算机)相互连接起来,在操作系统的全盘控制下,统 一协调地工作,而最少依赖集中的程序、数据或硬件。 耦合度 反映多机系统各机器之间物理连接的紧密程度和交互作用能力的强弱。 松散耦合 通过通道或通信线路实现计算机间互连, 共享某些外围设备, 机间的相互作用是在文件或数

计算机组成原理与汇编语言

计算机组成原理与汇编语言

十进 十六进 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F
计 算 机 组 成 原 理 与 汇 编 语 言




二进 0000 0001 0010 0011 0100 0101 0110 0111
十进 0 1 2 3 4 5 6 7
二进 1000 1001 1010 1011 1100 1101 1110 1111
计 算 机 组 成 原 理 与 汇 编 语 言

基本字长 指参与运算的操作数的 基本位数;决定通用寄存器、加法 器和数据总线等部件的宽度。

位 字节 字

主存容量 主存储器所能够存储的全 部信息总量。

K=1024 M=1024K G=1024M
计 算 机 组 成 原 理 与 汇 编 语 言
(1101.1101)2
综合结果为
(13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言

二进,八进,十六进
按N展开式求和
例 :
十进
(11001.101)2
(27451.12)8 (2AD.1C)16
计 算 机 组 成 原 理 与 汇 编 语 言
(11001.101)2
=1*2 4 +1*2 3 +0*2 2
十进 8 9 10 11 12 13 14 15
计 算 机 组 成 原 理 与 汇 编 语 言

数制间转换 原则:整数变整数,小数变小数;

十进
二进
整数部分:除2取余倒排,直到商为0
; 小数部分:乘2取整,直到小数位为0 ; 例: (13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言

计算机系统结构填空

计算机系统结构填空

第一章计算机系统结构基本概念1、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。

2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。

3、应用程序语言经(应用程序包)的(翻译)成高级语言程序.4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。

5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。

6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。

7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。

8、微指令由(硬件)直接执行。

9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。

10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。

以(软件)为主实现的机器成为虚拟机.(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。

11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。

12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。

它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。

13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。

计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术.14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。

15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现).16、设计何种系列机属于(计算机系统结构),系列机内不同型号计算机的组织属于(计算机组成).17、是否采用通道方式输入输出的确定属于(计算机系统结构),通道采用结合型还是独立型属于(计算机组成).18、对PDP—11或V AX—11来说,单总线结构属于(计算机系统结构),其机器级的I/O连接和使用方式属于(计算机组成)。

计算机系统结构年串讲及汇总第一部分

计算机系统结构年串讲及汇总第一部分

第一章计算机系统结构的基本概念1. 从使用语言的角度可以将系统看成是按功能划分的多个机器级组成的层次结构;由高到低分别为:1应用语言机器级 2高级语言机器级 3汇编语言机器级 4操作系统机器级 5传统机器语言机器级 6微程序机器级;2. 应用程序语言经应用程序包的翻译成高级语言程序;3. 高级语言程序经编译程序的翻译成汇编语言程序;4.汇编语言程序经汇编程序的翻译成机器语言程序;5.在操作系统机器级,一般用机器语言程序解释作业控制语句;6.传统机器语言机器级,是用微指令程序来解释机器指令;7.微指令由硬件直接执行;8. 在计算机系统结构的层次结构中,机器被定义为能存储和执行相应语言程序的算法和数据结构的集合体;9.透明指的是客观存在的事物或属性从某个角度看不到,它带来的好处是简化某级的设计,带来的不利是无法控制10.翻译:先用转换程序将高一级机器级上的程序整个地变换成底一级机器级上行将的程序,然后在低一级机器级上实现的技术11.解释:在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,通过高级机器语言程序中的每条语句或指令逐条解释来实现的技术;12硬件取舍原则:1应考虑在现有硬器件主要是逻辑器件和存储器件条件下,系统要有高的性能价格比;2要考虑到准备采用和可能采用的组成技术,使它尽可能不要过多或不合理地限制各种组成、实现技术的采用;3不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持放在首位;13. 计算机系统的设计思路:1由上往下2由下往上3由中间开始14. 软件的可移植性:指的是软件不修改或只经少量修改就可由一台机器搬到另一台机器上运行,同一软件可应用于不同的环境;15. 实现欠件移植的几个基本技术:1统一高级语言 2采用系列机 3模拟与仿真16. 为什么没有对各种应用真正通用的语言1不同的用途要求语言的语法、语义结构不同;2人们对语言的基本结构看法不一;3即使同一种高级语言在不同厂家的机器上也不能完全通用;4受习惯势力阻挠,人们不愿意抛弃惯用的语言;17 模拟:用机器语言程序解释实现软件移植的方法称为模拟;需经二重解释,速度低,实时性差模拟灵活,可实现不同系统间的软件移植,系统差异太大时效率速度急剧下降18 仿真:用微程序直接解释另一种机器指令系统的方法称为仿真;速度上损失小,但不灵活,只在差别不大的机器上使用,两种机器差别太大时,就很难仿真19 模拟与仿真的区别:仿真是用微程序解释,其解释程序存入在控制存储器中;而模拟是用机器语言程序来解释,其解释程序存放在主存中;20 并行性:把解题中具有可以同时进行运算或操作的特性;并行性包括1同时性和2并发性同时性:指两个或多个事件在同一时刻发生并发性:指两个或多个事件在同一时间间隔内发生21开发并行性途径:1时间重叠 2资源重复 3资源共享时间重叠:让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周围来赢得速度;资源重复:通过得利设置硬件资源来提高可靠性或性能;资源共享:用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高其利用率,相应也就提高了系统的性能;第二章数据表示与指令系统1.数据表示:指的是能由机器硬件直接识别昨引用的数据类型;2.数据结构反映了应用中要用的各种数据元素或信息单元之间的结构关系; 数据表示是数据结构的组成元素;3.数据结构和数据表示是软、硬件的交界面;数据表示的确定实质是软、硬件的取舍;4.高级数据表示:1自定义数据表示 2微量数组数据表示 3堆栈数据表示5.标志符数据表示:将数据类型和数据本身直接联系到一起;合存于同一存储单元中6.标志符数据表示的优点:1简化了指令系统和程序设计2简化了编译程序3便于实现一至性校验4能由硬件自动变换数据类型5支持了数据库系统的实现与数据类型无关的要求6为软件调试和应用软件开发提供了支持7.标志符数据表示可能带来的问题:1每个数据字因增设标志符,会增加程序所占的主存空间2采用标志符会降低指令的执行速度8.规模机器的特征:(1)有高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器,容量是主存的(2)有丰富的堆栈操作指令且功能很强,直接可对堆栈中的数据进行各种去处和处理(3)有力地支持高级语言程序的编译(4)有力地支持子程序的嵌套和递归调用9.引入数据表示的原则:(1)看系统的效率有否提高,即是否减少了实现时间的存储空间(2)看引入这种数据表示后,其通用性和利用率是否高10.浮点数尾数的下溢处理方法:1截值法 2舍入法 3恒置1法 4查表舍入法11.寻址方式:指的是指令按什么方式寻长或访问到所需的操作数或信息;12.寻址方式在指令中的两种指明方式:1 占有操作码中的某些位 2在地址码部分专门设置寻址方式位字段指明13.逻辑地址是程序员编程用的地址;物理地址是程序在主存中的实际地址;14.静态再定位:在目的程序装入主存时,由装入程序用软件方法把目的程序的逻辑地址变换成物理地址15.动态再定位:在执行每条指令时才形成访存物理地址的方法16.指令由操作码和地址码两部分构成;操作码指明操作种类和所用操作数的数据类型;地址码包括操作数的地址、地址的附加信息、寻址方式等;17.指令格式的优化:指的是如何用最短的倍数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短;18.操作码的优化表示,主要是为了缩短指令字长,减少程序总位数及增加指令字能表示的操作信息和地址信息;19.哈夫曼压缩概念的基本思想:当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数时间来表示处理,而对出现概率较低的,允许用较长的位数时间来表示处理,这样,就会导致表示处理的平均时间的缩短;20.操作码的表示方式通常有下列三种:1固定长度编码法 2哈夫曼编码法 3扩展操作码编码法21.指令系统的设计、发展和改进上的两种不同方向:1CISC 2RISC22.CISC:进一步增强原有指令的功能以及设置更为复杂的新指令取代原先由软子程序完成的功能,实现软件功能的硬化;23.CISC复杂指令系统计算机的优化实现:1 面各目标程序的优化2 面向高级语言的优化3 面向操作系统的优化24.面向目标程序的优化1 对存贮器语言程序及其执行情况进行统计各种指令和指令串的使用频度来加以分析和改进;静态使用频度:对程序中统计出的指令及指令串使用频度着眼于减少目标程序所占用的储存空间动态使用频度:在目标程序执行过程中对指令和指令串统计出的频度着眼于减少目标程序的执行时间2 增设强功能复合指令来取代原先是由常用宏指令或子程序实现的功能,用微程序解释实现;25.面向高级语言优化实现改进尽可能缩短高级语言和机器语言的语义差距,支持高级语言编译,缩短编译程序长度和编译时间1 通过对源程序中各种高级语言语句的使用频度进行统计来分析改进;2 如果面向编译,优化代码生成来改进;3 设法改进指令系统,使它与各种语言间的语义差距都有同等的缩小;4 让机器具有分别面向各种高级语言的多种指令系统、各种系统结构;5 发展高级语言计算机或称高级语言机器26.面向操作系统的优化1 对常用指令和指令串的使用频度进行统计分析来改进;改进指令系统2 考虑如何增设专用于操作系统的新指令;改进指令系统3 把操作系统中频繁使用的对速度影响大的某些软件子程序硬化或固化,改为直接用硬件或微程序解释实现;4 发展让操作系统由专门的处理机来执行的功能分布处理系统结构;27.CISC存在的问题:1 指令系统庞大,一般在200条指令以上;许多指令功能异常复杂;2 由于许多指令的繁杂,执行速度很低;3 指令系统庞大,故高级语言编译程序选择目标指令的范围大太,难以优化生成高效机器语言程序,编译程序也太长太复杂;4 由于指令系统庞大,各种指令的使用频度都不会太高,具差别很大,其中相当一部分指令的利用率很低;28.设计RISC的原则:1 只选择那些使用频度很高的指令,再增加少量其他功能的指令,使之一般不超过100条2 减少指令系统寻址方式各类,一般不超过两种,并让全部指令都是相同的长度;3 让所有指令都在一个机器周期内完成4 扩大通用寄存器数,尽量减少访存;仅存store、取load指令访存,其他指使一律对寄存器操作;5 大多数年指令都用硬联控制实现,少数指令用微程序实现;6 精简指令和优化设计编译程序,简单有效地支持高级语言的实现;29.设计RISC结构用的基本技术:1 按RISC一般原则设计2 逻辑实现用硬联和微程序结合3 用重叠寄存器窗口4 指令用流水和延迟转移5 优化设计编译系统30.采用RISC技术带来的好处:1 简化指令系统设计,适合VLSI实现2 提高机器的执行速度和效率3 设计成本,提高了系统的可靠性4 可直接支持高级语言的实现31.RISC的不足:1 由于指令少,一条CISC指令能完成的某些功能需要多条RISC指令才能完成,加重了汇编各方程序设计的负担,增加了机器语言程序的长度,占用在座空间多,加大了指令的信息流量;2 对浮点去处执行的虚拟存储器的支持虽有很大加强,但仍显不足;3 RISC机器的编译程序比CISC的难写;第三章总线、中断与输入输出系统1.输入输出系统包括输入输出设备、设备控制器及与输入输出操作有关的软硬件2.I/O系统设计主要考虑解决好CPU、主存和I/O设备在速度上的巨大差距;3.输入输出系统发展经历了三个阶段:1程序控制I/O 2直接存储器访问 3I/O处理机方式a.通道 b.外围处理机方式4.总线类型:按信息传送方向分:1单向传输 2双向传输按用法分:1专用 2非专用相关介绍及优缺点见P635.非专用总线总线控制方式:集中式控制:总线控制机构基本上集中在一起; 分布式控制:总线控制逻辑分散在各个部件中 P646.集中式总线控制:1串行链接控制 2定时查询方式 3独立查询方式P647.集中式串行链接式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器返回总线响应总线可用信号;3.没发总线请求信号的部件传送总线响应信号,发的部件截留响应信号;4.截留后,发总线忙状态,撤销请求,开始占用总线;5.传送结束撤销总线忙;6.总线不忙后,撤销总线响应;8.优点: 1.选择算法简单,控制线线数少; 2.部件增加容易,可扩充性好; 3.容易通过重复设置提高可靠性;9.缺点: 1.对“总线可用”线及其有关电路的失效敏感; 2.优先级是线连固定,不灵活; 3.限制了总线的分配速度;10.集中定时查询方式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器的查询计数器开始计数;3.定时查询各部件;4.部件接收计数值,并判断,若与部件号一致,则发总线忙,撤销请求,并占用总线;5.总线控制器收到总线忙,停止计数,停止查询;6.传送结束撤销总线忙;11.优点: 1.优先次序可用程序控制,灵活性强; 2.可靠性高;12.缺点: 1.总线线数较多; 2.部件数受限于定时查询线线数; 3.控制较为复杂; 4.总线分配的速度不能提高;13.集中式独立请求方式的总线分配过程:1.部件发总线请求;2.总线不忙时,按某种算法,发一个总线响应;3.被响应部件发总线忙状态,撤销请求,开始占用总线;4.传送结束,撤销总线忙;5.总线不忙后,撤销总线响应;14.优点:1.总线分配速度快; 2.可用选定的方式确定响应的部件; 3.能方便的隔离失效部件的请求;15.缺点:1.控制线数量过大; 2.总线控制器要复杂的多;16.总线的传送方式分为:1同步通信 2异步通信17.同步通信:两个部件之间的信息传送是通过定宽定距的系统时标进行同步的受同步时钟的控制18.同步通信的优点:信息传送速率高,受总线的长度影响小;19.同步通信的缺点:但会因时钟在总线上的时滞而造成同步误差, 且时钟线上的干扰信号易引起误同步;20.异步通信:用于I/O总线,连接不同速度的I/O设备;又可分为a.单向控制和b.双向请求/回答控制两种1单向控制:指的是通信过程只由目的或源部件中的一个单一控制;单向控制又有源控制和目的控制两种;优点:简单,高速;缺点:未能保证下一数据传送之前让所有数据线和控制线的电平信号恢复成初始状态,从而可能造成错误;2请求/回答双向控制:由源和目共同控制;特点:增加了信号总线来回传送的次数,使控制硬件变得复杂,但它能适应各种不同速度的I/O设备,保证数据传送的正确性,有较高的数据传送率;21.数据宽度:是I/O设备取得I/O总线使用权后在一次I/O总线分配期间内,所传送数据的总量;22.数据通路宽度:数据总线的位数,是数据传送的物理宽度;即一个时钟周期所传送的信息量,它直接取决于数据总线的线数;23.总线的线数越多,成本越高、干扰越大、可靠性越低、占用的空间也越大,当然传送速度和流量也越高;为此,越是长的总线,其线数就应尽可能减少;24.减少线数的方法:1同一根线多个功能复用; 2并/串—串/并转换 3编码25.中断源:引起中断的各种事件; 中断请求:中断源向中断系统发出请求中断的申请; 中断响应:允许中断请求中断CPU现行程序的运行,转去对该请求进行预处理,包括保存好断点现场,调出有关处理该中断的中断处理程序,准备运行;26.中断分类的目的:中断源数量很多,若形成单独入口,硬件复杂,代价大,故进行分类,把性质相近的中断源归为一类;同一类中断共用一个中断入口地址,再由软件形成实际入口地址;27.中断的分类:1机器校验中断第一级:设备故障,电源故障,主存出错;2管理程序调用访管中断第二级:访管指令;3程序性中断第二级:溢出,除数为零,数据格式错;4外部中断第三级:定时器,外部信号;5输入/输出中断第四级:I/O请求;6重新启动中断第五级:启动另一个程序;28.中断分级的目的:解决多个中断请求同时发生时的响应次序问题;29.分级原则: 1同一类的优先次序由软件管理一般情况下,同类同级,不同类不同级2不同类的中断根据中断的轻重缓急分成不同的级别;30.中断嵌套原则: 1禁止同级或低级中断; 2允许高级中断;31.中断响应次序和处理次序中断响应次序用排队器硬件实现,次序是由高到低定死的,但可以根据需要用软件改变实际的中断处理完次序简称中断处理次序;中断级屏蔽位的作用:决定某级中断请求能否进入排队器只要能进入,还是按上面讲的优先级次序由高到底响应中断中断响应次序由硬件定死;而处理次序由中断屏蔽位决定;32.中断系统的功能包括:中断请求的保存与清除,确定优先级,保护断点,保护现场,中断源分析,中断处理,中断返回等;33.中断系统的软、硬件功能分配实质是中断处理程序软件和中断响应硬件的功能分配;34.中断系统的软件与硬件的功能分配主要考虑如下两个因素:1中断响应时间 2灵活性;35.通道的功能:1接受CPU的输入输出操作指令,按指令要求控制外设接受指令2从主存读取通道程序,并执行即向设备控制器发送各种指令执行程序3组织和控制数据在内存与外设之间的传送操作传送数据4读取外设的状态信息,形成整个通道的状态信息,提供给CPU或保存在主存中通道状态5向CPU发出输入输出操作中断请求中断请求36.通道的工作过程:1用户在目态中安排广义I/O指令;包括访管指令和参数2当目态程序执行到访管指令后,产生访管中断;3CPU响应中断,第一次访管态,运行管态程序;4管理程序编制通道程序;根据参数:设备号、主存地址、信息长度等通道程序放在主存中,由通道执行5执行“启动I/O”指令:选择通道,校验第一条通道指令格式,选择设备并启动通道及设备;6通道启动后,<1>CPU退出管态,运行目态程序;<2>通道与设备开始传送数据;7通道传送结束后,向CPU发I/O中断;8CPU 响应中断,第二次转管态,对刚才的通道作“善后”处理;9返回目态,运行目态程序;37. 通道的种类:(1) 字节多路通道:适用于大量的像光电机等字符类低速设备;数据宽度:单字节多设备交叉(2) 数组多路通道:适合于连接多台像磁盘等调整设备;数据宽度:定长块多设备交叉(3) 选择通道:适合于优先级高的磁盘等调整设备,让它独占通道,只执行一台通道程序;数据宽度:可变长块独占38. 通道流量:通道在数据传送期内,单位时间内传送的字节数字节传输速率;它能达到的最大流量称通道极限流量;重要参数: TS : 选择一次设备的时间; TD :传送一个字节的时间; K :定长块的字节长度; N :传送的全部字节个数;39. 通道极限流量:字节多路通道:f max ·byte = 1/TS+TD 每选择一台设备,只传送一字节 数组多路通道:f max ·block = K/TS+K ·TD= 1/TS/K+TD 每选择一台设备,传送定长K 字节 选择通道: f max ·select = N/TS+N ·TD= 1/TS/N+TD显然,若通道的TS 、TD 一定, 且N>K 时,字节多路方式工作时所能达到的极限流量最小,数组多路方式工作的居中, 选择方式工作的最大;40. 如果通道上所挂p 设备都被启动,则设备对通道要求的的实际最大流量分别为:字节多路通道应为该通道所接各设备的字节传送速率之和, 即而对于其他两种类型的通道应为所接各设备的字节传送速率中之最大的那个, 即41. 保证第j 号通道上所挂的设备在满负荷的最坏情况下都不丢失信息的条件: 设备最大流量 <= 极限流量 ∑=⋅⋅=j p i j i j byte f f 1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可以给编译给出一些先导知识
◦ 再通过对不同汇编代码的解释来稍进一步的给出微体系 结构方面的差异
为后续的计原等课程给出一些先导知识
◦ 举例:条件移动指令
_absdiff:
int absdiff( int x, int y) { int result; if (x > y) { result = x-y; } else { result = y-x; } return result; }
对照
_absdiff:
pushl %ebp movl %esp, %ebp movl 8(%ebp), %edx movl 12(%ebp), %eax cmpl %eax, %edx jle L27 popl %ebp subl %eax, %edx movl %edx, %eax ret .p2align 4,,7 L27: popl subl ret %ebp %edx, %eax
– 如何实现指令集。 – 处理器内部的实现,包括流水线、处理部件、缓存等内容。

计算机系统
– 计算机系统里的其它硬件,包括总线、交换开关(Switch)、内存 控制器、DMA控制器等。

其他内容
– 虚拟化、计算机集群、 NUMA。
• 指令系统(汇编语言可以看做是它的一种助记符)
– 计算机处理器对外提供的主要接口与规格
– 它不同于数据流程和控制的组织,不同于逻辑设计以及 物理实现方法。
一般认为这是一种狭义的定义。

指令系统( Instruction set architecture, or ISA )
– 机器语言,还包括机器字长、内存地址模式、处理器寄存器等 程序员可见的系统状态、数据格式等。

微体系结构(Micro-architecture)著 清华 Nhomakorabea学出版社
沈美明 温冬婵 编

授课角度
◦ 突出了在课程组中的“承上启下”作用,在内容编 排上突出了与相关课程的衔接
强化与高级语言的联系,从典型的C语言代码段入手,通过编译成 汇编代码来详细解释程序员角度的微体系结构(包括X86与MIPS 结构)运行模型。 汇编语言是高级语言在机器层面的表示,掌握这两种语言的对应可 以将程序的执行与计算机的工作过程紧密联系起来. 通过对不同汇编代码的解释来给出微体系结构方面的差异,为后续 课程,如编译原理、计算机组成原理等提供一些先导知识。
条件指令往往会引起一定的性能损失,因此需要尽量消除。
机器语言:依赖于机器的低级语言,书写格式为二进制代码 优点:执行速度快,效率高 缺点:表达的意义不直观,编写、阅读、调试较困难 汇编语言:是一种符号语言,与机器语言一一对应;它使用 助记符表示相应的操作,并遵循一定的语法规则 优点:面向机器编程,在“时间”和“空间”上效率 缺点:涉及硬件细节,要求熟悉计算机系统的内部结构 高级语言:面向人的语言,表达形式接近自然语言 优点:便于阅读,易学易用,不涉及硬件,具有通用性 缺点:目标代码冗长,占用内存多,从而执行时间长, 效率不高,不能对某些硬件进行操作
– 软硬件的分界
– 系统程序员看到的计算机的主要属性

指令系统分类
– CISC (复杂指令系统,Complex Set Instruction Computer ) • 面向高级语言,缩小机器指令系统与高级语言语义差距 • 指令条数多,寻址方式多变 • 单条指令能够完成多个操作 • 代表:X86
– RISC(精简指令系统, Reduced instruction set computer) • 通常只支持常用的能在一个周期内完成的操作(80:20原则) • 简单而统一格式的指令格式与译码 • 只有LOAD和STORE指令可以访问存储器,简单的寻址方式 • 较多的寄存器
◦ 开展多角度内容组织,系统角度与应用角度并存
从C语言角度、处理器结构角度分别“自上而下”、“自下而上” 的以纵向角度讲解汇编语言的语义及其某些新的汇编指令出现的原 因。 突出汇编优化程序的特点以及“反汇编”应用。
◦ 从典型的C语言代码段入手,通过编译成汇编代码来详 细解释程序员角度的X86结构运行模型
PowerPC指令集(RISC)有超过230多条指令,较许多CISC指 令集更为复杂
Load / store with (without) other operations?
◦ MIPS是一个经典的RISC指令集,兼具RISC设计的简洁优 雅与不足
代码密度较低 应用于嵌入式领域,32bit指令有些“大材小用” 因此注重扩展,包括提高代码密度(16位指令)以及多媒体、 加密领域的指令扩展
◦ ARM指令集介于经典的RISC与CISC之间,相对复杂
注重代码密度,降低功耗 浮点较弱,逐步扩展强化

基本知识
◦ 各类指令集初步 ◦ 数制与整数表示 ◦ 浮点数表示

X86汇编
◦ ◦ ◦ ◦ 80x86计算机组织与保护模式 X86指令系统与寻址方式 C与X86汇编 X86汇编语言程序格式与基本编程

课程定位 主要授课内容


各类指令集简介
课程定位
计算机应用类
与计算机组成原理、编译原理、 操作系统、数字逻辑设计等组 成计算机系统核心课程
•汇编语言程序设计与计算机组成 原理作为软硬件界面起到“承上 启下”的作用
编译原理 汇 编
操作系统
计算机组成
数字逻辑设计
为后续课程打下指令集、汇编编程以及微体系结构入门的基础。
编程语言是针对目标计算机系统结
构的一种“抽象”
不同编程语言体现了对于系统结构
的不同层面的“视角”
计算机系统结构

计算机系统结构(中国计算机科学技术百科全书的定义)
◦ 计算机系统的物理或者硬件结构、各部分组成的属性以及 这些部分的相互联系。 ◦ 系统软件开发人员看到的计算机系统的功能行为和概念结 构 ◦ 计算机系统的结构与实现(计算机组成)
– 1964 年, IBM/360 系列机的总设计工程师 G.M.Amdahl 、 G.A.Blaauw、F.P.Brooks等人提出。也称体系结构。 – 是从程序员的角度所看到的系统的属性,是概念上的结 构和功能上的行为
• 程序员:系统程序员(包括:汇编语言、机器语言、编译程序、 操作系统) • 看到的:编写出能在机器上正确运行的程序所必须了解到的
• 从处理器角度来解释
• 首先较新的X86处理器增 加了条件执行(移动)指 令 • 为何增加
• 从处理器的长流水线、 多发射角度来解释条件 跳转指令对性能可能带 来的负面影响 • 尽量消除条件跳转指令
现代的通用处理器 支持深度流水线以及多发射结构,如 Pentium 4 : >= 20 stages, up to 126 instructions on-fly
gcc … -O2 –march=i686
pushl movl movl pushl movl movl movl subl subl cmpl cmovle popl popl ret
%ebp %esp, %ebp 8(%ebp), %ecx %ebx 12(%ebp), %edx %ecx, %eax %edx, %ebx %edx, %eax %ecx, %ebx %edx, %ecx %ebx, %eax %ebx %ebp
计算机系统结构(狭义) Computer Architecture
程序员所看的计算机 系统的属性
计算机组成 Computer Organization
计算机系统的逻辑实现
计算机实现 Computer Implementation
计算机系统的物理实现

计算机系统结构是研究计算机系统自身的学科。
• 其它定义:对计算机系统中各级之间界面的划分和 定义,以及对各级界面上、下的功能进行分配。
参考书:
1. 《深入理解计算机系统》(Computer Systems: A Programmer‘s Perspective),第二版,2010


第2、3章。
课程ppt的部分素材也来源于该书作者的课程网站。
2. SEE MIPS RUN (MIPS体系结构透视). 第二版,2008.
3. IBM-PC汇编语言程序设计 (第2版)

MIPS汇编
◦ MIPS计算机组织初步 ◦ 指令系统介绍 ◦ 汇编代码与异常处理
学习目标与要求:
• 了解汇编语言与计算机系统结构的关系及其起到的作用 • 了解以 X86系列微处理器为基础的PC机的编程结构,建立 起“机器”与“程序”、“时间”与“空间”的概念 • 基本掌握 X86系列微处理器的指令系统及寻址方式,能够 编写程序 • 掌握C语言基本代码段与汇编语言的对应关系 • 掌握MIPS指令集的指令类型,初步了解对应的系统结构 • 掌握撰写MIPS异常处理句柄的方法 • 初步了解MIPS指令集在操作系统中的作用*
• 指令条数相对较少,依赖于编译器产生高效的代码; • 处理器微体系结构相对简单,运行频率高。 • 代表:MIPS / ARM / PowerPC

CISC与RISC走向融合
◦ X86处理器内部采用类似RISC的micro-op
出于兼容性考虑,其指令集一直属于CISC
◦ 经典的RISC指令集也日益扩展、复杂化
相关文档
最新文档