深入理解计算机系统

Tags
Published
Author
这是《深入理解计算机系统》的读书笔记

最近在看深入理解计算机系统。
  1. 计算机的硬件结构
    1. cpu
      1. 寄存器
        1. 通用寄存器(临时存储数据)
        2. 专用寄存器(堆栈指针sp,基址寄存器…)
      2. pc 寄存器(寻找下一条指令)
      3. alu 计算单元(算术运算,逻辑运算)
      4. 浮点计算单元(浮点运算)
      5. 一二级cache
      6. 寄存器和 一二级 cache 一般是用 sram 做的,不会被电磁干扰,访问速度很快,但是造价高。
    2. 内存(主存)
      1. 用的是 dram(动态 ram)。具备电失性。切容易被电磁干扰,需要隔段时间就动态刷新。
      2. 主存是二维矩阵的方式组合在一起,每次取值时,先定位到某一行,把这一行的内容复制到临时存放区,在定位到这一行的某一列,取出数据。
    3. io
      1. 键盘鼠标显示器等等都是 io 设备。
      2.  
计算机的数据表示:
数字:
整数:
有符号数:
第一位表示符号,剩下的位数表示数字
有符号数一般用补码表示,因为补码可以使加法和减法共用一个电路。
无符号数 :
是正整数,从 0 — 2ⁿ-1
浮点数:
整数部分+浮点数部分。
浮点数部分的值是: 0.5 0.25 0.125 …. 所以浮点数的值无法准确表示,只能采用近似的方法。
 
原码:
反码:各位取反
补码:
正整数和原码相同,负数,将原码取反后加 1。
补码表示法的一个优点是加法和减法运算可以使用相同的电路,同时还解决了反码中的两个零的问题(正零和负零)。
 
字符:ascii 字符 unicode-uft8 等等