zoukankan      html  css  js  c++  java
  • 计算机组成原理

    第一章:计算机系统概论

    1.1 计算机分类:

       按信息的形式及处理方式分:模拟电子计算机和数字电子计算机

       按用途分:通用计算机和专用计算机

       按规模分:超级计算机、大型机、服务器、工作站 、微型机、单片机等

    1.2计算机发展简史

       1.五代变化:电子管计算机、晶体管计算机、中小规模集成电路计算机(小型计算机)、大规模和超大规模集成计算机(微型计算机)、巨大规模集成电路计算机(单片机)

       2.半导体存储器发展:

       仙童半导体公司生产了第一个较大容量半导体存储器,后面每代的容量都增大四倍

       3.微处理器的发展

       4.计算机的性能指标:

       总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。

       存储器带宽:存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。

       

    1.3计算机的硬件 

       1.冯·诺依曼计算机—存储程序概念 

       

       2. 数字计算机的硬件组成:

         中央处理器(CPU)   主存储器     总线     适配器     外围设备

         指令:

          总线的分类:根据总线上传送的信息可以分为数据总线、地址总线、控制总线 

    1.4计算机系统的层次结构

       1.多级计算机系统

       

     第二章:运算方法和运算器

    2.1数据与文字的表示方法

    一、数据格式

       1.定点表示法

          机器中所有数据的小数点位置固定,且位置是隐含的,不需要占一个位。

         把小数点固定在有效数位的最前面或末尾,故,形成了两类定点数:定点小数(纯小数)、定点整数(纯整数)。

        

          若x表示的是定点小数(纯小数),则小数点位于x0和x1之间; 若x表示的是定点整数(纯整数),则小数点位于xn之后。

         2.浮点表示法

           

            (1)浮点格式:

             格式1:

               由阶码(指数)、尾数及其符号位组成。

             

             格式2:

                按照 IEEE754 的标准,32位浮点数标准格式为 :

                

                S:浮点数的符号位,占1 位,常用0表示正数,1表示负数。

               M:尾数的数值部分,占23位,用小数表示,小数点放在尾数域的最前面。

              E:阶码,8 位,阶符用该字段的最高位表示。

                例子: 二进制数 x=1011.0110=0.10110110×24

              用格式1表示x: 设m=6,n=8,符号位“0”表示正,“1”表示负

                

                用格式2表示:

                

            (2)浮点数的规格化表示:

             1.一般意义下的规格化:

                

                2.IEEE754标准中的规格化浮点表示

             

             例子:

               

     二、机器码的表示 

              1.原码表示法:

            (1)定点整数:

                       例如,x=+1001,则[x]原=01001 ,x=-1001,则[x]原=11001

              

           (2)定点小数

            2.补码表示法

          (1)定点小数的补码

                   例如,x=+0.1001,则[x]补=0.1001    x=-0.1001,则[x]补=1.0111

            (2)定点整数的补码

                   若定点整数的补码形式为XnXn-1Xn-2…X0,则补码表示的范围是:

                   正数:

                   负数:

               3.反码表示法

          (1)定点小数的反码

               

           (2)定点整数的反码

            4.移码的表示法

               移码通常用于表示浮点数的阶码,因此需掌握定点整数的移码表示方法

               移码就是将补码的符号位取反就好:

              

    重点:机器码的规格化形式的相关规定(熟记)

     重点例题:1.求规格化范围

       

    2.求754规格化范围    

     

    三、字符与字符串的表示方法

           1.字符的表示方法:ASCII码,7位

           2.字符串的存放:向量法(连续存放)、串表法(非连续存放)  

    四、汉字的表示方法

           1.汉字的输入编码:数字编码(常用国标区位码)、拼音码、字形编码

           2.汉字内码:占两个字节,最高位都为1

           3.汉字字模码:只能用来构成汉字库,而不能用于机内存储,是汉字的输出形式。

    2.2定点加法、减法运算

    一、补码加法:

           ①符号位要作为数的一部分一起参加运算;②要在模2n+1 (或模2)的意义下相加,即符号位产生的进位要丢掉。

    二、补码减法:

           公式:[x-y]补= [x]补+[-y]补

           由[y]补  求[-y]补  的法则: 各位都取反(包括符号位),然后末位+1

    三、溢出概念与检测方法:

           溢出:在定点整数机器中,数的表示范围为|x|<(2n-1)在运算过程中若出现大于(2n-1)的现象,则称为“溢出”。在定点机中,正常情况下溢出是不允许的

           检测方法:1.双符号位法:“01”表示上溢, “10”表示下溢。最高符号位始终表示结果的正确符号。

                             2.单符号位法:溢出检测逻辑表达式为V=Cf⊕Co,其中Cf为符号位产生的进位,Co为最高有效位产生的进位, V=1表示发生溢出。

    四、定点加减运算的逻辑实现:

           1.一位全加器估算时间延迟:

              考虑溢出检测,那么n位串行进位加/减法器的延迟时间ta为:ta=n·2T+9T=(2n+9)T

                当不考虑溢出检测时,有:ta=(n-1)·2T+9T

    2.3定点乘法运算

    一、原码乘法

           符号位单独计算。

         (1)串行实现:原码一位乘法算法

               

          (2)原码并行乘法: 

              

     二、补码乘法

            (1)间接补码并行乘法

                      1.原理:          特别需注意:负数的“原码→补码”和“补码→原码”的过程相同:数值位按位取反末位加1。

                            

                         2.逻辑框图:

                        

                    3.算前(后)求补器的功能和实现电路:

                       

                       间接补码并行乘法的例子:

                              

                   (2)直接补码并行乘法

    2.4定点除法运算

     一、(串行)恢复余数法:

              

               

    二、不恢复余数法(加减交替法) 

              

                 

                 

    三、(并行)不恢复余数的阵列除法器 

       

     

     2.5定点运算器的组成

     一、逻辑运算

    分:逻辑非、逻辑加(逻辑或)、逻辑乘(逻辑与)、逻辑异(异或)四种基本运算

    二、多功能算术/逻辑运算单元ALU

           1.先行进位算法

           (1)一位全加器:                                                                                                         (2)  由一位全加器构成的串行进位的四位加法器                                             

             Cn+1~ Cn+4是同时算出的,故比串行进位的全加器速度要快。依此先行进位公式,可设计出四位并行加法器。对全加器电路再增加一函数发生器电路,即             可实现多种算术运算。

             2.多种算术运算的实现:

                    可以证明:XiYi=Yi, Xi+Yi=Xi,则Cn+1=Y0+X0Cn,······Cn+4=Y3+ Y2X3 +Y1X2 X3 +Y0X1X2 X3 +X0X1X2X3Cn

                =G+PCn             G= Y3+ Y2X3 +Y1X2 X3 +Y0X1X2 X3 , P=X0X1X2X3                                                                                  

                    

                3. 算术/逻辑运算单元74181ALU

                   

     三、内部总线 

    内部总线:CPU内各部分的连线,分单向、双向总线

    四、定点运算器的基本结构

           运算器包括ALU、阵列乘除器、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件。

          1.单总线结构的运算器:双操作数分时经总线进入锁存器A和B,结果也通过单总线送回

          2.双总线结构的运算器:两操作数通过各自的总线送加法器运算,结果通过   其中一总线送回

          3.三总线结构的运算器:两操作数和操作结果通过各自的总线传送

     2.6浮点运算方法和浮点运算器
    一、浮点加减法运算

           1.对(补码)非规格化数的规格化处理:

           

           2.浮点加减法运算过程:

           

             运算步骤:1对阶  2尾数求和  3规格化

            小阶向大阶看齐:尾数右移,损失的是最小位

           舍入处理:在对阶或者是右规的时候尾数要右移,舍弃低位,有两种舍入处理方法:“0舍1入法”,舍入的部分最高位为1的话就进一个1,最高位为0的话就直接舍去;“恒置1法”,只要位数被移掉,就在尾数末尾加“1”。

           溢出处理:浮点数的溢出是按照阶码是否溢出来判断的!!!

           数的表示:一般阶码E采用移码或补码表示,而尾数M采用补码表示。

           

     二、浮点乘除法运算

           1.浮点数的阶码运算:

           

             2.对尾数运算结果(Mx× My)的处理:

           

             运算步骤:1.0操作数检查 2.阶码加/减操作 3.尾数乘/除操作 4.结果规格化及舍入处理

             

     三、浮点运算流水线:

            各子过程段之间须设置高速缓冲存储器

                


     

     

  • 相关阅读:
    C++ 4种强制类型转换
    HTTP与HTTPS异同/HTTP1.0与HTTP1.1差别
    大数据处理-Trie树
    Linux进程状态转换图
    纯css实现背景图片半透明内容不透明的方法-opacity属性正确使用
    由vue理解passive修饰符引起的思考
    Vue+VSCode开发环境配置备忘(代码格式设置)
    哎呦喂web 前端三日老师 《精通Flex布局》
    flex实战之移动页面确定按钮置底布局
    Poptip插件拖动造成IOS下与同页面下mescroll.js也被拖动的解决,即对e.preventDefault();的理解
  • 原文地址:https://www.cnblogs.com/xxikwonxjlxi/p/13126397.html
Copyright © 2011-2022 走看看