Luckyxyz
首页
归档
关于
友链
切换模式
返回顶部
首页
技术实践
书斋絮语
说点儿什么
Luckyxyz
首页
技术实践
书斋絮语
说点儿什么
首页
归档
关于
友链
【软考】CPU、寻址、海明码、流水线
技术实践
·
5 天前
Luckyxyz
# 时钟周期 计算机操作的最小单元时间是:时钟周期 指令周期:一条指令从读取到执行完的全部时间。 指令周期分为不同阶段,每个阶段所需的时间又称 机器周期,又称 CPU 工作周期 一个指令周期 由 若干个 CPU 周期组成 一个 CPU 周期包含若干个 时钟周期 --- # 寻址 计算机在直接寻址时,需要从内存读取操作数,要先将操作数的地址送到地址总线上 随机存储器 可以按 **地址** 访问存储器的任一单元 顺序存储器 访问时 按顺序查找目标地址 访问数据所需时间,跟 数据存储位置相关。 直接存储器按照数据块所在位置访问,介于 随机存储器 和 顺序存储器 之间,磁道寻址随机,磁道内寻址顺序。 相联存储器:按内容访问的存储器。把数据或数据的某一部分作为关键字,按顺序写入信息,读出时并行地将关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合于信息的检索和更新。 --- # CPU PC CPU 执行一条指令时,首先要完成的操作是:从内存中读取该指令的指令操作码。取该指令的指令操作码,首先要做的事:将程序计数器的内容送到地址寄存器:PC --> AR --- 计算机类与鼠标类的关系是聚合关系 --- 双核处理器:一个处理器上集成两个运算核心,从而提高计算能力 --- # 原码 反码 补码 阶码 移码  尾数原码:0000000001,数符:0,表示:尾数是正数 为 2^-10 阶码:0001:, 是补码,转换成原码为 1111,是十进制的 15,阶符是 1,表示阶码为 负数 所以该浮点数为:2^-15 x 2^-10 --- 机器采用原码表示时,0 有两种编码方式:原码表示带符号的整数 0 有-0 和 +0 +0 反码:00000000,-0 反码:11111111 0 补码:00000000,补码没有-0 和 +0 之分 --- 在计算机的 CPU 中,通常只设置:硬件加法器。只有 **补码** 能够将减法转化为加法,蛄蛹硬件加法器可以比较方便地进行数字加减法 --- 由于正数的移码大于负数的移码,利用这一特点,移码被广泛用来表示浮点数阶码的数字编码,这可以用比较阶码的大小,来实现真值大小的比较 --- 定点小数表示中,只有 补码 能表示 -1 --- 根据补码规则,当 数符 与 尾数小数点后第一位 相异 时为规格化数 --- # 海明码 海明码: 设校验位的位数为 k,数据位的位数为 n,海明码能纠正一位错应满足关系 2^k≥n+k+1 当 n=8 时,k至少 =4,才能符合要求 海明码在一个码组内,要检测 e 个误码,要求的最小码距 d 应满足:d ≥ e+1 海明码在一个码组内,要纠正 t 个误码,要求的最小码距 d 应满足:d ≥ 2t +1 同时 纠错验错 d 应满足:d ≥ e+t+1 --- # 流水线 流水线: 每个功能段的时间设定为 取指、分析、执行,三部分的时间分别为:2ns、2ns、1ns。最长时间为 2ns,第一条指令在 5ns 时执行完毕,其余 99 条指令每隔 2ns 执行完一条,所以 100 条指令全部执行完需要:5+2x99=203ns --- # 寻址方式 1、立即寻址:操作数就包含在指令中,在形成指令的机器代码形成时,立即数就跟在指令操作码的后面,取出指令时即可得到操作数 2、直接寻址:操作数存放在内存单元中,指令中直接输出操作数所在存储单元的地址 3、寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作出的寄存器名 所以,立即寻址最快、寄存器寻址次之、直接寻址最慢 --- # 冯诺依曼计算机特点 1、计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成 2、指令和数据以同等地位存放于存储器内,并可以按地址访问 3、指令和数据均用二进制表示 4、指令由操作码、地址码两大部分组成 操作码:用来表示操作的性质、地址码:用来表示操作数在存储器中的位置 5、指令在存储器中顺序存放,通常自动顺序取出执行 6、计算机以运算器为中心 --- # 流水线 RISC:精简指令集计算机,Reduced Instruction Set Computer 指令尽量简单,让每条指令都能在一个时钟周期内完成 - 指令数量少、每条指令只做一件简单的事 - 指令长度固定,便于流水线处理 - 更多依赖编译器来优化,硬件设计更简洁 - 硬布线逻辑:用纯粹的数字电路(逻辑门、组合电路)直接产生控制信号 - 指令进来 --> 电路直接输出控制信号 - 没有中间层,速度极快 - 但电路一旦设计好就固定了,不能修改 - 因为 RISC 指令少且比较简单,所以电路规模还能接受 CISC:复杂指令集计算机,Complex Instruction Set Computer 用一条指令完成尽可能多的事情 - 指令数量多、功能强,单挑指令可以完成复杂操作,比如直接操作内存中的数据 - 指令长度不固定 - 硬件负责翻译复杂指令,编译器相对简单 - 在 CPU 内部存一张 “微程序表”,每条复杂指令对应一段微程序,由微程序来生成控制信号 - 指令进来 --> 查 微程序表 --> 执行微程序 --> 输出控制信号 - 多了一层 “查表” 过程,所以速度相对慢 - 新增或修改指令只需要改微程序,灵活性高 - CISC 指令复杂且多。用微码才能管理得过来 RSIC 和 CISC 都采用流水线技术   --- 传统机器级的机器语言是该机的指令集,程序员用机器指令编写的程序可以有微程序进行解释 --- 机器字长为 32 位,一个容量为 16MB 的存储器,CPU 按照半字寻址,其可寻址的单元数: 机器字长:32,半字:机器字长的一半 = 16 位 = 2 字节,存储器容量 16MB 存储器总位数:16MB = 16 x 2^20 x 8 bit 按半字(16bit)寻址 = 16 x 2^20 x 8 bit ➗️(16 bit)= 2^23
软考
取消回复
提交评论
Luckyxyz
我们谈论生活,讨论技术,借由文字,抵达心灵。
热门文章
Obsidian 迁移全记录(又名:纯小白的闭坑指南)
【Kubernetes】第一个实例 - Java Web 应用
新年新气象,关于年终总结,关于未来展望
使用宝塔面板对网站、数据库等进行定时备份到腾讯云 COS 对象存储
2025 年
在细雨中呼喊,在困顿中挣扎
Ubuntu 22.04 server 安装教程
最新评论
山佳Ellen: 有独到的见地,有个性的思想,精彩!
t: 2026 扬帆起航, 喜迎新年,万象更新, 时间旅行,人间探索,...
tls: 赞一个
lovingchina: 我也准备从Joplin迁移到Obsidian,刚好参考你这一篇哈...
tl.s: 很棒的一本书,可以解答很多人们关于人工智能的疑惑。或许未来怎样谁...
tl.s: 很实用 🦆🦆
tl.s: 绘图很清晰,图示质量很高
热门标签
Kubernetes
读书笔记
Linux
Ubuntu
生活随笔
生活
2025
Python3
Debian
Ansible
空间智能
openFuyao
软考
技术实践
在细雨中呼喊
粤ICP备2024349207号