架构-计算机体系结构

news2025/4/16 6:17:41

章节架构

分值约 3 分

计算机体系结构
计算机硬件组成
指令系统
复杂指令系统
精简指令系统
指令的流水
存储系统
存储器的层次
主存储器
磁盘阵列
校验码
循环冗余校验码
总线

计算机硬件组成

硬件
主机
运算器
CPU
控制器
主存
存储器
辅存
I/O设备
输入设备
输出设备

在这里插入图片描述

指令系统

指令系统是计算机的语言系统,是计算机所具有的全部指令的集合 ,反映了计算机所拥有的基本技能。

在这里插入图片描述

复杂指令系统

  • 复杂指令系统(Complex Instruction Set Computer,CISC)的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大、复杂。目前使用的绝大多数计算机都属于CISC类型。
  • CISC的特点
    • 指令数量众多。通常有 100 ~ 250 条
    • 指令使用频率相差悬殊。最常使用的简单指令占20%,但程序中出现频率占 80%。大部分指令很少使用。
    • 支持很多种寻址方式。5 ~ 20 种。
    • 变长的指令。指令长度不是固定的,增加指令译码电路的复杂性。
    • 指令可以对主存单元中的数据直接处理。执行速度较慢。
    • 以微程序控制为主。指令系统复杂,难用硬布线逻辑(组合逻辑)电路实现控制器,通常采用微程序控制。

精简指令系统

  • 精简指令系统(Reduced Instruction Set Computer)的基本思想是通过减少指令总数和减少指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指的执行速度,采用硬布线控制逻辑优化编译程序。
  • RISC 的特点
    • 指令数量少。
    • 指令的寻址方式少。
    • 指令长度固定,指令格式种类少。
    • 以硬布线逻辑控制为主。提高操作执行速度。
    • 单周期指令执行,采用流水线技术。
    • 优化的编译器。精简指令集使编译工作简单化,易于实现优化,从而可以生成高效率执行的机器代码。
    • CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。

指令的流水

  • 指令流水技术:指令步骤的并行、提高处理器执行指令的效率。几乎所有高性能计算机都采用了指令流水线。

顺序方式

  • 各条机器指令之间串行的执行,执行完一条指令后再取下一条。缺点是速度慢,机器各部件利用率低。
    在这里插入图片描述

重叠方式

  • 在解释第 K 条指令的操作完成之前就可以开始解释第 K+1 条指令。
    在这里插入图片描述

流水方式

在这里插入图片描述

  • 流水线周期:执行时间最长的一段
  • 流水线执行时间 (t1+t2+…+tk) + (n-1) * Δt
  • 流水线的吞吐率和最大吞吐率:吞吐率是指单位内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。TP=指令条数/流水线执行时间。 TPmax=1/Δt
  • 流水线加速比 S = 不使用流水线执行时间 / 使用流水线执行时间

存储系统

存储器的层次

在这里插入图片描述

主存储器

  • 主存用来存放计算机运行期间所需要的程序和数据。CPU 可以直接随机的进行读写。
    在这里插入图片描述
  • 主存的基本单位是存储单元,一般以八位二进制为一个存储单元。每个存储单元都有一个地址,一般用十六进制数表示。

磁盘阵列

磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的磁盘阵列称为廉价冗余磁盘阵列(Redundant Array of Independent Disk,RAID)。

  • RAID机制中共分8个级别,RAID应用的主要技术有分块技术、交叉技术和重聚技术。

  • RAID 0 级:无冗余无校验。最高 I/O 性能和利用率。
  • RAID 1 级:磁盘镜像阵列。高安全性,50%利用率。
  • RAID 2 级:采用纠错海明码的磁盘阵列。大数据量性能较高,现实很少用。
  • RAID 3,4 级:采用奇偶校验码。
  • RAID 5 级:无独立校验盘的奇偶校验码。当有 N 块阵列盘时,用户空间为 N-1 块容量。
  • RAID 6 级:具有独立的数据硬盘与两个独立的分布式校验方案。
  • RAID 7 级:具有最优化的异步高 I/O 速率和高数据传输率。优异性能,目前最高档。
  • RAID 10 级:高可靠性与高性能的组合。

校验码

循环冗余校验码

计算机系统运行时,为了确保数据在传输过程中正确无误,一是提高硬件电路的可靠性;而是提高代码的校验能力,包括查错和纠错。

  • 循环冗余校验码:(Cyclic Redundancy Check,CRC)广泛应用于数据通信领域和磁介质存储系统中。利用多项式为K个数据位产生r个校验位来进行编码,其编码长度为 k+r 。

总线

  • 总线(BUS),是指计算机设备和设备之间传输信息的公共数据通道。
    在这里插入图片描述
  • 按总线相对于 CPU 或其他芯片的位置可分为内部总线和外部总线两种。
  • 按总线的功能来划分,又可以分为地址总线、数据总线、控制总线三类。
  • 按照总现在数据线的多少,可分为并行总线和串行总线。
名称数据线特点应用
并行总线多条双向数据线有传输延迟,适合近距离连接系统总线(计算机各部件
串行总线一条双向数据线或两条单向数据线速率不高,但适合长距离连接通信总线)计算机之间或计算机与其他系统之间}

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

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

相关文章

如何优雅的使用 React Context

在开始今天的文章之前,大家不妨先想一下触发 React 组件 re-render 的原因有哪些,或者说什么时候 React 组件会发生 re-render 。 先说结论: 状态变化父组件 re-renderContext 变化Hooks 变化 ❝ 这里有个误解:props 变化也会导致…

力扣日记2481

1. 题目 LeetCode 2481. 分割圆的最少切割次数 1.1 题意 可以使用直接或半径切分,管他叫一次切分,求切分圆为n等份的最少次数。 1.2 分析 可以想到,对圆做n等分,然后每个半径看出一次切分,这是最多次数,…

实验篇(7.2) 13. 站对站安全隧道 - 走对方宽带上网(FortiGate-IPsec) ❀ 远程访问

【简介】前面实验已经知道,FortiClient客户端拨号到远端防火墙,包括上网流量等所有流量都可以通过隧道到达远端防火墙,并从对方宽带上网。那么两台防火墙之间连接的安全隧道,可以实现这个功能吗? 实验要求与环境 OldMe…

uniapp中使用mixins(混入)使用

mixins 选项接收一个混入对象的数组。这些混入对象可以像正常的实例对象一样包含实例选项,这些选项将会被合并到最终的选项中,使用的是和 Vue.extend() 一样的选项合并逻辑。也就是说,如果你的混入包含一个 created 钩子,而创建组…

虚拟网络namespace到bridge

前言 容器的网络是一大难点,不管是docker 还是kubernetes 都绕不开计算机网络。以下的介绍主要以计算机网络的namespace 和bridge 两个方面来展开介绍,方便深入理解容器的网络原理。 1.namespace分析 linux 支持六种资源的namespace :mount ns 、UTS ns…

HTML日期选择器:简化日期输入与交互

Date Picker 控件 HTML提供了<input>元素的type="date"属性,用于创建日期选择器(Date Picker)控件。日期选择器允许用户从一个交互式日历中选择日期值。以下是关于HTML日期选择器的详细解释: 创建日期选择器: 使用<input>元素,并将其type属性设置…

java从零开始系统性学习完整超全资源+笔记(下)

java从零开始系统性学习完整超全资源笔记&#xff08;下&#xff09; java从零开始系统性学习完整超全资源笔记&#xff08;上&#xff09; 文章目录 java从零开始系统性学习完整超全资源笔记&#xff08;下&#xff09;第十七章 泛型与常见数据结构ArrayListCollection接口的…

linux + lnmp + tp6部署项目问题集

部署完毕后&#xff0c;访问域名&#xff0c;报错502 Gateway 1:查看防火墙&#xff0c;需要的端口是否被关闭了&#xff0c;需要开启 vi /etc/sysconfig/iptables 发现有端口没空&#xff0c;就先i,然后把该端口后面的DROP改成ACCEPT&#xff0c;然后esc :wq 再回车&#xf…

轻松搞定文件复制备份,教你用快速的时间将文件复制另一个文件夹里并自动编号。

通常情况下&#xff0c;我们会将文件复制到另一个文件夹中&#xff0c;这很容易实现。但是如果需要将大量文件复制到同一个文件夹中&#xff0c;并且需要给每个文件自动编号&#xff0c;这时就需要用到一些技巧了。下面是一个简单的办法&#xff0c; 首先&#xff0c;第一步我…

node笔记_读写excel

文章目录 ⭐前言⭐安装依赖⭐读取excel&#x1f496; 按行读取&#x1f496; 按列读取 ⭐写入excel⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于node读取excel内容 往期文章 node_windows环境变量配置 node_npm发布包 linux_配置node node_nvm安装配置…

微服务开发系列 第十一篇:XXL-JOB

总概 A、技术栈 开发语言&#xff1a;Java 1.8数据库&#xff1a;MySQL、Redis、MongoDB、Elasticsearch微服务框架&#xff1a;Spring Cloud Alibaba微服务网关&#xff1a;Spring Cloud Gateway服务注册和配置中心&#xff1a;Nacos分布式事务&#xff1a;Seata链路追踪框架…

【AIGC】baichuan-7B大模型

百川智能&#xff5c;开源可商用的大规模预训练语言模型baichuan-7B大模型 概述 baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。基于 Transformer 结构&#xff0c;在大约1.2万亿 tokens 上训练的70亿参数模型&#xff0c;支持中英双语&#xff0c;上…

day53_spring

今日内容 零、 复习昨日 零、 复习昨日 略 一、代理设计模式 代理的设计理念是限制对象的直接访问&#xff0c;即不能通过 new 的方式得到想要的对象&#xff0c;而是访问该对象的代理类。 这样的话&#xff0c;我们就保护了内部对象&#xff0c;如果有一天内部对象因为 某个原…

MIT 6.S081 (BOOK-RISCV-REV1)教材第三章内容

MIT 6.S081 教材第三章内容 引言页表分页硬件内核地址空间物理内存分配代码&#xff08;物理内存分配&#xff09;kinit函数kfree函数kalloc函数 代码&#xff1a;创建一个地址空间kvminit 函数kvmmap函数walk函数kvminithart函数procinit函数 进程地址空间代码&#xff1a;sbr…

Lua 脚本语法学习

文章目录 Lua 基础语法单行注释和多行注释数据类型标识符运算符关系运算符if条件循环whiledorepeatuntil数值for泛型for 函数1. 固定参数函数2. 可变参函数3. 多返回值4. 函数作参数5.匿名函数 Lua 语法进阶table1. 数组2. map3. 数组-map 混合结构4. table操作函数 迭代器模块…

Makerbase SimpleFOC ESP32 例程9 在线电流检测测试

Makerbase SimpleFOC ESP32 例程9 在线电流检测测试 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1 ESP32 FOC V1.0 主板 12 YT2804电机 23 12V电源适配器 14 USB 线 1 注意&#xff1a;YT2804是改装的云台无刷电机,带有AS5600编码器&#xff0c;可实现360连续运转。 主要…

java:实现用户扫码二维码自动跳转指定链接功能

0. 引言 近来接到要实现链接转二维码的需求&#xff0c;通过提供二维码给用户&#xff0c;让用户扫描后自动访问指定的H5页面&#xff0c;从而实现业务流转&#xff0c;这样的功能其实在其他很多场景也会用到&#xff0c;比如资产管理系统中&#xff0c;扫码资产二维码&#x…

uniapp实现tab切换可以滚动的效果

实现效果 当 tab 切换的内容很多时&#xff0c;需要用到滚动&#xff0c;希望在点击 tab 的时候可以自动滑动到对应的tab下 知识点 scrollIntoView&#xff1a;该scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 语法 element.scrollIntoView&#xff08…

2023 年企业 Java 面试前复习的正确姿势(已助力319人入职大厂)

作为 Java 程序员&#xff0c;选择学习什么样的技术&#xff1f;什么技术该不该学&#xff1f;去招聘网站上搜一搜、看看岗位要求就十分清楚了&#xff0c;自己具备的技术和能力&#xff0c;直接影响到你工作选择范围和能不能面试成功。 如果想进大厂&#xff0c;那就需要在 Ja…

ARM-Linux开发与MCU开发的不同之处分析

目录 一、ARM-Linux应用开发和单片机开发的不同 二、Arm-Linux基本开发环境 针对ARM-Linux程序的开发&#xff0c;主要分为三类&#xff1a;应用程序开发、驱动程序开发、系统内核开发。针对不同种类的软件开发&#xff0c;有其不同的特点。 今天&#xff0c;我们来看看ARM-L…