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

计算机体系结构

指令系统

  • 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
        • 通用串行总线

输入输出技术

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题-链表】--876.链表的中间结点

876.链表的中间结点 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*…

linux笔记总结-基本命令

参考: 1.Linux 和Windows比 比较 (了解) 1. 记住一句经典的话:在 Linux 世界里,一切皆文件 2. Linux目录结构 /lib • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几 乎所有…

项目实战:通过axios加载水果库存系统的首页数据

1、创建静态页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src"script/axios.mi…

手把手创建Android应用程序·案例程序分析

目录 1. Activity 组件 MainActivity 类 2.布局文件activity_main. xml 3.应用程序配置文件 AndroidManifest.xml 4. Android的应用程序组件 4.1 Activity——活动 4.2 Service——服务 4.3 Broadcast receiver——广播接收器 4.4 Content provider——内容提供者…

React 项目结构小结

React 项目结构小结 简单的记录一下目前 React 项目用的依赖和实现 摸索了大半年了大概构建一套用起来还算轻松的体系……&#xff1f;基本上应该是说可以应对大部分的项目了 使用的依赖 目前项目还在 refactoring 的阶段&#xff0c;所以乱得很&#xff0c;这里是新建一个…

【使用Python编写游戏辅助工具】第一篇:概述

引言 欢迎阅读本系列文章&#xff0c;本系列将带领读者朋友们使用Python来实现一个简单而有趣的游戏辅助工具。 写这个系列的缘由源自笔者玩了一款游戏。正巧&#xff0c;笔者对Python编程算是有一定的熟悉&#xff0c;且Python语言具备实现各种有趣功能的能力&#xff0c;因…

基于单片机的可穿戴个人健康监测仪-智能手环

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、方案的设计与论证2.1设计任务及要求2.2 模块技术和方法综述2.3 设计可能遇到的困难 二、 系统总体框架3.1 硬件设计 三 软件部分4.1 主程序流程框 四、 结论五、 文章目录 概要 近几年智能化的不断发展&#…

3000 台 Apache ActiveMQ 服务器易受 RCE 攻击

超过三千个暴露在互联网上的 Apache ActiveMQ 服务器容易受到最近披露的关键远程代码执行 (RCE) 漏洞的影响。 Apache ActiveMQ 是一个可扩展的开源消息代理&#xff0c;可促进客户端和服务器之间的通信&#xff0c;支持 Java 和各种跨语言客户端以及许多协议&#xff0c;包括…

HiveSQL中last_value函数的应用

一、背景 在以下数据中如何实现对每一个列按照更新时间取最新的非null值&#xff1f; 1 a a null 202301 202301 1 b b null null 202302 1 null c null null 202303 1 d null null null 202304如何实现…

Nginx的location优先级和重定向

Nginx的location有优先级级和匹配方式&#xff1a; 在http模块有server,在server模块才有location,location匹配的是uri /test /image 在一个server当中有多个location,如何来确定匹配哪个location。 Nginx的正则表达式&#xff1a; ^:字符串的起始位置 $:字符串的结束位…

Spring Boot 常见面试题

目录 1.Spring Boot 快速入门什么是 Spring Boot&#xff1f;有什么优点&#xff1f;Spring Boot 与 Spring MVC 有什么区别&#xff1f;Spring 与 Spring Boot 有什么关系&#xff1f;✨什么是 Spring Boot Starters?Spring Boot 支持哪些内嵌 Servlet 容器&#xff1f;如何设…

【Excel密码】四个方法,设置excel表格只读模式

Excel文件想要设置成只读模式&#xff0c;其实很简单&#xff0c;今天给大家分享四个excel设置只读模式的方法。 方法一&#xff1a;文件属性 右键点击文件&#xff0c;查看文件属性&#xff0c;在属性界面&#xff0c;勾选上只读属性就可以了。 方法二&#xff1a;始终以只读…

微信-Native支付(扫二维码支付)工具类 2023最新保姆教程

0、照着微信开发文档 取到证书、秘钥等 好几个key 1、获取商户号merchantId 账户中心->商户信息->微信支付商户号 3、获取商户证书序列号merchantSerialNumber 账户中心->API安全->API证书管理 5、获取appID 产品中心->AppID账号管理 1、这个链接教你获取各…

基于卷积神经网络的抗压强度预测,基于卷积神经网络的抗折强度预测

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN抗压强度预测 完整代码:基于卷积神经网络的抗压强度和抗折强度预测,基于CNN的抗压强度和抗折强度预测(代码完整,数据…

CAN报文的信号和信号组传递的意义

CAN将数据发送到COM层&#xff0c;在这个过程中报文是如何传递的&#xff1f; 0x105指的是一帧CAN报文&#xff0c;信号组指的是一帧CAN报文里的所有数据&#xff0c;信号指的是一帧CAN报文里的每一个信号&#xff0c;PDU代表了一帧CAN报文&#xff0c;它由报文ID&#xff08;I…

MySQL(7):单行函数

不同DBMS函数的差异 内置函数&#xff1a; 系统内置的通用函数。 自定义函数&#xff1a; 根据自己的需要编写的函数。 大多数 DBMS 使用&#xff08;||&#xff09;或者&#xff08;&#xff09;来做拼接符&#xff0c;而在 MySQL 中的字符串拼接函数为concat()。 大部分 D…

Kafka(二)消息系统设计

文章目录 前言整体设计时序图时序图解释 最后 前言 当多个系统之间通过Kafka来解耦时&#xff0c;在系统设计初期&#xff0c;基本的要求都是相似的&#xff0c;只不过是消费消息时的业务逻辑可能不同。 本文以业务系统和邮件系统解耦作为示例。业务系统需要发送邮件时&#…

后端接口接收对象和文件集合,formdata传递数组对象

0 问题 后端接口需要接收前端传递过来的对象和文件集合&#xff1b;对象中存在数组对象 1 前端和后端 前端只能使用formdata来传递参数&#xff0c;后端不使用RequestBody注解 2 formdata传递数组对象 2.1 多个参数对象数组 addForm: {contactInfo: [{contactPerson: ,…

黑客入门 15 个必杀技能!

互联网新兴技术不断涌现&#xff0c;在给人类带来巨大财富和便捷的同时&#xff0c;也带来了非常严峻的网络安全问题。 侵害个人隐私、侵犯知识产权、网络犯罪等时有发生&#xff0c;网络监听、网络攻击、网络恐怖主义活动等成为**全球公害。 习主席在全国网络安全和信息化工…

[Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb

一.部署nodejs项目,映射端口,挂载数据卷 可以到https://hub.docker.com/去搜索node镜像,然后下载,也可以直接通过docker pull node下载镜像,然后用这个node镜像启动容器node,这样系统就集成了node服务了,在这里挂载www/node目录到容器中,并指定端口映射,运行nodejs程序,安装npm…