当前位置: 首页 > news >正文

1.1计算机系统结构的基本概念

1.计算机系统结构层次

计算机系统从语言实现角度可分为 6 级层次,核心是 物理机(硬件实现)和虚拟机(软件实现)的划分,各层级的功能、实现方式和对应人员如下表:

层级 名称 特征 实现方式
6 应用语言机器 面向特定应用 应用程序 + 翻译成第五级上的语言
5 高级语言机器 面向高级语言 翻译成第4第3级
4 汇编语言机器 面向汇编语言 翻译成第3第2级语言
3 操作系统机器 管理系统资源(硬件+软件),第3级和第2级共同执行 语言=机器级指令+操作系统级指令
2 传统机器语言机器 面向机器指令集 由第1级上的微程序解释执行
1 微程序机器 面向微指令,控制硬件时序 由硬件解释执行

物理机和虚拟机

  • 1、2级是用硬件和固件实现,称为物理机。
  • 3级以上一般由软件实现,称为虚拟机。
  • 不一般?:把软件固化在只读存储器中,是一种固件。灵活性和速度介于软件和固件之间。

仿真

由微程序解释指令系统。

机器指令由硬件逻辑直接解释执行的情况

有些计算机没有微程序机器级。故第2级上的指令系统直接由硬件逻辑解释执行。
RISC处理器常采用这种方法(指令系统简单)。

翻译和解释

翻译:将高级的程序语言整体翻译为低级的程序语言。空间大,速度快。
解释:逐条将高级的程序语言指令翻译为低级的程序语言指令。空间小,速度慢。

2.什么是计算机系统结构

经典定义

传统机器程序员(机器语言 / 汇编程序员)所看到的计算机属性,即概念性结构与功能特性—— 简单说,就是程序员编程序时必须了解的硬件特征。

传统程序员看到的:汇编语言、机器语言、编译程序、操作系统 程序员编写出能够在机器上正确运行的程序所必须了解到的计算机系统的属性。

计算机系统结构的实质

确定计算机系统中软硬件的交界面。
界面之上是软件实现的功能;界面之下是硬件和固件实现的功能。

透明性

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
✅ 透明:程序员无需了解,不影响编程;
❌ 不透明:程序员必须了解,否则无法正确编程。

  • 例如:浮点数表示、乘法指令对高级语言程序员、应用程序员透明 ;对汇编语言程序员、机器语言程序员不透明。

3.广义的系统结构

广义系统结构的定义

指令系统结构、组成、硬件。

通俗讲,系统结构是程序员看到的功能与接口;计算机组成是怎样实现这些功能;计算机实现是用什么硬件/工艺/电路。

层面 定义 研究重点 举例
指令系统结构 软硬件功能分界面;传统机器程序员看到的属性 软硬件功能分配 确定指令集是否有乘法指令、主存编址方式、寄存器数量
计算机组成 系统结构逻辑实现 数据流、控制流组织,部件功能与连接 乘法指令用硬件乘法器还是加法器迭代实现
计算机实现 计算机组成的物理实现 器件技术、物理结构 乘法器用CMOS芯片还是TTL芯片

特点

  • 相同系统结构 → 可采用不同组成(如IBM370系列,高低档机指令集相同,低档机顺序执行指令,高档机流水执行);
  • 相同组成 → 可采用不同实现(如同一种硬件逻辑,用不同工艺的芯片实现)。

例子

image

系列机

同一厂家生产的相同系统结构,但组成和实现不同的一系列型号不同的计算机。
特征是向后兼容。

4.计算机系统结构分类

flynn、冯氏、Handler分类法。

flynn分类法

  • 定义:按指令流和数据流的多倍性进行分类。

  • 指令流:计算机执行的指令序列。
    数据流:由指令流调用的数据系列。
    多倍性:系统最受限部件上,同时处于同一执行阶段的指令/数据的最大数目。

分为4类核心结构,MISD几乎无实际产品,SISD/SIMD/MIMD是重点:

类型 核心特征 典型实例
单指令流单数据流 串行执行 早期单处理机、传统冯·诺依曼机
单指令流多数据流 一条指令同时处理多个数据,数据级并行 GPU
多指令流单数据流 多条指令同时处理一个数据,无实际产品 理论模型,无商用机器
多指令流多数据流 多条指令同时处理多个数据,任务/线程级并行 多处理机(SMP/MPP)、计算机集群、服务器

冯氏分类法(按最大并行度划分)

  • 最大并行度( P_m ):单位时间内能处理的最大二进制位数,用( P_m = m×n )表示(( m ):一次处理的字数;( n ):每个字的位数);

  • 分为4类:字串位串(( m=1,n=1 ),纯串行)、字串位并(( m=1,n>1 ),传统单处理机)、字并位串(( m>1,n=1 ),位片处理机)、字并位并(( m>1,n>1 ),并行处理机/集群)。

  • 平均并行度,平均利用率

handler分类法(根据并行度和流水线分类)

http://www.jsqmd.com/news/451519/

相关文章:

  • 别再重试了!MCP Sampling接口幂等性失效的真相(附RFC 9458兼容性补丁+Go/Java双语言SDK修复代码)
  • AIGlasses_for_navigation部署教程:将AIGlasses_for_navigation封装为Docker微服务
  • 直播回放下载技术突破:从内容流失到价值变现的全流程革新
  • YOLOv12数据采集实战:编写Python爬虫构建自定义数据集
  • 圣女司幼幽-造相Z-Turbo在Ubuntu服务器上的无头(Headless)模式部署与管理
  • Qwen3-0.6B-FP8模型轻量化解析:FP8量化技术原理与效果
  • 开源大模型实战:Z-Image-Turbo文生图服务在本地GPU的完整部署流程
  • SeqGPT-560M效果展示:合同/简历/新闻中人名、公司、金额全自动结构化
  • DeepSeek-R1-Distill-Qwen-1.5B环境搭建:简单几步完成模型服务部署
  • translategemma-27b-it实操手册:基于Ollama WebUI定制多语言切换翻译界面
  • WAN2.2文生视频开箱即用体验:在CSDN星图镜像广场一键部署,快速开始创作
  • TQVaultAE:重构装备管理逻辑的泰坦之旅存储解决方案
  • RexUniNLU GPU算力适配指南:torch 1.11+环境下CUDA 11.3/11.7兼容配置
  • 新手福音:借tiobe8kino话题,用快马一键生成多语言入门代码实例
  • 两级式光伏并网逆变器:采用Boost电路与二电平逆变器技术,实现高效MPPT与并网稳定
  • FireRedASR Pro数据预处理管道构建:音频增强与降噪实战
  • Qwen3-ASR-1.7B新手入门:Web界面操作,无需代码基础
  • 打破常规游戏体验:Forza Mods AIO 让你从玩家变身为游戏创造者
  • douyin-downloader:破解短视频批量采集的效率困局
  • MATLAB并行计算实战:如何用parfor让你的代码飞起来(附常见错误排查)
  • DWPose预处理器ONNX运行时错误实战指南:从异常诊断到深度优化
  • 如何用BsMax解决3ds Max用户迁移Blender的痛点?完整指南
  • Python连接SQL SEVER数据库全流程
  • 避坑指南:用JetBrains Gateway连接Docker容器时常见的5个端口映射错误
  • Qwen-Turbo-BF16助力YOLOv8目标检测:高精度图像分析实战
  • YOLO12在智能交通系统中的应用:车辆与行人检测
  • AIGlasses_for_navigation企业级部署:高可用架构与负载均衡设计
  • Dify混合RAG召回率卡在76.3%无法突破?2024Q3最新生产环境实测:仅需替换1个分词器+微调3个向量归一化参数
  • 基于Qwen3-TTS-12Hz-1.7B-Base的教育语音应用开发
  • SEER‘S EYE预言家之眼助力社区运营:自动化生成游戏战报与精彩集锦