E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
深入理解计算机系统
[学习笔记]《CSAPP》
深入理解计算机系统
- Chapter 4 处理器体系结构&Chapter 5 优化程序性能
总结一些第四章和第五章的一些关键信息Chapter4处理器体系结构将处理组织成阶段Chapter5优化程序性能Chapter4处理器体系结构在硬件中,寄存器直接将它的输入和输出线连接到电路的其他盆。在机器级变成中,寄存器代表的是CPU中为数不多的可寻址的字,这里的地址是寄存器的ID。这些字通常都存在寄存器文件中,虽然我们会看到硬件有时可以直接将一个字从一个指令传到另一个指令,以避免先写寄存器文件再
Artintel
·
2024-09-12 00:20
学习
学习
笔记
c
csapp
[学习笔记]《CSAPP》
深入理解计算机系统
- Chapter 6 存储器层次结构
总结一些第六章的一些关键信息Chapter6存储器层次结构DMA局部性抖动Chapter6存储器层次结构随机访问存储器(Random-AccessMemory,RAM)分为两类:静态的和动态的。静态(SRAM)比动态更快,更贵动态(DRAM)数据流通过称为总线(bus)的共享电子电路在处理器和DRAM主存来来回回。每次CPU和主存之间的数据传送都是通过一系列的步骤来完成的,这些步骤称为总线事务(b
Artintel
·
2024-09-11 23:45
学习
学习
笔记
c
csapp
关于《
深入理解计算机系统
》一书的理解
先说自己为什么要读这本书?主要是因为长久以来,虽然我一直在做着程序员的工作,但我对于计算机领域这快却并没有足够的了解,至少对计算机领域没有一个整体的认识。听说这是一本提纲挈领的书籍,通过这本书认识到计算机的主干知识有哪些,然后是在主干上有哪些枝干,对于枝干上又有哪些领域,能了解到这一步就差不多了。从此后,我可以依据这个知识树,在对应的枝丫上细化我所需要的技术知识。相比起过去两年的支鳞片爪的胡乱摸索
Math_Programmer
·
2024-09-08 04:03
【
深入理解计算机系统
】 三:布尔逻辑与组合电路
4.1.BooleanExpressionsToday’sdigitalcircuitsarebuiltsothattheycanperformveryfastoperationsoverdatathatisencodedinbinary.TheunderlyingoperationsarepartofwhatisknownasBooleanAlgebra.Thisalgebraconsistso
Geeksongs
·
2024-09-07 08:47
javascript
vue
jquery
java
spring
boot
我的程序员读书路
CLRviaC#(第三版)你必须知道的.NET(第二版)编码:隐匿在计算机软硬件背后的语言代码整洁之道重构:改善既有代码的设计数据结构与算法:C#语言描述程序员修炼之道:从小工到专家编程珠玑(第2版)
深入理解计算机系统
weixin_30416497
·
2024-08-26 12:02
c#
javascript
大数据
ViewUI
Leo赠书活动-16期 名校毕业生教材
《
深入理解计算机系统
》2.《算法导论》3.《计算机程序的构造和解释》4.《数据库系
LeoToJavaer
·
2024-02-20 23:25
CSDN送书活动
送书福利
Linux 系统编程从入门到进阶 学习指南
Linux系统编程是连接高级语言和硬件的桥梁,它对
深入理解计算机系统
至关重要。无论你是打算构建高性能服务器还是开发嵌入式设备,掌握Linux系统编程是C和C++开发者的基本技能。
·
2024-02-20 17:53
后端
世界顶级名校计算机专业,都在用哪些书当教材?(文末送书)
目录01《
深入理解计算机系统
》02《算法导论》03《计算机程序的构造和解释》04《数据库系统概念》05《计算机组成与设计:硬件/软件接口》06《离散数学及其应用》07《组合数学》08《斯坦福算法博弈论二十讲
小尘要自信
·
2024-02-20 01:36
java
开发语言
数据库
算法
赠书
计算机组成
有哪些你看了以后大呼过瘾的编程书?
深入理解计算机系统
作为一个看了两遍以上的人来回答下这个问题。先看下这本书我们能学到啥?然后聊聊我看这本书的历程,最后说说我推荐的阅读方式。
小鱼资料站
·
2024-02-19 14:17
面试
面试
深入理解计算机系统
:第二章 信息的表示和处理 part1
第一部分我们对计算机系统的探索是从学习计算机本身开始的,它由处理器和存储器子系统组成。在核心部分,我们需要方法来表示基本数据类型,比如整数和实数运算的近似值。然后,我们考虑机器级指令如何操作这样的数据,以及编译器又如何将c程序翻译成这样的指令。接下来,研究几种实现处理器的方法,帮助我们更好地了解硬件资源如何被用来执行指令。一旦理解了编译器和机器级代码,我们就能了解如何通过编写C程序以及编译它们来最
土元肥肥
·
2024-02-11 14:40
深入理解计算机系统
bomb实验
深入理解计算机系统
Bomb实验前言准备阶段上传bomb.c文件生成汇编代码进入gdb调试模式获取主要函数的汇编代码实验阶段Phase1实验探究输入字符串首地址的保存继续phase1的研究通关密钥Phase2
ECNU__YZ
·
2024-02-10 02:12
计算机系统
2019年七月复盘+八月目标
读书本来是计划结束《曼昆经济学》,看完《聪明的投资者》,加缪《西西弗神话》,《
深入理解计算机系统
》,但事实证明,我一本都没看完,有点惭愧。这是因为我给自己规划的太多,所以八月就不看那么多了。
抟九
·
2024-02-07 21:39
进程、线程的概念、区别和联系;并发、并行概念、区别和联系
以下概念摘自《疯狂java讲义》和《
深入理解计算机系统
》:程序和进程(Process):几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是指一个程序。
程序员小伙伴
·
2024-02-03 14:43
Amdahl定律理解
摘自
深入理解计算机系统
第三版其中,a为并行计算部分所占比例,k为并行处理的个数。
弱花
·
2024-02-03 01:48
《
深入理解计算机系统
》实验三 —— Buf Lab
这是CSAPP的第三个实验,主要让我们熟悉GDB的使用,理解程序栈帧的结构和缓冲区溢出的原理。实验目的 本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序“bufbomb”实施一系列缓冲区溢出攻击(bufferoverflowattacks),也就是设法通过造成缓冲区溢出来改变该可执行程序的运行内存映像,继而执行一些原来程序中没有的行为,例如将给定的
3561cc5dc1b0
·
2024-01-30 22:18
CSAPP fall2015
深入理解计算机系统
lab1 datalab详解
DataLabdatalab数据实验这个数据实验请在linux机器上面运行,实测macm1本跑不起来。windows没试过。centos上需要安装好gcc运行环境。如果跑不起来记得安装下面这个东西:yum-yinstallglibc-devel.i686运行makebtest的时候可能会有warning提示,不用管,这个时候其实已经创建完btest了,可以直接运行btest。bitXor第一个函数
Thepatterraining
·
2024-01-24 20:14
深入理解计算机系统
CSAPP
c
bit
data
lab
float
CSAPP fall2015
深入理解计算机系统
Cache lab详解
CacheLabcachelab缓存实验代码下载从CSAPP上面下载对应的lab代码http://csapp.cs.cmu.edu/3e/labs.html环境准备需要安装valgrind。可以参考文章Valgrindcentos。安装好以后执行valgrind--version可以看到版本号。Cachesimulatorcachesimulatornotacache。我们不是实现一个真正的缓存,
Thepatterraining
·
2024-01-24 14:24
深入理解计算机系统
csapp
c
cache
【
深入理解计算机系统
】程序是如何运行的
程序是如何运行的现代计算机存储和处理的信息以二值信号表示,程序对于计算机而言就是一串二进制数据流,以流水线的方式进入CPU进行运算。而数据主要在CPU与内存之间进行传递。本文将从程序源码的结构与表现形式开始,源代码编译成可执行文件,再到执行文件的加载,最终到执行文件的运行整个过程进行梳理。###1程序的结构与表现形式大多数计算使用8位的块,即字节(byte),作为最小的可寻址的内存单元。程序对象,
cy413026
·
2024-01-19 13:42
CPU及处理器
汇编与执行
7
深入理解计算机系统
0漫游跟踪hello程序的生命周期:源程序;运行在系统上;输出简单消息;终止。#includeintmain(){printf("hello,world!\n");}1)信息:位+上下文计算机系统的所有信息:包括磁盘文件、存储器的程序、存储器的用户数据,以及网络上的传输数据,都是由一串比特(0、1组成的位,8个一组称为字节)表示的,读取这些数据的上下文是区别它们的唯一方法。作为程序员,必须了解数字
brightsunp
·
2024-01-17 12:19
【
深入理解计算机系统
】CSAPP-实验二:BombLab 2020最新详解
前言本章以“拆解炸弹”为背景,通过gdb调试器对程序进行分析,是一次汇编以及反编译的有趣实践。本机使用win10+wsl2.0+ubuntu18.04完成实验。点击查看我的全部代码reference【施工完成】CSAPPbomblab【实战】手摸手教你BombLab答案BorderrelationswithCanadahaveneverbeenbetter.12481632020700ionefg
热爱学习的贾克斯
·
2024-01-14 14:55
笔记
反汇编
操作系统
深入理解计算机系统
(2):信息的表示和处理
信息存储大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存(virtualmemory)。内存的每个字节都由一个唯一的数字来标识,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间(virtualaddressspace)。顾名思义,这个虚拟地址空间只是一个展现给机器级程序的
飞大圣
·
2024-01-14 01:43
计算机组成原理
系统架构
c++
书单
MIT6.00.1x(计算机科学和Python编程导论)2019-1-2开始预计一个月2.HarvardCS50x(计算机科学)3.SICP(计算机程序的构造和解释)4.Java编程思想5.CSAPP(
深入理解计算机系统
suddennessMan
·
2024-01-11 18:03
【计算机组成与设计 硬件/软件接口-2】MIPS指令集架构
指令:计算机的语言引言所谓指令集,指的就是计算机的全部指令,这章节将以MIPS指令集作为学习对象,如果是x86指令集,还请参考《
深入理解计算机系统
》。
AndyZzz~
·
2024-01-11 08:56
计算机组成原理
时钟周期和时钟频率
引自《
深入理解计算机系统
》处理器活动的顺序是由时钟控制的,时钟提供了某个频率的规律信号,通常用千兆赫兹(GHz),即十亿周期每秒来表示。
6ca1ee26e8c2
·
2024-01-09 01:13
操作系统第一课:CPU基础知识
相关书籍推荐读书的原则:不求甚解,观其大略《编码:隐匿在计算机软硬件背后的语言》《
深入理解计算机系统
》数据结构与算法《java数据结构与算法》《算法》《算法导论》《计算机程序设计艺术》操作系统:Linux
学而知不足~
·
2024-01-08 16:58
操作系统
操作系统
深入理解计算机系统
(1):开始
计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。虽然系统的具体实现方式随着时间不断变化,但是系统内在的概念却没有改变。所有计算机系统都有相似的硬件和软件组件,它们又执行着相似的功能。计算机系统信息就是位+上下文//hello.c#includeintmain({printf("hello,world\n");return0;}hello程序的生命周期是从一个源程序(或者说源文件)开
飞大圣
·
2024-01-07 07:45
计算机系统
系统架构
架构
OSTEP《操作系统导论》万字 精华学习笔记-第一部分:虚拟化
(重点部分加粗)前段时间学习过《
深入理解计算机系统
》(CSAPP)和《计算机组成与设计:硬件软件接口RISC-V》学习完这本书算是对于之前的一点点补充,一些概念理解的更加深刻了。
yruluvme
·
2024-01-01 21:55
OS:
TEP《操作系统导论》
学习
笔记
驱动开发
linux
unix
《
深入理解计算机系统
》(CSAPP)读书笔记 —— 第五章 优化程序性能
写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得快也是一个重要的考虑因素。本章主要介绍了循环展开,减小过程调用,消除不必要的内存引用等优化代码的方法,有助于我们写出高效的代码,
3561cc5dc1b0
·
2023-12-31 05:53
《
深入理解计算机系统
》(美)布赖恩特(Bryant,R.E.) 等
书籍:《
深入理解计算机系统
》(美)布赖恩特(Bryant,R.E.)等适合对象:对计算机感兴趣的朋友。需要相关资料的可私信我。2023.09.20更新完成。
xiaoxiao无脸男
·
2023-12-27 17:07
linux
windows
深入理解计算机系统
第三章练习题
习题3.1地址值0x1000xFF0x1040xAB0x1080x130x10C0x11寄存器值%rax0x100%rcx0x1%rdx0x3%rax0x100寄存器寻址0x1040xAB绝对寻址rcx0xFC(,%rcx,4)0xFC+40x1=0xF11错,应该为M(0xFC+0x4)=M(0x100)即内存地址0x100的值为0xFF(%rax,%rdx,4)0x100+40x3=0x10C
麻风剑客
·
2023-12-27 03:40
【csapp】cachelab
文章目录PartAPartB32*3264*6461*67实验全程参考大佬的博客CS:APP3e
深入理解计算机系统
_3eCacheLab实验,感觉大佬在矩阵转置那块介绍的还是有些简略,我自己又做了点动图加以补充理解
LeePlace
·
2023-12-26 16:18
随想随写
linux
缓存
ubuntu
CSAPP:BombLab 详细解析
BombLab来自《
深入理解计算机系统
》(CSAPP)一书的第三章的配套实验,该实验的目的是通过反汇编可执行程序,来反推出程序执行内容,进而能够正确破解”密码“,解除“炸弹”。
prician
·
2023-12-25 14:27
CSAPP
汇编
linux
visual
studio
code
docker
macos
深入理解计算机系统
——第三章
计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理内存、读写存储设备上的数据,以及利用网络通信。编译器基于编程语言的规则、目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器代码。在整个编译过程中,编译器会完成大部分的工作,将把用C语言提供的相对比较抽象的执行模型表示的程序转化成处理器执行的非常基本的指令。程序内存包含:程序的可执行机器代码,操作系统需要的一些信息,用来管理
邓超_ef13
·
2023-12-23 21:17
《
深入理解计算机系统
》学习笔记 - 第七课 - 机器级别的程序三
Lecture07MachineLevelProgrammingIIIProcedures机器级别的程序三文章目录Lecture07MachineLevelProgrammingIIIProcedures机器级别的程序三概述程序机制栈结构栈说明栈定义推入数据弹出数据调用控制代码示例程序控制流程%rip传递数据ABI标准示例管理局部数据基于堆栈的语言栈帧函数递归调用示例linux栈帧示例寄存器保存数
北海拾贝
·
2023-12-23 12:19
计算机系统原理
计算机系统原理
《
深入理解计算机系统
》Part1 准备工作:在VirtualBox 中建立虚拟机
摘要:本文主要介绍了如何在Windows系统上安装VirtualBox,并使用VirtualBox安装Centos7,同时介绍如何安装VirtualBox的增强功能。关键词:VirtualBox;Windows10;Centos7;增强功能1.虚拟工具选择虚拟工具有两种选择(a)VMwareWorkstationPro(b)VirtualBox,前者是商业软件后者是开源软件。VMwareWorks
fengjb
·
2023-12-22 02:25
深入理解计算机系统
第一章
第一章计算机系统漫游1.1信息就是位+上下文系统中的所有信息,包括磁盘文件,内存中的程序,内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象的上下文。1.2程序被其他程序翻译成不同格式一个程序的生命周期是从一个高级C语言程序开始的,为了能在系统上运行该程序,每条语句都必须被其他程序转换成一系列低级机器语言,然后这些指令按照可执行目标程序
宪章文武
·
2023-12-21 22:00
《
深入理解计算机系统
》学习笔记 - 第二课 - 位,字节和整型
Lecture02Bits,Bytes,andInteger位,字节和整型Byte字节位操作布尔代数集合的表现形式和操作C语言的逻辑操作位移操作整型数值范围无符号与有符号数值无符号与有符号在C中拓展和截断拓展截取《
深入理解计算机系统
北海拾贝
·
2023-12-20 23:28
计算机系统原理
计算机系统原理
《
深入理解计算机系统
》学习笔记 - 第三课 - 位,字节和整型
Lecture03Bits,Bytes,andIntegercount位,字节,整型文章目录Lecture03Bits,Bytes,andIntegercount位,字节,整型运算:加,减,乘,除加法乘法取值范围乘法结果使用无符号注意事项内存中的表现形式面向字节的内存组织形式字长Words字节顺序大端序和小端序代码检验数据的表现形式字符串表示拓展二进制的一个属性汇编编码乘积编码除法编码无符号除法编
北海拾贝
·
2023-12-20 23:28
计算机系统原理
计算机系统原理
《
深入理解计算机系统
》学习笔记 - 第四课 - 浮点数
浮点数分数二进制示例能代表的数浮点数的表示方式浮点数编码规格化值规格化值编码示例非规格化的值特殊值示例IEEE编码的一些特殊属性四舍五入,相加,相乘四舍五入四舍五入的模式二进制数的四舍五入浮点数乘积浮点数加法浮点数的一些数学性质浮点数在C中类型转换的比较《
深入理解计算机系统
北海拾贝
·
2023-12-20 23:28
计算机系统原理
计算机系统原理
《
深入理解计算机系统
》学习笔记 - 第六课 - 机器级别的程序二
Lecture06MachineLevelProgrammingIIControl机器级别程序控制二文章目录Lecture06MachineLevelProgrammingIIControl机器级别程序控制二处理器的状态条件码(隐式设置)通过算术运算隐式设置条件码(将其视为副作用)通过cmp比较命令显示的设置条件码通过test命令显示的设置条件码读取条件码SetX指令跳转指令jump条件分支示例(
北海拾贝
·
2023-12-20 23:57
计算机系统原理
计算机系统原理
《
深入理解计算机系统
》Data Lab 实验
第1关:bitXor任务描述本关任务:bitXor-x^yusingonly~and&仅用运算符~和&实现计算x^yExample:bitXor(4,5)=1例如:bitXor(4,5)=10100^01010001Legalops:~&合法运算符为:~&Maxops:14最多可以使用运算符:14个Rating:1难度系数:1测试说明平台会对你编写的代码进行测试:开始你的任务吧,祝你成功!intb
Ssaty.
·
2023-12-20 05:36
Educoder实训
深度优先
算法
《
深入理解计算机系统
》(原书第三版)笔记<一>
一、计算机系统漫游1.1信息就是位+上下文位/比特:0和1字节:8位一组系统上所有信息(磁盘文件、内存中的程序、内存的数据、网络传送的数据)都是一串比特表示。根据数据对象的上下文区分不同数据。1.2程序被其他程序翻译成不同的格式源文件—编译器驱动程序—>目标文件预处理阶段:cpp根据#开头的命令修改原始的C程序。编译阶段:col翻译成汇编语言程序。汇编阶段:as翻译位机器语言指令,打包指令成可重定
Wakkaa
·
2023-12-17 20:53
深入理解计算机系统
(3)——处理器体系结构
1、CPU的组成传统上,CPU由控制器和运算器这两个主要部件组成。随着集成电路技术的不断发展和进步,新型CPU纷纷集成了一些原先置于CPU之外的分立功能部件,如浮点处理器、高速缓存(Cache)等,在大大提高CPU性能指标的同时,也使得CPU的内部组成日益复杂化。CPU主要组成部分的逻辑结构如图3-2所示:image1.1、控制器控制器是整个计算机系统的指挥中心。在控制器的指挥控制下,运算器、存储
先弓
·
2023-12-15 21:19
《
深入理解计算机系统
》学习笔记 - 第四课 - 机器级别的程序
Lecture05MachineLevelProgrammingIBasics机器级别的程序文章目录Lecture05MachineLevelProgrammingIBasics机器级别的程序intel处理器的历史和体系结构芯片的构成AMD公司(AdvancedMicroDevices,先进的微型设备)C,汇编,机器代码定义汇编/机器代码C程序转换为目标代码编译为汇编代码汇编的特性:数据类型汇编的
北海拾贝
·
2023-12-14 15:09
计算机系统原理
计算机系统原理
经典书籍
《算法导论》ThomasH.Cormen、CharlesE.Leiserson《
深入理解计算机系统
》RandalE.Bryant《人月神话》FrederickP.Brooks《编程珠玑》JonBentley
辉lazy
·
2023-12-03 12:28
csapp-
深入理解计算机系统
学习记录
文章目录csapp学习记录一第1章:计算机系统漫游信息就是位+上下文从一个c文件,到可执行目标文件整个翻译过程分为4个阶段程序执行的过程:摩尔定律:HELLOWORLD可执行程序的产生理解编译过程及原理的意义何在可执行程序hello在计算机上执行的过程程序执行过程中的几点启示系统的硬件组成高速缓存存储设备形成层次结构操作系统管理硬件进程线程虚拟内存并发和并行线程级并发指令级并行第2章:信息表示和处
mackilo
·
2023-12-03 03:10
学习
C语言结构体详解(一)(能看懂文字就能明白系列)
个人主页:古德猫宁-专栏:
深入理解计算机系统
C语言基础习题C语言笔记目录结构的声明结构体变量的创建和初始化结构体变量的创建结构体的初始化结构的特殊声明访问结构成员结构体的自引用引子:假如我们要设计一个程序来打印一份图书目录
古德猫宁-
·
2023-12-02 20:04
c语言
开发语言
学习
C语言结构体
笔记
经验分享
深入理解计算机系统
之 第一章 计算机系统漫游
1、只有ASCII构成的文件称为文本文件,所有其他文件称为二进制文件2、在Unix系统中,从源文件到目标文件的转化是由编译器驱动程序完成的image链接是将调用的函数通过某种方式结合到可执行文件中。3、系统的硬件组成image总线,贯穿整个系统的一组电子管道称为总线。它携带信息并负责在各个部件中传递。I/O设备,通过适配器或者控制器连接到I/O总线。主存,在处理程序时,用来存储程序和程序处理的数据
serpmelon
·
2023-12-02 18:10
速通CSAPP(一)计算机系统漫游入门
博主参考的教程:本电子书信息-
深入理解计算机系统
(CSAPP)(gitbook.io),非常感谢作者的整理。诚然去看英文版可以学到更多,不过一边翻译一边看的过程我觉得还是效率不高的,所以还是选择中文。
灰海宽松
·
2023-12-02 01:01
#
CSAPP
学习
笔记
csapp
深入理解计算机系统
bomb lab(1)phase_4
使用disasphase_4查看phase_4的汇编代码按照惯例,查看一下0x4025cf内存单元存放的字符串的值是什么所以phase_4的输入应该是两个整数。下面使用先猜想后验证的方法尝试找出两个整数的值,猜想两个整数为1,2,在ans.txt写入1,2(前面3行是前面3个phase的答案。)vimans.txtBorderrelationswithCanadahaveneverbeenbett
暮色_年华
·
2023-11-30 09:40
汇编
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他