【计算机组成原理】总结篇
2024-01-10 12:55:00
计算机系统概论
- 计算机有哪两部分组成,作用分别是?
1)硬件:看得见的实体;计算机系统运行所需的物理组件 -> 主机+外设
主机:CPU(运算器和控制器)、内存(cache和主存)
外设:外存、输入设备、输出设备
[注:CPU能直接访问内存;不能访问外存]
2)软件:看不见实体的;计算机运行所需的程序及数据、相关文档和资料集合(常用的软件程序包括系统软件和应用软件)
系统软件:操作系统、语言处理程序等;应用软件:QQ、微信等; - 计算机硬件包括?
1)运算器:算术、逻辑运算
2)控制器:让计算机的各个组成部分有序地完成指令
3)存储器:用来存放程序和数据(主存+辅存)
4)输入设备:鼠标、键盘等
5)输出设备:显示器、打印机、摄像头等 - 计算机系统的主要性能指标
字长:是CPU能够直接处理的二进制数据位数,它直接关系到计算机的计算精度、功能和速度;(与CPU的寄存器位数有关)机器字长越长,精度越高
运算速度:是指计算机每秒中所能执行的指令条数,是衡量计算性能的一项主要指标;
主频:是指计算机的CPU在单位时间内发出的脉冲数目,它很大程度上决定了计算机的运行速度;MHz
CPU的时钟周期(T)是主频的倒数,即T=1/f;度量单位: us(微秒)、ns(纳秒)
内存容量:反映了计算机即时存储信息的能力,内存容量越大,系统功能就越强大,能处理的数据量就越大 - CPU速度
(1)CPI: 执行一条指令所需的平均时钟周期数
? ? ? ? ? CPI = 执行某段程序所需的CPU时钟周期数÷程序指令条数
(2)CPU执行时间:CPU执行一般程序所占用的CPU时间
? ? ? ? ??CPU执行时间=执行某段程序所需的CPU时钟周期数x时钟周期
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =执行某段程序所需的CPU时钟周期数÷时钟频率(执行某段程序所需的CPU时钟周期数=程序指令数xCPI) = 程序指令数 x CPI÷时钟频率
(3)MIPS: 每秒百万(10)指令数,即单位时间内执行的定点指令数
? ? ? ? ? ??MIPS =指令条数÷(程序执行时间x10)
? ? ? ? ? ? ? ? ? ? ? = 时钟频率(MHz)÷CPI
(即每秒包含的百万(M)时钟周期数/执行一条指令所需的时钟周期数)
(5)吞吐量和响应时间
1)吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量单位:字节/秒(B/S)。吞吐量越大 计算机性能越高
2)响应时间: 从输入有效到系统产生响应之间的时间度量,用时间单位来表示 - 冯·诺依曼计算机的五大功能部件:运算器、控制器、存储器、输入设备、输出设备。
冯·诺依曼计算机的特点:指令和数据以不加区别的混合存储在同一存储器主要区别于哈佛计算机指令和数据完全分开存储 - 能够被计算机硬件直接识别的语言是【执行最快的语言】:机器语言
三种语言:高级语言(C、C++、JAVA等);
汇编语言:用助记符编写,以便记忆;(ADD、MOV)
机器语言:二进制代码语言,计算机唯一可以识别和执行的语言(0101)
三种翻译程序:
编译程序(编译器):将高级语言翻译成汇编语言或机器语言程序
汇编程序(汇编器):将汇编语言翻译成机器语言
解释程序(解释器):将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行 - 计算机的更新换代以 逻辑元件/电子器件为依据。第1代计算机的逻辑器件,采用的是_电子管__;第2代计算机的逻辑器件,采用的是_晶体管_;第3代计算机的逻辑器件,采用的是_中小规模集成电路__;第4代计算机的逻辑器件采用的是 大规模、超大规模基础电路。
- 计算机的应用领域:科学计算;数据处理;辅助技术(CAD、CAM和CAI等);过程控制(eg:汽车工业方面零件加工自动化);人工智能;网络应用
- 下列属于冯?诺依曼计算机的核心思想是( )B
A、采用补码 B、存储程序和程序控制 C、采用总线 D、存储器按地址访问 - 冯?诺依曼机的工作方式的基本特点是_________。B
A.多指令流单数据流 B.按地址访问并顺序执行指令 C.堆栈操作 D.存储器按内存选择地址 - 计算机中能对指令进行译码的部件是控制器
- 计算机中信息存储的最小单位是二进制位
- 存储字长是指存放在一个存储单元中的二进制代码位数。
- 完整的计算机系统应包括()D
A、外围设备和主机 B、主机和实用设备
C、运算器、控制器、存储器 D、配套的硬件设备和软件系统 - 计算机存储数据的基本单位为()B
A、字节 B、比特 C、字组 D、以上都不对 - 将有关数据加以分类、统计、分析,以取得有利价值的信息,我们称其为______.。C
A.数值计算 B.辅助设计 C.数据处理 D.实时控制 - 假设某程序在一台计算机上的运行时间为100秒,其中80秒的时间是用来执行乘法操作的, 如果希望该程序的速度提高到原来的4倍,,乘法部件的速度应该是原来的()倍。 C
A、4 B、10 C、16 D20
解答:提高到原来的4倍,就是25秒,减去固定的其他操作;原先80秒的时间是用来执行乘法操作,则其他操作20s,剩余5s;由原先的80s变成现在的5s;提升了80/5=16倍
?
系统总线
- 什么是总线? 总线有什么作用?
定义:是构成计算机系统的互联机构,是多个系统功能部件之间进行信息传送的公共通路。
作用:借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。 - 总线的分类?
片内总线:是指[芯片内部]的总线,如在 CPU 芯片内部,寄存器与寄存器之间、寄存器与算逻单元 ALU之间都由片内总线连接
系统总线:
系统总线是指 CPU、主存、IO 设备(通过I/O接口)各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
数据总线:用来传输各功能部件之间的数据信息,它是[双向传输总线]
地址总线:主要用来指出数据总线上的源数据或目的数据在主存单元的地址或 I/O 设备的地址
控制总线:传输控制信号和时序信号。
通信总线:用于计算机系统之间或计算机系统与其他系统之间的通信。 - 总线的特性?性能指标?
1)总线特性:
机械特性:尺寸、形状、管脚数、排列顺序等
电气特性:传输方向、有效的电平范围
功能特性:每根传输线的功能(地址信号、数据信号、控制信号)
时间特性:信号之间的时序关系
2)性能指标:
1.总线的传输周期:指一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),简称总线周期。
2.总线时钟周期:即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制
3.总线的工作频率:总线上各种操作的频率,为总线周期的倒数。实际上指1秒内传送几次数据
4.总线的时钟频率:即机器的时钟频率,它为时钟周期的倒数
5.总线宽度:又称总线位宽,它是总线上同时能够传输的数据位数,通常指数据总线的根数,如32根称为32位总线
6.总线带宽:可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒传送信息的字节数来衡量单位可用字节/秒(B/s) 表示。总线带宽=总线工作频率x(总线宽度/8)。
- 总线结构:单总线结构(系统总线);双总线结构;三总线结构;四总线结构
- 总线上多个部件,如何协同工作?
1)总线判优控制(仲裁控制): 在同一时刻,总线上只能有一对设备进行占用。但是总线上可不止存在一个设备,若是多个设备都发出了总线占用请求,就得需要总线判优控制来调节占用的顺序了。总线判优控制解决了由哪一个主设备控制总线,主设备获得了使用权以后就要和从设备进行通信。
2)通信控制:已经确定了哪一对设备占用总线进行通信,如何完成这一对设备的通信,保证通信过程的正确性?总线通信控制,其目的就是解决通信双方协调配合问题。
1)总线判优控制:集中式+分布式
1】链式查询:由总线授权线BG串行查询I/0接口是否发送总线请求,当达到的接口有总线请求则该设备获得总线控制权。(特点:离中央仲裁器最近的设备具有最高优先权,离总线控制器越远,优先权越低)
优点:实现总线控制的线数量少,容易扩充设备
缺点:对电路故障很敏感优先级固定
BS-总线忙:设备已经占用总线;BR-总线请求:设备想要占用总线。方向请求设备->总线控制部件;BG-总线同意:发送允许该设备的占用请求信号,该线方向总线控制部件 ->请求设备
2】计数器定时查询:计数器开始计数后,将计数值通过一组地址线发向各设备,地址线上的计数值与请求总线的设备地址相一致时,该设备获得总线使用权。
优点:可灵活改变优先次序;
缺点:以增加控制线数为代价。
3】独立请求方式:每一个设备都有独立的BR和BG两条线。总线仲裁器的排队电路根据一定优先次序来确定设备的优先级。
优点:响应时间快;对优先次序的控制相当灵活
缺点:以增加硬件电路和控制线数为代价
2)总线通信控制: 同步通信与异步通信
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。事件出现在总线上的时刻由总线时钟信号确定,总线周期长度固定。在一个总线周期中进行一次数据传送。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。不需要统一的公共时钟信号,依靠双方相互制约的应答信号或互锁协议实现通信定时,总线周期长度可变。 - 计算机中使用总线结构便于增减外设,同时()C
A、减少了信息传输量 B、提高了信息传输速度 C、减少了信息传输线的条数 D、三者均正确 - 总线结构的主要优点是便于实现系统的模块化,其缺点是() C
A、传输的地址和控制信息不能同时出现 B、传输的地址和数据信息不能同时出现
C、不能同时具有两个总线主设备 D、不能同时使用多于两个总线设备 - 总线中地址的作用是:选择总线设备,指定存储器及存储单元地址。
- 若使用链式查询方式总线上共有N个主设备,则实现总线仲裁需要一根请求线、一根忙状态和一根应答线。
- 比较同步通信和异步通信?
同步通信和异步通信的主要区别是:前者有公共时钟总线上的所有设备按统-的时序、统的传输周期进行信息传输,通信双方按约定好的时序联络,后者没有公共时钟,没有固定的传输周期,采用应答方式通信,具体的联络方式有不互锁、半互锁和全互锁三种。不互锁方式通信双方没有相互制约关系:半互锁方式通信双方有简单的制约关系;全互锁方式通信双方有完全的制约关系。其中全互锁通信可靠性最高。 - 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
一帧包含:1+8+1+2=12位;波特率:单位时间内传送二进制数据的位数,单位用bps(位/秒)
故波特率为:(1+8+1+2)*120=1440bps
比特率:单位时间内传送二进制有效数据的位数,单位用bps表示,故比特率为8*120=960bps - 一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试设总线的时钟频率为8MHZ,问总线的带宽是多少?
由于: f=8MHz,T=1/f=1/8M秒,一个总线周期等于一个时钟周期所以: 总线带宽=16/ (1/8M) = 128Mbps
存储器
- 二级存储系统:内存、外存;三级存储系统: cache、主存、辅存
- 存储系统在计算机中有什么作用?
存储系统是计算机的重要组成部分之一。存储系统提供写入和读出计算机工作需要的信息(程序和数据)的能力,实现计算机的信息记忆功能。现代计算机系统中常采用寄存器、高速缓存、主存、外存的多级存储体系结构。
存储系统的层次结构分为3层,即Cache、主存、辅助存储器
Cache:高速缓冲存储器,容量小,速度快,与CPU中的寄存器通过字进行信息交换
主存:内存,与cache通过块进行信息交换。
辅助存储器:主要是磁盘,容积大、价格低、速度慢,与主存通过页面进行信息交换。 - 计算机系统中有哪些存储器?
1.按存储介质分类
(1)半导体存储器 (双极型)TTL、MOS 易失
(2)磁表面存储器 磁头、载磁体
(3)磁芯存储器: 硬磁材料、环状元件;
4)光盘存储器 激光、磁光材料 (三个非易失)
2.按存取方式分类
(1)存取时间与物理地址无关(随机访问)
随机存储器RAM 在程序的执行过程中可读可写
只读存储器ROM 在程序的执行过程中只读
(2)存取时间与物理地址有关 (串行访问)
顺序存取存储器 磁带
直接存取存储器 磁盘 - 什么是主存储器?如何与CPU连接?
主存储器(Main memory),简称主存。其作用是存放指令和数据,并能由中央处理器(CPU) 直接随机存取
主存储器性能指标:
存储容量:在一个存储器中可以容纳的存储单元总数存储空间的大小,用字数,字节数表示。= 存储字数?x?存储字长
存取时间:启动到完成一次读/写操作命令所经历的时间,ns表示。
存储周期:连续启动两次操作所需间隔的最小时间,ns表示。
存储器带宽:单位时间里存储器所存取的信息量,它是衡量数据传输速率的重要技术指标,单位是b/s (位/秒)或B/S(字节/秒)。
与CPU连接:
1)主存通过数据总线、地址总线和控制总线与CPU连接;
2)数据总线的位数与工作频率的乘积正比于数据传输率;
3)地址总线的位数决定了可寻址的最大内存空间。
4)控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻。 - 如果目前只有两片1K x 4位的存储芯片,如何组成 1K x 8位的存储器?
位扩展(增加存储字长)
存储字长:存储单元中的二进制代码(存储字)位数,存储字长可以是8位、16位、32位等
数据位数与CPU的数据线数相等
保证两个芯片同时进行读操作和写操作,片选线相同 字扩展(增加存储字的数量)
存储字是指存放在一个存储单元中的二进制代码组合;
利用A10来控制芯片工作状态;
用1Kx8位存储芯片组成2Kx8位的存储器 字、位扩展
用1K x 4位 存储芯片组成 4K x 8位的存储器
- 主存与CPU的速度不一样,如何进行调节来保证CPU的高速工作? 存储系统主要体现在下面两个层次上: Cache一主存、主存——辅存。
“Cache一主存”层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
“主存一辅存”层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。 - 主存与Cache大小不一样,那么他们的地址如何进行映射?
1)直接映射(directmapping):将一个主存块存储到唯一个Cache行
主存中每个块只能装入Cache中的唯一位置
若产生块冲突,原来的块无条件被移出,无需替换算法
Cache块号=主存块号 mod Cache总块数 2)全相联映射(fullyassociative mapping): 将一个主存块存储到任意一个Cache行
主存中的每一块可以装入Cache中的任何位置;Cache块中的标记用于指出该块取自主存的哪一块,所以CPU访存时需要与所有Cache块的标记比较。 3)组相联映射(setassociative mapping): 将一个主存块存储到唯一的一个Cache组中任意一行
将Cache分为Q个大小相等的组,每个主存块可以装入固定组内的任意一块。即组间采用直接映射,组内采用全相联映射;每组内有几块就称为几路组相联映射 - 命中率H: CPU欲访问的信息已在Cache中的比率
设一个程序执行期间,Cache的总命中次数为Nc,访问主存的总次Nm,则 H = Nc/(Nc+Nm)
缺失率M: CPU欲访问的信息不在Cache中的比率M=1-H - 存储器的随机访问方式是指() D
A、可随意访问存储器 B、按随机文件访问存储器 C、可对存储器进行读出与写入
D、可按地址访问存储器任一编址单元,其访问时间相同且与地址无关 - 指令流是() A
A、从主存流向控制器 B、从控制器流向主存 C、从控制器流向控制器 D、从主存流向主存 - 数据流是() D
A、从主存流向控制器 B、从控制器流向主存 C、从控制器流向运算器 D、从主存流向运算器 - 某单片机字长32位,存储容量256MB
若按字节编址,那么它的寻址范围是 256M;(256MB÷1B)
若按字编址,那么它的寻址范围是? 64M;(256MB÷32bit)
若按双字编址,那么它的寻址范围是 32M;(256MB÷(32bit x 2)) - 一个16Kx32位的存储器,其地址线和数据线的总和是:46
地址线:16K=(2^4)*(2^10) = 2^14; 14根地址线;
数据线:32位;32根数据线; - 已知:Cache的速度是主存的5倍; Cache被访问的命中率为0.95。问: 采用Cache后,存储器性能提高了多少倍?
设Cache的存取周期为t,主存的存取周期为5t
1)Cache和主存同时访问,则系统的平均访问时间为ta = t * 0.95 +5t * 0.05 = 1.2t,5t/1.2t=4.17;使用cache后性能提高了3.17倍。
2)若采用先访问Cache在访问主存的形式:ta=t * 0.95 +6t * 0.05 = 1.25t,5t/1.25t = 4; 提高了 3倍; - 利用1Kx4位的存储芯片,组成4Kx8位的存储器,求需要芯片,地址线,数据线的数量各为多少?扩展过程是怎么样的?
(1)共需几块芯片: (4Kx8) /(1Kx4) =8
(2)需要几根地址线:4K地址空间(存储单元的个数),需要12根地址线
(3)需要几根数据线:8根
(4)扩展过程:先进行位扩展这个过程相当于分组,将2片1Kx4位构成一组,利用位扩展,构成1K x 8位的完整存储单元。这样一共可以分成四组。再将这些分组视为一个完整的存储单元,进行字扩展。 - 计算机中设置Cache的作用是什么?能否将Cache的容量扩大最后取代主存,为什么?
答:算机中设置Cache主要是为了加速CPU访存速度。不能把Cache的容量扩大到最后取代主存,主要因为Cache和主存的结构原理以及访问机制不同(主存是按地址访问,Cache是按内容及地址访问)
(1)Cache 容量越大成本越高,难以满足人们追求低价格的要求, (2)如果取消主存,当CPU 问Cache 失败时,需要将辅存的内容调入 Cache 再由 CPU 访问,造成CPU 等待时间太长,损失更大。 - 假设Cache中有64块,每块大小为16字节,那么主存中地址为1200的块被映射到Cache中的哪一块?
答:Cache的块数为64,主存中地址为1200对应的主存块号为j = 1200/16=75;对应的Cache块号i = j % C = 75 % 64 = 11,所对应的Cache块号为11。
文章来源:https://blog.csdn.net/weixin_63544745/article/details/135496877
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!