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

1.二值信号

现代计算机存储和处理的信息以二值信号表示

这些微不足道的二进制数字,又称为位(bit),形成了数字革命的基础

 

2.信息存储

大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单元,而不是访问内存中单独的位(bit)。

机器级程序将内存视为一个非常大的字节数组,称为虚拟内存,内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称为虚拟地址空间,这个虚拟地址空间只是一个展现给机器级程序的概念性映像。

 

3.指针

指针是C语言的一个重要特性。它提供了引用数据结构(包括数组)的元素的机制。

与变量类似,指针也有两个方面:值和类型。

它的值表示某个对象的位置,而它的类型表示那个位置上所存储对象的类型(比如整数或浮点数)。

 

4.字数据大小

每台计算机都有一个字长(word size),指明指针数据的标称大小。

因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小,也就是说,对于一个字长为w的机器而言,虚拟地址大小的范围为0~2**w-1,程序最多可访问2**w个字节。

32位字长限制虚拟地址空间为4千兆字节(4GB),约4*10**9字节,64位字长可使用的虚拟地址空间为16EB,约1.84*10**19字节。

大多数64位机器也可以运行为32位机器编译的程序,这是一种向后兼容。

5.寻址和字节顺序

对于跨域多字节的程序对象,我们必须建立两个规则:这个对象的地址是什么,以及在内存中如何排列这些字节。

在几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中最小的地址。

排列表示一个对象的字节有两个通用规则:大端法(最高有效字节在最前面)、小端法(最低有效字节在最前面),如下图,

 

6.C语言中的位级运算

C语言的一个很有用的特性就是它支持按位布尔运算。

布尔运算包括:与(AND  &)、或(OR  |)、非(NOT  ~)

返回按位运算的结果,运算的值不同,结果也不同

 

7.C语言中的逻辑运算

逻辑运算包括:与(AND  &&)、或(OR  ||)、非(NOT  !)

运算时与布尔运算相似,但是布尔运算是以一个位来运算,而逻辑运算以每个运算的对象为一个单一的值(True/False)再进行运算,并返回True/False

 

8.C语言中的位移运算

比如位x,表示为:[x(n-1),x(n-2),...x(1),x(0)]

位左移:x<<k

[x(n2-k-1),x(n2-k-2),...0,0,0]

位右移:x>>k

[0,0,0,...x(n2-k-2),x(n2-k-1)]

 

第二章小结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《深入理解计算机系统(原书第3)》是由Randal E.Bryant和David O'Hallaron编写的一本计算机系统基础知识的经典教材。本书共分为十二章,内容包括计算机系统组成、汇编语言程序设计、内存层次结构、虚拟存储器、链接器和加载器、异常控制流、处理器体系结构、优化程序性能、并行程序设计、网络编程、安全性和隐私保护等方面。 本书把计算机系统作为软件、硬件和操作系统三者之间相互交互的系统,详细介绍了计算机硬件、操作系统和应用程序之间的交互过程和内部结构,并通过实际案例和代码演示的方式生动形象地展示了计算机系统的运作原理和主要功能。在阅读本书的过程中,读者可以深入了解计算机系统的底层运作过程和性能优化技术,同时也可以了解操作系统、底层编程和网络编程等领域的实践技巧和实用工具。 《深入理解计算机系统(原书第3)》在计算机科学、数据科学、信息安全等领域的教学、研究和实践中被广泛应用。无论是学习计算机系统基础知识的初学者,还是从事计算机系统开发和优化的专业人士,都可以通过阅读本书深入理解计算机系统的工作原理和优化方法。 ### 回答2: 《深入理解计算机系统》是一本经典的计算机科学教材,作者为布赖恩·卡尼汀汉姆、黄永琪、里查德·斯蒂文斯。本书内容以计算机系统的原理和运作机制为核心,旨在帮助读者深入理解计算机系统的各个方面,包括指令集、CPU、内存、I/O、文件系统、虚拟内存、链接、优化等。 本书首先介绍了计算机硬件和软件的基本组成,包括数字逻辑、CPU结构和指令集、存储层次结构、输入输出设备、操作系统等。接着,本书深入剖析了一些计算机系统设计的关键问题,如内存层次结构、高速缓存、虚拟内存、动态内存分配等。此外,本书还介绍了链接和装载、优化程序的方法和技巧、多处理器系统等高级话题。 《深入理解计算机系统》的主要特点是结合了理论和实践,用通俗易懂的语言讲解了计算机系统的复杂原理,同时通过大量的实例、代码、命令行操作等方式,让读者具体理解计算机系统的各个层次和组成部分。书中还有大量的习题,可以帮助读者检验和提高对知识点的理解。此外,作者还为本书提供了相关的课件和代码,方便读者更好的学习和运用。 总之,《深入理解计算机系统》是一本值得计算机科学学习者和工程师深入阅读和反复研读的书籍,可以帮助读者全面而深入的了解计算机系统的各个方面。 ### 回答3: 《深入理解计算机系统(原书第3) pdf csdn》是一本计算机科学方面的经典教材,该书从底层到高层层次逐步介绍了计算机系统的各个组成部分以及它们之间的相互作用与影响,旨在帮助读者更深入、全面地理解计算机系统的构成和工作原理。 该书主要分为三个部分,分别是程序结构和执行、操作系统和网络编程,每个部分又包括若干个章节,介绍了计算机科学中与计算机系统相关的知识点和技术。 其中,程序结构和执行部分主要介绍了计算机处理器的运作原理、程序的编译、链接和优化、内存的管理以及输入输出的操作等问题;操作系统部分介绍了操作系统的基本功能和组成、进程管理、文件系统的设计、虚拟内存的实现等内容;网络编程部分则介绍了网络协议的工作原理、套接字编程、web服务的实现等技术。 通过学习该教材,读者可以深入理解计算机系统的底层架构和运行原理,掌握操作系统和网络编程的基本知识和技能,从而更好地开发、调试和优化计算机程序和系统。同时,该教材也提供了丰富的练习题和实验项目,供读者进行实践和巩固知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值