计算机组成与原理(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.mzph.cn/diannao/61084.shtml

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

相关文章

window的wsl(Ubuntu)安装kafka步骤

环境:Win11 WSL(Linux子系统Ubuntu) apache-zookeeper-3.9.3-bin kafka_2.12-3.8.1 思路:apache上分别下载zookeeper和kafka,在wsl环境安装。在kafka上创建消息的topic,发送消息,接受消息,验证是否安…

数据结构树和二叉树知识点和递归序列

二叉树知识点 一.树的概念1.1关于树的名词解释 二.二叉树的概念1. 二叉树性质: 三.满二叉树与完全二叉树递归前序遍历递归中序遍历递归后续遍历 一.树的概念 树是一种非线性数据结构,它是由n个或大于n个的结点来组成具有层次关系的一个集合(…

速通前端篇 —— CSS

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:速通前端 目录 CSS的介绍 基本语法规范 CSS选择器 标签选择器 class选择器 id选择器 复合选择器 通配符选择器 CSS常见样式 颜…

使用 Elastic 3 步实现基于 OTel 的原生 K8s 和应用可观测性

作者:来自 Elastic Bahubali Shetti Elastic 的 OpenTelemetry 发行版现已支持 OTel Operator,可使用 EDOT SDK 自动检测应用程序,并管理 EDOT OTel Collector 的部署和生命周期以实现 Kubernetes 可观察性。了解如何通过 3 个简单步骤进行配…

stack、queue、priority_queue、deque的使用和模拟实现

目录 1.容器适配器 2.stack stack的常用接口及使用示例 stack的模拟实现 3.queue queue的常用接口及使用示例 queue的模拟实现 4.priority_queue priority_queue的常用接口及使用示例 priority_queue的模拟实现 5.deque 认识deque deque底层的数据结构 deque和ve…

Linux的cuDNN(cudnn)安装教程(CUDA(cuda\cuda toolkit))

CUDA(cuda\cuda toolkit)安装教程 https://blog.csdn.net/huiyayaya/article/details/143863835?spm1001.2014.3001.5502官网下载cudnn https://developer.nvidia.com/rdp/cudnn-archive这个下载到自己的电脑 下载到本地就好 复制到服务器 切换到cudnn文件所在目…

Kafka中ACKS LSO LEO LW HW AR ISR OSR解析

名称解释 ACKS(Acknowledgments)确认、回执 LW(Low watermark)低水位、LSO(Log start offset)起始偏移量 HW(High watermark)高水位 LEO(Log end offset)…

C++设计模式行为模式———迭代器模式

文章目录 一、引言二、迭代器模式三、总结 一、引言 迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。C标准库中内置了很多容器并提供了合适的迭代器,尽管我们不…

智能体Agent调研

单个智能体建模与优化现状 人类长期以来追求类似于或超越人类水平的人工智能 (AI),而 基于AI的代理(Agent)被认为是一个有前途的研究方向。传统计算机领域的Agent有多种,如自动化脚本、网络爬虫、推荐系统、软件机器人能够独立自…

SAP PI/PO Proxy2JDBC SQL_QUERY动态接口示例

目录 背景: 完整demo步骤: IR: ID: SPROXY: 测试代码: 注意点: 背景: 中途临时帮客户项目做其他功能,项目上有部分开发项需要通过PO去第三方数据库取数,项目上的开发对PO不太熟&#xf…

【汇编语言】数据处理的两个基本问题(三) —— 汇编语言的艺术:从div,dd,dup到结构化数据的访问

文章目录 前言1. div指令1.1 使用div时的注意事项1.2 使用格式1.3 多种内存单元表示方法进行举例1.4 问题一1.5 问题一的分析与求解1.5.1 分析1.5.2 程序实现 1.6 问题二1.7 问题二的分析与求解1.7.1 分析1.7.2 程序实现 2. 伪指令 dd2.1 什么是dd?2.2 问题三2.3 问…

模型的评估指标——IoU、混淆矩阵、Precision、Recall、P-R曲线、F1-score、mAP、AP、AUC-ROC

文章目录 预测框的预测指标——IoU(交并比)分类预测指标混淆矩阵(Confusion Matrix,TP、FP、FN、TN)Precision(精度)Recall(召回率)P-R曲线F1-scoreTPR、TNR、FPR、FNRROC曲线下面积…

轻量云服务器:入门级云计算的最佳选择

在云计算领域,轻量云服务器逐渐成为小型企业、个人开发者和初创公司关注的热点。它凭借高性价比、简单易用和稳定性能,正在改变传统的服务器部署方式。本文将详细解析轻量云服务器的定义、优势、适用场景及如何选择最佳方案,帮助您全面了解这…

【初阶数据结构篇】归并排序、计数排序

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…

移远通信5G RedCap模组RG255C-CN通过中国电信5G Inside终端生态认证

近日,移远通信5G RedCap模组RG255C-CN荣获中国电信颁发的5G Inside终端生态认证证书。这表明,该产品在5G基本性能、网络兼容性、安全特性等方面已经过严格评测且表现优异,将进一步加速推动5G行业终端规模化应用。 中国电信5G Inside终端生态认…

Towards Reasoning in Large Language Models: A Survey

文章目录 题目摘要引言什么是推理?走向大型语言模型中的推理测量大型语言模型中的推理发现与启示反思、讨论和未来方向 为什么要推理?结论题目 大型语言模型中的推理:一项调查 论文地址:https://arxiv.org/abs/2212.10403 项目地址: https://github.com/jeffhj/LM-reason…

Android Studio | 修改镜像地址为阿里云镜像地址,启动App

在项目文件的目录下的 settings.gradle.kts 中修改配置,配置中包含插件和依赖项 pluginManagement {repositories {maven { urluri ("https://www.jitpack.io")}maven { urluri ("https://maven.aliyun.com/repository/releases")}maven { urlu…

Python | Leetcode Python题解之第564题数组嵌套

题目&#xff1a; 题解&#xff1a; class Solution:def arrayNesting(self, nums: List[int]) -> int:ans, n 0, len(nums)for i in range(n):cnt 0while nums[i] < n:num nums[i]nums[i] ni numcnt 1ans max(ans, cnt)return ans

2024-11-17 -MATLAB三维绘图简单实例

1. x -1:0.05:1; y x; [X, Y] meshgrid(x, y); f (X, Y) (sin(pi * X) .* sin(pi * Y)) .^ 2.*sin(2.*X2.*Y); mesh(X, Y, f(X, Y)); % 调用函数f并传递X和Y xlabel(X-axis); ylabel(Y-axis); zlabel(Z-axis); title(Surface Plot of (sin(pi * X) .* sin(pi * Y)) .^ 2.*…

网络层9——虚拟专用网VPN和网络地址转换NAT

目录 一、为什么有虚拟专用网&#xff1f; 二、如何理解“虚拟专用网”&#xff1f; 三、IP隧道技术实现虚拟专用网 四、网络地址变换 一、为什么有虚拟专用网&#xff1f; 第一&#xff0c;IPv4只有32位&#xff0c;最多有40亿个全球唯一的IP地址数量不够&#xff0c;无法…