Linux 三级 学习笔记(一)计算机体系结构与操作系统-计算机体系机构

1.1、计算科学与计算机系统

1.1、冯.诺依曼结构设计的计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成。

1.2、计算机体系结构的基本概念

**1.2.1、计算机系统的层次结构:

层次名称用户群体
第6层应用程序层一般用户
第5层高级语言层普通程序员
第4层汇编语言层程序设计人员
第3层操作系统层系统管理人员
第2层传统机器层计算机系统设计者
第1层微体系结构层架构师
第0层数字逻辑层电子工程师

第0-2层为主要由硬件实现,第3-6层为主要由软件实现。

1.2.2、指令集

(1)计算机中最普通的指令格式:操作码+操作数(地址)。根据操作数的数量不同,可以将指令格式分为:零地址指令、一地址指令、二地址指令、三地址指令和多地址指令。

(2)指令的功能分类:从指令的操作码功能来考虑,通用计算机的指令系统中常见的指令类型包括:数据传送指令、算数运算指令、逻辑运算指令、程序控制指令、输入输出指令、处理器控制和调试指令

(3)CISC复杂指令系统计算机(Complex Instruction Set Computer) :追求强化指令功能,减少程序指令条数,以达到提高性能的目的。X86被认为是现存的唯一的CISC指令集。
SISC精简指令系统计算机(Reduced Instruction Set Computer):尽量简化计算机指令功能,只保留功能简单、能在一个节拍内执行完成的指令,而把复杂的功能用一段子程序来实现。ARM术语RISC指令集架构。

1.2.3、存储系统

(1)计算机存储系统的层次结构

计算机系统的本质属性是时间和空间,即计算和存储。存储器结构层次
第1层为寄存器组,寄存器是CPU的一部分;第2层为高速缓冲存储器(Cache),位于主存储器和CPU之间,存放运行程序近期将要用到的指令和数据;第3层为主存储器,是计算机的主要部件,存储系统的核心;第4层为辅助存储器,由软盘、硬盘组成,容量大、价格低;第5层为脱机存储器,指磁带机、光盘等。

(2)程序访问的局部性

时间局部性:最近访问过的内容很可能会在短期内被再次访问。
空间局部性:某个存储单元被访问,短时间内其附近的存储单元也会被访问。

(3)存储系统的三级层次“Cache-主存-辅存
Cache-主存-辅存是存储体系中最重要的三级层次,通常将其分为“Cache-主存”和“主存-辅存”(虚拟存储系统)来讨论

A、Cache-主存
块是Cache与主存之间的信息传输单位,每块有若干个字或字节(Byte)组成。Cache-主存层次主要涉及的关键问题:

a、地址映射
Cache与主存储器间最基本的地址映射方式有三种:全相联映射、直接映射和组相联映射
全相联映射
:指主存和Cache分成相同大小的数据块,主存的第i块放入Cache的任意一个位置。
直接映射:主存中的每一个快只能被放置到Cache中唯一的一个位置。
组相联映射:全相联映射与直接映射相结合的一种方式,是目前应该用最广泛的地址映射方式。

b、替换策略
在采用全相联映射和组相联映射的系统中,当主存向Cache传送一个新块而Cache已满时,就需要使用替换算法将Cache中的某一块换出。常用的替换算法有随机法(RAND)、先进先出法(FIFO)和最近最少使用法(LRU)

c、数据一致性
一致性是指同一份数据在不同的存储位置和多个拷贝应保持一致。
Cache的写方式:写直达(每次CPU修改Cache数据,立即更新到主存),写回(CPU修改Cache数据不立即更新,而是在某个时机更新)
多核处理器内核之间的缓存一致性通过缓存一致性协议来维护,MESI(Modified Exclusive Shared or Invalid)协议将Cache Line的状态分为修改、独占、共享和失效。

B、虚拟存储系统
程序在编写时都采用虚拟存储空间地址,运行时再将虚拟存储空间映射到实际物理内存中。程序在运行前保存在外部的存储器上,通常也就是保存在磁盘上,在运行时将程序的指令和数据都装入内存,这一过程中,内存(主存)与磁盘(辅存)的关系类似Cache-主存的关系。

1.3 、微处理体系结构

微处理器,即通常所说的中央处理器(CPU),根本任务是执行指令,在指令的执行过程中会对数据进行存取和处理。

1.3.1、单核处理器的基本结构

按照冯.诺依曼体系结构,传统的单核CPU有控制器和运算器俩个主要部件构成。现在新型的CPU大多集成了一些原先置于CPU之外的分立功能部件,如浮点处理器、高速缓存等。
CPU的逻辑结构如下图所示,主要由控制器、运算器和存储单元三部分组成,这三部分由CPU内部总线相连,程序运行时,CPU从内存中一条一条取出指令和相应数据,按指令操作码的规定,对数据进行运算处理,知道程序执行完毕。
CPU逻辑结构
控制器(控制单元):在控制器的指挥下,运算器、存储器和输入输出设备等部件协同工作,构成完整的计算机功能;
运算器(运算单元):实现数据加工处理等功能,核心部件是算术逻辑单元(ALU);
存储单元:包括CPU片内的高速缓存和寄存器组,保存等待处理或已经处理的数据。

1.3.2、多核处理器的基本结构

多核处理器(Chip Multi-Processor,CMP)的各核心之间需要进行数据的共享和同步,目前比较主流的高效通信机制有俩种,一种是基于总线共享的Cache结构,一种是基于片上的互联结构。

1.3.3、指令的执行

计算机运行程序过程就是指令的执行过程,CPU从存放程序的主存储器里取出一条指令,译码并执行这条指令,保存执行结果,接着执行下一条指令,译码和执行,循环往复。
执行指令的5个基本阶段:
(1)取指令(Instruction Fetch,IF):将一条指令从主存中取出,放入寄存器中;
(2)指令译码(Instruction Decode,ID):取出指令后,计算机立即进入译码阶段;
(3)执行指令(Execute,EX):取出指令和译码结束后,立即执行指令;
(4)访存取数(Memory,MEM):根据指令需要,可能要访问主存,读取操作数;
(5)结果写回(Write-Back,WB):把运行结果数据“写回”某种存储形式中。
指令流水线各过程段

以上流水线过程可以在时间上重叠进行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值