白话微机:2.解释总线以及一些考研面试问题

        一. 前言(回顾世界观)

        很久很久以前,有这样一个世界,这个世界有着现实世界一样的元素:那里的又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有,这些路叫做“数据总线”(相比于第一篇进行修正);这里也有行政部门,比如公安局之类的,又有个名字叫“寄存器”;有中央政府,政府又叫做“中央处理器”等。关于存储器的分类以及考研面试常问的问题可以见我上一篇文章,这篇文章来详细聊一下总线。

        二. 总线(交通系统)

        总线在“数据世界”扮演的是连接不同地点:如住房(存储器)和行政部门(寄存器)以及中央政府(中央处理器)的道路。下面对这些道路进行一个分类。

           1)分类

             1]数据总线(走人的路)

                数据总线是承载“人”(数据)本身的主要街道或公路。这条路的宽度(即总线宽度)决定了一次可以承载多少“人”(数据位)。比如一条宽度为32位的数据总线,一次可以允许32位数据并行通过,即允许32个人同时并排走过。

             2]地址总线(同步地图)

                地址总线是门牌编号系统,或者用于定位住宅(存储器单元)的线上详细同步地图。地址总线告诉“人”(数据)应该去哪个“住房”(内存地址),或者从哪个“住房”出来。地址总线的宽度决定了可以访问多少个不同的“住房”,存储了多少个“住房”的信息(即内存地址空间的大小)。

             3]控制总线(交通信号灯)

                控制总线是是交通指挥系统,比如信号灯、交通标志和指引标识。控制总线负责发出指令,指示“人”(数据)何时应该行动(例如,何时开始移动),以及如何行动(例如,是去存储器还是来自存储器)。控制总线携带诸如读/写信号、中断请求等控制信息。

白话微机:2.解释总线以及一些考研面试问题_第1张图片

          2)数据传输过程

               基于上述设定,让我们将总线的“一主多从”模式想象为一个有主导的城市交通体系,在这个系统中,"主"的交通参与者大巴士主设备)控制着道路(数据总线)的使用权,而“从”是需要使用这条道路的其他交通参与者从设备)。现在,我们来详细描述整个数据传输过程:

           1]总线请求和仲裁(人向交警申请过马路)

              有很多人(从设备)想要通过一条繁忙的大街(总线),但是街上已经有一辆大巴士(主设备)在运行。如果其他人也想要使用这条路,他们需要交警总线仲裁器)发出信号表明他们想要通行。交警根据交通规则仲裁逻辑)决定谁有优先权使用这条路。巴士在使用道路时有最高优先级,其他人必须等它通行完毕。

           2]寻址阶段(大巴车屏幕公示目的地)

               当大巴士(主设备)获得使用权时,它会通过广播播报或显示要去的地方的地址(地址总线)来告诉所有人它要去的目的地(存储器单元的地址),在交通的线上地图同步。

           3]数据传输(绿灯后,大巴过路靠站停)

               路上的信号灯(控制总线)现在显示绿灯,让大巴士(主设备)开始行驶。乘客们(数据)安全地在街道(数据总线)上移动,直达目的地。大巴士在每个站点按照预定的顺序停靠,准确无误地让乘客们上下车。

           4]结束阶段(红灯后,大巴停、人过街)

               当大巴士(主设备)完成它的路线时,司机会通知交警(总线控制器)他的行程已经结束,大街(总线)又可以供其他人使用了。信号灯(控制总线)变回红灯,提示所有人大巴士的行程结束,公路重新开放给等待的人群。

            3)考研面试常问问题

               1]简述系统总线的概念,按系统总线传输信息不同分为哪三类并说明各自用途?

                 上述比喻其实已经解决了,这里解释一下官方答案。

                 (1)概念:系统总线是指CPU(政府)、主存(住房)、I/O设备(高速路口),各大设备之间的信息传输线(交通道路)。

                 (2)分类:1)数据总线(走人的路):用来传输各功能之间的数据信息(人);

                                2)地址总线(同步地图):用来指出数据总线上的源数据或目的数据在主存单元的地址(住房的门牌号)或I/O设备的地址(高速路口门牌号);

                                3)控制总线(交通信号灯):用来发出各种控制信号的传输线。

                2]简述总线的特征?

                 (1)机械特征:

                 总线的机械特征可以类比为大街(数据总线)的实际物理结构。就像街道有其宽度、长度和布局,数据总线也有其物理属性,包括:

  • 总线宽度:相当于大街的宽度,决定了一次可以容纳多少行人(即多少位数据)并行通过。
  • 连接器类型:相当于街道的入口和出口,决定了哪些车辆(设备)可以接入这条街道。

                 (2)电气特性:

                电气特性对应于数据总线在电气层面的特点,比如:

  • 信号电平:在我们的比喻中,这可以类比为交通灯的状态,指示数据何时可以移动。
  • 阻抗匹配:好比街道的平整程度,影响了人群(数据)的移动速度和舒适度。

                 (3)功能特性:

                 功能特性关联到总线能够执行的操作和所能承载的信息类型,具体包括:

  • 地址总线:就像每个住宅的门牌号码,用来唯一地定位每个存储单元。
  • 数据总线:街道本身,承载着人(数据)从一个地点移动到另一个地点。
  • 控制总线:交通信号灯和交通标志,它们指导交通流和控制数据流的准确行动。

                  (4)时间特性:

                   时间特性涉及到数据传送和接收的同步性,就像是在交通体系中的时间安排:

  • 同步:总线的操作可以被时钟信号控制,就像城市交通依赖于交通灯的规律性变化。
  • 传输速率:类似于街道上行人的走路速度,决定了数据在总线上移动的速度。                               
  •  
    • 3]冯诺依曼架构和哈佛架构的区别?
    • 1)冯诺依曼架构:所有的“人”(数据和指令)都走同一条路(数据总线)前往或离开它们共同的住房(存储器)。即数据和指令共享同一个存储器和总线系统。基于这个架构用过的有STC89C52。
    • 2)哈佛架构:有两条完全独立的道路系统——一条专门为叫"数据"的人通行的路(数据总线),另一条专门为叫“指令”通行的路(指令总线),两条路分别通往两个独立的住房。即数据和指令拥有各自的存储空间和总线。基于这个架构用过的有STM32(类哈佛)、ESP32、MSP430、MAX78000。
    • 4]分离式通讯有何特点?
    • (1)各模块有权申请占用总线: 所有的“人”(从设备)都可以向交警(仲裁器)申请过“大街”(总线)。不仅是大巴士(主设备)有权使用道路,其他交通参与者也可以申请使用。在分离式通讯系统中,任何模块都可以发起数据传输的请求。

    • (2)采用同步方式通信不等对方回答: 当大巴车(主设备)开始移动时,它不会等待个别乘客(数据响应)来决定它的行进速度或路线。在分离式通讯中,一旦通信开始,发送方将数据发送到总线上,不需要等待接收方确认,从而使通信过程更加高效。

    • (3)各模块准备数据时不占用总线: 在大巴士(主设备)等待绿灯时,乘客(数据)可以在站台(模块内)准备好,等待上车。这在通讯系统中相当于模块在准备数据时不会占用总线;它们只有在数据准备好,并且总线可用时,才真正开始使用总线进行数据传输。

    • (4)总线被占用时无空闲: 如果大巴士(主设备)正在使用大街(总线),那么这条街道就没有空闲时间,其他所有人(从设备)都必须等待。在分离式通讯中,一旦主设备开始使用总线进行数据传输,直到传输完成之前,总线是不会空闲的,这样可以确保数据传输的连续性和减少中断的可能性。

    • 5]冯诺依曼设计思想?
    • (1)计算机包括运算器、存储器、输入输出设备: 运算器可以看作是中央政府(中央处理器),负责处理所有的决策和计算任务。存储器相当于住房,是存放“人”(数据)的地方,也就是内存。输入输出设备则是这个世界的交通工具,如公共汽车和出租车,帮助“人”(数据)进入和离开这个世界(计算机系统)。这些组件共同工作,使整个“城市”(计算机系统)能够顺畅运转。

    • (2)内部采用二进制表示指令和代码: 每个“”(数据)都是由0和1的存在(二进制)来定义的,这就好比世界上的每个人都有唯一的身份标识。同样地,计算机内部的所有指令和代码都用二进制数字来表示,这样计算机才能理解和执行。

    • (3)将编号的程序送入内存储器中,然后启动计算机工作,能顺序逐条取出指令和执行指令: 在这个世界中,把编号的程序送入存储器,可以想象在线上同步地图上标出一系列“住房”(内存)地理位置,并把门牌信息(指令)存在住房,然后中央政府(中央处理器)开始根据这张地图工作,按顺序访问每个“住房”(内存地址),并执行存储在那里的指令(程序代码)。大巴(主设备)按照既定的线路(程序),依次在每个车站(内存地址)停靠并执行特定的行动(指令执行)。

你可能感兴趣的:(微机世界,面试,嵌入式硬件,单片机)