计算机组成与原理(2) basic of computer architecture

Instruction Set Architecture (ISA)Hardware System Architecture (HSA) 是计算机体系结构中两个重要的层次,它们各自的职责和作用如下:


Instruction Set Architecture (ISA)

定义

ISA是指令集体系结构,是硬件和软件之间的接口。它定义了计算机硬件向软件提供的功能,也即程序员或编译器能直接使用的指令、寄存器和内存模型。

主要内容
  1. 指令格式

    • 指令操作码(Opcode):指定执行的操作。
    • 操作数:指令中的数据或数据的地址。
    • 指令长度:指令字长(例如32位或64位)。
  2. 数据类型

    • 支持的数据类型(例如整型、浮点型、字符等)。
    • 数据表示方式(补码、定点数、浮点数等)。
  3. 寄存器

    • 通用寄存器的数量和用途。
    • 专用寄存器(如程序计数器、堆栈指针)。
  4. 寻址模式

    • 指定操作数地址的方法(如直接寻址、间接寻址、立即数等)。
  5. 指令类别

    • 数据传输指令(如LOADSTORE)。
    • 算术和逻辑指令(如ADDSUBAND)。
    • 流程控制指令(如跳转、分支)。
    • 特权指令(用于操作系统)。
  6. 中断和异常处理

    • 定义中断和异常的机制。
作用
  • 对编译器:提供指令模板以生成可执行代码。
  • 对硬件设计者:为硬件实现提供标准,确保软件能够运行。
  • 对程序员:提供可编程的接口以控制硬件。
类型
  • RISC (Reduced Instruction Set Computer):精简指令集架构。
  • CISC (Complex Instruction Set Computer):复杂指令集架构。

Hardware System Architecture (HSA)

定义

HSA是硬件系统的实现,是对计算机硬件各组成部分的设计和物理实现的描述。它描述了计算机的实际结构及硬件组件之间的交互。

主要内容
  1. 处理器架构

    • 核心设计(单核、多核)。
    • 控制单元(硬布线或微程序控制)。
    • 算术逻辑单元(ALU)和浮点单元(FPU)。
  2. 存储架构

    • 层次结构(寄存器、缓存、主存、磁盘存储)。
    • 缓存一致性协议(如MESI)。
    • 内存分配与管理。
  3. I/O系统

    • 输入输出接口及总线设计。
    • DMA(直接内存访问)和中断控制器。
  4. 总线系统

    • 数据总线、地址总线、控制总线的实现。
    • 总线仲裁与优先级。
  5. 并行架构

    • 多处理器系统。
    • GPU和加速器集成。
  6. 电源管理

    • 功耗优化设计。
    • 动态电压与频率调节(DVFS)。
作用
  • 硬件设计者:用以设计实际的计算机系统。
  • 性能优化:通过硬件改进提升计算性能和效率。

比较 ISA 和 HSA

特点ISAHSA
定义层次软件与硬件的接口硬件的实际实现
目标定义指令与功能优化硬件组件的性能和互操作性
用户程序员、编译器开发者硬件设计者
抽象程度高(面向程序员和软件)低(面向硬件物理实现)
实例x86, ARM, MIPSCPU核心设计、内存和I/O接口实现

总结:

  • ISA 是计算机的功能性定义,它专注于“计算机能做什么”。
  • HSA 是计算机的物理实现,聚焦于“如何实现这些功能”

两者相辅相成:ISA定义需求,而HSA负责满足需求!

这个图清晰地展示了计算机体系结构(Computer Architecture)的主要分类及其特点,以下是对图中各部分的详细解释:


1. 冯·诺依曼体系结构 (Von Neumann Architecture)

  • 别称:普林斯顿架构 (Princeton Architecture)。
  • 核心思想:数据和程序指令都存储在同一个内存中,通过单一的系统总线访问。
  • 主要特征
    • 单一存储单元:程序和数据共享同一存储空间。
    • 处理单元:包括寄存器(Registers)、算术与逻辑单元(ALU)、控制单元(CU)等核心模块。
    • I/O接口:用于连接输入设备和输出设备,数据通过系统总线在内存和CPU之间传输。
    • 瓶颈问题:由于程序指令和数据共享同一总线,可能导致总线拥堵(称为“冯·诺依曼瓶颈”)。

图中的描述:

  • 显示了冯·诺依曼体系的模块化结构,包括寄存器、ALU、控制单元,以及通过系统总线连接的主存储器和I/O设备。

2. 非冯·诺依曼体系结构 (Non-Von Neumann Architecture)

与冯·诺依曼体系结构不同,它通过优化存储结构和数据处理方式,避免了“冯·诺依曼瓶颈”。
图中将非冯·诺依曼架构分为两种类型:

a. 哈佛体系结构 (Harvard Architecture)
  • 特点:将指令和数据分开存储,使用独立的存储空间和总线。
  • 优点
    • 数据和指令可以同时访问,避免总线冲突,提高效率。
    • 常用于嵌入式系统(如微控制器)。
b. 改进型哈佛体系结构 (Modified Harvard Architecture)
  • 特点:对传统哈佛架构进行优化,引入一定程度的存储共享。
  • 适用场景:现代处理器通常结合冯·诺依曼和哈佛架构的特点来设计。
  • 优势:保持并行性能的同时提升灵活性。


3. 总结与对比

  • 冯·诺依曼体系结构:存储简单但易发生瓶颈。
  • 哈佛架构:复杂度增加,但效率更高,适用于现代高性能计算。
  • 改进型哈佛架构:结合两者优点,应用范围更广。

processor和cpu大家可能还不知道,下面是一些总结:

**Processor(处理器)**和**CPU(中央处理器)**在大多数情况下可以被看作是一回事,但它们的概念和使用场景略有不同:

---

### **相同点**
- **核心含义相似**:  
  - **CPU** 是最常用的“处理器”类型。  
  - 当我们谈到“处理器”时,通常指的就是 **CPU**,特别是在通用计算领域(如电脑、手机等)。
  - 它们都负责执行指令并处理数据。

---

### **不同点**
1. **Processor 是更广泛的概念**:
   - **Processor** 可以指任何执行指令和处理数据的芯片,不仅仅是 CPU。
   - **常见类型:**
     - **CPU(Central Processing Unit)**:负责通用计算任务,是计算机的“大脑”。
     - **GPU(Graphics Processing Unit)**:专门用于图形和并行计算任务。
     - **DSP(Digital Signal Processor)**:专注于信号处理。
     - **AI 加速器(如 TPU、NPU 等)**:用于加速人工智能任务。
   - 换句话说,**所有的 CPU 都是处理器,但不是所有的处理器都是 CPU**。

2. **CPU 是特指的处理器类型**:
   - CPU 是计算机的核心部件,用于:
     - 执行程序的主要逻辑。
     - 控制其他硬件部件(如内存、I/O 设备)。
   - CPU 通常包含多个核心(Core),每个核心都是一个小型处理器。

3. **场景使用的差异**:
   - 在技术文档或硬件设计中,**Processor** 更常用于泛指所有处理器类型。
   - 在讨论计算机硬件(如 PC 或手机)时,**CPU** 是一个更具体的术语。

这张图展示了计算机体系结构中经典的 Flynn 分类法,即根据指令流和数据流对体系结构进行分类,分为以下四种类型:


1. SISD(Single Instruction Stream, Single Data Stream)

  • 中文解释:单指令流、单数据流
  • 特点
    • 只有一条控制器发出的指令流。
    • 处理一个单独的数据流。
    • 代表:传统的单核处理器。
  • 适用场景:适合顺序计算任务。
  • 示意
    • 内存中存储指令和数据。
    • 控制器发出指令,运算单元(Operate)处理一个数据流。

2. SIMD(Single Instruction Stream, Multiple Data Stream)

  • 中文解释:单指令流、多数据流
  • 特点
    • 控制器发出单一的指令流。
    • 同时处理多个数据流。
    • 代表GPU、大规模并行处理
  • 适用场景:适用于数据并行任务,例如矩阵运算、图像处理。
  • 示意
    • 指令同时控制多个运算单元,多个数据流并行处理。

3. MISD(Multiple Instruction Stream, Single Data Stream)

  • 中文解释:多指令流、单数据流
  • 特点
    • 多个控制器执行不同的指令流。
    • 对同一个数据流进行处理。
    • 代表:比较少见,主要出现在一些故障容错系统(如冗余计算)。
  • 适用场景:适合需要对同一数据多次处理的任务,如多阶段流水线。
  • 示意
    • 不同指令流同时作用于同一数据流。

4. MIMD(Multiple Instruction Stream, Multiple Data Stream)

  • 中文解释:多指令流、多数据流
  • 特点
    • 多个控制器独立运行,执行不同的指令流。
    • 处理不同的数据流。
    • 代表:现代的多核处理器(如多核CPU、分布式系统)。
  • 适用场景:适合任务并行计算。
  • 示意
    • 多个指令和数据流独立运行,彼此互不干扰。

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

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

相关文章

Python Excel XLS或XLSX转PDF详解:七大实用转换设置

目录 使用工具 Python将Excel文件转换为PDF Python将Excel文件转换为带页码的PDF Python将Excel文件转换为特定页面尺寸的PDF Python将Excel文件转换为PDF并将内容适应到一页 Python将Excel文件转换为PDF/A Python将Excel文件中的工作表转换为单独的PDF Python将Excel工…

【C++】红黑树封装map—set

1 .关联式容器 C中的map是标准模板库(STL)中的一种关联容器,它存储的是键值对(key-value pairs),其中每个键都是唯一的。 键值对: 用来表示具有一一对应关系的一种结构,该结构中一…

系统思考—结构影响行为

最近在和一些企业领导者交流时,发现一个共性——创始人都非常厉害!战略清晰、点子多、方向准,简直就是企业的“定海神针”。但往往问题在了下一层级:如何把创始人的智慧传承下去,甚至复制到团队里,这成了一…

定时器简介

TIM(Timer定时器)简介 在第一部分,我们主要讲的是定时器基本定时的功能,也就是定一个时间,然后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如你要做个时钟、秒表,或者使用一些程序…

快排和归并

目录 前言 快速排序 相遇位置一定比key小的原理(大): 避免效率降低方法(快排优化) 三数取中(选key优化) 小区间优化 hoare版本快排 挖坑法快排 前后指针快排 非递归快排 归并排序 非递…

代码段数据段的划分

DPL DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level) CPL CPL是当前进程的权限级别(Current Privilege Level),是当前正在指向的代码段所在段的成绩,也就是CS段的DPL RPL RPL说明的是进程对段访问的请求权限(Re…

Essential Cell Biology--Fifth Edition--Chapter one (8)

1.1.4.6 The Cytoskeleton [细胞骨架] Is Responsible for Directed Cell Movements 细胞质基液不仅仅是一种无结构的化学物质和细胞器的混合物[soup]。在电子显微镜下,我们可以看到真核细胞的细胞质基液是由长而细的丝交叉而成的。通常[Frequently],可…

开源科学工程技术软件介绍 – EDA工具KLayout

link 今天向各位知友介绍的 KLayout是一款由德国团队开发的开源EDA工具。 KLayout是使用C开发的,用户界面基于Qt。它支持Windows、MacOS和Linux操作系统。安装程序可以从下面的网址下载: https://www.klayout.de/build.html KLayout图形用户界面&…

【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入

《设计模式之行为型模式》系列,共包含以下文章: 行为型模式(一):模板方法模式、观察者模式行为型模式(二):策略模式、命令模式行为型模式(三):责…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)

续上篇博客(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细!!!)-CSDN博客 继续更新 本篇博客内容为道路拓扑检查与修正&#x…

Unity3D 完整直升机控制器(虚拟仿真级别)

采用了MVC框架,以四轴驱动的方式对直升机的启动、飞行做了仿真模拟,包括但不限于参数设置、启动发动机和旋翼、数据显示、HUD、UI、升降、水平移动、转弯等。 文末有完整的工程资源链接。 1.旋翼 直升机飞行过程中,有顶部的主旋翼和尾部的尾…

yum工具的学习

Linux下安装软件的方法 1.源代码安装 2.rmp包安装 3.包管理器进行安装 --- yum/apt Linux下载软件的过程 操作系统的好坏评估 -- 生态问题 yum具体操作 Linux软件安装所有人都能用,是以other的身份去执行可执行程序 文件拷贝(sudo)-- &g…

Linux:进程的优先级 进程切换

文章目录 前言一、进程优先级1.1 基本概念1.2 查看系统进程1.3 PRI和NI1.4 调整优先级1.4.1 top命令1.4.2 nice命令1.4.3 renice命令 二、进程切换2.1 补充概念2.2 进程的运行和切换步骤(重要) 二、Linux2.6内核进程O(1)调度队列(重要&#x…

MongoDB在现代Web开发中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 MongoDB在现代Web开发中的应用 MongoDB在现代Web开发中的应用 MongoDB在现代Web开发中的应用 引言 MongoDB 概述 定义与原理 发展…

爬取链家二手房房价数据存入mongodb并进行分析

感谢您的关注!需要完整源码评论区获取~ 【实验目的】 1. 使用 python 将爬虫数据存入 mongodb; 2. 使用 python 读取 mongodb 数据并进行可视化分析。 【实验原理】 MongoDB 是文档数据库,采用 BSON 的结构来存储数据。在文档中可嵌套其…

Solana 区块链的技术解析及未来展望 #dapp开发#公链搭建

随着区块链技术的不断发展和应用场景的扩展,性能和可拓展性成为各大公链竞争的关键因素。Solana(SOL)因其高吞吐量、低延迟和低成本的技术特性,在众多区块链项目中脱颖而出,被誉为“以太坊杀手”之一。本文将从技术层面…

Vue通过file控件上传文件到Node服务器

功能: 多文件同步上传、拖动上传、实时上传进度条、上传前的删除文件、原生file控件的美化 搁置的功能: 取消上传(上传过程中取消,即取消网络请求abort)、上传文件夹、大文件切片、以及很多限制条件未处理(重复上传、文件格式。。。) bug: 文件总大小(。。。竟然从d…

Element-ui Select选择器自定义搜索方法

效果图 具体实现 <template><div class"home"><el-selectref"currencySelect"v-model"currency"filterable:spellcheck"false"placeholder"请选择":filter-method"handleCurrencyFilter"change&q…

JS的学习与使用

JS的学习与使用 一 什么是Javascript&#xff1f; Javascript是一门跨平台&#xff0c;面向对象的脚本语言&#xff0c;是用来控制网页行为的&#xff0c;它能使网页可以交互 java与Javascript是完全不同的语言&#xff0c;不论是概念还是设计&#xff0c;但是基础语法类似 E…

Docker:查看镜像里的文件

目录 背景步骤1、下载所需要的docker镜像2、创建并运行临时容器3、停止并删除临时容器 背景 在开发过程中&#xff0c;为了更好的理解和开发程序&#xff0c;有时需要确认镜像里的文件是否符合预期&#xff0c;这时就需要查看镜像内容 步骤 1、下载所需要的docker镜像 可以使…