精华内容
下载资源
问答
  • 计算机组成 2 计算机基本结构 ...而且我们也知道了计算机执行一条指令的主要步骤,包括取指、译码、执行、回写。 那我们就想在这个模型机上尝试执行一条计算机的指令。这里给出了一个例子,我们想...

    计算机组成

    2 计算机基本结构

    2.5 计算机执行指令的过程

    Screen Shot 2018-05-26 at 18.24.28

    执行指令是计算机过程的核心,理解了指令如何执行,也就把握住了计算机运行原理的关键。在这一节,我们就一起来看这个模型机是如何执行指令的。

    Screen Shot 2018-05-26 at 18.24.47

    现在我们已经有了这样一个模型。

    Screen Shot 2018-05-26 at 18.25.03

    而且我们也知道了计算机执行一条指令的主要步骤,包括取指、译码、执行、回写。

    Screen Shot 2018-05-26 at 18.26.29

    那我们就想在这个模型机上尝试执行一条计算机的指令。这里给出了一个例子,我们想执行的这条指令是“ADD R0, [6]”,这样的一个指令格式代表什么含义呢?从ADD,我应该能看出来这是一条加法指令。那么这个加法应该有两个原操作数,其中一个就是通用寄存器R0的内容;另一个[6],中括号就代表是存储单元的内容。那么,中括号里面带一个6说明是地址为6的存储单元的内容。我们把这两个原操作数相加,就可以得到一个运算结果。那么,在我们这种格式指令当中,默认第一个操作数即是原操作数又是目的操作的。这个运算结果就会更新到通用寄存器R0中。现在我们就来看这条指令是如何在模型机上执行的。

    Screen Shot 2018-05-26 at 18.26.43

    假设模型机的当前状态已经有了一些初始值。我们需要注意的是CPU中的R0所保存的值是0000 0011,这等于10进制的3。而存储单元地址为 6(0110) 的存储单元的内容是 0000 0010,相当于10进制的2。那么我们所要做的,就是把这个存储单元地址为6中的数2和R0当中的数3相加,最后再放到R0中。我们还看到 PC 寄存器也就是指向下一条指令地址的寄存器,保存的值是 0001,那么,它所指向的内层单元的地址是 0001,所以这个内存单元中其实是保存了当前所需要执行的那条指令,我就用 1010 1010 这么一个值来指代,这仅仅是指代而已,那我们就来看在这个模型机上是如何运行的。

    Screen Shot 2018-05-26 at 18.26.57

    指令执行的第一步,取指。取指这一步所要做的是控制器将指令的地址送往存储器,存储器按给定的地址读出指令内容,送回控制器。那我们来看具体的操作步骤。

    Screen Shot 2018-05-26 at 18.27.10

    首先请注意控制器会发出控制信号将PC寄存器中的内容通过内部总线传送到MAR中。好,现在MAR寄存器中也保存了0001。

    Screen Shot 2018-05-26 at 18.27.24

    下一步,MAR将会把这个地址送到地址总线上,与此同时,控制电路会在控制总线上发出相应的控制信号,代表这次访问存储器的操作是要读数据。

    Screen Shot 2018-05-26 at 18.27.36

    这样存储器的MAR寄存器就会收到地址总线上传送来的地址并把它保存下来。存储器中的控制逻辑,也会受到控制总线中传送来的控制信号,得知这次仿真操作是一次读操作。

    Screen Shot 2018-05-26 at 18.27.48

    这样存储器通过地址译码器就可以查找到对应地址0001的存储单元的内容,并将该存储单元的内容送到MDR寄存器中。

    Screen Shot 2018-05-26 at 18.28.02

    然后存储器的控制逻辑,会通过控制总线向CPU反馈当前的传输已经准备好了,同时,MDR之中的内容也会送数据总线上。随后,CPU中的控制电路检测到来自控制总线的准备好的ready信号,就知道当前数据总线上已经准备好了数据。

    Screen Shot 2018-05-26 at 18.28.16

    因此,MDR寄存器就会将当前数据总线上传送来的数值保存下来,这就获得了我们所要取的指令。当然,仅到如此是不够的。

    Screen Shot 2018-05-26 at 18.28.37

    MDR中的内容还必需要传送到指令寄存器中,也就是IR寄存器。当指令的编码已经保存到IR寄存器中时,取指这部分工作就已经完成了。真的已经完成了吗?请再仔细想一想。

    Screen Shot 2018-05-26 at 18.28.48

    其实我们还需要再做一件事,就是把PC寄存器更新为下一条指令所需要访问的地址。刚才是0001,现在变成0010,也就是10进制的2。更新完以后我们才可以做下一步的工作。那么,取指阶段到此正式完成。

    Screen Shot 2018-05-26 at 18.29.05

    第二步是译码。这一步控制器会分析指令的操作性质,并向相关的部件发出指令所需的控制信号。

    Screen Shot 2018-05-26 at 18.29.18

    当前的指令计算器IR中指令编码会送到指令译码部件。

    Screen Shot 2018-05-26 at 18.29.33

    指令译码部件根据指令编码,很快会发现这是一条加法指令。而且,是要把R0和存储器中地址为6的单元的内容相加,并把结果存放到R0中。然後,控制电路就据此产生对应的控制信号,并发到相关部件中。这样译码阶段就到此完成了。

    Screen Shot 2018-05-26 at 18.29.46

    第三步是执行。控制器会从通用寄存器或者存储器中取出操作数,并命令运算器对操作数进行指令规定的运算。

    Screen Shot 2018-05-26 at 18.29.59

    首先,根据这条指令我们会发现,还需要去取操作数,其中一个操作数在存储器里中。因此,这一步会在MAR中放置要访问的存储器的地址 0110,就是10进制的6。

    Screen Shot 2018-05-26 at 18.30.11

    那么,随后的过程类似于取指阶段的操作。MAR将地址 0110 发到地址总线。同时,控制电路在控制总线发出读操作的控制信号,存储器的MAR控制逻辑会接收到相应的信号,然后查找到对应的地址,这次要查找的地址是0110,对应的内容 0000 0010 会送到MDR这个寄存器。然後,控制逻辑会向CPU反馈当前数据已经准备好了的信号。然後,MDR的内容也会被放置到数据总线上,CPU会接收数据并保存在MDR寄存器中。

    Screen Shot 2018-05-26 at 18.30.28

    因为这个数据要进行加法运算,所以控制器会进一步将MDR中的数据传送到ALU的输入,目前会暂存到Y寄存器中,这一个操作数现在就准备好了。那么另一个操作数是放在R0中,因此,控制器还会将R0中的数据传送到ALU的另一个输入端,也就是X寄存器。

    Screen Shot 2018-05-26 at 18.30.56

    现在,两个操作数都准备好了。在控制电路的控制下ALU就会进行运算,将X、Y中的内容执行加法并计算出结果。结果就是 0000 0101 也就是10进制的5。到此,执行阶段就完成了。

    Screen Shot 2018-05-26 at 18.31.08

    第四步是回写。也就是将运算结果写入到通用寄存器或者储存器。

    Screen Shot 2018-05-26 at 18.31.19

    现在,运算结果还在ALU的输出端,也就是Z寄存器中。控制电路会给出相应的控制信号,将Z寄存器当中的内容传送到R0中。R0目前的内容是之前的原操作数,也就是 0000 0011。随后会被新的结果(Z寄存器中的内容)所覆盖。

    Screen Shot 2018-05-26 at 18.31.39

    这样,我们这个加法运算的结果就已经保存到了R0寄存器中。回写阶段到此完成。这条指令你就执行完毕了。

    Screen Shot 2018-05-26 at 18.31.51

    然後,CPU就会自动执行下一条指令,和刚才一样,先将PC中的内容传送到MAR寄存器当中,然後MAR会将这个地址传送到地址总线上,依次的执行下一条指令。

    Screen Shot 2018-05-26 at 18.32.04

    现在,我们通过学习计算机是如何执行指令,已经掌握了冯·诺伊曼结构的核心内容。但是,人们是如何向计算机下达指令的呢?计算机的运行结果又是如何让外界得知?这是我们下一节将关注的内容。

    转载于:https://www.cnblogs.com/houhaibushihai/p/9094877.html

    展开全文
  • 5.2 指令执行过程

    2020-09-26 13:55:40
    1.指令周期:CPU从主存中取出并执行一条指令所需要的的全部时间 1.指令周期常常用若干个机器周期来表示,机器周期又叫CPU周期 2.一个机器周期又包括若干个时钟周期(也称为节拍、T周期或CPU时钟周期) 他是CPU...

    返回目录《计算机组成原理笔记目录(2019 王道考研)》

    5.2 指令执行过程

    1.指令周期:CPU从主存中取出并执行一条指令所需要的的全部时间
    

    在这里插入图片描述

        1.指令周期常常用若干个机器周期来表示,机器周期又叫CPU周期
        2.一个机器周期又包括若干个时钟周期(也称为节拍、T周期或CPU时钟周期)
            他是CPU操作的时间基本单位
        3.每个指令周期内机器数可以不等,每个机器周期内的节拍数也可以不等
            因为每个指令的任务是不一样的
    

    在这里插入图片描述
    在这里插入图片描述

    2.指令周期流程
        1.四个工作周期都有CPU访存操作,只是访存的目的不同。
            1.取指周期:取指令(读操作)
            2.间址周期:取有效地址(读操作)
            3.执行周期:取操作数(读操作)
            4.中断周期:保护程序断点(写操作)
        2.标志触发器FE、IND、EX、INT
    

    在这里插入图片描述

        3.四个工作周期的任务
            1.取指周期
                1.当前指令送至存储器地址寄存器
                    记作:(PC)->MAR
                2.CU发出控制信号,经控制总线传到主存,这里是读信号,
                    记作:1->R
                3.将MAR所指主存中的内容经数据总线送入MDR
                    记作:M(MAR)->MDR
                4.将MDR中的内容(此时是指令)送入IR,
                    记作:(MDR)->IR
                5.CU发出控制信号,形成吓一跳指令地址
                    记作:(PC)+1->PC
    

    在这里插入图片描述

            2.间址周期
                1.将指令的地址码送入MAR
                    记作:Ad(IR)->MAR
                2.CU发出控制信号,启动主存做读操作
                    记作:1->R
                3.将MDR所指主存中的内容经数据总线送入MDR
                    记作:M(MAR)->MDR  
                4.一种方式是:将有效地址送至指令的地址码字段
                    记作MDR->Ad(IR)
                  另一种方式是:之后直接取MDR中的内容作为有效地址就好
    

    在这里插入图片描述

            3.执行周期
                执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。
                不同的执行周期操作不同,因此没有同意的数据流向。
            4.中断周期
                1.中断:暂停当前任务去完成其他任务,为了能够恢复当前任务,需要保存断点
                2.一般使用堆栈来保存断点,这里用SP表示栈顶地址,假设SP指向栈顶元素,
                    进栈操作是先修改指针,后存入数据
                3.具体操作流程
                    1.CU控制将SP-1,修改后的地址送入MAR
                        记作:(SP)-1->SP,(SP)->MAR
                      本质上是:将断点存入某个存储单元,假设其地址为a
                        故可记作:a->MAR
                        **为什么是SP-1?
                            在主存中,选一片地方做堆栈的时候,是从高地址向低地址去扩增的
                            所以进栈是用减法,出栈是用加法
                    2.CU发出控制信号,启动主存做写操作
                        记作:1->W
                    3.将断点(PC内容)送入MDR
                        记作:(PC)->MDR
                    4.CU控制将中断服务程序的入口地址(由向量地址形成部件产生)送入PC
                        记作:向量地址->PC
    

    在这里插入图片描述

    3.指令执行方案
        方案1:单指令周期    
            1.对所有指令都选用相同的执行时间来完成
            2.指令之间串行执行:指令周期取决于执行时间最长的指令的执行时间
            3.设计起来比较简单,但对于本可以在更短时间内完成的指令,
                要使用这个较长的周期来完成,会降低整个系统的运行速度
        方案2:多指令周期
            1.对于不同类型的指令选用不同的执行步骤来完成
            2.指令之间串行执行:可选用不同个数的时间周期来完成不同的执行过程
            3.相比于方案1,需要更复杂的硬件设计    
        方案3:流水线方案
            1.在每一个时钟周期启动一条指令,尽量让多条指令同时运行,
                但各自处于不同的执行步骤中  
            2.多条指令之间并行执行。
    
    展开全文
  • cpu里面有个译码器,可以确定当前CS:ip指向机器码对应要执行的指令,包括指令的长度等等信息, cpu的指令是经过编码的,所以中间有个译码的过程可以参考计算机体系结构里面关于cpu指令设计相关的知识。 CPU内有...

    cpu里面有个译码器,可以确定当前CS:ip指向机器码对应要执行的指令,包括指令的长度等等信息,

    cpu的指令是经过编码的,所以中间有个译码的过程可以参考计算机体系结构里面关于cpu指令设计相关的知识。

    CPU内有一个编译器,从IP指向的第一个字节开始,先查找操作码,一个字节不够,再加上下一个字节,直到找到符合的操作码,然后按操作码对操作数的要求凑够操作数,这就是一条指令。

     现在INTEL的CPU融合了RISC技术,有点X86虚拟机的概念,近似一RISC的CPU内核外面罩一个CISC代码的X86编译器(X86指令集可以看作CPU公开外放的函数接口)。这还没完,X86编译器出来并不都是可以直接控制累加器、半加器、移位器、触发器等电子器件,可以称为中间码,这些代码在CPU内可以优化,最常见的是把多条指令融合成一条指令再去指挥硬件电路。

    展开全文
  • 如上图,Redis每指令的发送都要经过发送指令请求、执行指令、响应结果,而这个过程中所消耗的时间大部分都是在网络传输上,所以如果能减少网络传输的次数,也就意味着性能也会大幅度提高。沿着这个思路所以就有...

    管道(pipeline)

    redis执行一次命令包括下面几个流程:

    1、客户端发送命令(经过网络传输)。

    2、服务端执行命令-。

    3、服务端响应结果(经过网络传输)。

    fad8d6edb9bd855fa914b0c225e05a85.png

    如上图,Redis每一次指令的发送都要经过发送指令请求、执行指令、响应结果,而这个过程中所消耗的时间大部分都是在网络传输上,所以如果能减少网络传输的次数,也就意味着性能也会大幅度提高。

    0fed80263444460cd9d70ceac9076389.png

    沿着这个思路所以就有了管道的概念,管道可以在我们批量操作一些指令的时候,不需要每个指令都依次的去进行发送、执行、响应的流程,而是把多个指令一次性发送给服务端,在服务端执行完成后,把结果统一响应给客户端,最终以达到减少网络请求从而提升了整体的效率。

    c91143cb1904212f6c3d9dd673981a62.png

    使用管道技术可以显著提升Redis处理命令的速度,其原理就是将多条命令打包,只需要一次网络开销,在服务器端和客户端只需要一次请求和响应,以此来节约时间。

    发布订阅

    Redis里也提供了发布订阅的机制,如果一个消息想要被多个人收到,或者发消息的人不知道会有哪些人需要收到这些消息,那么Redis的发布订阅功能就可以解决这个问题。发布订阅模式是通过创建一个频道,然后消息发送者统一把对应的消息发送到这个频道里,然后频道可以支持多个订阅者进行消息订阅,订阅了该频道的订阅者都会收到发送者的消息。

    69c1ad7f663480977346f03d5d5c83a3.png

    在Redis客户端可通过subscribe 和 publish命令可以分别实现消息订阅和消息推送的功能,如下面,左边的客户端通过subscribe订阅了一个频道为 test的频道,然后右边的频道通过publish往test频道发送一条消息后,左边订阅了该频道的客户端就会收到消息。

    35c6037de4391d92a6b975046a7433d8.png

    Redis实现发布|订阅的原理

    简单的说Redis是通过一个字典(pubsub_channels)和一个链表实现发布订阅功能的。 字典记录着Redis里面所创建的频道,然后每个频道有一个对应的链表记录着订阅了该频道的客户端。当执行publish channel message 指令时,首先会找到对应channel的频道,然后找到该频道对应的链表数据,通过遍历链表中的客户端逐一的把消息发送出去。

    2cafeda7b2e60d2f2dedebc9cf074cac.png

    需要注意的是Redis实现的发布订阅模式并不能保证消息的可靠性,这主要体现在两个方面,一是客户端只有在线的情况下才会收到订阅消息,因为Redis并不会像专业的消息队列一样把消息进行持久化保存的。另外一个方面是何网络系统在执行操作时都可能会遇到断网的情况,而断线产生的连接错误通常会使得网络连接两端中的一端进行重新连接。如果客户端在执行订阅操作的过程中断线,那么客户端将会丢失在断线期间的消息。所以如果业务对于消息可靠性没有这种高的要求,那么是可以尝试Redis的发布订阅功能。

    事务

    Redis里也提供了事务机制,在Redis里可以通过如下方式开启和执行一个事务。

    1、开启事务:

     multi

    2、发送多个指令到事务队列中

     set  t1   1
     set  t2   2
     set  t3   3

    3、执行或取消事务

     exec
     discard

    Redis开始事务后,后面的发出的指令并不会马上执行,而是会放入到一个队列里,直到输入事务指令(exec或者discard)指令才会决定对事务队列的命令进行执行或者取消。

    aeb38d2e0dc4b60c2f6a876695db41c7.png

    事务中断机制(watch)

    如果我们在执行事务的过程中涉及到的数据有可能会被其他地方修改,那么这个时候就有可能出现数据脏读的问题。为了解决脏读的问题,Redis提供了watch机制,watch就是事先对可能出现脏读的key进行监控,执行事务的过程中如果有其它地方对监控的key进行了数据变更,那么watch会将对应的key进行标记,那么最终在执行事务的时候会根据watch里对应key的标记来决定是否最终执行指令。

    如果在客户端1执行的事务的过程中,客户端2对客户端1监控的key进行修改,那么最后事务会取消执行,整个过程如下图:

    a8853bd164b2ae8af4fa1fa03e447d94.png

    Redis事务与传统的ACID

    从上面我们了解的事务来看,Redis里的事务并非我们常识里带有ACID特性的事务,相比于传统的ACID事务,Redis里的事务缺少事务的回滚机制,并没有办法实现事务的一致性、原子性。

    原子性: Redis的事务中能保证指令执行的原子性,整体事务的指令要么全部执行,要么全部不执行。

    一致性:在Redis的事务中,如果某个指令执行失败,那么后面的指令依然会执行,Redis并没有传统事务的回滚机制,所以在指令错误的情况下,是无法保证数据的一致性。

    隔离性:Redis是串行化执行事务的,多个事务同时开启时,事务的执行顺序,是以最终提交事务的顺序执行,所以Redis事务之间天然就具备隔离性。

    持久性:Redis的事务持久性由设定的持久化模式决定,只有在AOF持久化模式下并且appendfsync选项的值为always时,这时指令都将同步写入AOF文件中,此时事务具备持久性的。如果在AOF异步同步指令模式下,又或者在RDB模式下都有可能丢失指令数据,这种场景中Redis事务是不具备持久性的。

    展开全文
  • JVM执行Java程序的过程中管理内存空间,包括下列几个区域: ... · 解释器通过计数器值选择下一条执行的字节码指令。  · 线程执行Native方法时值为空。  · 没有OOM(OutOfMemory)。Java虚拟机栈(Java Virtu
  • 机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称...
  • 按最简单的形式,指令处理包括两步:处理器从存储器中一次读(取)一条指令,然后执行每条指令。程序执行是由不断重复的取指令和执行指令的过程组成的。指令执行可能涉及很多操作,具体取决于各条指令本身。 一条...
  • 计算机指令

    2017-03-28 09:45:44
    指令就是指挥机器工作指示和命令,程序就是一系列按一定顺序排列指令,执行程序的过程就是计算机工作过程。  控制器靠指令指挥机器工作,... 通常一条指令包括两方面内容:操作码和操作数,操作码决定要
  • uboot第1阶段执行过程

    2013-02-20 08:34:48
    根据我经验,芯片公司必问这个: 1. s3c2440根据PIN脚电平知道是nand flash还是norflash启动,假定为nandflash启动,nor...3. 读取nand flash前4K字节到片内RAM中,并开始从第一条指令执行,此时虽然nand fl
  • 通常一条指令包括两方面内容: [1]操作码和操作数,操作码决定要完成操作,操作数指参加运算数据及其所在单元地址。在第2章时我们介绍了MIPS所有指令都是32位,操作码占用高6位(bit31-bit26)表示,低26...
  • 相信广大程序员朋友经常使用MySQL数据库作为书籍持久化工具,我们最常使用就是MySQL中SQL语句,从客户端向MySQL发出一条条指令,然后获取返回数据结果进行后面逻辑处理。尽管大家经常使用SQL语句完成工作...
  • 相信广大程序员朋友经常使用MySQL数据库作为书籍持久化工具,我们最常使用就是MySQL中SQL语句,从客户端向MySQL发出一条条指令,然后获取返回数据结果进行后面逻辑处理。尽管大家经常使用SQL语句完成工作...
  • 指令系统简介

    2019-09-10 17:02:00
    一般来说,一条指令包括两个基本组成部分:操作码和(地址码)操作数项 操作码:表示指令的操作性质,如加,减 地址码:是操作过程中涉及的数据来源,指出操作上或操作数的地址及指令执行结果的地址 2.指令的执...
  • 字节码指令详解

    万次阅读 2020-08-05 16:49:04
    在计算机中,CPU指令就是指挥机器工作的指令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是执行指令的过程,也就是计算机的工作过程。 通常一条CPU指令包括两方面的内容:操作码和操作数,操作码表示要...
  • Java中New个对象是个怎么样的过程

    万次阅读 多人点赞 2018-03-19 23:09:50
    一、对象的创建 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的...
  • 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 在类...
  • 一、对象的创建当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类...
  • 说明,本文的目的在于从宏观逻辑上介绍清楚绝大多数的字节码指令的含义以及分类 只要认真阅读本文必然能够对字节码指令集有所了解 ...通常一条指令包括两方面的内容: 操作码和操作数,操作码决定要完成的...
  • 一、对象的创建当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类...
  • 一、对象的创建当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类...
  • 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类...
  • 完整中断处理过程分为 1)中断响应事前准备: 系统要想能够应对各种不同中断信号,总来看就是...CPU在执行完当前程序一条指令后,都会去确认在执行刚才指令过程中中断控制器(如:8259A)是否发送中断...
  • 一、对象的创建当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能在常量池中能否定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类...
  • jvm对象创建过程

    2018-11-19 06:03:31
    当虚拟机遇到一条new指令时 ,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过,如果没有,那必须先执行相应的类加载过程。...
  • 一条指令的执行包括取指,译码,执行和回写四步 下图将计算机比喻为厨房,其中厨师是控制器,炒菜用的锅是运算器,储物间是存储器,还有一些盘子是通用寄存器 其中指令(任务单)和数据(原料)同在存储器(储物间...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 324
精华内容 129
关键字:

一条指令的执行过程包括