计算机组成与结构-计算机体系结构

计算机体系结构

指令系统

  • Flynn分类法
    • SISD(单指令流单数据流)
      • 结构
        • 控制部分:一个
        • 处理器:一个
        • 主存模块:一个
      • 代表
        • 单处理器系统
    • SIMD(单指令流多数据流)
      • 结构
        • 控制部分:一个
        • 处理器:多个
        • 主存模块:多个
      • 代表
        • 并行处理机
        • 阵列处理机
        • 超级向量处理机
      • 关键特性
        • 各处理器以异步形式执行同一条指令
    • MIMD(多指令流多数据流)
      • 结构
        • 控制部分:多个
        • 处理器:多个
        • 主存模块:多个
      • 代表
        • 多处理机系统
        • 多计算机
      • 关键特性
        • 能够实现作业、任务、指令等各级全面并行
    • MISD(多指令流单数据流)
      • 结构

        • 控制部分:多个
        • 处理器:一个
        • 主存模块:多个
      • 代表

        • 目前没有
      • 关键特性

        • 不可能,不实际
  • 计算机指令
    • 组成
      • 操作码
        • 决定要完成的操作
      • 操作数
        • 参加运算的数据及其所在的单元地址
      • 地址码
        • 操作数地址的二进制码表示
    • 执行过程
      1. 取指令
        1. 程序计数器PC中的指令地址取出,送入地址总线
        2. CPU根据指令地址去内存中取出指令内容存入指令寄存器IR
      2. 分析指令
        • 指令译码器进行分析,分析指令操作码
      3. 执行指令
        • 执行指令,取出指令执行所需要的源操作数
    • 指令寻址方式
      • 顺序寻址
        • 一条指令紧接着一条指令顺序执行
      • 跳跃寻址
        • 下一条指令的地址不是由程序计数器PC给出,而是由本条指令直接给出
        • 程序跳跃后,按新的指令地址开始顺序执行
        • 程序计数器的内容页必须相应改变,以便及时跟踪新的指令地址
    • 指令操作数寻址方式
      • 立即寻址方式
        • 操作数直接存在指令中
        • 指令的地址码字段指出的不是地址,而是操作数本身
      • 直接寻址方式
        • 操作数在主存的地址存在指令中
        • 指令的地址字段中直接指出操作数在主存中的地址
      • 间接寻址方式
        • 指令地址码字段所指向的存储单元中存储的是操作数的地址
      • 寄存器寻址方式
        • 指令中的地址码是寄存器的编号
    • 指令系统
      • 复杂指令系统(CISC)
        • 特点
          • 数量多
          • 使用频率差别大
          • 可变长格式
          • 研制周期长
        • 寻址方式
          • 支持多种
        • 实现方式
          • 微程序控制技术(微码)
      • 精简指令系统(RISC)
        • 特点
          • 数量少
          • 使用频率差别小
          • 定长格式
          • 大部分为单周期指令
          • 操作寄存器
          • 只有Load/Store操作内存
          • 优化编译
          • 有效支持高级语言
        • 寻址方式
          • 支持方式少
        • 实现方式
          • 增加了通用寄存器
          • 硬布线逻辑控制为主
          • 适合采用流水线
    • 指令流水线
      • 原理
        • 指令分成不同段,每段由不同的部分处理,可以产生叠加的效果
        • 概括一句话:串行变并行
      • 分段
        • 取指
        • 分析
        • 执行
      • 计算
        • 流水线周期
          • 指令分成不同的段,其中执行时间最长的段为流水线周期
        • 流水线执行时间
          • 1条指令总执行时间+(总指令条数-1)*流水线周期
        • 流水线吞吐率
          • 总指令条数/流水线执行时间
        • 流水线加速比
          • 不使用流水线总执行时间/使用流水线总执行时间
          • 加速比越大,说明流水线执行效率越高
          • 最大加速比,取n条指令,趋于无穷计算
        • 超标量流水线技术

存储系统

  • 分级存储体系
    • 结构(顶层到底层)
      • CPU内部通用寄存器
      • Cache
      • 主存储器
      • 联机磁盘存储器
      • 脱机光盘、磁盘存储器
    • 原因
      • 解决存储容量、成本和速度之间的矛盾问题
  • 两级存储
    • Cache-主存
    • 主存-辅存(外存)
  • 局部性原理
    • 在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址
    • 程序大部分指令是顺序存储、顺序执行
    • 时间局部性原理
      • 相邻的时间里会访问同一个数据
      • 如果一个数据项正在被访问,那么在近期它很可能会被再次访问,例如:循环
    • 空间局部性原理
      • 相邻的空间地址会被连续访问
      • 在最近的将来会用到的数据地址和现在正在访问的数据地址很可能是相近的,例如:数据或者顺序表的访问
  • 高速缓存Cache
    • 半导体材料构成
    • 存储当前最活跃的程序和数据
    • 直接与CPU交互
    • 位于CPU和主存之间,容量小,一般只有几M,速度是内存的5~10倍
    • 内容是主存内存的副本拷贝,对程序员是透明的
    • 组成
      • 控制部分
        • 判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换
      • 存储器
        • 存储数据
    • 地址映射
      • CPU工作送出的是主存单元的地址,而应该从Cache存储器中读写信息
      • 需要将主存地址转换为Cache存储器地址
      • 由硬件直接完成映射
        • 直接映射
          • 地址变换简单但不灵活,容易造成资源浪费
        • 全相联映射
          • 地址变换复杂,速度较慢
        • 组组相联映射
          • 以上两种的结合
        • Cache地址映射的块冲突概率
          • 直接映射>组组相联映射>全相联映射
  • 主存编址
    • 按字节编址
      • 一个内存单元代表的是一个字节(1B=8bit)

总线技术

  • 广义
    • 任何连接两个以上电子元器件的导线都可以称为总线
  • 内部总线
    • 内部芯片级别的总线
    • 芯片与处理器之间通信的总线
  • 系统总线
    • 板级总线
    • 计算机内各部分之间的连接
    • 数据总线(并行数据传输位数)
  • 地址总线
    • 系统可管理的内存空间大小
      • 32位
      • 64位
    • 控制总线
      • 传送控制命令
    • 代表
      • ISA总线
      • EISA总线
      • PCI总线
  • 外部总线
    • 设备一级的总线
    • 微机和外部设备的总线
    • 代表
      • RS232
        • 串行总线
      • SCSI
        • 并行总线
      • USB
        • 通用串行总线

输入输出技术

在这里插入图片描述

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

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

相关文章

CleanMyMac2024破解版如何下载?

CleanMyMac作为一款专业的苹果电脑清理软件,它不仅仅能单纯的卸载不用、少用的应用,同时还支持:1、清理应用程序的数据文件,将应用重置回初始状态,减少空间占用;2、自动检查应用更新,保持应用的…

Python画图之动态爱心

Python画出动态爱心(有趣小游戏) 一、效果图二、Python代码 一、效果图 二、Python代码 import random from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 # 画布的宽 CANVAS_HEIGHT 480 # 画布的高 CANVAS_CENTER_X CANV…

【PID专题】MATLAB如何实现PID?

MATLAB是一种非常强大的工具,用于实现和分析PID(比例-积分-微分)控制器。在MATLAB中,您可以使用控制系统工具箱来设计、模拟和调整PID控制系统。 以下是一般步骤,演示如何在MATLAB中实现PID控制: 1. 打开MA…

PHP进销存ERP系统源码

PHP进销存ERP系统源码 系统介绍: 扫描入库库存预警仓库管理商品管理供应商管理。 1、电脑端手机端,手机实时共享,手机端一目了然。 2、多商户Saas营销版 无限开商户,用户前端自行注册,后台管理员审核开通 3、管理…

【服务器】Java连接redis及使用Java操作redis、使用场景

一、Java连接redis-No-SQL 1、导入依赖 在你的项目里面导入redis的pom依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> </dependency> 2、连接redis 连接redis //…

Redis-使用java代码操作Redis

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这…

HarmonyOS UI 开发

引言 HarmonyOS 提供了强大的 UI 开发工具和组件&#xff0c;使开发者能够创建吸引人的用户界面。本章将详细介绍在 HarmonyOS 中应用 JS、CSS、HTML&#xff0c;HarmonyOS 的 UI 组件以及如何自定义 UI 组件。 目录 JS、CSS、HTML 在 HarmonyOS 中的应用HarmonyOS 的 UI 组…

【STM32】基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)

【STM32】基于HAL库建立自己的低功耗模式配置库&#xff08;STM32L4系列低功耗所有配置汇总&#xff09; 文章目录 低功耗模式&#xff08;此章节可直接跳过&#xff09;低功耗模式简介睡眠模式停止模式待机模式 建立自己的低功耗模式配置库通过结构体的方式来进行传参RTC配置…

将Bean注入Spring容器的五种方式

将bean放入Spring容器中有哪些方式&#xff1f; 我们知道平时在开发中使用Spring的时候&#xff0c;都是将对象交由Spring去管理&#xff0c;那么将一个对象加入到Spring容器中&#xff0c;有哪些方式呢&#xff0c;下面我就来总结一下 1、Configuration Bean 这种方式其实也是…

数据结构 | 单链表专题【详解】

数据结构 | 单链表专题【详解】 文章目录 数据结构 | 单链表专题【详解】链表的概念及结构单链表的实现头文件打印尾插头插尾删头删查找在指定位置之前插入数据在指定位置之后插入数据删除pos节点删除pos之后的节点销毁链表 顺序表遗留下来的问题 中间/头部的插⼊删除&#xff…

vue3后台管理系统之实现分页功能

例子&#xff1a;用户 请求格式 返回数据类型 {"code": 200,"message": "获取所有用户成功","total": 19,"totalPages": 2,"currentPage": 1,"data": [{"id": 1,"username": &qu…

uniapp小程序九宫格抽奖

定义好奖品下标&#xff0c;计时器开始抽奖&#xff0c;请求接口&#xff0c;出现中奖奖品之后&#xff0c;获取中奖商品对应的奖品下标&#xff0c;再次计时器判断当前移动的小标是否为中奖商品的下标&#xff0c;并且是否转到3圈&#xff08;防止转1圈就停止&#xff09;&…

生成式人工智能:网络攻击者手中的破坏性力量

2022 年底&#xff0c;公开可用的生成式人工智能工具的推出使我们进入了人类历史上最大的技术革命之一。 一些人声称它的影响与互联网、手机、智能手机和社交媒体的引入一样大&#xff0c;甚至更大。这些新的生成式人工智能技术的采用和发展速度是我们以前从未见过的。 虽然这…

订单业务和系统设计(一)

一、背景简介 订单其实很常见&#xff0c;在电商购物、外卖点餐、手机话费充值等生活场景中&#xff0c;都能见到它的影子。那么&#xff0c;一笔订单的交易过程是什么样子的呢&#xff1f;文章尝试从订单业务架构和产品功能流程&#xff0c;描述对订单的理解。 二、订单业务…

VX-3R APRS发射试验

VX-3R本身是不带APRS功能的&#xff0c;不过可能通过外加TNC实现APRS功能。 有大佬已经用Arduino实现了相应的发射功能&#xff1a; https://github.com/handiko/Arduino-APRS 我要做的&#xff0c;就是简单修改一下代码&#xff0c;做一个转接板。 YEASU官方没有给出VX-3R的音…

YOLOv5:按每个类别的不同置信度阈值输出预测框

YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框 前言前提条件相关介绍YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框预测修改detect.py输出结果 验证修改val.py输出结果 参考 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更…

走近Python爬虫(二):常见反爬虫机制的应对措施

文章目录 一、应对—异步加载1.一般措施2.Selenium 二、应对—登录验证1.使用Selenium模拟登录2.使用Cookies登录3.使用Session模拟表单登录 三、应对—验证码 本文是Python爬虫系列博客的第二篇&#xff0c;内容概览如下&#xff1a; 一、应对—异步加载 1.一般措施 AJAX技术…

在二维矩阵/数组中查找元素 Leetcode74, Leetcode240

这一类题型中二维数组的元素取值有序变化&#xff0c;因此可以用二分查找法。我们一起来看一下。 一、Leetcode 74 Leetcode 74. 搜索二维矩阵 这道题要在一个二维矩阵中查找元素。该二维矩阵有如下特点&#xff1a; 每行元素 从左到右 按非递减顺序排列。每行的第一个元素 …

【ArcGIS模型构建器】06:ArcGIS中DOM批量分幅教程

ArcGIS中利用模型构建器实现DOM批量分幅裁剪。 文章目录 1. 加载数据2. 批量分幅1. 加载数据 批量分幅通常是基于数字正射影像来实现。 数字正射影像(DOM.tif)CASS标准图幅(shp) 2. 批量分幅 单个图幅可以通过裁剪或者按掩膜提取工具来进行,批量分幅采用模型构建器进行。…

虹科案例 | AR内窥镜手术应用为手术节约45分钟?

相信医疗从业者都知道&#xff0c;在手术室中有非常多的医疗器械屏幕&#xff0c;特别是内窥镜手术室中医生依赖这些内窥镜画面来帮助病患进行手术。但手术室空间有限&#xff0c;屏幕缩放位置相对固定&#xff0c;在特殊场景下医生观看内窥镜画面时无法关注到病患的状态。这存…