![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解计算机系统
文章平均质量分 76
醉等佳人归
这个作者很懒,什么都没留下…
展开
-
windows内核学习-段和页相关
代码段寄存器CS(Code Segment)存放当前正在运行的程序代码所在段的段基址,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移量则由IP提供。数据段寄存器DS(Data Segment)指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基址。堆栈段寄存器SS(Stack Segment)指出当前堆栈的底部地址,即存放堆栈段的段基址。附加段寄存器ES(Extra Segment)指出当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。原创 2023-03-03 19:45:09 · 563 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第八章异常控制流
文章目录1.异常2.进程1.异常异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常就是控制流中的突变,用来响应处理器状态中的某些变化在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用(异常),调用后,会发生以下3中情况中的一种:处理程序将控制返回给当前指令处理程序将控制返回给下一条指令处理程序终止被中断的程序...原创 2020-03-04 16:45:13 · 388 阅读 · 0 评论 -
深入理解计算机系统(csapp)家庭作业——第六章存储器层次结构
6.22磁盘容量 = 磁道数 * 一个磁道上的位数 = (1-x)*r*k2πr (k为比例因子)由此可知当x=0.5时磁盘容量最大6.23平均旋转延迟:T_arg_rotation = 1/2 * T_max_rotation = 1/2 * 60s/15000 RPM * 1000ms/s = 2ms平均传送时间:T_arg_tranfer = 60s/15...原创 2020-03-04 11:41:18 · 2647 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第六章存储器层次结构
文章目录1.存储技术(1)随机访问存储器(2)非易失性存储器(3)访问主存(4)磁盘存储① 磁盘构造② 磁盘容量③ 磁盘操作(5)连接I/O设备(6)固态硬盘2.局部性3.存储器层次结构4.高速缓存存储器(1)直接映射高速缓存(2)组相联高速缓存(3)全相联高速缓存(4)高速缓存参数的性能影响5.编写高速缓存友好的代码1.存储技术计算机程序一个称为局部性的基本属性。具有良好局部性的程序倾向于...原创 2020-03-03 19:18:38 · 556 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第五章优化程序性能
文章目录1.优化编译器的能力和局限性2.表示程序性能3.用于以下优化的原始函数4.优化1——消除循环的低效率5.优化2——减少过程调用6.优化3——消除不必要的内存引用7.两个界限8.循环展开9.提高并行性10.一些限制因素(1)寄存器溢出(2)分支预测和预测错误处罚10.理解内存性能1.优化编译器的能力和局限性两种指针可能指向同一个内存位置的情况称为内存别名引用,在只执行安全的优化中,编译...原创 2020-03-02 19:53:33 · 598 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第四章处理器体系结构
文章目录Y86-64指令集体系结构2.逻辑设计和硬件控制语言HCL3.Y86-64的顺序实现(1)将处理组织成阶段(2)一些指令的通用模式(3)SWQ的硬件结构4.流水线的通用原理Y86-64指令集体系结构定义一个指令集体系结构包括定义各种状态单元、指令集和它们的编码、一组编程规范和异常事件的处理程序员可见状态:程序中的每条指令都会读取或修改处理器状态的某个部分Y86-64指令m...原创 2020-03-02 16:55:09 · 1819 阅读 · 0 评论 -
深入理解计算机系统(csapp)家庭作业——第三章程序机器级表示
如图:long decode2(long x,long y,long z){ y -= z; x *= y; int tmp = y; tmp = tmp << 63; tmp = tmp >> 63; tmp = x ^ tmp; return tmp;}如图:A:x在%rid中,n在%esi中,result在%eax中,mask在%...原创 2020-03-01 23:26:02 · 468 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第三章程序机器级表示
文章目录1.历史观点2.程序编码(1)机器级代码(2)数据格式(3)访问信息3.算数和逻辑操作4.控制1.历史观点Intel处理器俗称X86,下面举例了一下Inter处理器的模型,以及它们的相关特性:8086(1978年,29K个晶体管):第一代单芯片、16位微处理器之一。地址只有20位长。80286(1982年,134K个晶体管):增加了更多的寻址模式。这种计算机是MS Window...原创 2020-03-01 15:11:08 · 665 阅读 · 1 评论 -
深入理解计算机系统(csapp)家庭作业——第二章信息的表示和处理
编写过程is_little_endian,当在小端法机器上编译和运行时返回1,在大端法机器上编译运行则返回0。int is_little_endian(){ int i = 0; return *(char*)&i; //整型指针转换为字节指针,每次指向一个字节}编写一个C表达式,它生成一个字,由x的最低有效字节和y中剩下的字节组成,对于运算数x=0x89ABCDEF...原创 2020-02-28 10:39:21 · 2527 阅读 · 3 评论 -
深入理解计算机系统(csapp)阅读笔记——第二章信息的表示和处理
文章目录1.信息存储2.整数表示3.整数运算(1)无符号加法(2)补码加法(3)无符号乘法(4)补码乘法(4)除法4.浮点数1.信息存储机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就成为虚拟地址空间。每台计算机都有一个字长,虚拟地址就是以这样的一个字来编码的。字长决定了虚拟地址空间的最大大小。long在3...原创 2020-02-26 12:31:04 · 702 阅读 · 0 评论 -
深入理解计算机系统(csapp)阅读笔记——第一章计算机系统漫游
文章目录1.信息就是位+上下文2.程序被其他程序翻译成不同的格式3.了解编译系统如何工作是大有益处的4.系统的硬件组成5.高速缓存至关重要6.存储设备形成层次结构7.操作系统管理硬件1.信息就是位+上下文系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。2.程序被其他...原创 2020-02-25 11:17:59 · 280 阅读 · 1 评论