计算机系统结构——概述

        计算机的实现包括两个方面:组成和硬件。组成一词包含了计算机设计的高阶内容,例如存储器系统,存储器互连,设计内部处理器 CPU (中央处理器——算术、逻辑、分支和数据传送功能都在内部实现)。有时也用微体系结构一词来代替“组成”。例如AMD Operon和Intel Core I7是两个指令集体系结构相同但组成不同的处理器。这两种处理器都实现X86指令集,但它们的流水线和缓存组成有很大的不同。硬件指的是一个计算机的具体实现,包括计算机的详尽逻辑设计和封装技术。

  • 计算机体系结构是指计算机的概念性结构和功能属性。
  • 计算机组织是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。
  • 计算机实现是指计算机组织的物理实现。

一、定义

        真正的体系结构涵盖了计算机设计的所有三个方面:指令集体系结构、组成或微体系结构、硬件。计算机架构师设计的计算机必须满足功能需求,并达到价格、功耗、性能和可用性指标。在涉及到计算机系统结构的知识时,主要按以下金字塔进行学习:

Acceleration,Amdahl

  •         整个计算机系统结构的总设计目标是为了“快”
  •         总的设计原理是:加快经常性事件
  •         如何量化加速这一指标:Amdahl 原理
  •         如何衡量CPU性能:CPU性能公式
  •         程序的局部性原理

Instruction,Interface

        指令集架构(Instruction Set Architecture, ISA),对于汇编语言程序员或编译器编写者可见。ISA包括:1)编程寄存器 2)操作数访问 3)操作数的类型和大小 4)指令集 5)寻址模式 6)指令编码

        ISA 是硬件与软件之间的连接点。任何在内存里执行的程序都将通过 ISA 进行解耦从而能在底层架构上执行。整个计算机体系机构和抽象层如下:

Processing,Parallel

        按指令流与数据流进行分类则可以把结构分为:

  1. SISD:单指令流、单数据流;
  2. SIMD:单指令流、多数据流;
  3. MISD:多指令流、单数据流;
  4. MIMD:多指令流、多数据流;

Storage,System

        程序局部性原理的存在,以及“在给定实现技术和功率预算的情况下,硬件越小,速度可以越快”的准则,存储器体系结构便运营而生。

时间局部性(temporal locality):被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。
空间局部性(spatial locality):如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。

        

        有人可能会问,为什么需要多层次的存储结构,使用一个理论上无限大的存储器去完成一些工作不就可以了么?这样表面上是可以的,但是我们没有办法立刻马上从这样一个十分庞大的存储器中得到我们想要的机器字。我们不得不去构建分层的结构存储器,每一层的容量都要大于前一层,但访问速度也要慢一些。当前的一大趋势:存储器性能和处理器性能之间的差距越来越大。

Network,conNection

        通过互联函数来描述设备间的互相连接,既包括计算机内部的连接,也包括计算机之间的连接。主要通过带宽和延迟两个指标进行衡量。        

二、基本结构

        冯·诺依曼在研究EDVAC机时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机,其特点如下:

  1. 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成。
  2. 指令和数据以同等地位存储在存储器中,并可按地址寻访。
  3. 指令和数据均用二进制代码表示。
  4. 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存
  5. 储器中的位置。
  6. 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
  7. 早期的冯·诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。

        典型的冯·诺依曼计算机结构如图所示。

        面随着微电子技术的进步,同时计算机需要处理、加工的信息量也与日俱增,大量I/O设备的速度和CPU的速度筹距悬殊,因此以运算器为中心的结构不能够满足计算机发展的要求。现代计算机已发展为以存储器为中心,使I/O操作尽可能地绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率,其结构如图所示。

三、性能指标

1、Amdahl定律

        对一个计算机架构进行优化后,我们如何衡量其性能的提升呢?首先定义加速比:对于同一个程序的执行,其加速比为:

S_{n}=\frac{T_{old}}{T_{new}}

        而Amdahl定律为:

S_{n}=\frac{1}{(1-F_{e})+\frac{F_{e}}{S_{e}}}

        其中,S_{n}代表系统加速比,S_{e}表示改进部分的加速比,F_{e}表示被改进部分原来的执行时间占原来总执行时间的百分比。

        当F_{e}趋近于0时,S_{n}趋近于1。说明如果仅对计算机的一部分做出改变,那么对整体性能的提升非常有限。

         为了使系统获得较高的加速比,优化的部分必须占有较大的比例。

 2、CPU性能公式

        执行一个程序所需要的CPU时间为:执行程序所需要的时钟周期*时钟周期时间。

        我们定义CPI(Cycles Per Instruction)为平均每条指令耗费的时钟周期数。则CPU时间可表示为:

T_{cpu}=IC*CPI*T

        其中,IC为执行的指令条数,T为时钟周期时间。

        基于此公式,提升处理器性能的三个思路为:1)减少IC,即较少执行指令的条数,如RISC;2)减少CPI,如CISC;3)较少时钟周期时间,如提升主频。

3、性能指标

4、可靠性

        

         我们用MTTF这一指标来衡量可靠性。

        可用性定义为:

Availability=\frac{MTTF}{MTTF+MTTR}

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

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

相关文章

全景图像拼接——基本流程

图像拼接技术是数字图像处理技术一个重要的研究方向,它即是将两幅或多幅相互有部分重叠的场景照片拼接成具有超宽视角、与原始图像接近且失真小、没有明显缝合线的高分辨率图像。可以很好地解决广角镜、鱼眼镜头等全景图获取设备的不足。如下图: 图像拼接产生的图像不…

WPF 带CheckBox、图标的TreeView

WPF 带CheckBox、图标的TreeView 在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提供强大的ItemTemplate模板功能和自定义样式,那我们可以自己写一个这样的控…

win32框架,GDI图形编程写一个HelloWorld游戏_c语言

1.如图,实现功能: Hello World!字符串跟随鼠标移动鼠标左击Hello World!颜色为红色鼠标右击Hello World!颜色为蓝色鼠标滚轮滚动改变Hello World!颜色的RGB中的G值 2.实现工具: vs20133.实现步骤: 新建一个win32项目 如图,看到HelloWorldGame.cpp中 _tWinMain()的函…

全景图像拼接——图像融合

图像融合技术就是将配准过后的图像融合成一幅宽视角、大场景的图像。但由于图像采集过程中各种因素的影响,例如光照、角度、距离等,从而导致图像间的光照不均匀、颜色上不连续。 经过配准以后,参考图像和输入图像已经在同一个坐标系下,如果只是取某一幅图像的信息或者简单地…

极详细的ECC讲解 -OOB与ECC

http://blog.csdn.net/dongzhichen/article/details/8249228 详细的ECC讲解 -OOB与ECC 在网络编程中 OOB(out of band)带外数据 在MTD设备中 OOB 如下所示: http://www.cnblogs.com/bcxx_qin/archive/2009/06/11/1501271.html 极详细的ECC…

前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...

前端开发需要了解的工具集合:webpack, eslint, prettier, ... 前端开发需要了解的一些工具,这些工具能够帮助你在项目开发中事半功倍。 1. nrm: npm registry 管理器 registry: npm 远程仓库的地址。 由于众所周知的原因,npm 官方仓库在国内特…

CMOS图像传感器——TOF 图像传感器

一、3D成像技术概述 图像传感器一直以来都是人类研究的热点。但随着当代科学技术发展, 人类对于传统的 2D 图像传感器的要求越来高,不仅期望着更高分辨率,更快速度,更大的动态范围,人类加希望能够获得物体深信息,但是 2D 成 像技术现在已经不能满足人类的需求,所以应运…

AndroidStudio创建jinLibs文件夹

在文件中的buildTypes节点下添加 sourceSets.main { jniLibs.srcDir libs } 如图 转载于:https://www.cnblogs.com/kim-liu/p/7479360.html

内嵌Tomcat的Connector对象的静态代码块

在排查问题的过程中发现Connector对象有一个静态代码块: static {replacements.put("acceptCount", "backlog");replacements.put("connectionLinger", "soLinger");replacements.put("connectionTimeout", &quo…

【Python爬虫学习笔记1】网络协议及请求基础

http协议与https协议 HTTP协议(全称为HyperText Transfer Protocol,超文本传输协议),是发布和接收HTML页面的方法,其服务端口号为80。 HTTPS协议为HTTP协议的加密版本,其在HTTP下加入了SSL层,服务端口号为443。 URL结构…

快速上手SpyGlass——基本流程

SpyGlass,这是一个很强大的RTL验证级工具。它不仅仅能检查sdc的错误,还能做以下各种检查:Low Power, DFT,CDC(Cross Domain Check)。 一、基本概念 1、方法学相关 Rule: 是SpyGlass 进行RTL分析的最小单…

快速上手SpyGlass——CDC检查

随着技术的发展,数字电路的集成度越来越高,设计也越来越复杂。很少有系统会只工作在同一个时钟频率。一个系统中往往会存在多个时钟,这些时钟之间有可能是同步的,也有可能是异步的。如果一个系统中,异步时钟之间存在信…

数字后端——低功耗单元库

在之前的文章中,介绍了低功耗设计物理实施的方案: 数字后端——低功耗设计物理实施_沧海一升的博客-CSDN博客_低功耗设计低功耗设计方案所涉及到的物理实施相关内容https://blog.csdn.net/qq_21842097/article/details/119918312 为了实现例如门…

NandFlash详述

1. 硬件特性: 【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。这类设备,除了Flash,还有其他比较常见…

史上最全的MySQL高性能优化实战总结!

1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器…

低功耗设计——基于UPF进行设计

UPF, 统一电源格式UPF(Unified Power Format)是新思(Synopsys)公司通用的电源格式,是一组标准的类Tcl 语言的集合,用来描述芯片设计中的低功耗意图(Low-Power Design Intent)。 使用UPF 的语言,可以描述供电…

用公众号获取 任意公众号文章列表 软件还是免费

用公众号获取 任意公众号文章列表 软件还是免费还不快点下载 下载 地址 https://pan.baidu.com/s/1jI44Wjs转载于:https://www.cnblogs.com/wx85437898/p/7488590.html

CentOS7时间设置问题

本地安装一个VMWare player虚拟机客户端,并安装了Linux CentOS7 Basic Web Server系统,时区在安装时已经选择了Asia/Shanghai,但是安装完成后,时间和当前外部的时间不一致,如下图 图一 图二 图三 后经搜索发现,由于未开…

低功耗设计——功耗估算

根据在功耗分析的过程中是否有输入向量的提供,功耗估算方法可以分为仿真的方法(Simulative)和非仿真的方法(Non-simulative): 仿真的方法是根据用户所提供的大量输入向量来对电路进行模拟,利用…

Deep Learning(深度学习)学习笔记整理系列三

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。 2)本文仅供学术交流&…