【计算机组成原理】1_绪论

chap1 绪论

1. 国产芯片现状

  • MIPS阵营:龙芯
  • X86阵营(常见于桌面和服务器):兆芯(VIA),海光(AMD)
  • ARM阵营(常见于移动嵌入式、手机平板等):飞腾,海思,展讯,松果
  • RISC-V阵营:阿里平头哥玄铁910

2. 冯·诺伊曼结构计算机

2.1 组成
  • 硬件系统:运行程序的基本组成部分
    • 运算器
    • 控制器:控制信号的产生方式包括微程序和硬布线
    • 存储器
    • 输入输出设备

在这里插入图片描述

  • 软件系统:系统软件和应用软件
2.2 层次结构

在这里插入图片描述

3. 指令集

  指令集向上承载的是整个软件生态,向下则规范了以处理器芯片为代表的整个硬件生态。根据一份指令集规范,设计一款处理器,其上可以运行同样遵循该指令集规范所编写的软件代码。故而,我们在提到指令集的时候,有时候也指的是其背后的整个软硬件生态系统,包括外围芯片、操作系统、编译器和诸多应用软件(浏览器、游戏软件等)。定义一个新指令集本身并不是一件难事,但更重要的是如何能吸引整个业界乃至全世界一起来共同建设生态,这需要一种开放共享的理念作为基底。
  指令集规范(Specification)和处理器实现(Implementation)是两个不同层次的概念:指令集是规范标准,往往用一本书或几张纸来记录描述,而处理器实现是基于指令集规范完成的源代码
  指令集和处理器是不同层次的概念,但都各自有3中知识产权模式

在这里插入图片描述

3.1 指令集评价标准
  • 1.成本:更小的芯片=一个晶圆中有更多可用芯片=每颗芯片的成本更低

  • 2.简洁性

    • 更简洁的ISA=更小的芯片面积
    • 更简洁的ISA=更简单的设计与验证=更小的人力成本
  • 3.性能=程序执行时间

p e r f = t i m e p r o g = i n s t p r o g ∗ c y c l e i n s t ∗ t i m e c y c l e perf=\frac{time}{prog}=\frac{inst}{prog}*\frac{cycle}{inst}*\frac{time}{cycle} perf=progtime=proginstinstcyclecycletime

减小①:编译优化,对应于更好的指令集设计
减小②:体系结构优化
减小③:即增加主频,对电路关键路径优化,后端物理设计优化,依赖于开源EDA工具

  • 4.架构和具体实现的分离:不要让指令集手册的定义约束微架构的实现

  • 5.提升空间:一方面可以添加指令:变长指令集可以一直添加,而定长指令集总有一天会把操作码空间用完;另一方面可以自由地添加指令:目前基本上只有RISC-V可以做到:设计,实现,生产,销售

  • 6.代码大小

    • 嵌入式处理器:更小的代码=更小的存储器=更低的成本
    • 高性能处理器:更小的代码=更高的缓存命中率=更低的功耗&更高的性能
  • 7.易于编程/编译/链接

3.2 RISC-V指令集简介
  • 简单:和商业ISA相比简单得多
  • 干净的设计
    • 没有历史包袱
    • 与微结构设计解耦:反例MIPS指令集的延迟槽设计
  • 模块化:很小的标准基础指令集,很多的标准扩展
  • 为扩展性和定制化而设计
    • 变长的指令编码
    • 为扩展指令集预留了很多操作码空间
  • 稳定
    • 通过可选扩展,而不是新版本来进行增强
    • 属于开放的RISC-V基金会所有,不受一家公司的决定和沉浮所影响

3.计算机系统性能评价

3.1 非时间指标
3.1.1 机器字长
  • 机器一次能够处理的二进制位数
    • 一般与内部寄存器、运算器、数据总线的位数相等
    • 早期计算机字长一般为16位,目前常见的有32位和64位字长
  • 对计算机性能的影响:字长越长,表示数据的范围就越大,精确度越高
3.1.2 主存容量
  • 一台计算机主存所包含的存储单元总数:存储单元数x每个存储单元存储的二进制位数
  • 对计算机系统性能的影响:增加主存容量可以减少程序运行期间访问辅存的次数,从而提高程序执行速度

在这里插入图片描述

3.2 时间指标
3.2.1 主频

  是指CPU内核工作的时钟频率,即CPU内数字脉冲信号振荡的速率,与CPU实际的运算能力之间不是唯一的、直接关系

3.2.2 外频

  是指系统总线的工作频率,CPU与主板之间同步运行的速度

标准外频:66MHz、100MHz、133MHz、200MHz、400MHz

3.2.3 倍频

  是指CPU主频与外频之间的倍数,即主频=外频*倍频

3.2.4 CPI

  是指执行一条指令(平均)需要的时钟周期数

C P I = 一段程序中所有指令的时钟周期数之和 / 指令条数 = Σ ( 程序中各类指令的 C P I ∗ 程序中该类指令的比例 ) \begin{aligned} CPI&=一段程序中所有指令的时钟周期数之和/指令条数 \\ &=\Sigma(程序中各类指令的CPI*程序中该类指令的比例) \end{aligned} CPI=一段程序中所有指令的时钟周期数之和/指令条数=Σ(程序中各类指令的CPI程序中该类指令的比例)

3.2.5 IPC

  是指每个时钟周期内并行执行的指令条数

CPU性能=IPC x 频率f

3.2.6 MIPS

  表示每秒钟执行指令的条数(以百万条为单位)

M I P S = 指令条数 执行时间 ∗ 1 0 6 = 指令条数 ( 所有指令 C P U 时钟周期数之和 / f ) ∗ 1 0 6 = f C P I ∗ 1 0 6 \begin{aligned} MIPS&=\frac{指令条数}{执行时间*10^6} \\ &=\frac{指令条数}{(所有指令CPU时钟周期数之和/f)*10^6} \\ &=\frac{f}{CPI*10^6} \end{aligned} MIPS=执行时间106指令条数=(所有指令CPU时钟周期数之和/f)106指令条数=CPI106f

3.2.7 MFLOPS

  表示计算机每秒钟执行浮点操作的次数

3.2.8 CPU时间

执行一段程序所需的时间=CPU时间+I/O时间+存储访问时间+各类排队时延

C P U 时间 = 程序中所有指令的时钟周期数之和 ∗ T = 程序中所有指令的时钟周期数之和 / f = C P I ∗ 指令条数 ∗ T = 指令条数 / ( M I P S ∗ 1 0 6 ) \begin{aligned} CPU时间&=程序中所有指令的时钟周期数之和*T \\ &=程序中所有指令的时钟周期数之和/f \\ &=CPI*指令条数*T \\ &=指令条数/(MIPS*10^6) \end{aligned} CPU时间=程序中所有指令的时钟周期数之和T=程序中所有指令的时钟周期数之和/f=CPI指令条数T=指令条数/(MIPS106)

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

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

相关文章

解锁反序列化漏洞:从原理到防护的安全指南

目录 前言 一、什么是反序列化 二、反序列化漏洞原理 三、反序列化漏洞的危害 (一)任意代码执行 (二)权限提升 (三)数据泄露与篡改 四、常见的反序列化漏洞场景 (一)PHP 反…

openGauss 3.0 数据库在线实训课程1:学习数据库状态查看

openGauss数据库状态查看 前提 我正在参加21天养成好习惯| 第二届openGauss每日一练活动 课程详见:openGauss 3.0.0数据库在线实训课程 学习目标 学习从操作系统层面和使用openGauss工具查看数据库的状态、版本和数据文件目录。 课程作业 gs_ctl是openGauss提…

[含文档+PPT+源码等]精品基于Python实现的django个性化健康餐计划订制系统

软件开发环境及开发工具: 开发语言:python 使用框架:Django 前端技术:JavaScript、VUE.js(2.X)、css3 开发工具:pycharm、Visual Studio Code、HbuildX 数据库:MySQL 5.7.26&am…

单机伪分布Hadoop详细配置

目录 1. 引言2. 配置单机Hadoop2.1 下载并解压JDK1.8、Hadoop3.3.62.2 配置环境变量2.3 验证JDK、Hadoop配置 3. 伪分布Hadoop3.1 配置ssh免密码登录3.2 配置伪分布Hadoop3.2.1 修改hadoop-env.sh3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改yarn-site.xml3.2.5 …

ZooKeeper单节点详细部署流程

ZooKeeper单节点详细部署流程 文章目录 ZooKeeper单节点详细部署流程 一.下载稳定版本**ZooKeeper**二进制安装包二.安装并启动**ZooKeeper**1.安装**ZooKeeper**2.配置并启动**ZooKeeper** ZooKeeper 版本与 JDK 兼容性3.检查启动状态4.配置环境变量 三.可视化工具管理**Zooke…

IMX6ULL环境搭建遇到的问题和解答更新

IMX6ULL环境搭建遇到的问题 开发板:正点原子IMX6ULL 终端软件串口控制:MobaXterm 1、网络环境搭建三方互ping不通 电脑无网口,使用绿联USB转网口,接网线直连开发板,电脑WiFi上网 按文档设置的 IP 地址,以…

Windows Docker笔记-Docker拉取镜像

通过在前面的章节《安装docker》中,了解并安装成功了Docker,本章讲述如何使用Docker拉取镜像。 使用Docker,主要是想要创建并运行Docker容器,而容器又要根据Docker镜像来创建,那么首当其冲,必须要先有一个…

51单片机07 串口通信

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信。51单片机内部自带UART(Universal Asynchronous Recei…

外置互感器导轨式电能表

1 概述 1 Overview ADL系列导轨式多功能电能表,是主要针对于光伏并网系统、微逆系统、储能系统、交流耦合系统等新能源发电系统而设计的一款智能仪表,产品具有精度高、体积小、响应速度快、安装方便等优点。具有对电力参数进行采样计量和监测&#xff…

微软发布基于PostgreSQL的开源文档数据库平台DocumentDB

我们很高兴地宣布正式发布DocumentDB——一个开源文档数据库平台,以及基于 vCore、基于 PostgreSQL 构建的 Azure Cosmos DB for MongoDB 的引擎。 过去,NoSQL 数据库提供云专用解决方案,而没有通用的互操作性标准。这导致对可互操作、可移植…

开放式TCP/IP通信

一、1200和1200之间的开放式TCP/IP通讯 第一步:组态1214CPU,勾选时钟存储器 第二步:防护与安全里面连接机制勾选允许PUT/GET访问 第三步:添加PLC 第四步:点击网络试图,选中网口,把两个PLC连接起…

【漫画机器学习】083.安斯库姆四重奏(Anscombe‘s quartet)

安斯库姆四重奏(Anscombes Quartet) 1. 什么是安斯库姆四重奏? 安斯库姆四重奏(Anscombes Quartet)是一组由统计学家弗朗西斯安斯库姆(Francis Anscombe) 在 1973 年 提出的 四组数据集。它们…

【C语言】指针运算与数组关系:详细分析与实例讲解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯1. 指针的基础运算1.1 指针的加减运算1.2 指针加整数与指针减整数1.3 指针与指针的运算 💯2. 指针的实际应用:模拟 strlen 函数2.1 使用指针模拟…

在线教程丨YOLO系列10年更新11个版本,最新模型在目标检测多项任务中达SOTA

YOLO (You Only Look Once) 是计算机视觉领域中最具影响力的实时目标检测算法之一,以其高精度与高效性深受业界青睐,广泛应用于自动驾驶、安防监控、医疗影像等领域。 该模型最早于 2015 年由华盛顿大学研究生 Joseph Redmon 发布,开创了将目…

面向对象程序设计-实验1

6-1 求两个或三个整数中的最大数&#xff0c;用带默认参数的函数实现 本题要求实现一个带默认参数的函数&#xff0c;求两个或三个整数中的最大数 代码清单&#xff1a; #include <iostream> using namespace std; int main() { int max( int a,int b,int c0); int …

如何打开vscode系统用户全局配置的settings.json

&#x1f4cc; settings.json 的作用 settings.json 是 Visual Studio Code&#xff08;VS Code&#xff09; 的用户配置文件&#xff0c;它存储了 编辑器的个性化设置&#xff0c;包括界面布局、代码格式化、扩展插件、快捷键等&#xff0c;是用户全局配置&#xff08;影响所有…

2025简约的打赏系统PHP网站源码

源码介绍 2025简约的打赏系统PHP网站源码 源码上传服务器&#xff0c;访问域名/install.php安装 支持自定义金额打赏 集成支付宝当面付 后台管理系统 订单记录查询 效果预览 源码获取 2025简约的打赏系统PHP网站源码

自指学习:AGI的元认知突破

文章目录 引言:从模式识别到认知革命一、自指学习的理论框架1.1 自指系统的数学定义1.2 认知架构的三重反射1.3 与传统元学习的本质区别二、元认知突破的技术路径2.1 自指神经网络架构2.2 认知效能评价体系2.3 知识表示的革命三、实现突破的关键挑战3.1 认知闭环的稳定性3.2 计…

Ubutun本地部署DeepSeek R1

目录 一、本地部署&终端命令行交互 二、网页端交互 三、参考链接 一、本地部署&终端命令行交互 Ollama 是一个轻量级的大语言模型管理工具&#xff0c;支持 Windows / Mac / Linux。 Ollama官网&#xff1a;Ollama # 下载安装ollama curl -fsSL https://ollama.co…

【Linux】Linux经典面试题

文章目录 1. Linux文件系统1.1 什么是inode&#xff1f;1.2 硬链接和软链接的区别1.3 文件权限和所有权 2. Linux进程管理2.1 进程和线程的区别2.2 进程间通信&#xff08;IPC&#xff09;2.3 守护进程&#xff08;Daemon&#xff09; 3. Linux内存管理3.1 虚拟内存和物理内存3…