系统架构设计师-第1章-计算机系统知识要点

【本章学习建议】

根据考试大纲,本章主要考查系统架构设计师单选题,预计考1分左右。第二版教材2.2节增加了本块内容,但较为简略,需要课程补充,属于非重点内容。

1.1 计算机硬件组成

计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。(冯・诺依曼结构)

运算器、控制器等部件被集成在一起统称为中央处理单元(CPU)

存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度快、容量小,一般用于临时存放程序、数据及中间结果;而后者速度慢、容量大,可长期保存程序和数据。

输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果。

1.2 处理器

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

1. 运算器

2. 控制器

运算器只能完成运算操作,而整个运算过程是由控制器来完成,控制器控制整个CPU的工作。

3. 寄存器组

寄存器组分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器。通用寄存器的用途由程序员来决定。

通用寄存器:当ALU执行算术或逻辑运算时,为ALU提供一个工作区。

分类

寄存器

程序员可见

通用寄存器组、程序状态字寄存器(PSW)、程序计数器(PC)、累加寄存器(AC)

程序员不可见

指令寄存器(IR)、数据缓冲寄存器(DR)、地址寄存器(AR)

1.3 指令系统

1. 指令的格式

指令格式: 

操作码OP地址码A

操作码指定要完成的操作或功能,地址码指定参与操作的操作数的地址

2. 指令的寻址方式

·顺序寻址:下一条指令的地址由程序计数器PC给出,PC每次自增+1;

·跳跃寻址:下一条指令的地址由指令本身给出。

3. 操作数的寻址方式

·立即寻址:指令的地址码字段不是操作数的地址,而是操作数本身,速度最快;

·直接寻址:指令的地址码字段给出操作数在内存的地址(操作数在内存中);

·间接寻址:指令的地址码字段给出操作数在内存的地址的地址(操作数在内存中);

·寄存器寻址:指令的地址码字段给出操作数在寄存器的编号(操作数在寄存器中);

·寄存器间接寻址:指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存的地址(操作数在内存中);

·相对寻址:指令的地址码字段是一个偏移量,这个偏移量加上程序计数器PC的值即为操作数在内存的地址;

·基址寻址:指令的地址码字段是一个偏移量,这个偏移量加上基址寄存器Rb的值即为操作数在内存的地址;

·变址寻址:指令的地址码字段是一个偏移量,这个偏移量加上变址寄存器Rx的值即为操作数在内存的地址。

计算机指令执行过程:取指令->分析指令->执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;之后由指令译码器进行分析,分析指令操作码;最后取出指令执行所需的源操作数,执行指令。

CPU如何区分指令和数据:CPU根据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或数据。

4. 指令集的分类

·CISC指令集:复杂指令集,各条指令按顺序串行执行。

·RISC指令集:精简指令集,减少指令总数,采用优化编译、硬布线、重叠寄存器窗口等技术。

特性

CISC

RISC

指令数目

指令长度

可变长指令

大部分等长指令

控制器复杂性

复杂

简单

寻址方式

较丰富,提高编程灵活性

较少,以提高效率

编程便利性

指令多,编程灵活

编程量更大,采用较多通用寄存器

实现方式

微程序控制技术

采用硬布线逻辑控制优化编译程序,采用流水线技术

5. 指令的流水处理

指令流水线原理:将指令的执行划分成若干个过程段,每个过程段由不同的部件进行处理。

指令流水线的计算

·非流水执行时间:一条指令执行的时间×指令总数

·流水执行时间:第一条指令的执行时间+(n-1)×最长流水段时间,n为指令总数

·加速比:非流水方式与流水方式所用时间之比

·流水线的操作周期:为最长流水段时间

·流水线的吞吐率:为最长流水段时间的倒数

·连续n条指令的吞吐率:指令总数/总时间

1.4 存储器

2. 存储器的分类

按存储器的工作方式可分为:

●随机存取存储器(RAM)

静态随机存储器SRAM,用于Cache

动态随机存储器DRAM,用于主存

特性

SRAM

DRAM

存储元

触发器

电容器

主要用途

Cache

主存

操作

读/写

读/写/周期性刷新

存取速度

稍慢

存储容量

成本

稍高

芯片集成率

●只读存储器存储器(ROM)

ROM分类

擦除方式

擦除速度

可编程次数

固定只读存储器(ROM)

可编程只读存储器(PROM)

-

较慢

一次

可擦除可编程只读存储器(EPROM)

紫外线照射

较慢

较少

电擦除可擦除可编程储存器(EEPROM)

电擦除

较快

100w次左右

闪速存储器(闪存)

电擦除

最快

较少

3. 高速缓存Cache

(1)Cache的功能及原理

高速缓存Cache位于CPU与主存之间,用于存储当前活跃的程序和数据。可以直接与CPU进行数据交互,容量小,速度为主存的5-10倍。其内容是主存的一个拷贝副本,对程序员来说是透明的。

·Cache的功能:解决CPU和主存之间的速度不匹配的问题

·Cache的理论依据:程序的局部性原理

CPU对主存中的指令和数据的访问,在一小段时间内,总是集中在一小块存储空间里。

时间局部性:最近被访问过的指令和数据很可能会被再次访问;

空间局部性:最近访问过的指令和数据往往集中在一小片存储区域中。

(2)主存与Cache的地址映射

在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换成Cache的地址,这种地址的转换称为地址映像。由硬件自动完成映射

·全相联映像:主存中的任意一个块可以与Cache中的任意一行相对应。

--映射方法:多对多

--优点:冲突概率小,Cache的利用率高

--缺点:硬件难实现,且需要一个访问速度很快、成本高的相联存储器

--适用场合:小容量Cache

·直接映像:Cache中一行固定对应主存中的多行。如主存块号对Cache总行数求模。

--映射方法:一对多

--优点:硬件实现简单,成本低,地址变换速度快

--缺点:冲突概率高,且Cache空间利用率不高

--适用场合:大容量Cache

·组相联映像:前两种方式的结合。将Cache进行分组,组间采用直接映射方式,组内采用全相联映射方式

--映射方法:一组对多

--优点:综合前两者的优点,又尽量避免其缺点,故被普遍采用

(3)Cache的替换策略

Cache替换算法的目标是使Cache获得尽可能高的命中率

·随机替换算法:从特定的行位置中随机地选取一行换出即可。特点:硬件易实现,速度快;但命中率和工作效率在小容量Cache中不高。

·先进先出算法(First In First Out,FIFO):最先进入Cache的行被换出。

·LFU算法(Least Frequently Used,LFU):被访问的行计数器增加1,值最小的行被换出。特点:不能反映近期cache的访问情况。

·LRU算法(Least Recently Used,LRU):被访问的行计数器置0,其他的计数器增加1,换值最大的行。特点:符合cache的工作原理

(4)Cache的性能指标

当CPU所访问的数据在Cache中时,直接从Cache中读取数据,即命中;否则,需要从主存中读取数据,即未命中。

命中率:在一个程序执行期间,设N_c表示cache完成存取的次数,N_m表示主存完成存取的总次数,ℎ定义为命中率,则有:

4. 磁盘

磁盘有若干个盘片,每个盘片有正反两个盘面,每个盘有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。

·存取时间:寻道时间+旋转等待时间+数据传送时间

·寻道时间:将磁头定位至所要求的磁道上所需的时间

·旋转等待时间:寻道完成后至磁道上需要访问的信息到达磁头下的时间,平均等待时间为磁盘旋转一周所需时间的一半

·数据传送时间:读取数据所需的时间

1.5 总线

总线(Bus),是指在计算机中,设备和设备之间传输信息的公共数据通道

总线的分类1

(1)内部总线:CPU内部连接运算器、控制器、各寄存器部件之间的总线。

(2)系统总线(外部总线):CPU和计算机系统中其他高速功能部件相互连接的总线。 按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。

1)数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关

2)地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关

3)控制总线传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。

(3)I/O总线:中低速I/O设备相互连接的总线。

总线的分类2

按数据传输格式将总线分为串行总线并行总线

总线分类

数据线

特点

应用

串行总线

一条双向数据线或两条单向数据线

速率不高,但适合长距离连接

通信总线(计算机之间或计算机与其他系统之间)

并行总线

多条双向数据线

有传输延迟,适合近距离连接

系统总线(计算机各部件)

常见的总线:

·PCI总线:PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。

·SCSI总线:小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。

·RS-232C(串行外总线)、USB(串行外总线)、IEEE-1394(串行外总线)、IEEE-488(并行外总线)等。

1.6 输入输出技术

CPU与外围设备之间的信息交换方式

·I/O接口与外设之间的信息交换

·CPU与I/O接口之间的信息交换:程序查询方式、程序中断方式、DMA方式、通道方式。

1. 程序查询方式

CPU执行程序来轮询查询外设的状态,判断外设是否准备好接收数据或向CPU输入数据。

--特点:

·CPU与外设串行工作

·硬件结构简单

·CPU大量时间都在查询和等待,资源浪费较多

·需要CPU保存现场,由CPU将数据放入内存

·一次读写单位为字

--适用场合

·低速外设或CPU任务不繁忙的情况

2. 程序中断方式

中断:CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完成后自动返回原程序的功能和技术。

中断方式:当I/O接口与外设交换数据过程中,CPU无须等待;当交换数据完成时,I/O接口产生中断,通知CPU处理数据。

--特点

·CPU与外设可并行工作

·但硬件结构相对复杂一些,服务开销时间大

·需要CPU保存现场,由CPU将数据放入内存

·一次读写单位为字

--适用场合

·微型机中随机出现的服务

·对I/O处理的实时性要求很高的系统

例如:键盘

中断向量:中断服务程序的入口地址

中断响应时间:从发出中断请求到开始进入中断处理程序;

中断处理时间:从中断处理开始到中断处理结束;

保存现场:为了正确返回原程序继续执行;

单级中断系统:所有中断源属于同一级,离CPU越近优先级越高。执行中断服务程序时不会被打断。

多级中断系统:中断源根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一般说来,优先权高的中断级可以打断优先权低的中断服务程序,以程序嵌套方式进行工作多级中断可以嵌套,但同级的中断不允许嵌套;中断响应采用硬件实现;使用堆栈保存现场。

3. DMA方式

直接内存存取(DMA),DMA控制器接管总线的控制权,数据交换不经过CPU,直接在内存和I/O设备间进行成块传送。

--特点

·CPU与外设可并行工作

·仅在传送数据块的开始和结束时才需要CPU的干预

·不需要CPU保护现场

·由外设直接将数据放入内存(或相反)

·一次读写单位为块,传送一个数据占用一个存储周期

--适用场合

·微型机中内存与高速外围设备进行大批量的数据交换

4. 输入/输出处理机IOP(通道方式)

由通道(输入输出处理机IOP)管理外围设备。

--特点

·大大提高了CPU的效率

·但需要更多的硬件

--适用场合

·处理外设较多,规模较大的情形(大型机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2081.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C】初阶数据结构3 -- 单链表

之前在顺序表那一篇文章中,提到顺序表具有的缺点,比如头插,头删时间复杂度为O(n),realloc增容有消耗等。而在链表中,这些问题将得到解决。所以在这一篇文章里,我们将会讲解链表的定义与性质,以及…

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP(Internet Control Message Protocol)是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息,提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试(…

nvm 管理nodejs,安装pnpm后报错,出现:pnpm不是内部或外部命令,也不是可运行的程序或批处理文件。

系统环境:window11,exe安装版nvm出现的该问题,(如果是解压缩配置版本,环境变量自己配置,可能就不会出现这个问题了) 注意:安装nvm时,两个路径尽量放到一个盘上&#xff…

论文阅读:Searching for Fast Demosaicking Algorithms

今天介绍一篇有关去马赛克的工作,去马赛克是 ISP 流程里面非常重要的一个模块,可以说是将多姿多彩的大千世界进行色彩还原的重要一步。这篇工作探索的是如何从各种各样的去马赛克算法中,选择最佳的一种。 Abstract 本文提出了一种方法&…

活动预告 | CCF开源发展委员会开源供应链安全技术研讨会(2025第一期)——“大模型时代的开源供应链安全风控技术”...

点击蓝字 关注我们 CCF Opensource Development Committee CCF开源发展委员会开源供应链安全工作组(以下简称CCF-ODC-OSS)将于1月17日下午在北京黄大年茶思屋举行2025年第一期开源供应链安全技术研讨会,此次研讨会主题为“大模型时代的开源供…

centos 8 中安装Docker

注:本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载,选择适合你们的下载即可! 1、CentOS官方下载地址:https://vault.centos.org/ 2、阿里云开源镜像站下载:centos安装包…

关于Profinet 从站转 EtherNet/IP 从站网关详细说明

一、产品概述 1.1 产品用途 本产品是 PN(Profinet) 和 EtherNet/IP 网关,使用数据映射方式工作。 本产品在 PN 侧作为 PN IO 从站,接 PN 主站设备,比如西门子 PLC 等;在EtherNet/IP 侧做为 EtherNet/IP 从站&…

【SH】Xiaomi9刷Windows10系统研发记录 、手机刷Windows系统教程、小米9重装win10系统

文章目录 参考资料云盘资料软硬件环境手机解锁刷机驱动绑定账号和设备解锁手机 Mindows工具箱安装工具箱和修复下载下载安卓和woa资源包第三方Recovery 一键安装Windows准备工作创建分区安装系统 效果展示Windows和Android一键互换Win切换安卓安卓切换Win 删除分区 参考资料 解…

企业服务-团队协作相关平台极简介绍

前言 最近,为一家企业做咨询,该公司主要从事地产行业,老板李总招了几名研发人员,想着开发自己的行业APP,但是3年了,产品一直拿不出手,按李总的说法,产品还是很不成熟,但…

怎么防止SQL注入攻击

引言 SQL注入攻击是黑客对数据库进行攻击的常用手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据…

一文说清楚Linux gdb

以下是关于 GDB(GNU Debugger) 的详细介绍: 什么是 GDB? 定义 GDB(GNU Debugger)是 GNU 项目开发的一款功能强大的调试工具,用于调试 C、C、Fortran 等语言编写的程序。它允许开发者执行程序时…

api开发及运用小红书笔记详情api如何获取笔记详情信息

item_get_video-获得某书笔记详情 smallredbook.item_get_video 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,i…

蓝桥杯第二天学习笔记

二维码生成: import qrcode from PIL import Image, ImageDraw, ImageFont import osdef generate_custom_qr_code(data, qr_file_path, logo_file_pathNone, textNone):# 创建QRCode对象qr qrcode.QRCode(version1,error_correctionqrcode.constants.ERROR_CORRE…

Springboot和Es整合

说明&#xff1a;本文章主要是简单整合和简单增删改查。 1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi…

stack_queue的底层,模拟实现,deque和priority_queue详解

文章目录 适配器Stack的模拟实现Queue的模拟实现vector和list的对比dequedeque的框架deque的底层 priority_queuepriority_queue的使用priority_queue的底层仿函数的使用仿函数的作用priority_queue模拟实现 适配器 适配器是一种模式&#xff0c;这种模式将类的接口转化为用户希…

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用-以ENSO预测为例讲解

1. 背景与目标 ENSO&#xff08;El Nio-Southern Oscillation&#xff09;是全球气候系统中最显著的年际变率现象之一&#xff0c;对全球气候、农业、渔业等有着深远的影响。准确预测ENSO事件的发生和发展对于减灾防灾具有重要意义。近年来&#xff0c;深度学习技术在气象领域…

网络安全概述

在早期的互联网&#xff08;也是一种计算机网络&#xff09;中数据都是明文传输的&#xff0c;例如直接使用http协议。但由于越来越多的商业和政府的数据也都在互联网传输&#xff0c;直接使用明文传输&#xff0c;相当于让数据在网络中裸奔&#xff0c;而且网络中攻击者可以直…

39.【4】CTFHUB web sql 布尔注入

进入靶场 按照提示输入1 布尔注入只显示正确与否&#xff0c;手动注入太麻烦,用sqlmap -dbs爆出库名 -tables爆出表名 -columns 爆出字段名 --dump得到flag 笔记 1&#xff0c;sqlmap使用步骤 -dbs 爆出表名 -tables爆出库名 -columns爆出字段名 --dump爆出字段内容 2&a…

C#中通道(Channels)的应用之(生产者-消费者模式)

一.生产者-消费者模式概述 生产者-消费者模式是一种经典的设计模式&#xff0c;它将数据的生成&#xff08;生产者&#xff09;和处理&#xff08;消费者&#xff09;分离到不同的模块或线程中。这种模式的核心在于一个共享的缓冲区&#xff0c;生产者将数据放入缓冲区&#x…

【STM32】HAL库USB实现软件升级DFU的功能操作及配置

【STM32】HAL库USB实现软件升级DFU的功能操作及配置 文章目录 DFUHAL库的DFU配置修改代码添加条件判断和跳转代码段DFU烧录附录&#xff1a;Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作位带代码位带宏…