`

读书笔记(1)深入理解计算机系统

 
阅读更多

一、计算机体系结构

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,寄存器,主存内容

       

虚拟存储器(虚拟存储空间)

       为每个进程抽象出一个存储器,好像每个进程都独占存储器,       

 

分享到:
评论

相关推荐

    程序员终身必读-深入理解计算机系统(带笔记).part1

    这本书有多经典就不再赘述了。由于是图片书,所以有点大。不过效果还可以,上面有一些我个人的笔记,相信对阅读有些帮助。建议阅读3遍以上,多多益善。可以作为程序员终身发展的陪伴读物,良友啊。

    深入理解Linux内核笔记

    本读书笔记整理了《深入理解Linux内核》的部分内容,旨在帮助新手理解Linux内核是如何通过硬件支持实现内存寻址和分页的。 首先,Linux的内存寻址使用逻辑地址,由两部分组成:段标识符(Segment Selector)和偏移...

    ARM体系与结构读书笔记

    这篇读书笔记详细记录了对这本经典书籍的理解和解析,旨在帮助读者深入理解ARM技术。 1. **ARM处理器架构**:ARM(Advanced RISC Machines)是一种精简指令集计算机(RISC)架构,以其高效能和低功耗闻名。ARM...

    深入理解计算系统思维导图

    参考深入理解计算系统 第12版 读书笔记

    体系机构读书笔记

    通过对这些问题的认识和理解,设计者能够避免这些陷阱,从而设计出更加高效、可靠的计算机系统。 通过阅读本章节,读者可以对计算机体系结构有一个全面的了解,从设计原则到性能分析,从硬件实现到软件优化,为深入...

    TCP-IP卷1、2读书笔记

    《TCP/IP卷1、2读书笔记》是对网络通信领域经典之作——"TCP/IP详解"的深入学习和理解的结晶。TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的基础,是计算机网络之间进行通信的标准协议集。...

    哈工大操作系统读书笔记1(第一周)

    哈工大的操作系统课程由资深教授刘国军指导,旨在深入理解操作系统的原理与实践。这篇读书笔记是根据第一周的学习内容编写的,涵盖了操作系统的基础概念和核心功能。 在第一周的学习中,我们首先会接触到操作系统的...

    《计算机应用基础》读书笔记.doc

    《计算机应用基础》读书笔记详述了计算机领域的基础知识和常用软件的应用,涵盖了计算机的历史、系统构成、软件分类、网络知识以及几个主要应用软件的使用技巧。 计算机基础知识部分讲述了计算机从诞生到发展阶段,...

    js读书笔记以及知识要点

    同时,理解计算机底层原理,如冯诺依曼体系结构、CPU、内存等概念,有助于深入理解JS如何与计算机交互,从而写出更高效的代码。熟悉开发工具,如IDE(集成开发环境)和命令行工具,可以提高开发效率。例如,掌握编译...

    《一个操作系统的实现》读书笔记(一)

    这篇读书笔记主要围绕书中的核心概念和技术进行阐述,结合博主 Zhou Jianquan 在ITEYE上的博客文章,我们可以探讨以下几个关键知识点: 1. **操作系统的基本概念**: 操作系统是计算机系统的核心,它负责管理硬件...

    线性代数_线性代数_线性代数笔记_线性代数及实战读书笔记_线数_

    总的来说,线性代数笔记涵盖的内容广泛,从基本概念到高级应用,如矩阵的几何解释、线性变换、最小二乘法、奇异值分解、主成分分析等,都是深入理解和应用线性代数所必须掌握的知识点。这些笔记为学习者提供了一条...

    《嵌入式Linux C语言应用程序设计》读书笔记

    第一章,作者首先引入了嵌入式系统的概念,包括嵌入式系统的特点、应用领域以及与通用计算机的区别。这一部分旨在帮助读者理解嵌入式系统的基本工作原理和设计目标。 第二章重点讲述了嵌入式Linux C语言开发工具的...

    微机原理与接口技术 读书笔记.docx

    理解中断的分类、处理流程和中断向量的概念,对于深入理解计算机系统的工作机制至关重要。 在实际操作中,学习微机原理与接口技术通常会涉及汇编语言编程,通过编写简单的汇编程序,可以直观地了解计算机指令的执行...

    PRML读书笔记

    在深入探讨读书笔记之前,首先应当明确《Pattern Recognition and Machine Learning》(PRML)一书的内容与重要性。该书是由Christopher M. Bishop所著,是机器学习领域的经典教材之一,广泛应用于相关专业的教学与...

    《逻辑学是什么》读书笔记.rar

    读书笔记PDF包含了作者对书中的关键观点、论证过程以及逻辑结构的提炼和解读,旨在深化读者对逻辑学的理解。这篇笔记以教育为主题,将抽象的逻辑原理与实际应用相结合,使得学习更为生动且实用。 首先,逻辑学是...

    《逻辑与计算机设计基础(5th)》读书笔记,结合期末复习提纲,为复旦大学大二上专业课《数字逻辑与部件设计》所写.zip

    《逻辑与计算机设计基础》是计算机科学领域的一本经典教材,尤其对于学习数字逻辑与部件设计的大学生来说,它是深入理解计算机硬件基础的重要资源。第五版的书籍通常会包含最新的理论和技术更新,使得内容更加贴近...

    MulticoreApplicationProgramming读书笔记.zip

    《多核应用编程》读书笔记 在当今计算机技术飞速发展的时代,多核处理器已经成为主流,为提升系统性能和处理复杂任务提供了强大的硬件基础。《多核应用编程》这本书深入探讨了如何有效地利用多核处理器的计算能力,...

    《ORANGE’S:一个操作系统的实现》读书笔记(三十七)尾声(一)文章代码

    操作系统作为计算机系统的心脏,负责管理和调度硬件资源,为应用程序提供服务。在ORANGE’S这个操作系统项目中,我们可能涉及到以下几个关键知识点: 1. **中断处理**:中断是操作系统响应硬件事件(如键盘输入、...

Global site tag (gtag.js) - Google Analytics