计算机组成与体系结构 概述

news2024/12/29 8:18:01

文章目录

  • 计算机组成与体系结构 概述
    • 计算机系统概述
      • 计算机系统的组成
      • 计算机层次结构
    • 计算机性能评价

计算机组成与体系结构 概述

计算机系统概述

计算机系统的组成

计算机的基本部件

  • 运算器:ALU、GPRs(通用寄存器组)、标志寄存器等;
  • 存储器:存储阵列、地址译码器、读写控制电路;
  • 总线:数据(MDR)、地址(MAR)和控制线;
  • 控制器:对指令译码生成控制信号;

冯诺伊曼结构:运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。

  • 存储器同时存放数据和指令,形式上没有区别;

  • 内部以二进制表示指令和数据,每条指令由操作码和地址码两部分组成;

  • 采用“存储程序”的工作方式。

“存储程序”工作方式:冯诺依曼结构的最重要的思想,指任何计算机完成的工作都要先悲编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。

请添加图片描述

计算机层次结构

请添加图片描述

  • 最终用户工作:在应用程序层面,看到的是应用程序虚拟机,只知道如何使用相应的 应用程序;
  • 应用程序开发人员:在程序设计语言层面工作,看到的是高级语言虚拟机,只要会使用各种程序设计语言编程;
  • 系统维护人员:在操作系统层面工作,看到的是操作系统虚拟机,只要知道系统中的命令和工具如何使用;
  • 系统程序员(OS和编译器开发人员):工作在计算机逻辑结构层面(ISA层次),看到的是汇编语言虚拟机;

ISA(指令集体系结构):ISA 是一种规约,规定了如何使用硬件;是软/硬件的交界面;

  • 常分为复杂指令集运算(CISC)和精简指令集运算(RISC) ;

计算机性能评价

计算机的性能指标

  • 完成任务所需要的时间:如响应时间、执行时间、等待时间或时延;
  • 单位时间所完成的任务:如吞吐率、带宽;

不同应用场合用户关心的性能不同,如:

  • 要求吞吐率高的场合:多媒体应用;
  • 要求响应时间短的场合:事务处理系统;
  • 要求吞吐率高且响应时间短的场合:ATM、服务器;

通常把用户感觉到的响应时间分成以下两个时间:

  • CPU 时间:指 CPU 真正花在程序执行上的时间,又分为:
    • 用户 CPU 时间:用来运行用户代码的时间;
    • 系统 CPU 时间:为了执行用户程序而需要运行操作系统程序的时间;
  • 其他时间:指等待 I/O 操作完成或 CPU 花在其他用户程序的时间;

基本的性能评价标准是:CPU 的执行时间 ,即执行程序中每条指令的时间。

CPI :平均每条指令所花费的 CPU 周期数

CPU 执行时间的计算
CPU执行时间 = 指令条数 / 程序数 × CPI × 时钟周期 \text{CPU执行时间}=\text{指令条数}/\text{程序数}\times\text{CPI}\times\text{时钟周期} CPU执行时间=指令条数/程序数×CPI×时钟周期

CPU time = Seconds Program = Instructions Program × Cycles Instructions × Seconds Cycles \text{CPU time}=\frac{\text{Seconds}}{\text{Program}} =\frac{\text{Instructions}}{\text{Program}} \times\frac{\text{Cycles}}{\text{Instructions}} \times\frac{\text{Seconds}}{\text{Cycles}} CPU time=ProgramSeconds=ProgramInstructions×InstructionsCycles×CyclesSeconds

:程序P在机器A上运行需10 s, 机器A的时钟频率为400MHz。 现在要设计一台机器B,希望该程序在B上运行只需6 s;机器B时钟频率的提高导致了其CPI的增加,使得程序P在机器B上时钟周期数是在机器A上的1.2倍。机器B的时钟频率达到A的多少倍才能使程序P在B上执行速度是A上的10/6=1.67倍?

:程序 P 在机器 A 上的时钟周期数为:
10 s × 400 MHz = 4000 M 10\text{s}\times 400\text{MHz}=4000M 10s×400MHz=4000M
B 机器的时钟频率为:
1.2 × 4000 M / 6 s s = 800 MHz 1.2 \times 4000\text{M}/6s\text{s}=800\text{MHz} 1.2×4000M/6ss=800MHz
MIPS 定点指令执行速度:Million Instruction Per Second

MFLOPS 浮点操作速度:Million Floating-point Operations Per Second

Benchmarks 基准测试程序:专门用来进行性能评价的一组程序,通过运行实际负载赖反应计算机的性能。

  • 缺陷:对基准测试程序进行特殊优化,可以得到不当的性能评测结果;

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

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

相关文章

Java编程教程-Java ObjectStreamClass

ObjectStreamClass作为类的序列化描述符。该类包含类的名称和serialVersionUID。 # 方法 # 示例 toString() It returns a string describing this ObjectStreamClass.Exampleimport java.io.ObjectStreamClass; import java.util.Calendar; public class ObjectStreamCl…

谷歌插件(Chrome扩展) “Service Worker (无效)” 解决方法

问题描述: 写 background 文件的时候报错了,说 Service Worker 设置的 background 无效。 解决(检查)方法: 检查配置文件(manifest.json) 中的 manifest_version 是否为 3。 background 中的…

深入探索Spring的Bean注入:四种方式解析与循环依赖探讨

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

Docker-Compose 轻松搭建 Grafana+InfluxDb 实用 Jmeter 监控面板

目录 前言: 1、背景 2、GranfanaInfluxDB 配置 2.1 服务搭建 2.2 配置 Grafana 数据源 2.3 配置 Grafana 面板 3、Jmeter 配置 3.1 配置 InfluxDB 监听器 3.2 实际效果 前言: Grafana 和 InfluxDB 是两个非常流行的监控工具,它们可…

【力扣每日一题】2023.7.20 环形子数组的最大和

题目: 示例: 分析: 题目描述的有点复杂,特别是那个公式,一看到我就烦. 其实意思就是找出一个子数组(连续),要求这个子数组的和是所有子数组中最大的,并且这个数组是环形的,意思就是我这个子数组可以从原数组的尾部开始,到原数组的头部结束,…

Nginx文件下载预览加权限验证的思考和实现

做的项目中多个模块涉及到附件、图片、PDF/Excel等文件的处理,包括预览、导出和下载等功能。对于体积较小的文件,可以直接由后端以流形式传输给前端处理;而较大的文件则需要通过nginx进行转发。但是如果nginx中不设置鉴权服务,可能…

帖子列表和SerializerMixin注意事项

帖子序列化 继承SerializerMixin 即可调用to_dict()序列化 后端 class PostModel(db.Model, SerializerMixin):serialize_only ("id", "title", "content", "create_time", "board", "author")__tablename__ …

Ubuntu22.04上部署Lua开发环境

需求背景 想在Ubuntu22.04上搭建一下Lua的开发环境,其实步骤比较简单的,此文章也适用于Ubuntu主机环境搭建Lua,如果想在在Ubuntu内部署一个容器,然后在容器内搭建Lua的环境,可以先参考容器的创建过程 ubuntu22.04上如何创建有pri…

android adb命令获取处于当前屏幕的Activity

android adb命令获取处于当前屏幕的Activity 使用adb命令: adb shell dumpsys activity activities 输出,例如: ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Display #0 (activities from top to bottom): * Task{38ef601 #5281 typ…

C++-----list

本期我们来讲解list,有了string和vector的基础,我们学习起来会快很多 目录 list介绍 ​编辑 list常用接口 insert erase reverse sort merge unique remove splice 模拟实现 基础框架 构造函数 push_back 迭代器 常见问题 const迭代器 …

BEVPoolv2 A Cutting-edge Implementation of BEVDet Toward Deployment 论文学习

Github Repo: https://github.com/HuangJunJie2017/BEVDet/tree/dev2.0 Arxiv Paper: https://arxiv.org/abs/2211.17111 1. 解决了什么问题? 多相机 3D 目标检测是自动驾驶领域的基本任务,受到学术界和工业界的大量关注。Lift-Splat-Shoot view trans…

Linux基础IO(一)

Linux基础IO 文章目录 Linux基础IOC语言中的文件操作c语言文件打开方式C语言文件操作函数 系统文件操作stdin/stdout/stderropeanclosewriteread 文件描述符重定向什么是重定向dup2 C语言中的文件操作 我们通过两个代码复习一下C语言中的文件操作: int main() {FI…

uniapp-开发APP使用自定义插件

uniapp-开发APP使用自定义插件 需求背景: 项目组开发了一个APP需要使用到打印机的功能、所以需要通过打印机厂商提供的jdk包结合自己的业务融合到uniapp 中。 首先你需要一个懂开发android开发的同事、让他帮忙配合写一些调用方法(调用打印机提供的一些…

态势标绘专题介绍

介绍 这个专栏是专门针对基于Cesium来实现态势标绘的专题专栏,专栏主要实现了30余种态势几何形状的标绘和编辑、文本的标绘和编辑、图片的标绘和编辑以及简单模型的标绘,同时支持标绘结果的导出以及导入。包括最终编写成的一个完整的Vue3.2+TS+Cesium1.107.2的标绘组件。专栏…

【STL】list用法试做_底层实现

目录 一,list 使用 1. list 文档介绍 2. 常见接口 1. list中的sort 2. list sort 与 vector sort效率对比 3. 关于迭代器失效 4. clear 二,list 实现 1.框架搭建 2. 迭代器类——核心框架 3. operator-> 实现 4. const——迭代…

c++11 标准模板(STL)(std::basic_filebuf)(二)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_filebuf : public std::basic_streambuf<CharT, Traits> std::basic_filebuf 是关联字符序列为文件的 std::basic_streambuf 。输入序…

基于AOP实现登录日志和操作日志(新手入门版)

基于AOP实现登录日志和操作日志 目录结构代码PostMan测试代码控制台查看输出解析成JSON如果你觉得对你有帮助的话&#xff0c;请点赞收藏 目录结构 代码 package com.demo.mymaintest.constants;import java.lang.annotation.Documented; import java.lang.annotation.ElementT…

在Debian 12 上安装 PHP 5.6, 7.4

环境&#xff1a;Debian 12 Debian 12 默认的PHP版本为 8.2 如果直接安装php7.4就出现下面的报错&#xff1a; sudo apt-get install libapache2-mod-php7.4 php7.4 php7.4-gd php7.4-opcache php7.4-mbstring php7.4-xml php7.4-json php7.4-zip php7.4-curl php7.4-imap p…

【人工智能】神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略

神经网络、前向传播、反向传播 文章目录 神经网络、前向传播、反向传播前向传播反向传播梯度下降局部最小值多层前馈网络表示能力多层前馈网络局限缓解过拟合的策略前向传播是指将输入数据从输入层开始经过一系列的权重矩阵和激活函数的计算后,最终得到输出结果的过程。在前向…

HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(六)

UIAbility组件间交互&#xff08;设备内&#xff09; UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时&#xff0c;会涉及到启动特定的UIAbility&#xff0c;该UIAbility可以是应用内的其他UIAbility&#xff0c;也可以是其他应用的UIAbility&#xff08;例如启…