深入理解计算机系统

1 计算机系统不同层次上的抽象

深入理解计算机系统

文章插图
 
内存从概念上来说就是一个很大的字节数组,保存着程序和数据 。程序用虚拟地址来引用内存位置 。硬件和操作系统软件联合起来将虚拟地址翻译成实际或物理地址,指明数据实际存在内存中哪个地方 。
指令集的一个重要性质就是字节编码必须有唯一的解释 。任意一个字节序列要么是一个唯一的指令序列的编码,要么就不是一个合法的字节序列
2 存储层次计算机中的存储器与运算器相比,实在是速度太慢了,于是出现了存储分层的概念 。
我们知道,计算机对数据的处理,按冯诺依曼存储程序控制的概念,程序和数据都要加载到可以寻址的内存中,由控制器顺序读取指令,通过译码、产生控制控制信号,一些数据、中间结果、地址需要在寄存器中存储起来,通过运算器运算,再将数据交换到内存和外部的辅助存储系统 。
深入理解计算机系统

文章插图
 
3 各种编码3.1 原码
用来表示无符号整数 。
3.2 补码
用来表示有符号整数 。
减法可以转换为与一个负数的补码的加法,如24-3相当于24+(-3) 。
乘法可以转换为加法,如24*3相当于24+24+24 。
除法也可以转换减法,再转换为加法,如24/3相当于循环循环操作24+(-3),循环的次数就是商 。
3.3 IEEE754编码
用来表示浮点数 。
浮点数的阶码:用移码表示,称雄相当于原码+e^(k-1)-1;
浮点数的尾码:用原码表示 。
3.4 字符编码
用整数来编码,根据纳入字符的多少,及对某些编码方案的兼容,有不同的编码方案,如ASCII、Unicode、GB2312等 。
4 输入输出的文件概念输入输出都以文件(字节序列)的形式进行抽象 。网络如同磁盘一样,也是一种输入、输出的数据源,网络的套接字也抽象为文件流的概念 。
深入理解计算机系统

文章插图
 
-End-

【深入理解计算机系统】


    推荐阅读