系统架构设计师 - 计算机组成与体系结构(1)

news2025/1/11 22:52:08

计算机组成与体系结构

  • 计算机组成与体系结构
    • 计算机结构 ★
      • CPU 组成结构
        • 运算器组成
        • 控制器组成
      • 计算机体系结构
        • 冯诺依曼结构
        • 哈弗结构
      • 嵌入式芯片(了解)
    • 存储系统 ★★★★
      • 概述
      • Cache
      • 主存编址
      • 磁盘管理
        • 磁盘基本结构与存取过程
        • 磁盘优化分布存储
        • 磁盘管理


大家好呀!我是小笙,本章我主要分享系统架构设计师 - 计算机组成与体系结构(1)知识,这也是软考的第一篇文章,希望内容对你有所帮助!!

计算机组成与体系结构

计算机结构 ★

image-20240416221941402

CPU 组成结构

运算器组成
  • 算数逻辑单元 ALU:数据逻辑运算
  • 数据缓冲寄存器 DR:读写内存
  • 状态条件寄存器 PSW:溢出、进位标志
  • 累加寄存器 AC:数据暂存区(通用寄存器)
控制器组成
  • 程序计数器 PC:存储下一条要执行指令的地址
  • 指令寄存器 IR:即将要执行的指令
  • 指令译码器 ID:对指令的操作码字段进行分析解释
  • 时序部件:提供时序控制信号

例题

计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作
码,首先是将 程序计数器 PC 的内容送到地址总线上


计算机体系结构

冯诺依曼结构

称为普林顿结构,是一种程序指令和数据存储器合并在一起的存储结构

特点

  • 指令和数据存储器合并在一起
  • 指令和数据都通过相同的数据总线传输
  • 一般用于PC 处理器 i3、i5、i7
哈弗结构

是一种特殊程序和数据存储分开的存储结构

特点

  • 指令和数据分开存储,可以并行读取,有较高的数据吞吐率
  • 有四条总线,指令与数据有各自的数据总线和地址总线
  • 一般用于嵌入式系统处理器 DSP(数字信号处理)

例题

目前处理器市场中存在CPU和DSP两种类型处理器,分别用于不同场景,这两种处理器具有不同的体系结构,DSP采用 哈佛结构

  1. 冯·诺伊曼结构(一般用于PC 处理器 i3、i5、i7)
  2. 哈佛结构(一般用于嵌入式系统处理器 DSP)
  3. FPGA结构
  4. 与GPU相同结构

嵌入式芯片(了解)

定义简称特点类比
DSPDSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法数字信号处理器适合数字信号处理运算,实时快速地实现各种数组信号处理算法做数学运算的“大脑
SoC即片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统片上系统信息系统核心的芯片集成。微小型系统包括大脑心脏、眼睛和手等、完成某个功能的系统
MPU微机中的中央处理器(CPU)称为微处理器(MPU)是构成微机的核心部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作微处理器微型机的核心部件,起到控制作用缩小版“大脑“
MCU微控制单元,又称单片微型计算机或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory以、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制单片微型计算机或单片机芯片级计算机。对处理器做适当缩减,并将内存、计数器等周边接口整合在单一芯片上,可以为不同的应用场合做不同控制组合缩小版“人”

例题

嵌入式处理器是嵌入式系统的核心部件,一般可分为嵌入式微处理器(MPU)、微控制器(MCU)、数字信号处理器(DSP)和片上系统(SOC)。以下叙述中,错误的是MPU在安全性和可靠性等方面进行增强,适用于运算量较大的智能系统

  1. MPU在安全性和可靠性等方面进行增强,适用于运算量较大的智能系统(通过cpu卡板集成在芯片内部,利于嵌入式趋于小型化,具有效率性和可靠性,但是没有安全性)
  2. MCU典型代表是单片机,体积小从而使功耗和成本下降
  3. DSP处理器对系统结构和指令进行了特殊设计,适合数字信号处理
  4. SoC是一个有专用目标的集成电路,其中包括完整系统并有嵌入式软件的全部内容(指单个芯片集成完成系统)

存储系统 ★★★★

概述

从速度、容量以及价格三个性能指标来分析存储器

image-20230701164422221

Cache

在计算机体系结构中,Cache 是访问速度最快的层次

目的:主要用于提高 CPU 数据输入输出的速率

为什么 Cache 能够快速的改善系统性能?

  • 时间局部性原理:某条指令在某段时间内大量循环操作
  • 空间局部性原理:访问了某个存储单元之后紧接着访问临近的存储地址顺序执行(遍历数组)

主存编址

  • bit 比特位 0/1
  • B 字节 1 B = 8bit
image-20240507190011987

存储单元个数 = 最大地址 - 最小地址 + 1

按字编址和按字节编址的区别

  • 按字编址:每个存储单元存储的内容(最小寻址单位就是一个字节)
  • 按字节编址:每个存储单元的存储字大小固定为 8bit

总容量 = 存储单元个数 * 编址内容(字或者字节)

总片数 = 总容量 / 每片的容量

磁盘管理

磁盘基本结构与存取过程

磁盘

image-20240509180941913

扇面

image-20240509181023193

存取时间 = 寻道时间 + 等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间

磁盘优化分布存储
磁盘管理
  • 先来先服务(FCFS)

    image-20240509183650042
  • 最短民道时间优先(SSTF)

    image-20240509222032359
  • 扫描算法(SCAN)

  • 循环扫描算法(CSCAN)

例题

  1. 计算机采用分级存储体系的主要目的是为了 解决存储的容量、价格和速度之间的矛盾

    1. 解决主存容量不足的问题
    2. 提高存储器读写可靠性
    3. 提高外设访问效率
    4. 解决存储的容量、价格和速度之间的矛盾
  2. h 表示 Cache 命中率,t1 表示 Cache 存储周期,t2表示主存的存储周期,求 Cache + 主存平均存储周期 t3

    t3 = h * t1 + (1-h) * t2(命中则计算访问 Cache 的存储时间,不命中则是计算主存的存储时间)

  3. 内存按字节编址,利用 8K * 4bit 的存储芯片构成 84000 H 到 8FFFF H 的内存,共需要多少片数?

    • 存储单元个数 = 8FFFF H + 1 - 84000 H = 12 * 16^3
    • 按字节编址 8 bit
    • 总容量 = 存储单元个数 * 编址内容 = 12 * 16^3 * 8 bit
    • 每片容量 = 8K * 4bit = 8 * 1024 * 4 bit
    • 总片数 = 总容量 / 每片的容量 = 12 * 16^3 * 8 bit / 8 * 1024 * 4 bit = 12个
  4. 某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要 20200 ms时间

    说明:(10 * 10 + 100 + 2)* 100 = 20200 ms

    1. 10200
    2. 11000
    3. 11200
    4. 20200
  5. 假设磁盘臂位于15号柱面上,进程的请求序列如下表表示,如果采用最短移臂调度算法,那么系统的响应序列应为 ⑤①②④③⑥

    image-20240509222206694

    A:①②③④⑤⑥
    B:⑤①②④③⑥
    C:②③④⑤①⑥
    D:④②③⑤①⑥

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++:多态-重写和重载

重写(Override)和重载(Overload)是面向对象编程中常用的两个概念,它们虽然都涉及到方法的定义,但是在实现和使用上有着不同的特点。 重写(Override): 重写是指在子类中重…

部署xwiki服务需要配置 hibernate.cfg.xml如何配置?

1. 定位 hibernate.cfg.xml 文件 首先,确保您可以在 Tomcat 的 XWiki 部署目录中找到 hibernate.cfg.xml 文件: cd /opt/tomcat/latest/webapps/xwiki/WEB-INF ls -l hibernate.cfg.xml如果文件存在,您可以继续编辑它。如果不存在&#xff…

Go语言系统学习笔记(一):基础篇

1. 写在前面 公司的新业务开发需要用到go语言,虽然之前没接触过这门语言,但在大模型的帮助下,边看项目边写代码也能进行go的项目开发,不过,写了一段时间代码之后,总感觉对go语言本身,我的知识体…

【SRC实战】合成类小游戏外挂漏洞

挖个洞先 https://mp.weixin.qq.com/s/ZnaRn222xJU0MQxWoRaiJg “以下漏洞均为实验靶场,如有雷同,纯属巧合” 合成类小游戏三个特点: 1、一关比一关难,可以参考“羊了个羊” 2、无限关卡无限奖励,可以参考“消灭星星…

BBS客户端服务器的编写

根据网络编程中的内容,我们本篇文章将讲解一个bbs通信的项目,首先让我们了解一下什么是bbs. 一、bbs介绍 BBS,即Bulletin Board System的缩写,中文译为“电子公告板系统”或“网络论坛”。它是一个在网络上进行信息交流和讨论的…

【科研】常用的实验结果评价指标(1) —— R2(R-square)是什么?

常用的实验结果评价指标(1) —— R2(R-square),可能为负数吗?! 提示:先说概念,后续再陆续上代码 文章目录 常用的实验结果评价指标(1) —— R2(R-square),可能…

基于WPF的DynamicDataDisplay曲线显示

一、DynamicDataDisplay下载和引用 1.新建项目,下载DynamicDataDisplay引用: 如下图: 二、前端开发: <Border Grid.Row="0" Grid.Column="2" BorderBrush="Purple" BorderThickness="1" Margin="2"><Grid>…

【智能算法应用】基于麻雀搜索算法-支持向量回归预测(SSA-SVR)

目录 1.算法原理2.数学模型3.结果展示4.调试记录5.参考文献6.代码获取 1.算法原理 【智能算法】麻雀搜索算法&#xff08;SSA&#xff09;原理及实现 2.数学模型 支持向量机(SVM)是针对二分类问题&#xff0c;支持向量回归(SVR)基于SVM应用与回归问题。SVR回归与SVM分类的区…

【JVM】了解JVM规范中的虚拟机结构

目录 JVM规范的主要内容 1&#xff09;字节码指令集(相当于中央处理器CPU) JVM指令分类 2&#xff09;Class文件的格式 3&#xff09;数据类型和值 4&#xff09;运行时数据区 5&#xff09;栈帧 6&#xff09;特殊方法 7&#xff09;类库 JVM规范的主要内容 1&#…

Paddle 实现DCGAN

传统GAN 传统的GAN可以看我的这篇文章&#xff1a;Paddle 基于ANN&#xff08;全连接神经网络&#xff09;的GAN&#xff08;生成对抗网络&#xff09;实现-CSDN博客 DCGAN DCGAN是适用于图像生成的GAN&#xff0c;它的特点是&#xff1a; 只采用卷积层和转置卷积层&#x…

如何编译不同目录下的两个文件

1.直接编译 2.打包成动静态库进行链接

【Shell脚本】Shell编程之循环语句

目录 一.循环语句 1.for语句的结构 1.1.格式 1.2.实操案例 案例1. 案例2. 案例3. 案例4. 2.while语句的结构 2.1.格式 2.2.实操案例 案例1. 案例2. 案例3. 案例4. 3.until循环命令 3.1.格式 3.2.实操案例 案例1. 二.补充 1.常用转义符 一.循环语句 1.for…

鸿蒙内核源码分析(任务切换篇) | 看汇编如何切换任务

在鸿蒙的内核线程就是任务&#xff0c;系列篇中说的任务和线程当一个东西去理解. 一般二种场景下需要切换任务上下文: 在线程环境下&#xff0c;从当前线程切换到目标线程&#xff0c;这种方式也称为软切换&#xff0c;能由软件控制的自主式切换.哪些情况下会出现软切换呢? 运…

Leetcode—138. 随机链表的复制【中等】(cend函数)

2024每日刷题&#xff08;129&#xff09; Leetcode—138. 随机链表的复制 实现代码 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { public:Node* copyRan…

【强训笔记】day18

NO.1 思路&#xff1a;双指针模拟。to_string将数字转化为字符。 代码实现&#xff1a; class Solution { public:string compressString(string param) {int left0,right0,nparam.size();string ret;while(right<n){while(right1<n&&param[right]param[right…

我在洛杉矶采访到了亚马逊云全球首席信息官CISO(L11)!

在本次洛杉矶举办的亚马逊云Re:Inforce全球安全大会中&#xff0c;小李哥作为亚马逊大中华区开发者社区和自媒体代表&#xff0c;跟着亚马逊云安全产品团队采访了亚马逊云首席信息安全官(CISO)CJ Moses、亚马逊副总裁Eric Brandwine和亚马逊云首席高级安全工程师Becky Weiss。 …

iOS--runloop的初步认识

runloop的初步认识 简单认识runloopEvent looprunloop其实就是个对象NSRunloop和CFRunLoopRef的依赖关系runloop与线程runloop moderunloop sourceCFRunLoopSourceCFRunLoopObserverCFRunLoopTimer runloop的实现runloop的获取添加ModeCFRunLoopAddCommonMode 添加Run Loop Sou…

找不到msvcp140.dll无法执行代码的原因分析及修复方法

当用户在尝试运行某些应用程序或游戏时&#xff0c;可能会遇到系统弹出错误提示&#xff0c;显示“找不到msvcp140.dll无法执行代码”这一错误信息&#xff0c;它会导致程序无法正常启动。为了解决这个问题&#xff0c;我经过多次尝试和总结&#xff0c;找到了以下五种解决方法…

【Linux】为什么有僵尸状态,什么是僵尸进程,造成危害以及如何避免“内存泄漏”问题详解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …