
计算机系统基础
kafm
哼
展开
-
结构体、位域、栈的字节对齐
为什么要字节对齐可移植性:不是所有硬件都能从任意地址开始访问数据,如 MIPS 遇到未对齐内存直接报错效率:CPU 每次读取内存时是一块一块读取的,如果目标数据跨越了两个块,CPU 要把两个块都读进来,去掉无关字节,然后将两个块中的目标数据拼接起来,大大降低了 CPU 的效率结构体/联合体中的字节对齐结构体内的第一个成员的偏移量为0,此后每个成员的偏移量为 min(#pargma pac...原创 2019-12-22 17:35:50 · 756 阅读 · 0 评论 -
计算机系统基础:数据的表示和存储
数据的表示和存储信息的二进制编码数据: 数值数据:无符号整数、有符号整数;浮点数;(可以在数轴上表示出来,可比较大小的) 非数值数据:逻辑数(包括01序列),字符等 计算机内部所有信息都使用二进制进行编码,原因:具有两个稳定态的物理器件容易制造(电位高/低,脉冲有/无,正/负极,表示1和0)二进制编码,计数,运算规则简单,也易于电路实现与逻辑值真/假对应,便于逻辑运算易使用...原创 2019-08-02 09:04:00 · 5447 阅读 · 0 评论 -
计算机系统基础:计算机系统概述
这是一个 CSAPP-like 的系列博客通用电子计算机历史第一台通用电子计算机是宾夕法尼亚大学于1946年研制的ENIAC,它采用十进制,是可编程、图灵完备的电子计算机。随后,Von Neumann 加入ENIAC的研制组,进行新的 “存储程序式通用电子计算机” EDVAC的研制,为此冯诺依曼以"关于EDVAC的报告草案"为题发表了全新的"存储程序式通用电子计算机方案",在该方案中,...原创 2019-08-09 23:38:19 · 2632 阅读 · 0 评论