深入理解计算机系统第二章

bibi-feiniaoyuan bibi-feiniaoyuan     2022-12-10     782

关键词:

续更...

学习视频:https://www.bilibili.com/video/BV1iW411d7hd?p=2

学习书本:《深入理解计算机系统》第3版。

信息存储:8位=1字节;内存所有可能地址集合称为“虚拟地址空间”;每个程序对象可以视为一个“字节快”,程序本身是一个字节序列。

进制转换:十六进制,用A~F表示,A=10、C=12、F=15。十六进制以“0X”开头。每四位二进制数对应一位十六进制数(2的四次方=16,因此二进制和十六进制很好转换)。其他进制转十进制,通过加法、乘法求最终值。十进制转十六进制,通过不停的求商,求余,直到商最后为0。

字长:常见的32位和64位字长。字长w位,虚拟地址为0~2w-1。大多数64位机器可以运行32位机器编译的程序。到底叫“32位程序”还是“64位程序”取决于编译。C语言某些数据类型的确切字节数依赖于程序如何被编译。

对象地址:多字节对象被存储为连续的字节序列,对象地址使用字节序列中的最小地址。(每个字节都有自己的地址)。

字节顺序:0x01234567,01如果放地址前面,后面按照顺序放后面的地址,则称“大端法”,反正67放最前地址,其他按顺序倒推,则称“小端法”。机器的不同,字节顺序可能不同。                                                                                                                                                                                           `

 

深入理解计算机系统-第二章

疑惑:***."十进制数字x的ASCII码正好是0x3x"(p31)```.照上面这么说,十进制1的ASCII码该是0131,很明显错误的,找到一个ASCII码来看下"1"的ASCII码是"49",再仔细参考下书中上下文,发现上面说了十进制1的ASCII码是31,那原句这么说"十进... 查看详情

《深入理解计算机系统(第三版)》第二章信息的表示和处理

《深入理解计算机系统(第三版)》第二章信息的表示和处理??计算机本身是由处理器和存储器子通过系统组成。在核心部分,我们需要方法来表示基本数据类型,比如整数和实数运算的近似值。然后,我们考虑机器级指令如何... 查看详情

深入理解计算机系统第二章信息的表示和处理

 欣哥划重点:@所有人,第二章比较难,我建议至少掌握下面几个知识点:1.字节顺序:大端和小端2.运行图2-24,图2-25程序show-bytes.c观察结果,看看有什么问题3.理解布尔运算,位运算4.理解无符号数和有符号数,给一个数,... 查看详情

深入理解计算机系统第二章要点

1.每台机器都有一个字长,指明了整数和指针的标称大小(normalsize),长整数(longint)和指针的大小都是字长(32位机器是32位,64位机器是64位),字长代表了机器的寻址时地址大小,进而限定了寻址空间的大小,字长w的寻址... 查看详情

《深入理解计算机系统(第三版)》第二章

...为地址,所有可能地址的集合称为虚拟地址空间。2.每台计算机都有一个字长,指明指针数据的标称大小。32位程序和64位程序区别在于该程序如何编译,而不是其运行的机器类型。C语言各种数据类型分配的字节数如下:int32_t和i... 查看详情

深入理解计算机系统(第二版)----之一

第一部分:程序结构和执行  第1章:计算机系统漫游  第2章:信息的表示和处理  第3章:程序的机器级表示  第4章:处理器体系结构  第5章:优化程序性能  第6章:存储器层次结构第二部分:在系统上运行程序... 查看详情

《深入理解计算机系统》第二章学习笔记

...为负浮点数是表示实数的科学计数法的以2为基数的版本计算机的表示法是用有限的数量的位表示的数字编码,所以,结果太大的时候,某些运算就会溢出。浮点运算溢出会产生特殊的值+∞,但是一组正数的乘积总是正的,这点... 查看详情

深入理解计算机系统(中文版第二版)

... · · · · · ·从程序员的视角,看计算机系统!本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是... 查看详情

深入理解计算机系统第二章信息的表示和处理part2

...码是一致的进一步,由于有符号数是以补码的形式存储在计算机中的,而无符号数三种编码都是一致的,所以我们可以说,整型数在计算机中是以补码的形式存在的。参考文章:https://www.jianshu.com/p/ffc97c4d2306   查看详情

深入理解计算机系统(第二版)----之三:程序的机器级表示

计算机执行机器代码,用字节编码低级的操作,包括处理数据、管理存储器、读写存储设备上的数据,利用网络通信,编译器基于变成语言的原则,目标机器的指令集合操作系统遵循的原则,经过一系列阶段产生机器代码,gccc... 查看详情

《深入理解计算机系统》提问

第一章计算机花费大量时间在内存,I/O设备和CPU寄存器之间复制数据,有没有什么方法可以缩短时间?第二章学习了有符号数和无符号数之间的转换,整数的运算,使用补码编码,浮点运算中有时候不注意就会错误,为什么不能... 查看详情

深入理解计算机系统第二章

...tps://www.bilibili.com/video/BV1iW411d7hd?p=2学习书本:《深入理解计算机系统》第3版。信息存储:8位=1字节;内存所有可能地址集合称为“虚拟地址空间”;每个程序对象可以视为一个“字节快”,程序本身是一个字节序列... 查看详情

深入理解计算机系统(第二版)----之二:信息的表示和处理

...无洞,导线上的高低电压,对二值信号进行存储和执行的计算机的电子电路非常简单和可靠。制造商能够在一个单独的硅片上集成数百万甚至数十亿个这样的电路。单独的位没有意义,用一个二进制数字系统,能够用位组来编码... 查看详情

《深入理解计算机系统》(第三版)读书疑问

问题:第一章helloworld是怎样工作的?预处理器、编译器、汇编器、链接器是怎样把.c的源程序分别修改为.i、.s.、.o的程序的?第二章反码和补码在作用上有什么区别?第三章直到型循环和当行循环有什么异同?第四章Y86指令集... 查看详情

深入理解计算机系统02isa与内存模型

 第二篇:认识ISA(InstructionSetArchitecture)重要概念:【ISA】【IA-32】:Intel把32位x86架构的名称x86-32改称为IA-32,一种身边很常见的ISA【内存模型】【过程调用】 •ISA(InstructionSetArchitecture)位于软件和硬件之间•硬件... 查看详情

深入理解计算机系统-作业2.10

1voidinplace_swap(int*x,int*y){2*y=*x^*y;/*step1*/3*x=*x^*y;/*step2*/4*y=*x^*y;/*step3*/5}以上代码的作用是交换x,y指针指向的存储位置的值,假设x,y指向的位置存储的值分别是a和b作为开始,填写下表:步骤*x*y初始ab第一步aa^b第二步a^a^ba^b第三步a^a^... 查看详情

深入理解计算机系统第三章大略和第五章大略

这2章总结的很少,主要是觉得没那么重要。1.2个操作数的指令,第二个操作数通常是目的操作数:movbab,moveatob,而addab,b+=a,指令分为指令类,如mov类:movb,movw,movl,b指一个字节,w表示2个字节,l表示4个字节         ... 查看详情

深入理解计算机系统第十二章并发编程

...concurrent)这种常见的现象称为并发(concurrency),出现在计算机系统的许多不同层面上。 并发不仅仅局限于内核,它也可以在应用程序中扮演重要角色。 应用级并发在以下情况中都是很有用的:1、访问慢速I/O设备当一... 查看详情