软件设计师教程(二)计算机系统知识-计算机体系结构

news2024/11/23 0:38:51

软件设计师教程

软件设计师教程(一)计算机系统知识-计算机系统基础知识


计算机体系结构

  • 软件设计师教程
  • 计算机体系结构的发展
    • 计算机系统结构概述
    • 计算机体系结构分类
    • 指令系统
      • 指令集体系结构的分类
      • CISC和RISC
      • 指令的流水处理
    • 阵列处理机、并行处理机和多处理机
      • 阵列处理机
      • 并行处理机
      • 多处理机
      • 其他计算机
  • 存储系统
    • 存储器的层次结构
    • 存储器的分类
      • 位置分类
      • 构成材料
      • 工作方式
      • 访问方式
      • 寻址方式
    • 相连存储器
    • 高速缓存
      • 组成
      • 映像方法
      • 替换算法
      • Cache的性能分析
      • 多级Cache
    • 虚拟存储器
    • 外存储器
      • 磁表面存储器
      • 光盘存储器
      • 固态硬盘
    • 磁盘阵列技术
    • 存储域网络
  • 输入/输出技术
    • 微型计算机最常用的内存与接口的编址方法
      • 内存与接口地址独立编址
      • 内存与接口地址统一编址
    • 直接程序控制
      • 无条件传送
      • 程序查询方式
    • 中断方式
      • 中断方法
      • 中断优先级控制
    • 直接存储器存取方式
    • 输入/输出处理机(IOP)
  • 总线结构
    • 总线的分类
    • 常见总线


计算机体系结构的发展

计算机系统结构概述

计算机体系结构 ⇒ 计算机的概念性结构和功能属性
计算机组织 ⇒ 计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)
计算机实现 ⇒ 计算机组织的物理实现

计算机体系结构分类

宏观处理器数量 ⇒ 单处理系统 + 并行处理系统 + 多处理系统 + 分布式处理系统
微观按并行程度 ⇒ Flynn分类 + 冯泽云分类 + Handler分类 + Kuck分类

指令系统

一个处理器支持的指令和指令的字节级编码称为指令集体系结构(ISA),不同的处理器族支持不同的指令集体系结构。

指令集体系结构的分类

系统结构的观点:

1> 操作数在CPU中的存储方式,即操作数从主存取出后保存在什么地方。
2> 显式操作数的数量,即在典型的指令中有多少个显式命名的操作数。
3> 操作数的位置,即任一个ALU指令的操作数否放在主存中,如何定位。
4> 指令的操作,即在指令集中提供哪些操作。
5> 操作数的类型和大小。

按暂存机制分类:

1> 堆栈
2> 累加器
3> 寄存器组

CISC和RISC

CISC 进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,大多数计算机都属于CISC。 ---- 复杂指令集计算机

弊端:

  1. 指令集过分庞杂
  2. 微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度
  3. 指令系统过分庞大 ⇒ 高级语言编译程序选择目标指令的范围很大 ⇒ 编译程序本身冗长、复杂,不高效
  4. 强调完善的中断控制 ⇒ 动作繁多、设计复杂、研制周期长
  5. 芯片设计难,芯片种类增多,出错几率增大

RISC 减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。

  1. 重叠寄存器窗口技术
  2. 优化编译技术
  3. 超流水线及标量技术、
  4. 硬布线逻辑与微程序相结合在微程序技术中

优化
对大量机器语言目标代码及其执行情况进行了统计,优化目标代码。

指令的流水处理

指令控制方式 ⇒ 顺序方式、重叠方式、流水方式

流水线的种类
级别 ⇒ 部件级、处理机级 以及 系统级
功能 ⇒ 单功能、多功能
连接 ⇒ 静态、动态
是否有反馈回路 ⇒ 线性、非线性
流动顺序 ⇒ 同步、异步
数据表示 ⇒ 标量、向量

相关处理 ⇒ 局部相关和全局相关

多条指令对同一主存单元或寄存器的“先写后读”的要求,就出现了局部相关 ⇒ 局部相关解决 ⇒ 推后法和通路法 ⇒ 推后就是直到我指令写完后,在读取。 通路法就是设置相关专用通路,就不必先把运算结果写入相关存储单元,再读出使用,直接通过相关通路使用运算结果

转移指令与其后面的指令存在关联,不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降 ⇒ 全局性相关 ⇒ 猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。

首先猜一波,直接猜转移不成功,猜对了,就直接把命令加载好了。

尽早获得条件码以便对流水线简化条件转移的处理。

流水线采用特殊措施加快循环程序的处理

RISC ⇒ 超流水线、超标量以及超长指令字

吞吐率是指单位时间内流水处理机流出的结果数,单位时间内执行的指令数。

阵列处理机、并行处理机和多处理机

并行性 同时性和并发性。 同时就是同一时刻发生,并发就是统一时间间隔连续发生。

并行处理 ⇒ 存储器操作并行、处理器操作步骤并行、处理器操作并行、指令、任务、作业并行

阵列处理机

单指令流多数据流计算机,通过资源重复实现并行性。

并行处理机

SIMD和MIMD都是典型的并行计算机
SIMD 有共享存储器和分布式存储器两种形式,共享存储器构成同一的并行处理机存储器,通过互联网络ICN为整个并行系统的所有处理单元共享。分布式存储器含有多个同样结构的处理单元,通过寻径网络ICN以一定的方式相互连接。

多处理机

由多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立程序,共享一个主存储器和所有的外部设备。

其他计算机

集群。

存储系统

存储器的层次结构

在这里插入图片描述

存储器的分类

位置分类

内存和外存

构成材料

磁存储器、半导体存储器和光存储器

工作方式

读/写存储器和只读存储器

访问方式

地址访问存储器和内容访问存储器

寻址方式

随机存储器、顺序存储器和直接存储器

相连存储器

相连存储器是一种按内容访问的存储器。就跟字典一样,找的时候好找。

高速缓存

存放当前最活跃的程序和数据

组成

在这里插入图片描述

映像方法

在CPU工作中,送出的是主存单元的地址,而应从Cache存储器中读写信息。需要将主存地址转换成Cache存储器的地址。

直接映像 全相联映像 组相联映像

替换算法

增加缓存的命中率
随机替换算法、先进先出替换法、近期最少使用算法、优化替换算法

Cache的性能分析

命中率是重要指标
Cache容量越大,命中率越高

多级Cache

多层次缓存,离cpu近的最快

虚拟存储器

一种逻辑存储器,实质将对物理存储设备进行逻辑化处理,并将统一的逻辑视图呈现给用户。

外存储器

磁表面存储器

硬盘,容量较大,速度较快

光盘存储器

容量大、信息保存时间长,存取速度慢

固态硬盘

容量也大,速度快,价格贵

磁盘阵列技术

多个磁盘组成的外存子系统

存储域网络

把一个或多个服务器与存储设备连接起来,每个存储设备可以是多样化的,构成了存储域网络。

输入/输出技术

微型计算机最常用的内存与接口的编址方法

内存与接口地址独立编址

内存与接口地址统一编址

直接程序控制

无条件传送

程序查询方式

有针对性地为外设提供输入输出服务

中断方式

CPU不会时时刻刻盯着数据传送任务是否完成,完成后会给CPU发出中断信号。

中断方法

  • 多中断信号线法
  • 中断软件查询法
  • 菊花链法
  • 总线仲裁法
  • 中断向量表法

中断优先级控制

  • 多个中断源同时中断服务,响应优先级最高的
  • 中断嵌套,允许优先级插队

直接存储器存取方式

在这里插入图片描述

输入/输出处理机(IOP)

具有特殊功能的处理器,分担了CPU一部分功能,可以实现对外围设备的同一管理,完成外围设备与主存之间的数据传送。

总线结构

计算机设备和设备之间传输信息的公共数据通道。

总线的分类

数据总线,传送数据信息,双向
地址总线,传送CPU发出的地址信息,单向
控制总线,传送控制信号、时序信号和状态信息等

常见总线

  • ISA总线
  • EIEA总线
  • PCI总线
  • PCI Express总线
  • 前端总线
  • RS-232C
  • SCSI总线
  • SATA
  • USB
  • IEEE-1394
  • IEEE-488总线

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

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

相关文章

wy的leetcode刷题记录_Day51

wy的leetcode刷题记录_Day51 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间:2022-11-24 前言 目录wy的leetcode刷题记录_Day51声明前言795. 区间子数组个数题目介绍思路代码收获98. 验证二叉搜索树题目介绍思路代码收获795. 区间子数组…

Linux中修改环境变量的几种方法比较分析

修改环境变量的作用 使得命令可以在命令行直接运行 第一种方式,在终端直接使用export **特点:**即可生效,无需重启或刷新文件;终端关闭则失效 第二种方式,修改/etc/profile文件 特点:对所有用户永久有…

算法刷题打卡第29天:省份数量---并查集

省份数量 难度:中等 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市,组内不…

SQL注入漏洞 | iwebsec

文章目录靶场搭建SQL注入漏洞靶场搭建 配置 云服务器:阿里云 系统:CentOS 7.6 靶场:iwebsec CentOS-7.6安装docker 安装iwebsec 启动靶场 docker run --restartalways --name iwebsec -it -dp 8001:80 iwebsec/iwebsec访问不成功 可能是…

希望流程挖掘成为撬动企服市场的突破口 | 专访凡得科技CEO海广跃、首席技术顾问刘聪

2022年,全球流程挖掘市场规模预计将达70多亿人民币,而目前中国流程挖掘行业尚处于市场启蒙期,仅少数大型企业与机构对流程挖掘进行了初步或尝试性的投入。从目前来看,原生流程挖掘厂商会直接面向客户输出流程挖掘能力,…

Spring集合注入

一、环境准备 创建一个Maven项目pom.xml添加Spring依赖resources下添加spring的配置文件applicationContext.xml项目中添加BookDao、BookDaoImpl类 public interface BookDao {public void save(); }public class BookDaoImpl implements BookDao {private int[] array;priva…

容器云平台初始化(harbor的安装部署)

1.虚拟机规划 设备说明主机名接口IP地址虚拟机1MasterEth010.0.0.10/24虚拟机2Node1Eth010.0.0.20/24虚拟机3HarborEth010.0.0.30/24 2.容器云平台初始化(harbor的安装部署) 1.根据规划的IP地址,创建虚拟机,确保网络正常通信。按照规划表修改主机名并关…

Linux-ACL权限

ACL权限简介 ACL:access control list 允许给任何用户或者用户组设置任何文件或者目录的访问权限 查看Linux是否开启ACL dumpe2fs Linux一般都开启了ACL权限,可以使用下面的命令查看分区的ACL权限是否打开 首先可以使用df -h或者lsblk来查看Linux系统…

JioNLP上的那些好用的冷门工具

大家好,JioNLP(https://github.com/dongrixinyu/JioNLP)目前已经在Github上有了1600星的点赞,下载安装量大概有几万了。 被使用最多的功能,也是被问得最多的,主要是关键短语抽取、时间语义解析、地址按省市县三级解析等等。其它功…

程序员迷茫:30岁以上的“大龄程码农”出路在哪?java码农该怎么办?

程序员生存、成功、制胜的法则源自IT精英的职业发展秘诀热爱工作,享受生活 为什么程序员过了30就不行了? 我们被固定在“敲代码”的坑里,一干就是10年,再干别的早已不会。敲代码已经成了一项流水线般的工作,就像搬砖工…

Postman非GUI运行脚本工具Newman的安装简介

一、Newman简介 Newman是为Postman而生, 专门用来运行Postman编写好的脚本;使用Newman, 你可以很方便的用命令行来执行postman collections 二、Newman安装 1.先下载Node.js https://nodejs.org/zh-cn/download/ 根据自己电脑系统及位数…

数字验证学习笔记——SystemVerilog芯片验证12 ——句柄的使用包的使用

一、句柄的使用 句柄可以作为形式参数通过方法来完成对象指针的传递,从外部传入方法内部。 句柄也可以在方法内部首先完成修改,而后再由外部完成使用 最后会报错,因为create(t)定义的是function,没有返回…

锁机制之 Condition 接口

1. 前言 本节内容主要是对 Java 锁机制之 Condition 接口进行讲解,Condition 接口是配合 Lock 接口使用的,我们已经学习过 Lock 接口的相关知识,那么接下来对 Condition 接口进行讲解。本节内容的知识点如下: 2. Condition 接口…

cookie、localStorage 和sessionStorage

文章目录Cookie1.什么是 Cookie?2.cookie的工作机制,运作流程cookie属性项3.读取cookie4.修改cookie5.删除cookielocalStorage 和sessionStorage1.生存期2.数据结构3.API 不管是 localStorage,还是 sessionStorage,可使用的API都相…

基于FPGA+MPU+MCU全自动血细胞分析仪解决方案

全自动血细胞分析仪是医院临床检验应用非常广泛的仪器之一,用来检测红细胞、血红蛋白、白细胞、血小板等项目。是基于电子技术和自动化技术的全自动智能设备,功能齐全,操作简单,依托相关计算机系统在数据处理和数据分析等方面具有…

蓝牙学习三(GAP)

1.简介 GAP(Generic Access Profile-通用访问配置文件)与应用层紧密相连,所以要想了解BLE,GAP是必须认识的东西。 在第一章中我们说过GAP层,GAP层目前主要用来进行广播、扫描和发起连接。GAP保证了不同的BLE设备可以互…

深度学习入门(7)误差反向传播计算方式及简单计算层的实现

在上一节中《深度学习入门(6)误差反向传播基础---计算图与链式法则》,我们介绍了误差反向传播的计算图与导数计算的链式法则,这一节主要介绍计算图中各计算节点的误差反向传播计算方式,以及加法与乘法层的实现。 目录…

Scala系列-4、scala中特质、柯里化、闭包等

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 传送门:大数据系列文章目录 目录scala中特质特质作为接口使用特质中放置非抽象的成员特质的模板操作特质的混入对象操作特质的执行链…

T31开发笔记: 使用FTP上传下载文件

若该文为原创文章,转载请注明原文出处 一、前言 最段时间,在开发IPC时,突然想到把录制好的MP4文件上传到服务器,考虑了一些方法,感觉用TFP方式比较好,可以下载和上传文件,只需要搭建一个简单的…

【Mybatis编程:修改数据(动态SQL)】

目录 1. 在AlbumMapper.java中添加抽象方法 2. 在AlbumMapper.xml中配置SQL 3. 在AlbumMapperTests.java中编写并执行测试 1. 在AlbumMapper.java中添加抽象方法 在AlbumMapper.java中添加抽象方法: /** * 修改相册数据 * * param album 封装了被修改的相册的…