【面试准备】计算机体系结构
计算机体系结构的层次
0 布尔语言(硬件)——硬联逻辑级
1 微程序指令——微程序级
2 传统机器语言——传统机器级
3 操作系统——操作系统级
4 汇编语言——汇编语言级
5 高级编程语言——高级语言级
6 应用语言——应用语言级
· 系统结构:0级到2级,硬件级、微程序指令级、传统机器语言级
· 软件与理论:3级到5级,操作系统级、 汇编语言级、高级语言级
· 应用与技术:6级,应用语言级
第1、2级属于物理机;往上属于虚拟机。什么是虚拟机?
利用软件和宿主机的硬件,在宿主机上实现另一套计算机系统的指令集,能够模拟另一台计算机在宿主机进行运行。模拟和仿真
· 模拟:用软件方法在一台机器上实现另一台的指令集。可以在不同系统结构的机器之间相互移植。
· 仿真:用微程序直接解释另一台机器的指令系统。仿真方法速度高但需要更多硬件。
区别在于手段实现的层级不同,模拟在2级之上实现,仿真在1级之上实现。计算机系统结构、组成、实现的区别
· 计算机系统结构:指传统机器程序员所看到的计算机属性,即概念性结构与功能特性。包括指令集、数据类型、存储器寻址技术、I/O机理等(抽象,概念性)
比如IBM PC和 RS6000 是具有不同的指令集、数据类型、存储器寻址技术、I/O机理,所以这两种机器的结构各不相同。
· 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。着眼于物理机器级内各事件的排序方式与控制方式、各部件的功能与各部件之间的联系。
· 计算机实现:计算机组成原理的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度等。着眼于器件技术和微组装技术。系统结构的主要功能及属性
· 数据寻址(硬件直接识别和处理的数据类型)
· 寻址规则(最小寻址单元、寻址方式)
· 寄存器定义(各种寄存器的定义、数据及使用方式)
· 指令集(指令类型和格式、指令间的排序和控制机构)
· 中断系统(中断类型、中断响应硬件的功能等)
· 机器工作状态的定义和切换
· 存储体系(主存容量、程序员可用的最大存储容量等)
· 信息保护(信息保护方式、硬件对信息保护的支持)
· IO结构(IO连接方式,处理机、存储器与IO设备间数据传送方式和格式等)
以上功能由硬件和固件完成,了解它们才能编出传统机器级上正确运行的程序。Flynn分类法、Handler分类法、冯氏分类法
大概率事件优先原理
优先加速使用次数比较多的硬件。对大概率时间赋予优先处理权和资源使用权。冯·诺依曼体系结构
特点:存储程序,指令按照顺序执行;以运算器为中心;程序和数据均以二进制存储
程序以二进制形式同数据一样存储在存储器中,通过从存储器读取的机器周期不同区分指令和数据。采用二进制进行存储和运算,符合硬件特性。CPU性能主要取决于:时钟周期时间t、CPI、程序执行的指令条数IC
解决流水线瓶颈的方法:
1 重复设置瓶颈段,多个瓶颈段并行工作。
2 瓶颈再细分,细分为多个流水段(超流水线)。流水线冲突:数据冲突、结构冲突、控制冲突
控制相关:由分支指令引起,包括(无)条件转移、中断等。
名相关(包括反相关、输出相关):寄存器换名,通过编译器静态实现或用硬件动态完成。
数据冲突:定向技术(旁路)、停顿、编译器解决(编译器重新组织指令顺序,又称指令调度或流水线调度)
结构冲突:资源不够、功能部件不是完全流水。插入暂停周期;设置相互独立的指令存储器和数据存储器(哈佛结构)。
控制冲突:分支成功、分支失败两种结果。在流水线中尽早判断出分支是否成功;尽早计算出分支目标地址;使用软件减少分支延迟(预测分支失败、预测分支成功、延迟分支)。预测分支成功对于经典五段流水线没有任何好处。为什么
因为经典五段流水线想要知道转移分支的地址,就已经知道了分支结果。也就是没有办法在分支结果出来之前知晓分支地址。延迟分支
顺序执行延迟槽里的命令。
延迟槽中指令的调度策略包括:从前调度、从目标处调度、从失败处调度MIPS五段流水线
流水寄存器作用:
· 将各段工作隔开,使他们不会相互干扰
· 保存相应段的处理结果
· 向后传递要用的数据或控制信息从两个方面解决相关问题:
1 保持相关,但避免发生冲突。如指令调度
2 通过代码变换,消除相关。如寄存器重命名
保持异常行为,不改变数据流,做到这两点就能不遵守控制相关,进行指令调度。动态调度流水线
策略:乱序执行,乱序完成;
目标:尽早执行没有结构冲突和数据冲突的指令
要求:多个功能部件或者功能部件完全流水化
乱序完成带来新问题:RW冲突和WW冲突;异常处理复杂化。
必须保持正确的异常行为。
WW冲突导致流出阶段停顿;RW冲突导致记分牌在写结果阶段停顿;真相关引起的WR冲突会导致记分牌在读操作数阶段停顿;资源冲突会导致记分牌在流出阶段停顿。
记录的信息:指令状态表、功能部件状态表、结果寄存器状态表典型动态调度算法:记分牌算法、Tomasulo算法(托马苏洛?)
记分牌算法相关:
ID译码段分为:流出和读操作数两个过程
EX指令执行过程分为:流出、读操作数、执行、写结果
通过记分牌控制,避免了WW、WR、RW冲突及结构冲突。介绍一下记分牌算法
记分牌算法是一种并行指令的动态调度算法,依据乱序执行乱序完成的策略,对指令的运行情况和资源需求进行标记,尽早执行没有结构冲突的和数据冲突的指令。可以有效消除Tomasulo算法
基本思想:①记录和检测指令相关,操作数一旦就绪就立即执行,把RAW写后读冲突的可能性减小到最少;②通过寄存器换名来消除WAR冲突和WAW冲突。
主要优点:冲突检测是随机的;消除了WAW和WAR冲突导致的停顿。互联网络三要素:开关元件、互联结构、控制方式
互联网络的特性参数:网络规模、结点度、结点距离、网络直径、等分宽度、对称性
评估互联网络性能的两个基本指标:时延和带宽
消息传递方式分为:线路交换和分组交换
根据Flynn分类法进行分类并进行列举例子
1 SISD:单指令流单数据流、最基本的计算机、传统顺序处理计算机
2 SIMD:单指令流多数据流、并行处理机、阵列处理机
3 MISD:多指令流单数据流、流水线处理机(又认为不存在有认为流水线结构计算机属于)
4 MIMD:多指令流多数据流、多处理机、最灵活性能强举例MIMD结构处理机:
并行向量多处理机、大规模并行多处理机、集中式共享存储器多处理机、分布式存储器多处理机、分布式共享存储器系统、机群多处理机阵列处理机
一个控制部件CU控制多个处理单元PE
基本结构:分布式存储器的阵列机、共享存储器的阵列机分布式与共享式处理机结构特点
结构:
1 处理机-处理机结构 与 处理机-存储器结构
2 私有存储器和共享存储器
3 分布式方案中,PE需要由私有存储器提供数据
通讯:
1 共享内存方案:互联网络是PE间通讯的必由之路。分布式方案:给处理单元间通讯可通过控制存储器完成。
2 共享存储器模块个数可变、不多。存在数据分配、划分问题。通常处理器直接由计算机担任。分布式方案更适应大规模并行电路的发展方向。有较大发展潜力。简述阵列处理机的特点:
以单指令流多数据流方式工作,通过设置多个相同的处理单元来开发并行性。
利用并行性中的同时性,所有处理单元同时对不同的数据进行相同的操作。
以某一类算法为背景的专用处理机。
【面试准备】计算机体系结构相关推荐
- 未来十年计算机体系结构的历史和趋势
编者按: 本文转载自微信公众号 机器之心 图灵人工智能,原文标题为<计算机架构的新黄金时代,两位图灵奖得主最新力作>. 先分享我对这篇文章的总结,或者我得到的启发: 1.DSA(Domai ...
- 主存储器是现代计算机系统的数据传送中心,第2章计算机体系结构习与题答案.doc...
第2章计算机体系结构习与题答案 第二章习题 复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并 ...
- 未来计算机体系结构,华中科大金海:未来是计算机体系结构的“黄金十年” 要培养大量创新人才...
近日,华为开发者大会2021(HDC.Cloud)在深圳举行.大会以"每一个开发者都了不起"为主题,汇聚高校学者.商业领袖.技术专家等各界顶级大咖,共同探讨ICT技术的基础创新与应 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:内联汇编与宏
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:函数、字符串、浮点运算
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:指令
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:处理器、寄存器简介
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 【趋势】未来十年计算机体系结构的历史和趋势
来源:机器之心 先分享我对这篇文章的总结,或者我得到的启发: 1.DSA (Domain-Specific Architectures,特定领域的体系结构) 将成为未来十年甚至更长时间,计算机体系结构 ...
- 面向人工智能的计算机体系结构
来源:计算机研究与发展 前 言 近几年来人工智能技术的飞速发展使得其应用迅猛扩大,而传统的计算机体系结构对于面向人工智能的应用在处理速度.能耗.使用的方便性等方面有着诸多不足.随着人工智能应用的发展, ...
- 计算机体系结构:嵌入式方法_计科考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?...
考研选择专业的时候,可以看到"计算机科学与技术"是一级学科,下面还有三个二级学科,分别叫"计算机系统结构" "计算机软件与理论" " ...
最新文章
- linux中使用CST时间
- 自定义全局按键修饰符
- 可延迟函数、内核微线程以及工作队列
- 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
- 2. PHP赋值运算符
- 【前端知识学习】HTML5 学习笔记
- linux nslcd服务,CentOS 6通过ldap集成AD域账号(nslcd方式)
- Anchor-free 目标检测之 ExtremeNet
- 微信一键设置“姓氏头像”,学起来!
- 并发控制技术手段之多版本(三)
- 使用VC2005编译静态应用程序的方法
- 微擎-人人商城接入Facebook授权登录
- w7为什么计算机没有摄像头.,W7笔记本摄像头怎么打开
- 如何在WPS中加入图表清单(类似生成自动目录)
- 2019-06-30中国裁判文书网数据爬虫更新,PYTHON
- 数据库SQL的高级查询
- 【广告架构day1】爱奇艺广告系统的演进之路:实践中的一些经验
- 联想台式修复计算机,联想台式电脑如何一键恢复出厂设置
- 机器学习:案例探究课程笔记
- 做工控的朋友,留着可能有不时之需.2011工控破解,助你一臂之力!