2.26回顾章节主体线索脉络,课程要求(评分)

 

3)翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?

翻译程序是指把高级语言源程序翻译成机器语言程序(目标代码)的软件。
翻译程序有两种:一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只需执行目标程序,因此只要源程序不变,就无须重新翻译,请注意同一种高级语言在不同体系结构下,编译成目标程序是不一样的,目标程序与体系结构相关,但仍不是计算机硬件能够直接执行的程序。另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。汇编语言是种面向机器的低级语言,是机器语言的符号表示,与机器语言一一对应
编译程序与汇编程序的区別:若源语言是诸如C、C++、Java等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,则这样的一个翻译程序称为编译程序。若源语言是汇编语言,而目标语言是机器语言,则这样的一个翻译程序称为汇编程序。

机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。等于MDR的位数, 它们都必须是字节的整数倍。
数据字长:数据总线一次能传送信息的位数,它可以不等于MDR的位数。

指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2次访存来取出一条指令,因此取指周期为机器周期的2倍;若指令字长等于存储字长,则取指周期等于机器周期。

早期的计算机存储字长一般和机器的指令字长与数据字长相等,因此访问一次主存便可取出一条指令或一个数据。随着计算机的发展,指令字长可变,数据字长也可变,但它们必须都是字节的整数倍。

请注意64位操作系统是指特别为64位架构的计算机而设计的操作系统,它能够利用64位处理器的优势。但64位机器既可以使用64位操作系统,又可以使用32位操作系统。而32位处理器是无法使用64位操作系统的。

计算机采用二进制来表示数据,在字长足够时,可以表示任何一个整数。而二进制表示小数时只能够用1(2)的和的任意组合表示,即使字长很长,也不可能精确表示出所有小数,只能无限逼近。例如0.1就无法用二进制精确地表示。

字长相同时,浮点数取字长的一部分作为阶码,所以表示范围比定点数要大而取一部分作为阶码也就代表着尾数部位的有效位数减少,而定点数字长的全部位都用来表示数值本身,精度要比同字长的浮点数更大

存储器的层次结构主要体现在 Cache-主存和 主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要 对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于 Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要 起扩容作用,即从程序员的角度看,他所使用的存储器的容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与 Cache之间的信息调度功能全部由硬件自动完成而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软/硬结合的技术组成虚拟存储器,程序员可用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软/硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间;而存取周期不仅包含操作时间,而且包含操作后线路的恢复时间,即存取周期=存取时间+恢复时间(这是不是也可以解释,为什么IC前端,时序分析中有建立时间和保持时间吧)

页面不能设置得过大,也不能设置得过小。因为页面太小时,平均页内剩余空间较少,可节省存储空间,但会使得页表增大,而且页面太小时不能充分利用访存的空间局部性来提高命中率页面太大时,可减少页表空间,但平均页内剩余空间较大,会浪费较多存储空间,页面太大还会使页面调入/调出的时间较长

不是。存取时间Ta是执行一次读操作或写操作的时间,分为读出时间和写入时间。读出时间是从主存接收到有效地址开始到数据稳定为止的时间;写入时间是从主存接收到有效地址开始到数据写入被写单元为止的时间。
存储周期Tm是指存储器进行连续两次独立地读或写操作所需的最小时间间隔。所以存取时间Ta不等于存储周期Tm。通常存储周期Tm大于存取时间Ta。

行的长度较大,可以充分利用程序访问的空间局部性,使一个较大的局部空间被一起调到Cache中,因而可以增加命中机会。但是,行长也不能太大,主要原因有两个:
1)行长大使失效损失变大。也就是说,若未命中,则需花更多时间从主存读块。
2)行长太大, Cache项数变少,因而命中的可能性变小

3.发生取指令 Cache缺失的处理过程是什么?

1)程序计数器恢复当前指令的值。
2)对主存进行读的操作。
3)将读入的指令写入 Cache中,更改有效位和标记位。
4)重新执行当前指令

指令就是要计算机执行某种操作的命令一台计算机中所有机器指令的集合,称为这台计算机的指令系统。引入指令系统后,避免了用户与二进制代码直接接触,使得用户编写程序更为方便。另外,指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。

一条指令通常包括操作码字段和地址码字段两部分。其中,操作码指出指令中该指令应该执行什么性质的操作和具有何种功能,它是识别指令、了解指令功能与区分操作数地址内容的组成和使用方法等的关键信息。地址码用于给出被操作的信息(指令或数据)的地址,包括参加运算的一个或多个操作数所在的地址、运算结果的保存地址、程序的转移地址、被调用子程序的入口地址等。

立即寻址操作数获取便捷,通常用于给寄存器赋初值。
直接寻址相对于立即寻址,缩短了指令长度
间接寻址扩大了寻址范围,便于编制程序,易于完成子程序返回。
寄存器寻址的指令字较短,指令执行速度较快
寄存器间接寻址扩大了寻址范围。
基址寻址扩大了操作数寻址范围,适用于多道程序设计,常用于为程序或数据分配存储空间
变址寻址主要用于处理数组问题,适合编制循环程序。
相对寻址用于控制程序的执行顺序、转移等。
基址寻址和变址寻址的区别:两种方式有效地址的形成都是寄存器内容+偏移地址,但是在基址寻址中,程序员操作的是偏移地址,基址寄存器的内容由操作系统控制,在执行过程中是动态调整的;而在变址寻址中,程序员操作的是变址寄存器,偏移地址是固定不变的

现代计算机都采用字节编址方式,即一个内存单元只能存放一字节的信息。一个操作数(如char、int、foat、 double)可能是8位、16位、32位或64位等,因此可能占用1个、2个、4个或8个内存单元。也就是说,一个操作数可能有多个内存地址对应。
有两种不同的地址指定方式:大端方式和小端方式。
大端方式:指令中给出的地址是操作数最高有效字节(MSB)所在的地址
小端方式:指令中给出的地址是操作数最低有效字节(LSB)所在的地

装入/存储型指令是用在规整型指令系统中的一种通用寄存器型指令风格。这种指令风格在RISC指令系统中较为常见。为了规整指令格式,使指令具有相同的长度,规定只有 Load/Store指令才能访问内存。而运算指令不能直接访问内存,只能从寄存器取数进行运算,运算的结果也只能送到寄存器。因为寄存器编号较短,而主存地址位数较长,通过某种方式可使运算指令和访存指令的长度一致
这种装入/存储型风格的指令系统的最大特点是,指令格式规整,指令长度一致,一般为32位。由于只有 Load/Store指令オ能访问内存,程序中可能会包含许多装入指令和存储指令,与ー般通用寄存器型指令风格相比,其程序长度会更长

CPU分为运算器和控制器。其中运算器主要负责数据的加工,即对数据进行算术和逻辑运算控制器是整个系统的指挥中枢,对整个计算机系统进行有效的控制,包括指令控制、操作控制、时间控制和中断处理。从时间上讲,取指令事件发生在“取指周期”,数据事件发生在“执行周期”。从空间上讲,从内存读出的指令流流向控制器(指令寄存器)从内存读出的数据流流向运算器(通用寄存器

CPU每取出并执行一条指令所需的全部时间称为指令周期机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需的时间,通常安排机器周期长度=主存周期;时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需的时间,通常时钟周期=计算机主频的倒

控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令,而一组实现一定操作功能的微命令的组合,构成一条微指令。许多条微指令组成的序列构成微程序,微程序完成对指令的解释执行。指令,即指机器指令。每条指令可以完成一个独立的算术运算或逻辑运算操作。在采用微程序控制器的CPU中,一条指令对应一个微程序,一个微程序由许多微指令构成,一条微指令会发出很多不同的微命令

指令流水线是把指令分解为若干子过程,通过将每个子过程与其他子过程并行执行,来提高计算机的吞吐率的技术。采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术,通过在同一个时间段使用各功能部件,使得利用率明显提高。
流水线的加速比指的是完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。一条k段流水线理论上的最大加速比为Smax=k。因此,在现代计算机中提高流水线段数有利于提高计算机的吞吐量。具体的加速比要使用时空图来计算。

1.流水线越多,并行度就越高。是否流水段越多,指令执行越快?

错误,因为如下:
1)流水段缓冲之间的额外开销增大。每个流水段有一些额外开销用于缓冲间传送数据、进行各种准备和发送等功能,这些开销加长了一条指令的整个执行时间,当指令间逻辑上相互依赖时,开销更大。
2)流水段间控制逻辑变多、变复杂。用于流水线优化和存储器(或寄存器)冲突处理的控制逻辑将随流水段的增加而大增,这可能导致用于流水段之间控制的逻辑比段本身的控制逻辑更复杂

1)两条连续的指令读取相同的寄存器时,会产生读后读( Read After Read,RAR)相关,这种相关不会影响流水线。
2)某条指令要读取上一条指令所写入的寄存器时,会产生写后读( Read After Write,RAW)相关,它称数据相关或真相关,影响流水线。按序流动的流水线只可能出现RAW相关
3)某条指令的上条指令要读/写该指令的输出寄存器时,会产生读后写( Write After Read,WAR)和写后写( Write After Write,WAW)相关。在非按序流动的流水线中,既可能发生RAW相关,又可能发生WAR相关和WAW相关。
对流水线影响最严重的指令相关是数据相关

引入总线结构主要有以下优点
简化了系统结构,便于系统设计制造
②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性
③便于接口设计,所有与总线连接的设备均采用类似的接口。
④便于系统的扩充、更新与灵活配置,易于实现系统的模块化
⑤便于设备的软件设计,所有接口的软件对不同的接口地址进行操作。
⑥便于故障诊断和维修,同时也能降低成本。

引入总线后,总线上的各个设备分时共享同一总线,当总线上多个设备同时要求使用总线时就会导致总线的冲突。为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件以某种方式选择一个主设备优先获得总线控制权,只有获得了总线控制权的设备才能开始数据传送

不可以。在某个总线周期内,总线上只有一个主设备控制总线,选择一个从设备与之进行通信(即一对一的关系),或对所有设备进行广播通信(即一对多的关系)。所以一个总线在某一时刻不能有多对主从设备进行通信,否则会发生数据冲突

统一编址和独立编址。统一编址是在主存地址中划出一定的范围作为I/O地址,以便通过访存指令即可实现对I/O的访问,但主存的容量相应减少。独立编址是指IO地址和主存是分开的,I/O地址不占主存空间,但访存需专门的I/O指令

2)CPU响应中断应具备哪些条件?

①在CPU内部设置的中断屏蔽触发器必须是开放的
②外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。
③外设(接ロ)中断允许触发器必须为“1”,这样才能把外设中断请求送至CPU。
具备上述三个条件时,CPU在现行指令结束的最后一个状态周期响应中断

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2869748.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

紫色星空月亮404网页模板源码

紫色星空月亮404网页模板源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 源码下载 紫色星空月亮404网页模板源码

zookeeper快速入门二:zookeeper基本概念

本文是zookeeper系列之快速入门中的第二篇,欢迎大家观看与指出不足。 目录 一、zookeeper的存储结构 二、什么是znode 三、znode节点的四种类型 四、权限控制ACL(Access Control List) 五、事件监听watcher 一、zookeeper的存储结构 z…

练习8 Web [GYCTF2020]Blacklist

这道题其实不是堆叠注入,但是我在联合查询无效后,试了一下堆叠,最后一步发现被过滤的sql语句太多了,完全没法 查阅其他wp的过程[GYCTF2020]Blacklist 1(详细做题过程) 是用的handler语句,只能用…

控制学习_正弦波无刷直流力矩电机建模、控制带宽讨论与选择

无刷电机通过电子换向器实现定子的磁场旋转,去电刷后使用寿命大幅提升,是现在更流行的选择。三相无刷电机则是无刷电机中比较流行的一款。三相无刷电机的驱动方式有多种,最简单的被称为梯形波驱动、方波驱动或正弦波驱动。而正弦波驱动技术可…

【工具】一键生成动态歌词字幕

那眼神如此熟悉 让人着迷无力抗拒 一次又一次相遇 在眼前却遥不可及 命运总爱淘气 将一切都藏匿 曾有你的回忆 无痕迹 若不是心心相吸 又怎么会一步一步靠近 🎵 董真《思如雪》 下载LRC歌词 https://www.musicenc.com/article/50287.htmlhttp…

这次玩个猛的,复现 2000 年前碳化卷轴

公元79年10月24日,意大利的维苏威火山爆发,一天之内就毁灭了两万多人的庞贝古城。 火山灰掩盖了整座城市,其中有一栋房子存放了各种书籍。直到18世纪,这栋房子才重新被发现,下面是考古学家的建筑复原图。 房子里面的1…

本地用AIGC生成图像与视频

最近AI界最火的话题,当属Sora了。遗憾的是,Sora目前还没开源或提供模型下载,所以没法在本地跑起来。但是,业界有一些开源的图像与视频生成模型。虽然效果上还没那么惊艳,但还是值得我们体验与学习下的。 Stable Diffu…

基于粒子群算法的分布式电源配电网重构优化matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1基本PSO算法原理 4.2配电网重构的目标函数 5.完整工程文件 1.课题概述 基于粒子群算法的分布式电源配电网重构优化。通过Matlab仿真,对比优化前后 1.节点的电压值 2.线路的损耗,这里计…

阿里二面:什么情况会发生Full GC?如何避免频繁Full GC?

阿里二面:什么情况会发生Full GC?如何避免频繁Full GC? Minor GC、Major GC 和 Full GC区别? Minor GC、Major GC和Full GC是垃圾回收中的三个重要概念,它们描述了垃圾回收的不同阶段和范围: Minor GC&am…

【leetcode热题】 分数到小数

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。 如果小数部分为循环小数,则将循环的部分括在括号内。 如果存在多个答案,只需返回 任意一个 。 对于所有给定的输入,保证 …

【SQL Server】实验七 数据完整性

1 实验目的 掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。掌握完整性约束的运行检查机制。掌握参照完整性的级联删除和修改方法。掌握正确设计关系模式完整性约束的方法。 2 实验内容 2.1 掌握实体完整性约束的创建和使用方法 创建表时定义由一个属性组成…

【蓝桥杯选拔赛真题38】C++判断数字 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解析

目录 C判断数字 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C判断数字 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 给定一个正整数N(100≤N<100000)…

特殊内齿轮加工的另一种选择

内齿轮加工普遍采用插齿或拉削&#xff0c;但对于一些特殊齿廓的内齿轮来说&#xff0c;插齿可能会有一定的困难&#xff0c;或者成本较高。在这种情况下&#xff0c;线切割加工不失为一种不错的选择。那么什么样的零件需要选择这种加工方式呢&#xff1f;一起来看看&#xff1…

【Java】常用类和基础API

文章目录 一、String的特性二、String的内存结构2.1 拼接2.2 new 三、String的常用API-13.1 构造器 四、String的常用API-24.1 常用方法4.2 查找4.3 字符串截取4.4 和字符/字符数组相关4.5 开头与结尾4.6 替换 五、StringBuffer、StringBuilder5.1 StringBuilder、StringBuffer…

【RS422】基于未来科技FT4232HL芯片的多波特率串口通信收发实现

功能简介 串行通信接口常常用于在计算机和低速外部设备之间传输数据。串口通信存在多种标准&#xff0c;以RS422为例&#xff0c;它将数据分成多个位&#xff0c;采用异步通信方式进行传输。   本文基于Xilinx VCU128 FPGA开发板&#xff0c;对RS422串口通信进行学习。   根…

sqlite 常见命令 表结构

在 SQLite 中&#xff0c;将表结构保存为 SQL 具有一定的便捷性和重要性&#xff0c;原因如下 便捷性&#xff1a; 备份和恢复&#xff1a;将表结构保存为 SQL 可以方便地进行备份。如果需要还原或迁移数据库&#xff0c;只需执行保存的 SQL 脚本&#xff0c;就可以重新创建表…

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; 警告&#xff1a; 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

力扣热题100_矩阵_240_搜索二维矩阵 II

文章目录 题目链接解题思路解题代码 题目链接 240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xf…

专升本 C语言笔记-07 逗号运算符

1.逗号表达式的用法 就是用逗号隔开的多个表达式。逗号表达式&#xff0c;从左向右依次执行。 2.逗号表达式的特性 2.1.当没有括号时&#xff0c;第一个表达式为整个表达式的值。 代码 int x 3,y 5,a 0; a x,y; printf("a %d",a); 说明:因为逗号优先级最低,会…

PyTorch学习笔记之激活函数篇(一)

文章目录 1、Sigmoid函数1.1 公式1.2 对应图像1.2 生成图像代码1.4 优点与不足1.5 torch.sigmoid()函数 1、Sigmoid函数 1.1 公式 Sigmoid函数的公式&#xff1a; f ( x ) 1 1 e − x f(x) \frac{1}{1e^{-x}} f(x)1e−x1​ Sigmoid函数的导函数&#xff1a; f ′ ( x ) e …