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

本文深入探讨了计算机体系结构的基础,包括指令格式、寻址方式和指令分类。介绍了CISC和RISC两种指令集架构的差异,以及存储系统层次,特别是Cache和主存储器的作用。同时,概述了单核和多核处理器的基本结构,强调了冯·诺依曼体系的重要性和在现代计算机中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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

计算机系统层次结构

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主推的多核处理器,大多都是同构的多核处理器;计算内核不同、地位不对等的称为异构多核,异构多核多采用“主处理核 + 协处理核”的设计。

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

本书是将要学习嵌入式或者想要成为linux系统管理人员的基本入门书籍,非常不错 Linux应用开发基础 目 录 第一章 了解LINUX操作系统.......................................................... 6 1.1 什么是LINUX ................................................................. 6 1.2 LINUX商标的故事............................................................. 7 1.3 LINUX系统特性............................................................... 7 1.4 LINUX有多少个版本........................................................... 7 1.5 LINUX版本号................................................................. 8 1.6 LINUX其他系统的比较....................................................... 8 1.7 列举一些LINUX下的软件....................................................... 9 1.8 LINUX成功的因素............................................................. 9 第二章 LINUX的安装组成......................................................... 10 2.1 你适合学习LINUX吗........................................................... 10 2.2 四大LINUX发行版本........................................................... 11 2.2.1 Ubuntu ................................................................ 12 2.2.2 Red Hat(Fedora) ..................................................... 12 2.2.3 红旗Linux ............................................................. 13 2.2.4 SuSE .................................................................. 13 2.3 安装LINUX前的工作............................................................ 14 2.3.1 Linux界面欣赏.......................................................... 14 2.3.2 安装Linux的硬件需求................................................... 16 2.3.3 获取Linux安装程序..................................................... 17 2.3.4 记录您的硬件信息...................................................... 17 2.3.5 备份数据.............................................................. 17 2.3.6 划分空间.............................................................. 18 2.4 安装LINUX .................................................................... 25 2.5 VMWARE虚拟机安装LINUX ......................................................... 37 2.6 硬盘安装LINUX ................................................................ 49 2.6.1 Ubuntu硬盘安装.......................................................... 49 2.6.2 Fedora硬盘安装.......................................................... 50 2.6.3 红旗Linux硬盘安装....................................................... 52 2.6.4 SuSE硬盘安装............................................................ 53 2.7 LINUX四个主要部分............................................................ 54 2.7.1 Linux Shell ............................................................. 54 2.7.2 Linux 实用工具.......................................................... 55 2.7.3 Linux 文件系统.......................................................... 55 2.7.4 内核.................................................................... 56 2.8 LINUX目录结构................................................................ 56 第三章 LINUX SHELL ............................................................... 58 3.1 LINUX SHELL 简介.............................................................. 58 3.2 启动SHELL .................................................................... 58 3.3 SHELL命令基本规则............................................................ 59 3.4 常用SHELL命令................................................................ 60 3.5 远程SHELL服务................................................................ 64 3.6 常见SHELL命令解析............................................................ 66 3.6.1 用“mkdir”命令建立目录................................................. 66 3.6.2 用“du”命令检查文件及目录占用空间...................................... 69 3.6.3 使用“ls”命令浏览目录内容.............................................. 71 3.6.4 用“groupdel”命令删除组................................................ 75 3.6.5 用“uname”命令获得系统信息............................................. 77 3.6.6 用“userdel”命令删除用户............................................... 78 3.6.7 用“top”命令显示系统进程............................................... 79 3.6.8 用“df”命令查看磁盘分区................................................ 81 3.6.9 用“cal”命令显示月历年历............................................... 85 3.6.10 用“clear”命令清理终端................................................ 88 3.6.11 用命令创建用户......................................................... 89 3.6.12 用“cd”命令定向到目录................................................. 92 3.6.13 用“groupadd”命令创建组............................................... 97 3.6.14 用“kill”命令杀死进程................................................. 99 3.6.15 用“file”命令验证文件................................................ 100 3.7 RPM包和“RPM”命令.......................................................... 102 3.8 用“MOUNT”命令安装分区..................................................... 111 3.9 用命令复制、移动和删除文件................................................. 120 第四章 LINUX文本编辑器VIM ....................................................... 127 4.1 VIM第一步.................................................................. 127 4.1.1 首次运行Vim ............................................................ 127 4.1.2 插入文本............................................................... 128 4.1.3 移动光标............................................................... 130 4.1.4 删除字符............................................................... 131 4.1.5 其他编辑命令........................................................... 134 4.1.6 退出................................................................... 135 4.1.7 求助................................................................... 136 4.2 移动...................................................................... 138 4.2.1 以Word为单位的移动..................................................... 138 4.2.2 移动到行首或行尾....................................................... 139 4.2.3 移动到指定的字符上..................................................... 140 4.2.4 以匹配一个括号为目的的移动............................................. 141 4.2.5 移动到指定行........................................................... 141 4.2.6 告诉你当前的位置....................................................... 142 4.2.7 滚来滚去............................................................... 143 4.2.8 简单搜索............................................................... 144 4.2.9 简单的搜索模式......................................................... 148 4.2.10 使用标记.............................................................. 149 4.3 小幅改动.................................................................. 151 4.3.1 操作符命令和位移....................................................... 151 4.3.2 改变文本............................................................... 152 4.3.3 重复改动............................................................... 154 4.3.4 Visual模式............................................................. 155 4.3.5 移动文本............................................................... 157 4.3.6 复制文本............................................................... 158 4.3.7 使用剪贴板............................................................. 158 4.3.8 文本对象............................................................... 159 4.3.9 替换模式............................................................... 160 4.3.10 结论.................................................................. 161 4.4 编辑多个文件.............................................................. 161 4.4.1 编辑另一个文件......................................................... 161 4.4.2 文件列表............................................................... 162 4.4.3 切换到另一文件......................................................... 165 4.4.4 备份................................................................... 166 4.4.5 在文件间复制粘贴....................................................... 167 4.4.6 查看文件............................................................... 169 4.4.7 更改文件名............................................................. 170 第五章 认识LINUX系统服务........................................................ 171 5.1 系统服务DAEMONS ........................................................... 171 5.1.1 什么是daemons .......................................................... 171 5.1.2 daemons的分类.......................................................... 172 5.1.3 服务有关的端口对应资料:/etc/services ................................ 173 5.1.4 Daemon的命名规则....................................................... 175 5.1.5 系统Daemon放在哪里..................................................... 175 5.1.6 Daemon的启动方式:service .............................................. 176 5.2 解析SURPER DAEMON的设定档.................................................. 177 5.2.1 解析xinetd.conf ........................................................ 177 5.2.2 一个简单的 telnet 范例设定............................................. 181 5.3 TCP_WRAPPERS .............................................................. 184 5.4 系统开启的服务........................................................... 187 5.4.1 观察系统启动的服务..................................................... 187 5.4.2 设定开机后立即启动服务的方法........................................... 188 5.4.3 各个服务的简单说明..................................................... 193 第六章 LINUX基本网络服务........................................................ 201 6.1 网络....................................................................... 201 6.1.1 什么是网络............................................................. 202 6.1.2 以太网络............................................................... 204 6.1.3 OSI七层协定............................................................ 212 6.2 LINUX常用网络指令介绍....................................................... 215 6.2.1 网络参数设定指令....................................................... 215 6.2.2 网络侦错观察指令..................................................... 228 6.2.3 远程联机指令........................................................... 238 6.2.4 文字接口网页浏览....................................................... 244 6.2.6 封包撷取功能........................................................... 248 6.3 简易NFS服务器的设定........................................................ 258 6.3.1 NFS的由来其功能...................................................... 258 6.3.2 需要的套件............................................................. 260 6.3.3 server端的设定......................................................... 261 6.3.4 client端的设定......................................................... 270 6.3.5 安全设定(被防火强挡了) ................................................. 272 6.4 简易SAMBA服务器的设定...................................................... 275 6.4.1 原理................................................................... 275 6.4.2 套件安装............................................................... 281 6.4.3 server端的设定......................................................... 283 6.4.4 client端的设定......................................................... 332 6.4.5 安全相关方面........................................................... 336
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值