随笔分类 - csapp
摘要:链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。 1. 编译器驱动程序 看一下链接的整个过程 驱动程序运行c预处理器(cpp),将main.c翻译成一个ASCII码的中间文件main.i 驱动程序运行c编译器(cll),将main.i翻译成一个ASC
阅读全文
摘要:1. 异常 从给处理器加电开始,直到你断电为止 程序计数器假设一个值的序列(\(a_k\)是\(I_k\)的地址) 每次从\(a_k到a_{k+1}\)的过渡称为控制转移,这样的控制转移称为处理器的控制流 系统必须对系统状态的变化(\(I_k和I_{k+1}\)的地址不相邻)做出反应,这些变化不是一
阅读全文
摘要:1. 随机访问存储器(RAM) 1. 静态RAM(SRAM) 常用来做cache。 SRAM存储器单元只要有电,就会永远保持它的值。 2. 动态RAM(DRAM) 常用来做内存。 DRAM每个位存储为电容充电。因为有很多原因会导致漏电,所以内存系统必须周期性地通过读出数据,重写来刷新内存的每一位。
阅读全文
摘要:流水线 1. 处理指令的阶段 取指 将地址为pc的指令从内存中读取出来。可能取出一个或两个寄存器操作数指示符rA和rB。 还可能取出一个常数字valc 下一条指令**的地址\(valp = pc+valc\) 译码 从寄存器文件中读入指令rA,rB指明的寄存器中的操作数:valA,valB 执行 算
阅读全文
摘要:注1: 这章的所有代码都是运行于x86-64位的linux系统上,也就是ATT风格的汇编代码 注2: intel 和 ATT是两种不同风格的汇编语言。 intel主要用于dos和windows,ATT主要用于Unix和linux。nasm和masm使用intel语法。 ATT的特点是与我们学的高级语
阅读全文
摘要:一. 信息存储 1. 概念先行 位: bit:音译为“比特”,简称“b”,指二进制位,由0,1组成 字节: Byte:译为“字节”,简称“B”,在它之后还有Kb,Mb,GB 是计算机系统中最小的存储单位。一个字节8位 字: 32位计算机 : 字 = 4字节 = 32位 64位计算机 : 字 = 8字
阅读全文
摘要:写在最前面的话: 在大一下学期的时候其实就已经萌生了读完csapp并做完里面所有lab的想法,但当时痴迷于acm所以最后以失败告终。 现在大二上的我对自己的目标更加清晰,希望这次自己可以坚持下去 1. 信息就是位+上下文 拿一个最简单的hello程序举例 # include<stdio.h> int
阅读全文

浙公网安备 33010602011771号