zoukankan      html  css  js  c++  java
  • 寄存器基本原理介绍(上篇)

    存储器被划分为多个存储单元,从零开始编号,就像是一条街上的门牌号一样,那么 CPU 要读取这些数据,就像是在这一条街里找这个门牌号一样,先要确定在哪里住。

    由此可见,CPU 要相对数据进行读写,必须和芯片进行下面 3 类交互:

    • 存储单元的地址(地址信息)
    • 器件的选择,读或者写命令(控制信息)
    • 读或写的数据(数据信息)

    那么,CPU 是如何让将这些新词传输到存储器的芯片中的,这就涉及到一个概念,我们都知道,计算机能够处理的信息都是电信号,也就是高低电平,电信号当然是由导线来传送。在计算机中,由专门连接 CPU 和其他芯片的导线,我们通常称为总线,总线从物理的概念来讲,就是一根根导线的集合。根据传出信息的不同,总线从逻辑上讲主要分为 3 类:地址总线,控制总线以及数据总线。

    寄存器基本原理介绍(上篇)

    分析上图,三个基础导线首先 CPU 通过地址线将信息发出,然后通过控制线发出内存读写任务,选中存储器芯片,并命令从中读取数据,最后通过数据线将数据送入 CPU。

    接下来,详细介绍一下。

    地址总线

    现在,我们知道 CPU 是通过地址总线来指定存储单元的,那么可见地址总线上能传递多少不同的信息,就能对多少个存贮单元进行寻址。

    现在假设,一个 CPU 有 10 根地址线,一根导线能传递的状态只有两种,一种是高电平,一种是低电平,就是二进制的 0 和 1,那么 10 根导线就是 10 位 2 进制数据,那么 10 位进制能组成多少不同的数据呢?2 的 10 次方个,最小为 0,最大是 1023。如果一个 CPU 由 N 根地址总线,那么可以说这个 CPU 的地址总线的宽度为 N,这样的 CPU 最多可以寻找 2 的 N 次方个内存单元。

    地址总线由微处理器产生,主要用来存储输入输出接口,传送地址信息,是一条单向总线。

    寄存器基本原理介绍(上篇)

    上图就是对地址总线一个简单的概述,帮助大家理解。上图共有 5 条地址线,一次传输五位二进制数。

    数据总线

    数据总线主要负责 CPU 与其他部件的数据传送,数据总线的宽度决定了 CPU 和外界的数据传输速度,8 根数据线一次性可传送一个 8 位二进制数,也就是一根一个数据,共一个字节,16 根就是传输两个字节。

    数据总线是一条双向总线,CPU 和其他部件的双向传输信号。

    8088CPU 的数据总线宽度为 8,8086CPU 的数据总线宽度为 16,8086 的数据传送要快一些。

    控制总线

    控制总线控制外部器件,控制总线只是一个总称,其实是由一些不同的控制线集合,有多少根控制总线就意味着对外部器件有多少种控制,控制总线决定着 CPU 对外部器件的控制能力。

    控制总线主要传输控制信号、时序信号和状态信号,也是一条双向总线。

    https://www.infoq.cn/article/1j3QiETdjtBbSjeKV6Wi

  • 相关阅读:
    LeetCode Subsets II
    LeetCode Rotate Image
    LeetCode Palidrome Number
    LeetCode Generate Parentheses
    LeetCode Maximum Subarray
    LeetCode Set Matrix Zeroes
    LeetCode Remove Nth Node From End of List
    Linux Loop设备 使用
    Linux 文件系统大小调整
    LeetCode N-Queens II
  • 原文地址:https://www.cnblogs.com/feng9exe/p/12531902.html
Copyright © 2011-2022 走看看