读书笔记-计算机组成结构化方法
计算机组成结构化方法第六版-豆瓣
小结
《穿越计算机的迷雾》中讲到的内容中略过了,这本书写的没有《穿越计算机的迷雾》生动,但知识更深,读起来不容易懂。很多需要费力理解的地方都跳过了,所以只学到了一个大概。
第1章 概述
- 6层计算机
- FPGA?
Field-Programmable Gate Array),即现场可编程门阵列
参考。
- RFID
射频识别(英语:Radio Frequency IDentification,縮寫:RFID),内有微型无线发射机应答器和唯一编码,收到外部天线发的脉冲信号时,利用感应到的信号的能量把编号传送回天线。
参考:
靠人力给每个商品贴标签,每个标签成本 0.3 元-1 元不等。
寻址?
第2章 计算机系统组成
2.1处理器
- 主存和内存的区别?
参考:
- 总线
- 程序计数器
并不读数,而是存下一条指令。
- 指令寄存器
存放当前正执行的指令。
解释器
将复杂指令解释为简单指令,不必重新设计硬件
RISC
不用解释器
寄存器属于CPU的一个组成部分而缓存只是集成到CPU封装内完全是和CPU独立的器件。
cpu(寄存器)-三级缓存-内存-硬盘
2.2主存储器
- 地址
- 纠错码?
没看懂。
- 高速缓存
如何判断频率高的内容?
局部性原理、命中率
- DDR
double data-rate
2.3 辅助存储器
- 层次存储结构
- 格式化
磁盘最开始全是磁性物质,格式化后产生前导区、数据区、纠错码、隔离带等。
- 一个扇区的大小是固定的512字节
- 每条磁道上的扇区个数是否相同?
- 盘片
2.4 输入/输出设备
- I/O控制器
- 电容屏
How Does a Laser Printer Engine Work?
第3章 数字逻辑层
讲各个零件的构成。
3.1 门和布尔代数
- 门
属于设备层,最最底层,全是二极管,通过二极管组成各种门,门就成了电路的基本结构。
- 组合逻辑电路
输出是输入的函数(也就是没有记忆性)
- 寄存器
多个触发器组合,构成寄存器。
- 内存
这里说的内存和内存条是有区别的,见上面的图。
- RAM
SRAM(静):D触发器,不断电数据一直存在,速度快,容量小,高速缓存
DRAM(动):用电容,要刷新(几十ns),速度慢,容量大,主存
它们两相互结合使用。
3.4 CPU芯片和总线
- How a CPU Works
- cpu管脚
cpu通过管脚连接总线与主存等通信
- 管脚类型
地址信号:个数决定寻址空间
数据信号:个数决定一次写入的位,32个则一次写入32位
控制信号:
- cpu寻址空间
m个地址信号管脚,寻址空间为
- 总线仲裁
控制总线上的流量,防止两个设备在同一时刻使用总线。
- 中断
设备发送给cpu的,请求cpu来处理它的事务。
- 总线
多个设备公用的电子通道。
总线有多条,内存总线,I/O总线。
PCI, USB
PCIe并不能算总线。
- 总线时钟
参考:同步总线靠时钟统一处理,异步总线靠信号握手。
- 多核要监听内存总线
- 总线
- 协议栈
就是协议的层次关系,不同层次的协议互不干扰,例子:信封。可使模块设计更灵活。
第4章 微体系结构层
这章讲什么?
什么是微体系,一条指令是如何执行的(微程序)。由“数据通路”和“控制”两大部分组成。
4.1 微体系结构举例
- 状态
就是变量,程序计数器算一个
- 微程序
微指令合在一起就形成了微程序
- 数据通路
数据通路的精确时序可以保证在一个周期内读写同一个寄存器。
- cpu和内存通信的2种方式
1.32位按字寻址的内存端口
2.8位的按字节寻址的内存端口
- 定序器
负责按步骤执行一条ISA指令的部件
- 控制存储器
存放全部微程序的内存,保存的是微指令而不是ISA指令。
- 控制存储器和主存的区别
主存中的指令是顺序执行的,而控制存储器中的每条微指令都明确指出它的下一条微指令。
- 栈
来源于变量的保存问题。
- PC
program count程序计数器
4.4微体系结构层设计
- 加快指令执行速度的方法
1.减少指令执行的周期数
2.简化组织结构
3.指令重叠执行
第5章 指令系统层
5.1 指令系统层概述
- 对齐可以使内存操作更加有效
- 寄存器
专用、通用
- 寻址
第6章 操作系统层
- 32位系统为什么只支持4G内存的原因
- 分页
为了模拟大内存
- 分段
为了提供多个地址空间
- 虚拟内存和高速缓存是类似的
第8章 并行计算机体系结构
自我小结
- 哈佛与冯诺依曼结构
参考:纯的(或者接近纯的)哈佛结构只用于非常简单的硬件系统,这种系统当中通常程序完全运行在ROM中,数据几乎完全存储于RAM中,这样的结构足够简单。而要支持多任务的处理器通常引入Cache层,在Cache层实现一个哈佛体系架构,这样可以兼顾性能和灵活性。
- 解释与编译的区别
参考:解释一边翻译一边执行,编译生成目标代码。
在学什么?
参考:
六大部分其实可以分为两个大类,一是计算机网络和数据库;二是计算机组成、操作系统、算法、数据结构。
计算机组成告诉你硬件能做什么,操作系统告诉你它是如何管理这些硬件并提供给外部(上层)接口来使用。算法和数据结构告诉你如何高效、简洁的的使用这些接口以便达到最合理的使用硬件和尽可能的有利于软件开发。
一定要理解计算机系统设计的分类和分层(你理解了之后就会知道这句话是什么意思)〔不要对硬件细节抠的太仔细,一切都从整体来看〕。接着看操作系统原理,我认为操作系统的两大难点是虚拟内存管理、进程调度和通信,而且与编程关联比较密切。
- 什么是超标量??
超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。
本文来自博客园,作者:ssh_alitheia,转载请注明原文链接:https://www.cnblogs.com/shanchuan/p/8150259.html