一、计算机体系结构
1、冯·诺依曼体系结构(储存程序型电脑)
(1)采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中。
不可编程的计算机器(计算器,学习机,非智能手机),不提供API,仅内含固定用途的程序,只能读数据
(2)存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
(3)指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。
(4)通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
(5)以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
(6)数据以二进制表示。
(2)顺序执行程序.
2、哈佛结构: 将程序资料与普通数据分开储存,两个硬盘,两个内存...
3、CPU(Central Processing Unit)
ALU(Arithmetic and Logic Unit):
算术逻辑单元(ALU)、
累加器
状态寄存器
通用寄存器组
CU(Control Unit):
IR(Instruction Register):存放指令
PC(Program Counter):存放下一条指令所在单元的地址
ID(Instruction Decoder)指令译码器
OC(Operation Controller)
寄存器,高速缓存,数据状态控制总线
二、操作系统
1、操作系统内核,提供三个抽象:
文件对I/O设备的抽象,虚拟存储器对主存和硬盘的抽象,进程对处理器主存I/O设备的抽象
文件:字节序列。文件是个抽象,使得程序统一对待各种I/O设备,包括网络
2、操作系统在CPU寄存器,主存,I/O设备间拷贝数据,形成了存储层次结构:
CPU寄存器,芯片的高速缓存SRAM-->芯片外的高速缓存SRAM-->主存DRAM-->本地硬盘/网络分布式文件系统。
拷贝次数越少,越好,netty,零拷贝
三、信息的表示与处理(信息=bit+上下文)
1、大多数用byte作为最小的可寻址存储器单位,比如最小的类型为byte类型。
2、virtual memory: 程序把存储器视为一个非常大的字节数组,每个字节都有一个唯一的数字来标识,成为地址(address)
所有可能地址的集合称为virtual address sapce
3、字长(word size): 指明整数和指针数据的标称大小(nominal size),虚拟地址以这样的字来编码
4、DMA直接存储
DMA:Direct Memory Access(存取)
使得外围设备可以通过DMA控制器直接访问内存,而不需要依于 CPU 的大量中断负载。
DMA控制器
DMA传输前,CPU要把总线控制权交给DMA控制器,结束后再交回给CPU。
DMA控制器与CPU分时使用内存的三种方式:
(1)停止CPU访内存: DMA传输时,CPU闲置,外围I/O存取慢,内存快,得不到充分利用
(2)周期挪用;
(3)DMA与CPU交替访内存。
根本原因:四者权衡:I/O设备读写周期,CPU工作周期,内存存取周期,DMA控制权转移。
进程:操作系统对运行程序的一种抽象,一个系统上,多个进程都好像独占硬件,称之为并发执行
context switching: 一个进程的指令和另一个进程的指令交替进行。
需要保存进程运行的所有状态信息:PC,寄存器,主存内容
虚拟存储器(虚拟存储空间)
为每个进程抽象出一个存储器,好像每个进程都独占存储器,
相关推荐
深入理解计算机系统读书笔记 深入理解计算机系统
这本书有多经典就不再赘述了。由于是图片书,所以有点大。不过效果还可以,上面有一些我个人的笔记,相信对阅读有些帮助。建议阅读3遍以上,多多益善。可以作为程序员终身发展的陪伴读物,良友啊。
参考深入理解计算系统 第12版 读书笔记
导语:这是篇读书笔记,每次重读CSAPP都有新的认知,尤其是在进入了后台通道之后才感受到每天和进程打交道的感觉是如此深刻。 0x00 What is Process? [ system structure ] 进程(Process)一个执行中的程序的...
深入理解计算机系统》读书笔记_个人文章-SegmentFault思否: : OSTEP: FrontPage-OscourseWiki: ://os.cs.tsinghua.edu.cn/oscourse/ 操作系统档案-JciX〜: ://blog.jcix.top/tag/操作系统/ linux的: 空灵...
[深入理解计算机系统 第2版][2.3.1 无符号加法][2014/08/19] [离散数学][9.1 二元运算及其性质][2014/08/20] [C++ Primer 第4版][12.1 类的定义和声明][2014/08/24] [深入理解计算机系统 第2版][1.1 信息就是位+上...
本人还制作了该书的读书笔记,详情请见《FPGA并行编程》读书笔记专栏启动说明:https://blog.csdn.net/qq_35712169/article/details/99738006 。 本书将着重介绍高层次综合(HLS) 算法的使用并以此完成一些比较具体...
成为一个更好的Java程序员这是一个成为更好的Java 程序员的系列教程声明:这是完全手写的仓库,不严谨的地方请告知作者。...操作系统系列计算机入门系列深入理解计算机系统HTTP系列Linux系列计算机网络系
做真正 Hacker的乐趣──自己动手去实践 2004年我听编辑说有个年轻人写了本《自己动手写操作系统》,第一反应是不可能,恐怕是翻译稿,写这种书籍是要考作者硬功夫的,不但需要深入掌握操作系统的原理,还需要实际...
之前喜欢在其中时时看一些技术书籍,但是发现看完后,即使每章都写了读书笔记,看到一些实际的问题时,自己还是一脸茫然,所以我认为学习一项技术分为三个阶段: 1.看过入门教程,会用API。 2.看过相关的技术书籍...
做真正 Hacker的乐趣──自己动手去实践 2004年我听编辑说有个年轻人写了本《自己动手写操作系统》,第一反应是不可能,恐怕是翻译稿,写这种书籍是要考作者硬功夫的,不但需要深入掌握操作系统的原理,还需要实际...