计算机组成原理--重点知识点讲解之CPU
计算机组成原理总结

计算机组成原理总结第一章计算机结构是对程序员可见的系统属性,这些特性对程序的运行逻辑有直接的影响。
计算机组织指计算机系统的各操作部件以及按照“计算机结构”的特性要求各部件的连接方式冯.诺依曼计算机特征:1、计算机内信息(数据和控制信息)用二进制表示。
2、计算机硬件由五大部分组成。
3、计算机的工作原理:存储程序的工作原理.4. 指令由操作码和地址码组成.5.指令在存储器中按执行顺序存放,由PC指明要执行的指令所在的单元地址,一般按顺序递增,但可按运算结果或外界条件而改变.6.机器以运算器为中心.总线按功能划分可分为CPU内部总线、局部总线、系统总线、外总线,按时序可分为同步总线和异步总线,按数据传送方式划分可分为并行总线和串行总线,按传送方向可分为单向总线和双向总线,按信息类型分为数据总线、地址总线、控制总线。
以CPU为中心的双总线结构:优点:总线上的负载不重,速度较高,缺点:增加了CPU的开销,降低了CPU的性能。
单总线结构:各部件通过一组总线相连,优点:简化操作,便于系统的扩展,CPU的效率提高了。
缺点:对总线的速率要求高了,负担重,而且控制管理也更复杂了。
机器语言:有二进制代码表示的指令(操作码、地址码)组成组成计算机的基本部件有中央处理器(CPU包括运算器和控制器,用于处理数据和控制程序(指令流)的执行,发出执行每条指令所需要的控制信号)、存储器(起存储、缓冲、传递信息的作用)和输入输出设备(输入设备用来输入原始数据和处理这些数据的程序,输出设备用来输出计算机的处理结果),各部分是有总线联系的光传输系统的组成:1、传输介质(传输线)为光缆 2、光源是发光二极管LED或激光二极管(前者的传输为几千米,后者为100千米) 3、接受信号的检测器利用光电二极管检测信号字长:一般与运算器中的二进制位数相等计算机系统可分为的几个层次第二章▲★超前进位思想:先行进位解决的问题是进位的传递速度。
其基本思想是:让各位的进位与低位的进位无关,仅与两个参加操作的数有关。
【计算机组成原理】基础知识汇总(必背)

【计算机组成原理】基础知识汇总(必背)整理了⼀下超星上的题⽬以及教材《计算机组成原理第3版》——唐朔飞的课后题。
第 1 章计算机系统概论超星题⽬说明计算机系统的层次结构。
说明冯诺依曼体系结构的特点。
计算机硬件系统由运算器、存储器、控制器、输⼊设备和输出设备5⼤部件组成。
指令和数据以同等地位存储在存储器中,并可按地址寻访。
指令和数据均⽤⼆进制代码表⽰。
指令由操作码和地址码组成,操作码⽤来表⽰操作的性质,地址码⽤来表⽰操作数在存储器中的位置。
指令在存储器内按顺序存放。
通常,指令是顺序执⾏的,在特定条件下可根据运算结果或根据设定的条件改变执⾏顺序。
早期的冯·诺依曼机以运算器为中⼼,输⼊/输出设备通过运算器与存储器传送数据。
知识点:冯·诺依曼机的基本⼯作⽅式是:控制流驱动⽅式冯·诺依曼机⼯作⽅式的基本特点:按地址访问并顺序执⾏指令什么是机器字长、指令字长、存储字长?机器字长是指CPU⼀次能处理数据的位数,通常与CPU的寄存器位数有关。
指令字长是⼀个指令字中包含⼆进制代码的总位数。
指令字长取决于从操作码的长度、操作码地址的长度和操作码地址的个数。
存储字长是⼀个存储单元存储⼆进制代码的位数。
存储字是存放在⼀个存储单元中的⼆进制代码组合存储单元是存放⼀个存储字的所有存储元集合。
其他存放欲执⾏指令的寄存器是:IR⼀个8位的计算机系统以16位来标⽰地址,则该计算机系统中有(65536)个地址空间。
指令流通常是(主存流向控制器)CPU内通⽤寄存器的位数取决于(机器字长)。
课后题什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电⼦线路和物理装置。
计算机软件:计算机运⾏所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺⼀不可,因此同样重要。
解释下列概念:主机、 CPU 、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。
计算机组成原理名词解释

主机:CPU、存储器和输入输出接口合起来构成计算机的主机。
CPU:中央处理器,是计算机的核心部件,由运算器和控制器构成。
运算器:计算机中完成运算功能的部件,则ALU和寄存器构成。
外围设备:计算机的输入输出设备,包括输入设备、输出设备和外存储设备。
数据:编码形式的各种信息,在计算机中作为程序的操作对象。
指令:构成计算机软件的基本元素,表示成二进制数编码的操作命令。
透明:在计算机中,从某个角度看不到的特性称该特性是透明的。
位:计算机中的一个二进制的数据代码(0或1),是数据的最小表示单位。
字:数据运算和存储单位,其位数取决于计算机。
字节:衡量数据量以及存储器容量的基本单位,1字节等于8位二进制信息。
字长:一个数据字包含的位数,一般为8位、16位、32位和64位等。
地址:给主存储器不同的存储位置指定的一个二进制编号。
存储器:计算机中存储程序和数据的部件,分为内存和外存两种。
存储器的访问:对存储器中数据的读操作和写操作。
总线:计算机中连接功能单元的公共线路,是一束信号线的集合。
硬件:由物理元器件构成的系统,计算机硬件是一个能够执行指令的设备。
软件:由程序构成的系统,分为系统软件和应用软件两种。
兼容:计算机部件的通用性。
操作系统:主要的系统软件,控制其他程序的运行,管理系统资源并且为用户提供操作界面。
汇编程序:将汇编语言程序翻译成机器语言程序的计算机软件。
汇编语言:采用文字方式(助记符)表示的程序设计语言,其中大部分指令和机器语言中的指令一一对应。
编译程序:将高级语言的程序转换成机器语言程序的计算机软件。
解释程序:解释执行高级语言程序的计算机软件,,解释并执行源程序的语句。
系统软件:计算机系统的一部分,进行命令解释、操作管理、系统维护、网络通信、软件开发和输入输出管理的软件。
应用软件:完成应用功能的软件,专门为解决某个应用领域中的具体任务而编写。
指令流:在计算机的存储器与CPU之间形成的不断传递的指令序列。
计算机组成原理期末复习资料

计算机组成原理一、缩写词解释CPU:中央处理器ALU:算术逻辑单元I/O:输入输出接口RAM:随机存储器SRAM:静态随机访问存储器DRAM:动态随机访问存储器ROM:只读存储器PROM:用户可编程的只读存储器EPROM:紫外线可擦除可编程只读存储器FLASH:闪速存储器EEPROM:用电可擦除可编程只读存储器ISA:工业标准总线EISA:扩展工业标准总线PCI:外围部件互连总线USB:通用串行总线RS—232C:串行通信总线Cache:高速缓存FIFO:先进先出算法LRU:近期最少使用算法CRC:循环冗余校验码A/D:模拟/数字转换器D/A:数字/模拟转换器DMA:直接存储器存取方式DMAC:直接内存访问控制器LED:发光二极管FA:全加器OP:操作码CISC:复杂指令系位计算机RISC:精简指令系位计算机VLSI:超大规模集成电路LSI:大规模集成电路MAR:存储器地址寄存器MDR:存储器数据寄存器CU:控制单元CM:控制存储器二、选择题(自己看书吧··)三、名词解释1.计算机系统:由硬件和软件两大部分组成,有多种层次结构。
2.主机:CPU、存储器和输入输出接口合起来构成计算机的主机。
3.主存:用于存放正在访问的信息4.辅存:用于存放暂时不用的信息。
5.高速缓存:用于存放正在访问信息的付本。
6.中央处理器:是计算机的核心部件,由运算器和控制器构成。
7.硬件:是指计算机实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成。
软件:指看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。
8.系统软件:又称系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。
应用软件:又称应用程序,它是用户根据任务需要所编制的各种程序。
9.源程序:通常由用户用各种编程语言编写的程序。
目的程序:由计算机将其翻译机器能识别的机器语言程序。
10.总线:是连接多个部件的信息传输线,是各部件共享的传输介质。
计算机组成原理(本全)课件

目录
CONTENTS
• 计算机系统概述 • 中央处理器(CPU) • 存储器系统 • 输入输出(I/O)系统 • 计算机的体系结构 • 计算机的软件系统
01 计算机系统概述
计算机的发展历程
第一代计算机
电子管计算机,20世纪40年代 中期至50年代末期,主要用于
军事和科学研究领域。
CPU每个时钟周期执行的指令数,是 衡量CPU性能的重要指标。
03 存储器系统
存储器的分类和作用
分类
根据存储器的功能和位置,可以分为内存和外存两大类。内存是计算机内部存储器,用 于存放运算数据和程序代码;外存则是计算机外部存储器,用于长期保存大量数据和程
序。
作用
存储器是计算机的重要组成部分,它负责存储程序运行过程中所需的数据、指令等信息 ,使得CPU能够快速、准确地读取和写入数据,从而完成程序的执行。
软件系统
包括系统软件和应用软件两大类。
操作系统
是计算机的软件系统中最基本、最重要的部分,负责 管理和调度计算机的软硬件资源。
计算机的工作原理
二进制数制
计算机内部采用二进制数制进行运算和存储。
指令和程序
计算机按照程序中预定的指令序列进行自动执 行。
存储程序原理
将程序和数据存储在计算机内部,根据指令从存储器中取出数据和指令进行运 算和传输。
内存的工作原理和组织结构
工作原理
内存由多个存储单元组成,每个单元可以存储一个二进制数 。当CPU需要读取或写入数据时,会通过地址总线发送地址 信号,内存控制器根据地址信号找到对应的存储单元,完成 数据的读取或写入操作。
组织结构
内存的组织结构通常采用线性编址方式,即将内存单元按照 一定顺序排列,每个单元都有一个唯一的地址。内存的容量 大小由地址总线的位数决定,地址总线位数越多,可访问的 内存单元数量就越多。
计算机组成原理知识点总结

计算机组成原理知识点总结第一章一、数字计算机的五大部件(硬件)及各自主要功能(P6)计算机硬件组成:存储器、运算器、控制器、输入设备、输出设备。
1、存储器(主存)主要功能:保存原始数据和解题步骤。
包括:内存储器(CPU 直接访问),外存储器。
2、运算器主要功能:进行算术、逻辑运算。
3、控制器主要功能:从内存中取出解题步骤(程序)分析,执行操作。
包括:计算程序和指令(指令由操作码和地址码组成)。
4、输入设备主要功能:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式。
5、输出设备主要功能:把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。
注:1、冯诺依曼结构:存储程序并按地址顺序执行。
2、中央处理器(CPU):运算器和处理器的结合。
3、指令流:取指周期中从内存读出的信息流,流向控制器。
数据流:在执行器周期中从内存读出的信息流,由内存流向运算器。
二、数字计算机的软件及各自主要功能(P11)1、系统软件:包括服务性程序、语言程序、操作程序、数据库管理系统。
2、应用程序:用户利用计算机来解决某些问题而设计。
三、计算机的性能指标。
1、吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,用bps度量。
2、响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。
3、利用率:在给定的时间间隔内,系统被实际使用的时间所在的比率,用百分比表示。
4、处理机字长:常称机器字长,指处理机运算中一次能够完成二进制运算的位数,如32位机、64位机。
5、总线宽度:一般指CPU从运算器与存储器之间进行互连的内部总线一次操作可传输的二进制位数。
6、存储器容量:存储器中所有存储单元(通常是字节)的总数目,通常用KB、MB、GB、TB来表示。
7、存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用B/s(字节/秒)表示。
8、主频/时钟周期:CPU的工作节拍受主时钟控制,按照规定在某个时间段做什么(从什么时候开始、多长时间完成),主时钟不断产生固定频率的时钟信号。
纪禄平-计算机组成原理(第四版)-3-5-2CPU子系统-MIPS-基本部件分析PPT课件

2021/4/8
17
4、数据通路选择部件
32位的多路选择器—MUX
32 I1
32 In
MUX
m位选通
10
信号
32
32
A
1 32
D
C
32
B
0
…
其中,2m≥n
2021/4/8
18
感谢您的阅读收藏,谢谢!
2021/4/8
19
op(6) rs(5) rt(5)
imm (16)
op(6)
address(26)
2021/4/8
6
基本部件的选型
※ 存储相关的部件 ※ 数据预处理部件 ※ 运算部件 ※ 数据通路选择部件 ※ 控制单元(控制器)
2021/4/8
7
1、存储相关的部件
(1)寄存器堆(组) ➢ 读数据(根据指令中的rs或rt) ➢ 写数据(根据指令中的rt或rd) 32个寄存器,数据宽度32位
2021/4/8
5
MIPS32的指令格式
指令字长固定为32位,寄存器型寻址,指令中 给出寄存器号(显、隐)或者偏移量。
指令 类型
R型 I型 J型
指令长度(32位定长)
31 ~ 26 25~21 20~16 25~11 10 ~ 6 5 ~ 0
op(6) rs(5) rt(5) rd(5) sa funct
14
加法器的输入端口A,可以固定输入常数4
operation 0000 0001 0010 0110 0111 1100 …
ALU功能
AND OR ADD SUB 小于则置1 NOR …
计算机组成原理期末考点重点

第一章1)冯.诺依曼主要三个思想是什么?(1)计算机处理采用二进制或二进制代码(2)存储程序(3)硬件五大部分:输入设备、输出设备、存储器、运算器和控制器2)计算机硬件由哪5部分组成?输入设备、输出设备、存储器、运算器和控制器3)VLSI中文的意思是什么?超大规模集成电路4)列举出三个计算机应用领域?1.科学技术计算2.数据信息处理3.计算机控制4.计算机辅助技术5.家庭电脑化5)计算机系统分哪两大系统?硬件和软件系统6)计算机内部信息包括哪两大信息?计算机中有两种信息流动:一是控制信息,即操作命令,其发源地为控制器;另一种是数据流,它受控制信息的控制,从一部件流向另一部件,边流动边加工处理。
7)计算机性能主要包括哪三个主要性能?(1)基本字长: 是参与运算的数的基本长度,用二进制数位的长短来衡量,取决寄存器、加法器、数据总线等部件的位数。
(2)主存容量:可以用字节,有的用字长,K、M、G、T(3)运算速度: 是每秒能执行的指令条数来表示,单位是条/秒。
(MIPS)8)现代计算机系统分为五个层次级别是如何划分的?从功能上,可把现代计算机系统分为五个层次级别:第一级是微程序设计级:是硬件级第二级是一般机器级:机器语言级第三级是操作系统级:是操作系统程序实现。
(混合级)第四级是汇编语言级:一种符号形式语言。
第五级是高级语言级9)机器数是指什么?它主要是解决了数值的什么表示?10)机器数有哪4种表示方法?原码表示法、补码表示法、和移码表示法四种。
11)计算机数值有哪两种表示方式?它主要解决了数值的什么表示?定点表示和浮点表示。
主要解决数中小数点的位置的确定。
12)浮点数在计算机内部表示两种方式是如何安排的?13)尾数是补码表示其规格化如何表示?正数:0.1×…×的形式负数:1.0×…×的形式14)解释计算机内部数值0和字符0有何不同?数值0在计算机中为00H,而字符0为其ASCII码30H。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理--重点知识点讲解之数据的表示和运算溢出概念和判别方法溢出:计算机的字长是固定,所以它能够表示的数据范围也必然是确定的。
在运算的过程中,结果超出了计算机可以表示的范围就是溢出。
判别方法:书上给出的结论是如果原操作数符号相同,而结果与原操作数符号不同,就发生了溢出。
溢出只有可能发生在:正+正, 负+负, 正-负, 负-正这4种情况下,正+正和负+负原操作数符号相同,符合判定方法的条件。
而正-负,ALU中不存在减法器,减法实际上就是加补码完成的,而正-负实际上真正在ALU中的操作是正+(-负),而-负即为正,正-负实际情况其实就是正+正,同样负-正实际情况就是负+负。
所以他们也是符合判定方法的条件。
因此判定方法中的条件句“原操作数相同”则囊括了所有可能发生溢出的情况。
到这里条件满足的只是可能,而不是一定。
后面的条件“结果与原操作数符号不同”既出现了正+正=负,负+负=正的情况,出现这一情况的原因就是数值位产生了进位(这种进位不一定会溢出),但这个进位如果改变了结果按照正常原则应该出现的符号,则就是发生了溢出。
这就是我对这个判定方法的感性认识。
至于理性的数学证明,书上貌似是有的。
这只是理论上的判定方法,如果严格按照这个方法来设计电路,判定电路仍然会很复杂,书上给出的是一位符号位判断溢出或2位符号位判断溢出,她们所利用的原理都是:数值位进位和符号位进位不同就产生溢出。
我们按照前面的方法列出所有发生溢出的情况,然后用穷举法来说明这个结论的正确性。
溢出发生的所有可能情况:符号位分别是 1 1,或者符号位是0 0.按照前面的结果1 0是不会发生溢出的。
如果数值位进位1,对于符号位1 1情况来说,1 1会进位1,数值位的进位进到符号位,符号位仍为1,符号未变没有发生溢出,此时符号位进位1,数值位进位1如果数值为进位0,对于符号位1 1来说,1 1进位1,数值位进位0会直接填入符号位,则符号位变成了0,符号发生改变,发生溢出,此时符号位进位1,数值位进位0如果数值位进位1,符号位为0 0,则符号位进位0,数值位进位1,填入符号位,则符号位变成了1,符号改变,发生溢出,此时符号位进位0,数值位进位1如果数值为进位0,符号位为0 0,符号位进位0,数值为进位0,填入符号位,符号未变,未发生溢出,此时符号位进位0,数值为进位1.统一前面4种情况,就能得出“数值位进位和符号位进位不同就产生溢出”。
原码乘法器算是比较重点而且也应该是难点的章节了,希望我写下的东西能够对大家有所帮助,也希望有别人写下不同的看法。
首先从10进制乘法开始理解,我们仔细看下竖式计算多位乘法(包括一位)的过程,理解乘法计算的过程是理解乘法器的重要基础。
以具体例子来分析,比如132乘以124,我们无法直接得到结果,我们采用的乘法过程如下: 首先拿乘数124的个位数4去乘以被乘数,得到一个结果528(这个结果一般是被记录在纸上).紧接着,我们又拿124的十进制位的2去乘以132,得到结果264.此时我们接着就把264左移一位得到2640,然后将这个结果加上528得到答案3168.再继续我们把124的百位1去乘以132,得到132,然后左移2位得到13200,然后加上之前的2640,得到15840.以上就是一个乘法的一般过程,它和我们常用的竖式乘法有一点点区别:竖式中所有结果一般是最后统一加起来,但我想一次一次加和统一加这并无本质区别。
竖式中没有明显的左移过程,其实是有的,这点应该很容易看出来。
因此一个乘法过程其实就是一个循环,(我们再不考虑符号位和硬件的限制)算法描述如下:mul(被乘数, 乘数){i = 0;积= 0;while(i < 乘数长度) {j = 乘数第i位数值;临时积= j * 被乘数;积= 积+ (临时积左移i位);i++;}返回积;}希望大家能够仔细理解这个,因为这才是理解乘法器的重中之重,至于其它2位,右移之类的内容,都是局限于硬件采用的技巧。
2进制和十进制乘法比较:2进制乘法相对于十进制要简单很多,从注释里面可以看到。
最后局限于硬件的限制,我只介绍下在硬件中,不局限单位还是双位,源码还是补码,只是他们公共部分个人觉的比较难以理解的部分.1.为什么采用右移?我们采用左移,计算机内部采用右移。
这是为了方便而采用右移。
我们的目的是的出乘法的结果,而对于这一目的积= 积+ (临时积左移i位); 和左移积其实是完全等效的。
而且算法里面我们每次要左移i位,右移积的话,每次在前面移动的基础上我们只需要移动一位。
2.为什么可以把部分积结果左移溢出的部分放到乘数寄存器上去。
我们从循环体可以看出j = 被称数第i位数值而对于乘数已经被用过的位数,我们在后面的运算中完全不需要了,所以可以直接丢弃。
(因为我们的目的是得到乘积的结果,至于要不要保护原来的乘数和被乘数不是我们需要考虑事情)。
以上就是我的理解,至于具体的乘法过程,书和视频教程讲的都很详细。
大家可以自己看看就明白了对于每一个种乘法器的注意事项:1 单位原码乘法器:由于最简单,所以需要注意的地方很少,唯一需要注意的是双符号位,我们采用加法的时候,可能会出现符号位01的情况,符合溢出条件,应该算是溢出,而乘法中做出的处理是直接左移,完全无视了溢出。
换个角度思考,我们新增了一位,如果把这位在溢出时看成是数值位,其实这就是一次正确的结果,而书上的做法就是从这一角度来看的。
2 2位源码乘法器:情况较为复杂,因为可能会出现减法的过程,所以可能出现负数。
这里部分积寄存器编码采用的是补码,所以左移的时候按照补码的原则左移(前面一位乘法器,因为不会出现负数,所以无论你看成哪一种编码都是同样的移位)。
2位符号位判断溢出,定点和浮点中不同理解在定点数种,如果2位符号位不同时,我们就称之为溢出。
我们的处理是硬件抛出异常(实际是一个中断),而接下来硬件会转移到中断服务程序入口出。
而在浮点机器中,如果2位不同,我们缺可以采取移位,而不是抛出一个异常。
其中的原因如下:2位符号位,其实从另一个角度我们换位思考,低位符号位其实是个被扩长了的数值位,因为数值位的进位是要进位到低位符号位的。
而高位符号位则是真正的符号。
也就是说n+2位寄存器,我们可以看成n位数值位+2位符号位。
换个角度也就是n+1个数值位和一个符号位。
以此为基础,下面是个具体例子。
比如说一次运算后,得到的结果是10101(真值).如果CPU是定点整数寄存器,4位数值位+一位符号位,那么如果在加法器中采用2位符号位,那么结果10101结果应该为01,0101,因为加法器中带2位符号位的寄存器是不能长久存储这个数据的,我们必须把它放到其它通用寄存器,或者内存中,此时就面临一个选择,我们只有4个数值位,为了保存这个数我们最高位符号位0,保存到符号位上,但剩下的10101存到4位数值位就有一个选择,要么丢掉数值最高位的1,要么丢掉数值最低为的1,但无论是丢那一个,误差都是及其大的,整整少了一个数量级。
所以我们选择的操作是抛出异常,转入中断处理程序来终止这次运算。
(明显10101和1010还是0101差距都很大)但相对于浮点器,情况就不太一样了。
同样的配置,但我们多了阶码。
符号位照样存到寄存器的符号位上。
对于10101的选择,我们选择丢弃最低位,就是数值位变成了1010,可能会有人觉得和以上定点没什么差距啊?其实不然,我们是把数量级保存在阶码中正真的保存其实是把0, 110; 0.10101保存成了0,110; 0.1010,也就是原来数据10101(真值)变成了10100(真值),我们少的只是一个1,相对于整个数而言,误差很小,所以可以继续进行。
计算机组成原理--重点知识点讲解之指令系统第一个碰到可能就是扩展操作码(定长操作码很简单)。
以书上的例子来。
一个16位机器,采用扩展操作码技术,按照书上4位为一个单位,那么他就是OP A1 A2 A3这样。
那么就会有一个疑问,如果我采用扩展码,机器是如何知道A1 A2 A3到底是操作码还是地址码(OP肯定是操作码),换个问法就是:我怎么知道目前这个指令是3地址,还是2地址,还是1地址还是没有地址。
思路其实很简单,OP中一共是4位,那么可以表示16种不同情况,思路就是我只使用其中的15种,留下一种做一个标识,如果OP出现了这个情况,我则认为这不是一个3地址指令,而是一个2地址指令。
书上这种用的是1111。
接下来,如果你理解了上面的思路,推广到2地址,1地址不是难事。
接下来书上说了2地址指令只有15条,如果理解了上面的思路这个不难理解。
此时操作码是8位,应该能够表示2的8次方种情况,按理应该是2的8次方-1种指令。
但这是有前提的,前提就是这必须是个2地址指令,等价条件就是前面4位必须是1111,这下我们能够变动的位数就变成了4位,只能表示16种情况,还有空出一种做1地址指令的标识,所以只有15种。
所以在指令设计中,如果采用扩展操作码,按照书上做法以1111来做标识,那么2地址指令必然是1111 XXXX样式,1地址是1111 1111 XXXX样式,零地址就是1111 1111 1111 XXXX样式。
其余的则是3地址指令,设计指令要遵守这个原则.到这里为止,我觉得指令系统已经没有什么难点。
指令系统的重难点在于:1.指令格式:其中扩展指令系统稍微有点难度。
2.指令寻址方式:目前这些寻址都非常直观,而且也很容易懂。
真正PC机中INTEL系列在286开始就采用了保护模式,寻址则复杂了很多,再结合操作系统内存管理,使得内存的使用一直都是计算机的难点(当然这已经超出了目前研究生考试的内容,有兴趣可以看看保护模式)内容不多,但题目却有难度。
目前我做的题目也不多,所以给不了大家意见,希望有其它人能够来补充做题技巧。
因为在视频教程中看到几个题目都是关于指令设计的,稍微有点心得:在指令设计的题目中,如果采用扩展指令系统,则抓住一条就是一定要有标识来标志他是几地址指令。
计算机组成原理--重点知识点讲解之存储系统第一个碰到的就是SRAM的工作原理,那么就要分析SRAM单个单元存储的结构图(课本上有)由于考虑到某些人没有上过数字电路,所以在此之前解释下MOS管。
图中有6个MOS 管,分别是T1到T6,以T1为例,一个管子有3个接线口,其中图中短线的部分的那根线如果加载了高电频则管子就处于导通状态,即为长线上2根线是直接相连,电阻很小。
若短线部分上加载低电频,则管子处于断开,长线上2根线直接电阻很大,相当于断开。
其中VDD线接电源(电源永远是高电频,地线永远是低电频)。
下面就是一个规则:若T1截至,T2导通则表示存储的为0;反之若T1导通,T2截至则表示存储的为1。
因为我们是无法直接知道里面T1到底是导通还是截至,原因很简单我们外部电路只认识电信号,不肯能认识MOS管的状态。