当前位置 博文首页 > S_zhangmin的博客:计算机组成原理边学边记

    S_zhangmin的博客:计算机组成原理边学边记

    作者:[db:作者] 时间:2021-09-19 16:15

    唐朔飞老师的计算机组成原理共10各章节,可分为4个大的部分,分别为概论、计算机系统硬件结构、中央处理器和控制单元。

    概论包括第一章计算机系统概论和第二章计算机的发展及应用。

    计算机系统概论中我个人觉得比较重要的是计算机系统层次结构计算机的运行规律

    先说计算机系统层次结构,计算机系统层次结构存在迭代关系。

    初期只有单个实际的机器用于编写代码,且是面向计算机,用户使用二进制代码来编写程序发出指令,机器进行运作,我记为单层次结构。

    后来人们觉得太麻烦,而且容易出错,在20世纪50年代发明了汇编语言。第一次简化计算机语言,汇编语言可类比为一个初级翻译软件,用SUB代表减、ADD代表加等,人们使用汇编语言经行编码,“汇编翻译软件”将其翻译成实际机器可以识别的机器语言后,机器识别并进行运作,我们将具有汇编功能的实际机器,可记为两层次结构。

    尽管汇编语言给用户带来极大的便利,但仍然对程序员的技能要求很高,需要很了解内部组成和指令系统,并且由于汇编语言受到实际机器的约束,即一台实际机器对应一套汇编语言,导致汇编语言并没有通用性,由于有这一系列问题,20世纪60年代出现了现在我们也熟知高级语言C语言等,即在汇编语言的基础上,将汇编语言组合成用户能更好理解的高级语言,用户使用这些高级语言进行编程,高级语言可类比于一个高级翻译软件,人们使用高级语言经行编译时,高级翻译软件将我们的代码翻译成汇编语言,汇编语言软件再将其翻译成实际机器可识别的机器语言,机器识别并进行运作,我们将同时具有高级语言功能和汇编功能的实际机器,记为三层次结构。

    在用户编写二进制代码给实际机器时,其实机器并不是直接执行,而是存在一个微程序能够解释机器指令,硬件能直接执行微程序解读的指令,记为四层次结构。

    在第一与第二层中有一个重要的并且大家熟知的一层,即操作系统。操作系统层是使用机器语言来解释。

    (本人一直觉得图更容易理解和记忆)

    其中操作系统机器、汇编语言机器、高级语言机器都算是虚拟机器。


    计算机运行规律可以讲个例子,在学校里,新的一天开始,小明发现自己这里一份老师给的但自己无法读懂的任务,小明找到班长,班长看明白了并告诉小明,任务是把小红叫过去。可是小明不知道小红在哪,又问班长,班长把小红找来,小明将任务交给她。

    这里小明可以看作电脑中控制器

    班长是电脑中的主存储器。

    小明一开始有一个任务,这是电脑控制器读取到任务一条指令地址,用PC(Program Counter,程序计数器,有自动加一功能)记录,小明立即将任务给班长,控制器将指令地址交给主存的MAR(用来存放存储单元的地址)中,即 PC—>MAR,班长理解了任务意思,并告诉小明,主存中的MDR(存储器数据寄存器)在此当做读取操作,并将信息反馈给控制器的IR(指令寄存器),即MDR—>IR?,小明分析这有2段内容,1 找到小红,2 告诉她去老师那里。?所以计算机也分两段,将任务中地址问题交给主存的MAR,Ad(IR)—>MAR,将指令交给CU(控制单元,分析当前指令所需完成的操作),OP(IR)—>CU?。最后班长找来了小红,小明把任务告诉了她。

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?细化的CPU与主存储器

    其中ACC是运算器中的累加器,

    MQ是乘商寄存器,

    X为操作寄存器,

    ALU为算术逻辑单元,

    CU为控制单元,

    IR为指令寄存器,

    PC为程序计数器,

    MDR为存储器数据寄存器,

    MAR为存储器地址寄存器


    ?

    cs