摘要: CSAPP:浮点数表示 1. 定点表示受限于二进制表示长度影响表示的精度。 2.IEEE浮点表示法:V = (-1)^s x M x 2^E s:符号,决定正负,对于0作为特殊情况处理。 M:二进制小数,范围为1~2-0.000001(规格数) 或0~0.000001(非规格数)。 E: 阶码,对浮点数的加权,为2^E 3 阅读全文
posted @ 2023-02-05 14:40 fourmii 阅读(41) 评论(0) 推荐(0) 编辑
摘要: CSAPP:整数表示 1. 位编码整数有两种方式:一种只能表示非负数,另一种可以表示负数,零,正数。 2. 在表示有符号整数时,负数的可表示范围比正数的范围大于1。这是由于在用位表示时,最高位作为符号位,1表示负数,0表示正数,可表示的负数最小值为,w位的话为-2^(w-1), 符号位为0时可表示的范围为0~2^w - 阅读全文
posted @ 2023-02-05 14:28 fourmii 阅读(39) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔:信息的存储 1. 可寻址的最小内存单位:字节。 2. 虚拟内存:一个极其大的字节数组。 3. 地址:用唯一的数字标识内存的每个字节。 4. 虚拟地址空间: 所有可能地址的集合。 5. c语言中指针的值都是某个存储块第一个字节的虚拟地址。编译器将每个指针和类型信息联系起来,根据指针类型生成不同的机器级别代码来访问 阅读全文
posted @ 2023-01-29 21:45 fourmii 阅读(16) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔: 并发及并行 并发: 通用概念,同时具有多个活动的系统,通过进程的快速切换模拟出来的。 并行:用并发使系统运行得更快。 多核处理器: 将多个CPU集成到一个电路芯片上。 超线程: 允许一个CPU执行多个控制流的技术,某些硬件(PC及寄存器文件)多个备份,其他硬件部分只有一份。在一个线程等待环境准备的时候,CPU可 阅读全文
posted @ 2023-01-27 12:32 fourmii 阅读(28) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔: Amdahl(阿姆达尔)定律 主要思想: 对系统的某个部分加速时,对系统整体的影响取决于该部分对于整体的重要性及加速效果。 Told:系统执行应用程序的耗时。 alpha: 系统某部分执行时间占整体的比例。 性能提升比例:k. 结论:要想加速整个系统, 必须提升整个全系统中相当大部分的速度。 阅读全文
posted @ 2023-01-27 12:12 fourmii 阅读(44) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔: 操作系统管理硬件 操作系统看作是应用程序和硬件之间的一层软件,两个基本功能:1. 防止失控的应用程序滥用硬件。2. 向应用程序提供 简单一致 的机制来控制不同级别的硬件设备。 操作系统的抽象概念: 文件 是对 I/O设备 的抽象表示,向应用程序提供了一个统一的视图,虚拟内存 是对 主存及磁盘I/O设备 的抽象, 进程 阅读全文
posted @ 2023-01-27 11:58 fourmii 阅读(26) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔:高速缓存 解决的问题: 系统消耗大量的时间将信息从一个地方移动到另一个地方。较大的存储设备 比 较小的存储设备运行得慢。价格上速度快的要远高于速度慢的, 同时加快处理器要比加快主存容易的多。 高速缓存器: 更小更快,存放处理器近期可能需要的信息。 L1缓存:容量比寄存器文件大很多,但运行速度接近寄存器。 L2 阅读全文
posted @ 2023-01-27 10:55 fourmii 阅读(42) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔: 系统的硬件组成 1. 总线 一组电子管道,在各个部件传递信息字节,类比血管,传递的信息为定长的字节块,即字。 2. I/O设备 输入:键盘鼠标, 输出: 显示器, 存储:存程序及数据的磁盘,可执行程序也放在磁盘上。 适配器/控制器: 通过二者设备与I/O总线连接,二者的区别控制器在设备或系统的主印制电路板的芯片组, 阅读全文
posted @ 2023-01-27 10:18 fourmii 阅读(126) 评论(0) 推荐(0) 编辑
摘要: CSAPP随笔:hello world到底是怎么运行的? 通过命令行执行 ./test 拆分: 0. shell是干什么的?:shell输出提示符,等待输入一个命令行并执行,若该字符串的首个单词不是shell命令,就假设为一个可执行文件的名称,进行加载并执行。 1. 键盘敲入"./test"过程:shell将从键盘敲入的字符串一个个的读入寄存器,再由寄存器 阅读全文
posted @ 2023-01-27 09:33 fourmii 阅读(125) 评论(0) 推荐(0) 编辑
摘要: #include <opencv2/opencv.hpp> using namespace std; void RGB2Y(unsigned char* Src, unsigned char* Dest, int Width, int Height, int Stride) { const int 阅读全文
posted @ 2022-12-28 15:24 fourmii 阅读(74) 评论(0) 推荐(0) 编辑