资讯详情

计算机组成原理(存储、总线、链接)

笔记目录大纲

  • 1.存储技术
    • 1.1 存储层次模型
    • 1.2 随机访问存储器 RAM
      • 1.2.1 静态RAM - SRAM(高速缓存)
      • 1.2.2 动态RAM - DRAM(内存/主存)
        • 1.2.2.1 内存模块
        • 1.2.2.2 内存逻辑结构
        • 1.2.2.3 内存的访问
        • 1.2.2.4 增强DRAM
      • 1.2.3 ROM(只读存储器)
    • 1.3 持久存储器 - 磁盘
      • 1.3.1 磁盘构造
      • 1.3.2 磁盘容量
      • 1.3.3 磁盘操作
      • 1.3.4 闪存技术/固态硬盘
      • 1.3.5 RAID磁盘冗余阵列技术
    • 1.4 存储技术的局部原理
  • 2. 总线
    • 2.1 系统总线
    • 2.2 内存总线
    • 2.3 IO总线
    • 2.4 总线按分工分类
  • 3.I/O设备
    • 3.1 输入输出实现模式
      • 3.1.1 普通模式(数据流/忙等待)
      • 3.1.2 中断
      • 3.1.3 DMA(直接内存访问)
  • 4. 二进制
    • 4.1 十进制转二进制
    • 4.2 二进制转十进制
    • 4.3 八进制,十六进制
    • 4.4 计算机数据表示形式
      • 4.4.1 原码
      • 4.4.2 反码
      • 4.4.3 补码
  • 5.编码/字符集
    • 5.1 字符集
    • 5.2 编码
  • 6.链接
    • 6.1 符号/符号表
    • 6.2 目标文件
    • 6.3 静态库
    • 6.4 静态链接
    • 6.4 动态链接

1.存储技术

计算机信息最终需要存储设备存储在时空区域,根据不使用的应用场景可以分为大小和速度。不同的存储技术构成了计算机的存储层模型,每个层次都有自己的责任和必要性。

1.1 存储层次模型

在这里插入图片描述

1.2 随机访问存储器 RAM

随机访问存储器 Random Access Memory简称RAM,它分为静态和动态两类。速度,静态RAM比动态RAM访问速度更快,只需要几个时钟,但成本更贵。

1.2.1 静态RAM - SRAM(高速缓存)

将每个位置存储在元中存储每个位置,存储单元采用六晶体管电路。 CPU的寄存器、L1级、L2级、L使用3级高速缓存,详细描述后续文章。

1.2.2 动态RAM - DRAM(内存/主存)

将每个位置存储为电容器充电,每个单元由一个电容器和一个访问晶体管组成。计算机主存储采用DRAM实现,主存是一种临时存储数据的设备,从逻辑上讲,主存是一个线性字节数组,每个字节都有唯一的内存地址。

1.2.2.1 内存模块

DRAM芯片包装在内存模块中,插入主板的内存插槽。不同的处理器结构对内存引脚有不同的支持。在64操作系统中,DRAM芯片以64位为块,将数据传输到内存控制器,然后通过内存控制器编写数据。

1.2.2.2 内存逻辑结构

事实上,内存是一个逻辑的线性一维数组,但它将是DRAM为了减少芯片上地址的引脚数量,设计成二维阵列,但也有一个缺点,那就是地址搜索分为两个步骤,增加了时钟周期。如图所示,如果要从内存中找到(0,2)单元的数据,DRAM将银行数据复制到内部缓冲区,然后发送到内存控制器,然后由内存控制器交互。

1.2.2.3 内存的访问

CPU通过总线电路和内存交互数据,交互步骤统称为总线事务读事务:从主存传输数据到CPU。 写事务:从CPU传回数据到主存。

1.2.2.4 增强DRAM

如今,许多内存制造商会加速内存速度DRAM架构优化,优化手段常见快页模式FPM DRAM模式双倍速率同步DRAM等。

1.2.3 ROM(只读存储器)

RAM如果断电会丢失数据,计算机需要一个可以在断电后保持数据的随机存储器,以支持计算机启动的准备。 ROM的特点是非易失只读存储设备通常印在主板生成过程中。

1.3 持久存储器 - 磁盘

现代工业,RAM不能完全支持计算机的存储需求,磁盘磁盘存储容量比的目的是解决大数据存储问题RAM大得多,现在磁盘成本低,工业技术要求不太高,现在磁盘容量往往是数百GB甚至数TB但磁盘最大的缺点是访问时间长。

1.3.1 磁盘构造

           - 盘片 

盘片:多个磁盘形成基本磁盘,每个磁盘有两面,其表面覆盖着精密磁性材料 磁盘上的所有数据都存储在磁盘上。当计算机运行时,磁盘固定在主轴上 速运转。

           - 主轴 

主轴:中轴固定盘旋转,主轴旋转驱动盘旋转。转速一般为5400~15000 /分,主轴转速越快,磁盘读写效率越高,但功耗和噪音也会增加。

           - 磁臂 

磁臂:控制磁头在盘上方读取数据的设备 磁臂调度算法:详细回答后续文章

           - 磁头 

磁头:磁臂头位置的读写数据设备,跟随磁臂附着在盘子上方,通过盘子旋转,在盘子的磁道上读取磁信号。

           - 磁道 

磁道:盘子上密密麻麻的沟壑叫磁道。换句话说,磁道是一组同心圆,一起形成磁盘。严格来说,数据存储在磁道上。

           - 扇区 

扇区:将磁道细分为一段的逻辑概念伪连续空间,每个空间都叫扇区,它的数据大小通常是512字节,连续扇区之间有狭窄的间隙 不存储数据,而是识别风扇区域的格式位置。

           - 柱面 

柱面:这也是一个逻辑概念。柱面由多个磁盘组成,与主轴中心相等。

1.3.2 磁盘容量

磁盘容量由记录密磁道密度面密度决定。

1.3.3 磁盘操作

磁盘控制器控制磁臂寻找数据道(寻道) -> 等待盘片旋转到指定位置 -> 感知磁信息 磁盘读取数据主要由3部分组成

              - 寻道时间:平均3~9ms,最大可到几十毫秒
              - 旋转时间:和转速有关,转速越快,耗时越短,通常<10ms
              - 传输时间:通常<1ms,微妙级别

1.3.4 闪存技术/固态硬盘

固态硬盘基于闪存技术实现,其内部工作逻辑和常规磁盘差别很大,其内部数据以块 为单位进行存储,因为其使用块擦除技术,所以相较之普通磁盘,读写次数大打折 扣,但是其读写效率通常比普通机械磁盘快许多,因为避免了寻道、旋转时间。

1.3.5 RAID磁盘冗余阵列技术

现代计算机为了提高磁盘的读写效率,提出了RAID磁盘阵列的概念,操作系统统一对 接RAID接口,屏蔽了具体实现。RAID是将多个磁盘进行阵列组合,达到并行读写、 数据冗余的特点。

1.4 存储技术的局部性原理

// TODO,后续在操作系统章节详细剖析

2. 总线

总线是一个贯穿整个系统的电子管道的总称,他的职责是将链接总线的设备信息进行提供信息传递的功能。通常总线会被设计成定长的字节块,简称

2.1 系统总线

CPU内部可分为2个总线结构,其中CPU本地总线负责CPU高速缓存和CPU计算单元通信,其速度较快;其叫法还有后端总线、存储总线等。

2.2 内存总线

CPU和内存交互数据的总线线路的别称,CPU通过北桥的IO桥接器设备进行和内存数据交互。

2.3 IO总线

I/O总线是基于PCI/PCIe协议的数据总线统称,计算机I/O设备均与I/O总线对接,进行数据传递。

2.4 总线按分工分类

总线根据功能可划分为:

     - 数据总线
     - 地址总线
     - 控制总线

3.I/O设备

I/O设备是系统与外部的联系通道,每个I/O设备都通过一个IO控制器/适配器与计算机的I/O总线相连。 控制器:插在电路板上的一组芯片,其功能是在IO设备和IO总线之间传递数据。

3.1 输入输出实现方式

CPU使用一种内存I/O映射技术来向I/O设备发出命令。系统地址空间和I/O设备通信对应,每一个这样的地址称之为I/O端口,当一个设备注册连接到总线时,就会与一个或多个端口相关联。

3.1.1 普通模式(数据流/忙等待)

        1. 用户程序发出一个系统调用
        1. 内核将其翻译为对应设备驱动程序的调用函数
        1. 驱动程序启动I/O,并不断轮询检查设备
        1. I/O结束,驱动程序将数据通过总线传送到指定内存地址

3.1.2 中断

同普通模式一样,只不过设备驱动程序不需要轮询检查,在I/O进行过程中,CPU可以调度其它程序,等I/O完毕时,设备驱动程序发出中断通知CPU完成操作,CPU后续进行逻辑处理。

3.1.3 DMA(直接内存访问)

DMA是一种特殊的芯片,它可以控制设备控制器和内存数据交互的数据流,无需CPU干预。

        1. CPU通过设置DMA控制器的寄存器,告诉数据需要传送到目的地址、磁盘扇区信息等。
        1. DMA控制器负责和I/O控制器进行I/O数据交互。
        1. DMA每完成一个数据块,给CPU发出一个中断来通知CPU。

4. 二进制

现代计算机几乎是使用二进制的表示形式来处理数据,逢二进一,只有0和1两个数字表示,每一个数字表示一位,bit;

4.1 十进制转二进制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chP9RWJv-1656240472801)(https://cdn.nlark.com/yuque/0/2022/svg/393019/1643375477224-ab8d9e36-e2cf-46b5-b2fe-a8ef2d93ccea.svg#clientId=u9594b452-4e71-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u0f3f11d5&margin=%5Bobject%20Object%5D&originHeight=27&originWidth=478&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u722c62c3-f3f4-48f8-952c-69e0f2c1202&title=)]

4.2 二进制转十进制

4.3 八进制、十六进制

4.4 计算机数据表示形式

因为计算机只有加法运算,没有减法,所谓的减法都是通过二进制位加法运算进行,所以计算机对二进制的表示有了补码。

4.4.1 原码

正数的原反补三码一致

4.4.2 反码

4.4.3 补码

对于负数而言,将其绝对值的原码取反,0变1,1变0,然后+1

5.编码/字符集

5.1 字符集

规定了计算机表示字符的集合,常见的字符集有:

     - ASCII字符集:诞生于美国,一共128个字符
     - ISO 8859系列字符集:比ASCII添加了一些西欧符合,一共256个字符
     - GB2312字符集:中国,三千多字符集
     - Unicode字符集:通用字符集

5.2 编码

基于不同的字符集,每种字符集在计算机系统中可以有不同的编码规则,目前使用广泛的Unicode字符集的编码方式极为常见:

     - UTF-8编码
     - UTF-16编码

其中,UTF8和UTF16采用变长方案,UTF-8是1个字节的码元,UTF-16使用2个字节码元。UTF-8同样兼 容ASCII码,目前UTF-8编码已经超过ASCII的使用市场。

6.链接

链接是将各种代码片段和数据片段收集、组合为一个单一的文件的过程,文件被加载到内存中可执行。现代的计算机系统是通过链接器程序工作完成。

6.1 符号/符号表

每一个可重定位目标模块都有一个符号表,包含了模块定义和引用的符号信息,其中包括3类符号:

     - `全局符号`:能够被其它模块引用的符号
     - `外部符号`:有其它模块定义,并被本模块引用的符号
     - `局部符号`:只被本模块定义和引用的符号

6.2 目标文件

     - `可重定位目标文件`:包含二进制代码和数据,在编译时与其它可重定位目标文件合并。
     - `可执行目标文件`:包含二进制代码和数据,可直接被复制到内存并执行。
     - `共享目标文件`:特殊的可重定位目标文件,可以再运行时被动态加载到内存。

6.3 静态库

静态库:编译器将相关目标模块打包成为一个单独的文件。

6.4 静态链接

以一组可重定位目标文件和命令参数为输入,生成一个可运行的可执行文件为输出,其过程有2个主要任务:

     1. 符号解析:将文件每一个符号引用和符号表定义符号关联起来。
     1. 重定位:链接器通过吧每个符号定义与内存地址相关联,以修改这些符号引用,从而指向内存地址。

6.4 动态链接

在程序运行时,加载共享库的函数代码资源,并和本程序践行链接,形成一个完整的程序。因为库函数是共享的,所以减少了程序大小,相较之静态链接,动态链接性能下降5%,但是节省了空间。

标签: 101贯穿电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台