IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 计算机等级考试三级Linux应用与开发技术之第一章计算机体系结构笔记 -> 正文阅读

[系统运维]计算机等级考试三级Linux应用与开发技术之第一章计算机体系结构笔记

目录

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

计算机系统层次结构

1、指令格式

2、寻址方式

3、指令的功能分类

4、CISC 和 RISC

存储系统

计算机中的存储系统层次结构

Cache 和主存储器

微处理器体系结构

单核处理器基本结构

多核处理器基本结构


图灵? ? ??-->? ? 计算机科学的奠基人及人工智能之父

冯·诺依曼? ???-->?? 现代计算机之父,博弈论之父?

冯·诺依曼体系结构的要点? ?-->??计算机的数制采用二进制,程序指令和数据统一存储

冯·诺依曼结构设计的计算机 ?-->??由控制器、运算器、存储器、输入设备和输出设备五个部分组成

计算机系统 ?-->?由软件硬件组成


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

计算机系统层次结构

第6层:应用程序层

第5层:高级语言层

第4层:汇编语言层

第3层:操作系统层

第2层:传统机器层

硬件

第1层:微体系结构层

第0层:数字逻辑层

高级语言? ? ?—翻译—>? ?汇编语言? ?—翻译—>? ?机器语言

(第五层) ??编译器? ? (第四层)? ? 汇编器? ? ?(第二层)

指令集是一个计算机系统支持的所有机器指令的集合,它常被看作软硬件之间的分界面

指令集对上层软件来说,就是加减乘除等基本操作的一个集合,这些几百年操作的堆砌形成了更复杂的软件功能,如队列、堆栈、函数调用等。对下层硬件来说,指令集提供了一个计算机系统实现的目标蓝图,底层硬件可以看作对指令集的实现。

下面先简单介绍指令格式、寻址方式和常用指令的功能分类:

1、指令格式

计算机中最普遍的指令格式是:操作码 + 操作数(地址)。操作码字段指明操作类型,如加法、减法、转移等操作, 操作数字段指明具体的操作数或操作数的来源(地址)。

根据操作数的数量不同,可以将指令格式分为:零地址指令、一地址指令、二地址指令、三地址指令和多地址指令。

2、寻址方式

寻址方式,指的是如何确定指令中操作数的地址及下一条指令的地址。

为了充分利用硬件资源、提高机器性能以及便于程序设计等,操作数允许以多种形式存储,亦即操作数来源于多方面,如主存、通用寄存器、堆栈等。指令系统设计时,将多种多样寻找操作数的方式归纳成若干种规则,以利于硬件实现和程序设计。

按指令的寻址空间来分,寻址方式可以分为立即数寻址寄存器寻址主存寻址堆栈寻址4种

3、指令的功能分类

计算机中需要具备各种类型的指令来实现应用程序的功能。

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

4、CISC 和 RISC

按照指令系统复杂程度的不同,ISA可以分为 CISC RISC 两大阵营。

CISC 是指复杂指令系统计算机,越来越多的复杂指令被加入指令系统中,使得指令集变得庞大和复杂,这样就产生了CISC体系功能。CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。早期的计算机系统几乎全都是CISC架构。

RISC 是指精简指令系统计算机,日趋庞杂的CISC指令系统不仅不易实现,而且有可能降低系统的效率,因此RISC技术诞生。RISC体系结构的基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现。

RISC技术在CPU芯片上设置大量寄存器,用来保存常用的数据,以大大减少对存储器的访问,用高速的寄存器访问取代低速的存储器访问,从而提高系统整体性能。

目前,CISC占据了桌面和服务器领域的大部分市场,RISC占据了移动和物联网领域大部分市场,但它们知识代表了ISA设计的两个主要方向,在新一代的CPU设计中,正在逐渐融合RISC 和 CISC技术。


存储系统

计算机系统的本质属性是时间空间,也就是计算存储

计算机中的存储系统层次结构

第一层:寄存器组

寄存器组是CPU的一部分。寄存器间数据的传递只需要一个时钟周期,速度最快,可以与CPU直接匹配。

第二层:高速缓冲存储器(cache)

它置于主存储器与CPU之间存放那些运行程序近期将要用到的指令与数据,其速度比主存快很多,由存储器管理部件控制

第三层:主存储器

计算机主要部件,是存储系统的核心。CPU指令可以直接访问。存储系统中的诸项技术措施都是为改善主存储器的性能。

第四层:辅助存储器

由软件、硬盘组成,有容量大、价格低的特点

第五层:脱机存储器

磁带机、光盘

存储介质越往上速度越快、价格越高、容量越小,越往下速度越慢、价格越低、容量越大。形成了存储器“容量大、速度快、价格低”三者之间的矛盾。

程序访问的局部性包含时间局部性空间局部性两方面。

时间局部性是指最近访问过的内容很可能会在短期内被再次访问,如程序中的循环。

空间局部性是指某个存储单元被访问,短时间内其附近的存储单元也会被访问。

“Cache – 主存 – 辅存”是存储体系里最重要的三级层次,通常将其分为“Cache – 主存”和“主存 – 辅存”两个两级存储系统来讨论。

主存 – 辅存”两级存储系统也称为虚拟存储系统

Cache 和主存储器

在CPU和主存之间加入高速缓冲存储器(Cache)。Cache容量很小,不会导致系统成本大幅增加,Cache与指令编码无关,也不会产生通用寄存器过多而带来的弊端。Cache访问速度很快,主存绝大部分信息都能在Cache中访问到,因此Cache和主存这个存储层次的平均访问时间非常接近Cache。

“Cache – 主存”层次的理论依据是程序局部性。

Cache与主存储器间最基本的地址映射方式有三种:全相联映射直接映射组相联映射

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

  • 随机法(RAND):随机地确定替换的存储块。这种方法简单、易于实现,但没考虑Cache块过去被使用的情况,反映不了程序的局限性,所有Cache命中率比较低。
  • 先进先出法(FIFO):在候选块中选择最早送入Cache的那一行进行替换。它利用数据行的“历史”使用信息,但不能正确反映程序局部性,因为最早进入Cache的块很可能时经常被引用的块。这种方法易于实现,命中率比随机法高。
  • 最近最少使用法(LRU):最近最少使用的块,很可能在不久的将来也很少使用,能较好反映程序局部性规律,但实现起来比较困难,它不但要记录每块使用次数,而且要反映出近期使用的次数。

在现代多核处理器中,Cache的一致性体现在两个方面一是Cache与主存之间的数据一致性,二是各个处理器内核私有的Cache之间的数据一致性。

Cache与主存之间的数据一致性通过Cache特定的写操作方式来保证,写直达写回是两种常用的Cache写方式

  • 写直达:每次CPU修改了cache中的数据,立即更新到主存,保证了数据的高一致性,但效率非常低。
  • 写回:每次CPU修改了cache中的数据,不会立即更新到主存,而是等到某一个合适的时机才会更新到主存中。

在多核处理器中,处理器内核之间的缓存一致性通过缓存一致性协议来维护,MESI是最为经典的缓存一致性协议。

MESI协议将Cache Line的状态分成修改独占共享失效

  • 修改:当前CPU Cache拥有最近数据(最新的Cache Line),其他的CPU拥有失效数据,虽然当前CPU中的数据和主存是不一致的,但是以当前CPU数据为准。
  • 独占:只有当前CPU中有某数据,其他CPU中没有该数据,当前CPU的数据和主存中的数据是一致的。
  • 共享:当前CPU和其他CPU中有共同数据,并且和主存中的数据一致。
  • 失效:当前CPU中的数据失效,数据应该从主存中获取,其他CPU中可能有数据也可能无数据,当前CPU中的数据和主存被认为是不一致的。


微处理器体系结构

微处理器,也就是通常所说的中央处理器(CPU),是计算机系统中最重要、最核心的部件,CPU控制整个程序的执行,而程序是指令的序列,因此CPU的根本任务是执行指令,在指令的执行过程中会对数据进行存取和处理

单核处理器基本结构

传统单核CPU控制器运算器这两个主要部件组成

指令集可以看作CPU设计的蓝图,不同指令集会产生不同的处理器设计。

CPU主要由控制器运算器存储单元三部分组成,这三部分由CPU内部总线相连。程序运行时,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。

  1. 控制器 ??-->??从主存取出一条指令,按该指令功能,用硬件产生所需的带有时序标志的一系列微操作控制信号,控制计算机内各功能部件的操作,协调和指挥整个计算机完成指令的功能。
  2. 运算器 ??-->??它接受控制器的命令,负责完成对操作数据的加工处理,其核心部件时算术逻辑单元。与控制器相比,运算器接受控制器的命令而进行操作,即运算器所进行的全部操作都由控制器发出的控制信号来指挥,所以它是执行部件
  3. 存储单元 ??-->??存储单元包括CPU片内的高速缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据或已经处理过的数据

?

?

?

多核处理器基本结构

目前,通用处理器芯片基本上都采用了多核处理器(CMP)架构,4核、8核CPU已经称为个人计算机的标配。

按计算内核的对等与否,多核处理器(CMP)可分为同构多核异构多核计算机内核相同、地位对等的称为同构多核,Intel和AMD主推的多核处理器,大多都是同构的多核处理器;计算内核不同、地位不对等的称为异构多核,异构多核多采用“主处理核 + 协处理核”的设计。

处理核本身的结构,关系到整个芯片的面积、功耗核性能

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:57:18  更:2021-08-24 16:00:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 9:59:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计