计算机组成原理一轮

news2025/1/13 10:32:04

目录

一、计算机系统概论

组成

概念 

二、计算机的运算方法 

二进制和八进制、二进制和八进制间的转换

任意进制数转换为十进制数

十进制转二进制

移码

定点数的移位运算

定点数的加减运算

 定点数的乘除运算

相乘

 相除

溢出的判别方法

采用一位符号位 

 采用双符号位

浮点数的表示

加减运算

符号扩展和零扩展

有无符号比较(标志CF)

 三、存储器

概念 

存储器的分类 

DMA方式

译码驱动 

​DRAM的刷新

 SRAM和DRAM的区别

主存容量扩展 

存储器的校验

多模块存储器

单体多字存储器

多体高位交叉存储器

多体低位交叉存储器

两级缓存和分立缓存

映射 

直接映射

全相联映射

组相联映射

替换算法 

​四、指令系统

扩展操作码 

​数据寻址

立即寻址

直接寻址

​隐含寻址

间接寻址

寄存器寻址

​寄存器间接寻址

基址寻址

​变址寻址

相对寻址

​堆栈寻址

五、输入输出系统

程序查询方式 

程序中断方式

​DMA方式

六、控制单元

取指周期

间址周期

​执行周期

非访存指令 

 访存指令

转移指令

​中断周期

​控制单元的外特性

控制单元的功能 

建立数据通路

 专用数据通路

CPU内部总线方式

CU外特性

 微操作的节拍安排

​ 微指令格式

水平型微指令 

​编辑 垂直型微指令

微指令的编码方式 

直接编码 

​字段编码

七、CPU


一、计算机系统概论

组成

 ALU中:

概念 

数据通路带宽:数据总线一次所能传送信息的位数 

吞吐量:系统在单位时间内处理请求的数量,主要取决于主存的存取周期 

主频(CPU时钟频率):主频越高,完成指令的一个步骤所用的时间越短,执行指令的速度越快。以赫兹(Hz)为单位。CPU 主频指 CPU 使用的时钟脉冲频率

CPU时钟周期:CPU时钟频率的倒数。

CPI:所有指令执行所需要的平均时钟周期数。CPI 是执行一条指令平均使用 CPU 时钟数

CPU执行时间:运行一个程序所花费的时间。

CPU执行时间=(指令数 * CPI)/ 主频

字长是指计算机能直接处理的二进制信息的位数。

现在机器的运算速度,普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS作为计量单位。 

         

二、计算机的运算方法 

计算机组成原理——浮点数_对阶操作为什么不会引起阶码上溢或下溢-CSDN博客

二进制和八进制、二进制和八进制间的转换

 二进制和八进制:三位二进制为一位八进制

二进制和十六进制:四位二进制为一位十六进制

任意进制数转换为十进制数

十进制转二进制

基数乘除法 

移码

补码的符号位取反则得到移码。

定点数的移位运算

定点数的加减运算

符号位与数值位一起参与运算,加、减运算结果的符号位也在运算中直接得出。

最终将运算结果的高位丢弃。

 定点数的乘除运算

相乘

结果符号提前得到

主要计算无符号数

两正数:

一正一负:

 补码

Booth算法

两负数:

 相除

小数定点除法要求被除数应不大于除数。

恢复余数法

两负数:

 不恢复余数法

 加减交替法

 

溢出的判别方法

采用一位符号位 

 采用双符号位

浮点数的表示

加减运算

符号扩展和零扩展

零扩展:高位直接补0的扩展,如1111变成00001111,补0并不影响计算结果,这个很好理解,但如果二进制数带了符号,就不一样了,因为最高位是符号位,所以1111就总一个负数,变成了一个正数00001111,由此,产生了符号扩展

符号扩展: 高位直接补符号位,如0111扩展成00001111,而1000扩展成11111000

有无符号比较(标志CF)

进位/借位标志 CF、 零标志 ZF、 符号标志 SF 和 溢出标志 OF

 有符号的运算: 

无符号运算:

 三、存储器

概念 

 

存储器的分类 

 

DMA方式

由于I/O设备不断增多,如果它们与存储器交换信息都通过CPU来实现,这将大大降低CPU的工作效率。为此,出现了I/O与存储器的直接存取方式(DMA)。 

译码驱动 

线选法(一次选一行)

重合法(一次选一个)

 DRAM的刷新

一般要求在一定的时间内,对动态RAM的全部基本单元必须作一次刷新,这个时间称为刷新周期,也叫再生周期,一般取2ms。

集中刷新

分散刷新:没有死区,加长了存取周期,降低了整机速度。

异步刷新:将刷新安排在指令译码阶段,不会出现“死区”。

 SRAM和DRAM的区别

 

主存容量扩展 

字扩展为:加行

位扩展为:加列 

 

存储器的校验

奇偶校验

 循环冗余校验

 

汉明码

 

 

多模块存储器

单体多字存储器

多体高位交叉存储器

多体低位交叉存储器

两级缓存和分立缓存

 两级缓存:第一级缓存放在主存,第二级缓存放在CUP。

分立缓存:缓存中指令和数据分开存放。

映射 

直接映射

 

全相联映射

 

组相联映射

 

替换算法 

最近最少(LRU)算法

 四、指令系统

扩展操作码 

 数据寻址

立即寻址

不用找操作数。

获取操作数最快。

直接寻址

在主存找一次操作数。

 隐含寻址

操作数被隐藏在acc。

间接寻址

在主存多次寻址操作数。

寄存器寻址

在寄存器找操作数。

为了缩短指令中某个地址段的位数。

 寄存器间接寻址

各在寄存器、主存找一次操作数。

基址寻址

采用专门寄存器或通用寄存器作为基址寄存器。

 变址寻址

采用变址寄存器。

最适合按下标顺序访问一维数组元素。

相对寻址

 堆栈寻址

五、输入输出系统

程序查询方式 

程序中断方式

 DMA方式

六、控制单元

取指周期

间址周期

 执行周期

非访存指令 

 访存指令

转移指令

 中断周期

 控制单元的外特性

 

 

控制单元的功能 

建立数据通路

数据通路:数据在功能部件之间传送的路径。

运算器和寄存器之间的数据传送路径称为CPU内部数据通路 ;CPU内部数据通路有总线方式和专用数据通路两种,总线方式又有单总线、双总线和多总线等形式。

 专用数据通路

CPU内部总线方式

CU外特性

 微操作的节拍安排


 

 

 微指令格式

水平型微指令 

 垂直型微指令

微指令的编码方式 

直接编码 

 字段编码

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

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

相关文章

LabVIEW调用第三方硬件DLL常见问题及开发流程

在LabVIEW中调用第三方硬件DLL时,除了技术问题,还涉及开发流程、资料获取及与厂家的沟通协调。常见问题包括函数接口不兼容、数据类型转换错误、内存管理问题、线程安全性等。解决这些问题需确保函数声明准确、数据类型匹配、正确的内存管理及线程保护。…

vue3学习(七)

前言 接上一篇学习笔记,今天主要是分享上次学习完了,还没来得及记录,趁今天晚上换换脑子的时间记录下。 今天主要是记录的vuex文件的拆分,因为毕竟如果只在一个index.js文件写,文件会随着业务的复杂性上升&…

Wi-Fi 6E vs. Wi-Fi 7: Which is the Best Fit for Your Infrastructure?

Wi-Fi 6E vs. Wi-Fi 7: Which is the Best Fit for Your Infrastructure? With the rapid advancement of wireless technology, organizations face a critical decision: should they adopt Wi-Fi 6E now or wait for Wi-Fi 7? This decision impacts various aspects of …

NSSCTF中的popchains、level-up、 What is Web、 Interesting_http、 BabyUpload

目录 [NISACTF 2022]popchains [NISACTF 2022]level-up [HNCTF 2022 Week1]What is Web [HNCTF 2022 Week1]Interesting_http [GXYCTF 2019]BabyUpload 今日总结&#xff1a; [NISACTF 2022]popchains 审计可以构造pop链的代码 <php class Road_is_Long{public $…

2-1RT-Thread线程管理-笔记

2-1RT-Thread线程管理-笔记 其中系统线程由内核创建&#xff0c;如main函数和空闲线程都属于系统线程&#xff0c;而用户线程是由应用程序所创建的。 对于资源较大的MCU可以适当设计较大的线程栈&#xff0c;也可以在初始化时设置一个具体的数值&#xff0c;如1K或2K字节。…

CSS学习|css三种导入方式、基本选择器、层次选择器、结构伪类选择器、属性选择器、字体样式、文本样式

第一个css程序 css程序都是在style标签中书写 打开该网页&#xff0c;可以看到h1标签中的我是标题被渲染成了红色 可以在同级目录下创建一个css目录&#xff0c;专门存放css文件&#xff0c;可以和html分开编写 然后在html页面中&#xff0c;利用link标签以及css文件地址&…

王学岗鸿蒙开发(北向)——————(二)TS基本语法详解

1&#xff0c;Ts(TypeScript)语法相当于JAVAScript类型&#xff0c;鸿蒙arkTs是基于TS语言的,当然artTs也融合了其它的语言。 2&#xff0c;本篇文章是基于n9版本。注意,有些语法是已经不能用的。 3&#xff0c; 4&#xff0c;变量:用来存储数据,数字字母组成&#xff0c;数字不…

web学习笔记(六十三)

目录 1.钩子函数onActivated和onDeactivated 1.1 onActivated 1.2 onDeactivated 2. KeepAlive补充 2.1 include 和 exclude 2.2 的作用是什么? 2.3 组件包含什么prop属性及作用&#xff1f; 2.4 对应那两个生命周期&#xff1f;生命周期什么时机执行&#xff1f; 2.5 …

重庆耶非凡科技有限公司的选品师项目加盟靠谱吗?

在当今电子商务的浪潮中&#xff0c;选品师的角色愈发重要。而重庆耶非凡科技有限公司以其独特的选品师项目&#xff0c;在行业内引起了广泛关注。对于想要加盟该项目的人来说&#xff0c;项目的靠谱性无疑是首要考虑的问题。 首先&#xff0c;我们来看看耶非凡科技有限公司的背…

CGS与MGS的矩阵正交化-C语言实现

格拉姆-施密特正交化和改进的格拉姆-施密特正交化 格拉姆-施密特正交化CGS 数学公式 代码实现&#xff1a; 过程版 矩阵运算实现的难点在于每次运算都是一个向量&#xff0c;需要for循环进行&#xff0c;会带来运算时在代码中的复杂&#xff0c;进而难以理解代码的过程 Q矩阵…

17K star,一款开源免费的手机电脑无缝同屏软件

导读&#xff1a;白茶清欢无别事&#xff0c;我在等风也等你。 作为程序员&#xff0c;在我们的工作中经常需要把手机投票到电脑进行调试工作&#xff0c;选择一款功能强大的投屏软件是一件很必要的事情。今天给大家介绍一款开源且免费的投屏软件&#xff0c;极限投屏&#xff…

IEAD常用快捷键

如题 网页图片不清晰&#xff0c;可下载后查看

C++11标准-详解

目录 1、列表初始化 2、隐式类型转换 1&#xff09;概念理解 2&#xff09;举例增进理解 3&#xff09;隐式与显式区别&#xff1f; a、直接初始化 vs 拷贝初始化 b、构造函数调用 c、语义上的差异 d、性能差异 4&#xff09;explicit 关键字 5&#xff09;多参数的隐…

HarmonyOS(二十五)——Harmonyos通用事件之点击事件

组件被点击时触发的事件就是点击事件。 1.事件 名称支持冒泡功能描述onClick(event: (event?: ClickEvent) > void)否点击动作触发该回调&#xff0c;event返回值见ClickEvent对象说明。从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 2.ClickEvent对象…

C++青少年简明教程:字符类型、字符数组和字符串

C青少年简明教程&#xff1a;字符类型、字符数组和字符串 在 C 语言中&#xff0c;处理文本数据的基础是字符类型 char&#xff0c;字符数组&#xff0c;以及标凌库中的字符串类 std::string。 C中的char类型占用 1 字节的内存空间&#xff0c;用于存储单个ASCII字符。例如&a…

【Pytorch】计算机视觉项目——卷积神经网络TinyVGG模型图像分类(如何使用自定义数据集)

目录 一、前言二、工作流程回顾三、详细步骤流程1. 环境配置2. 数据准备数据集下载数据存储结构&路径查看图片 3. 数据转换4. 自定义数据集&#xff08;Custom Dataset &#xff09;4.1 方法一&#xff1a;使用ImageFolder加载数据集信息查看张量转图片创建DataLoader 4.2 …

ChatGPT-4o抢先体验

速度很快&#xff0c;结果很智能&#xff0c;支持多模态输入输出&#xff0c;感兴趣联系作者

Unity开发Cosmos使用BNG Framework获取按键信息

Unity开发Cosmos使用BNG Framework获取按键信息 1、新建一个脚本&#xff0c;复制下面代码 using BNG;[Header("Input")]//[Tooltip("The key(s) to use to toggle locomotion type")]public List<ControllerBinding> locomotionToggleInput new …

SpringBoot+Vue实现前后端分离基本的环境搭建

目录 一、Vue项目的搭建 &#xff08;1&#xff09;基于vite创建vue项目 &#xff08;2&#xff09;引入elementplus &#xff08;3&#xff09;启动后端服务&#xff0c;并测试 二、SpringBoot项目的搭建 &#xff08;1&#xff09;通过idea创建SpringBoot项目 &#x…

每天五分钟深度学习PyTorch:Tensor张量的索引和切片

本文重点 有时候当我们拥有一个Tensor张量的时候,我们可能需要获取它某一维度的信息,那么此时我们就需要索引和切片的技术,它们可以帮助我们解决这些问题。 切片操作 a是四维的,然后默认是从第一维开始取,逗号表示取不同的维度 a[:2]表示第一维取0,1,后面三维取所有 …