深入理解计算机系统 2

深入理解计算机系统第二章家庭作业(2.91-2.96) /***********2.91*************/ /*Compute |f|.   If f is NaN, then return f.*/ float_bits float_absval(float_bits f) { unsigned exp = (f >> 23) & 0xFF; unsigned frac = f &0x7FFFFF; if(exp == 阅读详情

第一部分

程序结构和执行

我们对计算机系统的探索是从学习计算机本身开始的 它是由处理器和储存器子系统组成     

在核心部分 我们需要方法来表示基本数据类型 比如整数和实数运算的近似值   然后 我们考虑机器级指令如何操作这样的数据 以及编译器如何将C程序翻译成这样的指令  

接下来 研究几种实现处理器的方法 帮助我们更好的了解硬件资源是如何被用来执行指令    一旦理解了编译器和机器代码 我们就能通过编写最高性能的C程序 来分析如何最大化程序的性能  本部分以存储器子系统的设计作为结束

这是现代计算机系统最复杂的部分之一

本书的这一部分将领着你深入了解如何表示和执行应用程序  

你将学会一些技巧 他们将帮助你写出安全 可靠并充分利用计算机资源的程序

 

第二章 信息的处理和表示

我们研究三种最重要的数字表示

无符号unsigned 编码基于传统的二进制表示法 表示大于或等于零的数字   补码two's-complement 编码表示的是  有符号整数的最常见的方式 有符号整数就是可以为正或者为负的数   浮点数floating - point  编码是表示实数的科学计数法的 以二为基数的版本   

计算机的表示法是用有限数量的位来对一个数字进行编码 因此 当结果太大以致不能表示时 某些运算就会溢出overflow   另一方面 整数的计算机运算满足人们所熟知的真正整数运算的定律  

浮点数运算有完全不同的数学属性   虽然溢出会产生特殊的值+∞ 但是一组正数的乘积总是正的   由于精度有限 浮点运算是不可结合的   整数运算和浮点数运算会有不同的数学属性是因为他们处理数字表示有限性的方式不同---整数的表示虽然只编码一个相对较小的数值范围 但是精确  而浮点数虽然可以编码一个较大的数值范围 但是这种表示只是近似的

我们对这部分内容的处理是基于”

深入理解计算机系统(第三版)第2章 家庭作业 2.55 2.56 2.57 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef unsigned char * byte_pointer; void show_bytes(byte_poi 阅读详情

相关推荐

csapp lab2 bomb 二进制炸弹《深入理解计算机系统》

bomb炸弹实验 首先对bomb这个文件进行反汇编,得到一个1000+的汇编程序,看的头大。 phase_1: 0000000000400ef0 : 400ef0: 48 83 ec 08 sub $0x8,%rsp 400ef4: be 18 1b 40 00 mov $0x401b18,%esi 400ef9: e

fang92的专栏 7839

深入理解计算机系统(2)--计算机系统漫游

这一节的内容有些枯燥,很多内容都是文字描述。但是对于后续的学习是有帮助的,一些概念提前有个简单的了解多少会有些帮助。 这一节的学习内容都是一些概念和知识的简要介绍,没有过多地深入,旨在为后续学习做个铺垫。 高速缓存 上文最后部分提到,计算机内部运行程序时,用到了很多复制的操作,此处为链接。从程序员的角度来说,这些复制操作就是开销,占用了程序运行的一部分时间。因此,系统设计者...

weixin_30332241的博客 155

深入理解计算机系统homework2 2.85 2.93 2.95

2.85 最小的正非规格化数 值:2^(-63) * (2^(2-2^15)) = 2^(-16445) 十进制值: 最小的正规格化数 值:1*2^(2-2^15) = 2^(-16382) 十进制值: 最大的规格化数: 值:(2-2^(-63))* 2^(2^14) = (2-2^(-63))*2^16384 2.93 【分析】 如果exp上全是1则

KQZXCMH的博客 4710

深入理解计算机系统原书第2版

深入理解计算机系统(原书第2版.pdf

sessads的博客 490

《深入理解计算机系统》Lab2:Bomb Lab

本实验的执行文件为bomb(无后缀),先在命令行找到bomb文件的位置,再用gdb调试工具运行该文件,写法为gdb bomb。本实验的执行文件为bomb(无后缀),先在命令行找到bomb文件的位置,再用gdb调试工具运行该文件,写法为gdb bomb。2.明白具体的操作符的含义。六个寄存器(%rax,%rbx,%rcx,%rdx,%rsi,%rdi)称为通用寄存器,有其『特定』的用途。六个寄存器(%rax,%rbx,%rcx,%rdx,%rsi,%rdi)称为通用寄存器,有其『特定』的用途。

Junds0的博客 1296

Python在Windows环境下驱动乐视三合一摄像头的深度图像处理实践

本文详细介绍了在Windows系统下,使用Python驱动乐视三合一摄像头进行深度图像处理的完整实践流程。从环境配置、驱动安装、OpenNI与OpenCV库的部署,到深度与彩色数据流的读取、可视化、三维点云转换以及背景移除等应用开发,为开发者提供了从零开始掌握深度摄像头编程的实战指南。

gitlab7runner的博客 233

深入理解计算机系统2.0直播,为理想offer打好基础

分享多年基础技术深度理解,基础概念深度解析,经典书籍推荐和读书分享,经典源码阅读分享等,不定期直播分享和答疑解惑;:分享各种不同公司宝贵的职场普升经验,技术方向选择, 大厂普升经验,技术专家成长经验,让你少走几年的弯路;话不多说,理解计算机系统基础有助于我们快速学习其他新技术的能力(包括AI,云计算,复杂系统等等),:分享热门技术发展,国内外大厂技术内幕,建立国际化视野,转型, 副业等;,备赛很长时间,刚好最近工作忙起来,就一直拖到现在,实在不好意思,:技术趋势,技术热点,分享学习心得,技术学习讨论,

极客重生 394

Java开发的企业排班系统

Java开发的企业排班系统,用了springboot框架,人脸识别是采用百度接口的方式实现

自学网站s.jf3q.com,菜鸟的成长之路 6013

“免费读经典”:《深入理解计算机系统(原书第2版)》

免费赠送一本《深入理解计算机系统(原书第2版)》

华章IT官方博客 1688

比较几款国际主流的电子元器件及物料清单管理软件 – 工具汇总

Arenasolution 老牌的基于云计算物料清单管理软件,bom.com就是他们家的,10天免费试用,功能被分成4个不同的产品, 和传统ERP功能上有重叠,偏向于物流生产规划,一定程度可以取代ERP的生产规划模块,平均价格70美元/月/席位。网页客户端,不支持离线   SiliconExpert 曾经的老牌物料清单管理软件,后被Arrow 收购,14天免费试用,功能被分成4个不同的产品

u012062784的专栏 7237

保姆级避坑指南:用IWR6843ISK毫米波雷达实现区域检测,从软件安装到可视化调试全流程

本文提供IWR6843ISK毫米波雷达区域检测的全流程实战指南,涵盖环境搭建、固件烧录、可视化工具配置及性能优化等关键步骤。重点解决软件版本兼容性、烧录失败等常见问题,帮助开发者高效实现精准区域检测,避免开发过程中的常见陷阱。

weixin_42653691的博客 376

深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_2)

本文接深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_1)继续写,记录对bomb程序炸弹实验phase_2函数部分的探索过程。

Void9711的博客 3895

AI与Agent赋能下的软件测试变革:面向未来测试工程师的工作方法论

AI Agent 软件测试 测试 software testing test

测试技师的自我修养 1239

【《深入理解计算机系统》读书笔记(2)】 第2章 信息的表示与处理

【时间】2021.11.11 【题目】《深入理解计算机系统》读书笔记(2) 第2章 信息的表示与处理 目录 一、简介 二、一些重点图 1、C语言数据类型在32bit/64bit系统中的位数 2、多字节对象的小端法/大端法表示 3、二进制小数表示 4、IEEE浮点数表示 5、IEEE浮点数数值的分类 6、4种舍入方式 三、思维导图 一、简介 本章主要主要介绍了信息的表示与运算,如: 多字节对象的表示(地址+字节顺序) 整型(无符号/补码有符号...

小C的博客 1457

19、CATIA V5:参数化建模与零件目录创建全解析

本文详细解析了在CATIA V5中通过设计表实现参数化建模及零件目录创建的完整流程。以支撑块和钩形夹为例,介绍了参数识别、设计表创建与关联、配置管理以及零件目录的构建方法。同时,提供了实际操作建议和注意事项,帮助设计师高效创建和管理零件族,提升设计效率和质量。

raspberrypi5的博客 449

Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑

1、先上一个集成到QtCreater中的效果图: 2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator 3、集成插件到QtCreater中的方法: (1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位 (2)插件下载下来后工程预览: 我选择msvc版本的SDK,打开找到匹配的SDK:...

小米的修行之路 2793

《深入理解计算机系统》学习笔记(二)2.2~2.3

《深入理解计算机系统》学习笔记(二) 2.2无符号数的编码   假设对于一个w位的无符号整数,用二进制比特位可以表示为[xw-1 , xw-2 , … , x0]。那么我们可以用一个函数表示如下:   每个位Xi都取值为0或1,后一种取值意味着数值2*i应为数字值的一部分。我们看下面的例子。    那么很显然,对于一个无符号编码的数,由 w 位的二进制序列构成,那么它的最小值,即所有位都为 0 ,用位向量表示即:【000…000】。    UMinw = 0 最大值即所有位都为 1,用位向量表示即:【

weixin_45067072的博客 580

基于YOLOv8改进的目标检测算法研究及毕设实现全流程指南

在PyTorch中定义改进后的YOLOv8模型。首先,导入相关的库和模块,然后定义骨干网络、颈部和头部的结构。# 这里定义骨干网络的结构,例如使用改进的CSP结构# 卷积层、批归一化层、激活函数等# 更多的卷积层、批归一化层、激活函数等# 其他层...# 其他层的输出...然后,定义颈部和头部的结构,类似地,将注意力机制和特征增强方法集成到模型中。本毕设以YOLOv8为基础,通过集成注意力机制、应用特征增强技术等方法,改进了目标检测算法。

m0_64661770的博客 326

《深入理解计算机系统》第2章 习题解析

结果:(每4位一组) 结果: 结果:从右往左每 4 位一组(不足 4 位左补零): 结果:(注意最高位补零: → )2n2^n2n 的二进制是"1后面跟n个0",转成十六进制时:2nmod4​​n÷4 个零00…0​​ nnn 2n2^n2n(十进制) 2n2^n2n(十六进制) 规律说明 5 32 5=4×1+15=4\times1+15=4×1+1,最高位 21=22^1=221=2,后 1 个零 23 8,388,608 23=4×5+323=4\times5+323=4×

虾球 403

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

《深入理解计算机系统原书第3版 高清版 part2》资源介绍

《深入理解计算机系统原书第3版 高清版 part2》资源介绍 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到本仓库,这里为您提供《深入理解计算机系统原书第3版 高清版》的part2资源下载。本书是一部经典计算机科学著作,详细阐述了计算机系统的基本原理和关键技术。 本资源文件为高清版part2,内容丰富,图文并茂,助您深入了解计算机系统的运作机制。 本书特点: 深入剖析...

gitblog_06716的博客 436

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【9.21更新】跟踪报道TopLanguage关于《深入理解计算机系统(第2版)》一书翻译问题 的讨论

在TopLanguage里,我把《深入理解计算机系统(第2版)》译者在翻译过程中遇到的一些问题发布出来,请教各位高手,反响很强烈。与此同时,译者也已经加入到这次讨论当中。特分享在这里。当然,有兴趣的话,你也可以到这里查看:http://groups.google.ht/group/pongba/browse_thread/thread/acd33c3b1be37126

华章IT官方博客 2815

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深入理解计算机系统第四版_深入理解计算机系统第三版2.4节中文版的一处翻译问题及英文版可能的一处错误...

阅读深入理解计算机系统中文版第三版2.4节浮点数的表示时,看到图2-36 非浮点数的示例 下面的一句很重要的文字解释可能有错误或者容易引起误解,可能翻译者已经在别的地方校正了。中文版原文:值1.0的位表示的阶码字段除了最高有效位等于1以外,其它位都等于0。(可能翻译错了,或者易造成误解、惑)英文原文:The value 1.0 has a bit representation with all b...

weixin_39811386的博客 185

《深入理解计算机系统》(CSAPP)习题2.52

习题2.52 格式A:010 1001 = 25/32 写成二进制小数1.1001∗2−11.1001*2^{-1}1.1001∗2−1,丢弃小数点前的1,保留三位有效数字,向偶数舍入,得到0.1000.1000.100。阶码值为-1,exp = −1+7=6exp\ =\ -1+7=6exp = −1+7=6。故格式B下的25/32的位级为0110 100 格式A:110 1111 = 31/2 写成二进制小数1.1111∗231.1111*2^{3}1.

caoke2969的博客 1311

跟踪报道TopLanguage关于《深入理解计算机系统(第2版)》一书翻译问题 的讨论...

【引子】 在TopLanguage里,我把《深入理解计算机系统(第2版)》译者在翻译过程中遇到的一些问题发布出来,请教各位高手,反响很强烈。与此同时,译者也已经加入到这次讨论当中。特分享在这里。当然,有兴趣的话,你也可以到这里查看:http://groups.google.ht/group/pongba/browse_thread/thread/acd33c3b1be37126   T...

华章IT官方博客 623

深入理解计算机系统(第2章总结)

深入理解计算机系统(第2章总结) 2.1 信息的存储 ​ 2.1.1 进制转换 学会二进制、十进制、十六进制之间的转换; 2.1.2 字数据大小 了解在32位、64位机器上有符号和无符号的数据类型的典型大小; 2.1.3 数据的寻址和字节顺序 1.数据的寻址和字节顺序上要了解大端法和小端法,主要区别在于最高有效位在先还是在后。 如存储数据OX1234567; 2.大多数Intel兼容机都只用小端模式,IBM和Oracle则大多数都采用大端模式。Android和IOS都只运行于小端模式。可以根

m0_57050414的博客 453

深入理解计算机系统lab2

一、实验目的 通过objdump命令对bomb文件进行反汇编从而得到汇编代码 进一步将C语言代码与汇编代码进行联系理解,从而更深刻地理解汇编代码和其中的各种操作 通过GDB对汇编代码进行调试和分析,包括逐步运行汇编代码、断点设置、查看寄存器和内存内容等操作,从而进一步的熟悉操作。 二、实验内容与实验步骤 先使用objdump -d bomb > bomb_assembly.S将bomb文件进行反汇编,并将反汇编代码保存到bomb_assembly.S文件中,再进行调试。 1.phase1 0000

m0_60378969的博客 2113
上一篇: 今天是7.17日 保佑我找到实习
下一篇: 深入理解计算机系统 1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值