计算机结构中硬件有几部分_计算机硬件系统的五大基本构成「建议收藏」

计算机结构中硬件有几部分_计算机硬件系统的五大基本构成「建议收藏」目录计算机基本组成结构1.冯诺·依曼结构2.哈佛结构3.计算机的详细结构CPU总线与IO接口外部设备计算机基本组成结构1.冯诺·依曼结构【1】冯诺·依曼结构的组成部分输入、输出设备输入设备:向计算机输入数据,比如通过


计算机基本组成结构


1.冯诺·依曼结构


【1】冯诺·依曼结构的组成部分

  • 输入、输出设备

  • 输入设备:向计算机输入数据,比如通过摄像头、MIC,将图像/声音等转成二进制数据给计算机;从网卡输入数据给计算机等

  • 输出设备:从计算机输出数据,比如通过显示器、扬声器,将二进制数据翻译成为图片/视频/声音等让人能够识别;或者通过网卡输出数据给别的计算机

  • 存储器

  • 实现程序和数据存储

  • 运算器(ALU)

  • 进行算术运算和逻辑运算

  • 控制器

  • 解释程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制运算器等部件工作,进行比如数据的算术、逻辑运算;数据的搬移,比如从CPU的寄存器搬移到内存,或者从内存的某个位置搬移到内存的另一个位置。

【2】结构图

在这里插入图片描述


2.哈佛结构


与冯诺·依曼结构相对应的是哈佛结构,我们会在后面详细讲解这两种结构之间的异同和各自的优缺,为了便于讲解的方便,这边
还是以经典的冯诺·依曼结构为例,进行计算机组成结构的介绍。


3.计算机的详细结构


如果说我们将存储器划归到输入、输出设备里面去的话,计算机总体上可以分为三大块,即CPU总线与接口外部设备(输入输出设备)。

《一》详细结构图

在这里插入图片描述

《二》 各部分简述


CPU


【1】运算器:

  • (ALU:Arithmetic Logic Unit),中文叫算术逻辑运算单元,进行算数运算和逻辑运算
  • 作用:根据指令要求,对数字电信号的二进制数据,进行算术运算和逻辑运算,
  • 运算器组成:
运算器组成 作用
(通用)寄存器组 用于临时存放ALU在进行算术/逻辑运算时,运算过程中涉及到的一些中间值和最终计算结果值。
乘商寄存器 专门用于临时存放乘法和除法运算中间值和最终结果值。
CVZS标志位 ALU运算时,会设置各种标志位
CVZS标志位 标志位含义
C 进位、借位标志,如果有进位或者借位,C=1,否则C=0
Z 运算结果是否为零标志,如果结果为0,将Z设置为1(2.5v),否者将Z设置为0(0v)
V 溢出标志,有溢出,V=1,V=0
S 有时用N表示,意思是当两个有符号数进行运算时,如果结果为负数,S就被设置为1,如果结果为零或者正数的话,S就被设置为0。

1.C标志位的应用举例:

  • 计算13208 + 34535相加后的值;为了便于编程时好理解,我们先将这两个十进制的数,转为十六进制,即OX3398和0X86E7。
  • 汇编实现这两个数的相加的大致步骤如下图所示。

在这里插入图片描述

2.Z标志位

  • 比较两数是否相等,比如a=3,b=3,判断两数是否相等,写汇编程序实现时,实际上就是将两数相减(算术运算),如果Z=1表示a-b的结果为零,说明a等于b,否则说明a不等于b。
  • 但是有些同学可能会说,老师,我用C语言写的时候,是直接按照if(a == b)这种形式来写的,没有a-b的过程啊,这是高级语言的人性化的写法,但是编译器最后都会讲高级语言的程序编译成为汇编程序,汇编程序基本可以等价于机器指令了,汇编会按照之前描述的方式来判断两数是否相等。

3.V:溢出标志,有溢出,V=1,V=0

  • 什么是溢出:
    比如一个32位的寄存器,自然只有32个bit,能装二进制数的最大情况就是32个1,即11111111 11111111 11111111 11111111,如果再往里面加一个1的话,就向第33位进位了,但是寄存器只有32位,不存在第33位,哪个进位并没有被记录,寄存器中的32个bit全都变成了是0,即00000000 00000000 00000000 00000000,这种类似的现象就是溢出。溢出会导致数值发生突变,这种数值的突变,可能会导致计算结果出现错误。

  • 为什么要检查溢出?
    从上面的描述中,不难看出,溢出可能会带来一些不好的结果,因此溢出的检查是很有意义的,检查到溢出后就能提前准备应对措施。检查有无益处的方法就是检查V标志位,如果V被设置为了1,表示有溢出,否者就是没有溢出。

4.S标志位

  • S:有时用N表示,意思是当两个有符号数进行运算时,如果结果为负数,S就被设置为1,如果结果为零或者正数的话,S就被设置为0。

  • 应用举例:比较a、b两数的大小,写成程序的话,我们会让两个数做减法运算,然后检查标志位S,如果S=1:表示减法的结果是一个负数,说明a<b;S=0:则表明减法结果为0或者正数,说明a大于或者等于b,这个时候需要在查询Z标志位,如果Z标志位为1,表示a等于b,否则说明a大于b。

【2】 控制器

  • 作用:最重要的功能就是进行指令译码,将指令转成微指令,再由微指令控制计算机各部件工作,比如控制ALU,让ALU进行数据的算术、逻辑运算;进行数据的移动,比如从CPU的寄存器移到内存中,或者从内存的某个位置搬移到内存的另一个位置等。

  • 控制器是用于控制和协调整个计算机的动作控制中心,最核心的功能是将每条程序指令解释为微指令,再由微指令控制计算机各部件做要求的动作,从而让计算机按照程序安排的任务进行工作。

控制器组成 作用
程序计数器(PC) 程序最开始运行时,PC里面放的是程序第一条指令在内存中所在的地址,每运行一条指令,PC里面的地址就会加1,指向下一个指令,如果一个指令的存放需要4个字节,加1指向下一个指令,pc中的地址实际上加的是4个字节。
指令寄存器(IR) 按时存放从内存中取得的,即将要被解释运行的指令,指令由两部分组成,操作码,指明计算机需要执行的某个动作的性质和功能,比如有些操作码表示做加运算,有些表示要进行数据搬移。地址码,这个地址码要么直接是要被操作码操作的数,要么是要被操作的数在内存中所在的地址
指令译码器(ID) 解释指令,解释指令的过程为,第一步:检查指令的格式是否合法,是否夹有非法字符、或者非法词组,有的话,译码将不会通过。第二步:如果指令被检查合格了,译码器会将指令中操作码和地址码分离,从而提取出操作码
控制存储器 用于存放微指令程序(或称微程序),每一操作码都对应着一个自己的微程序,控制存储器中存放着所有的指令自己所对应的微程序。比如ADD(加运算)操作码,也一定对应着自己的微程序,微程序是有=由一条条的微指令构成的,在出厂时,这些微指令程序就被固化在了控制存储器中,该存储器只能读不能写。指令被译码器译码后,操作码会被提取出来并交给控制存储器,然后再控制存储器中,找到操作码所对应的微程序,输出该微程序每一条微指令,这些微指令会通过控制中线控制计算机各部分工作。
微指令寄存器 存放临时微指令
MOV
指令	101001   1001010101 
         操作码  地址码

总线与IO接口


总线与接口的作用就是,将CPU和外部设备连接在一起

【1】三大高速总线

  • 作用:高速通信线路,相当于CPU的高速公路
总线名称 作用
地址总线 传输地址信号,通过地址信号找到要操作的寄存器、内存单元等
数据总线 传输数据信号,比如通过地址找到内存的某个位置了,控制总线发出写的控制信号,希望对其写数据,那么写数据时,数据信号就是在数据总线上传输的
控制总线 传输控制信号,比如通过地址总线找到内存的某位置了,接下来到底是进行读还是写,就由控制总线发控制信号决定
  • 同学疑问,三大高速总线干嘛不合成一个?

  • 合在一起不是不行,但是合成一个的话会忙不过来的,通信的速率会非常低,分成三条总线就好比将高速公路分成三个车道,不同车走不同的车道,互不相干。为了提高通信的效率,三大高速总线是并行通信的

  • 三大高速总线位于CPU内部,通过CPU引脚引出后,与外部的IO桥连接在一起。

  • 地址、数据、控制线相互配合工作,地址、数据、控制线,在技术上是如何做到只操作想操作哪个字节就操作哪个字节,为什么其它没被选中的内存直接为高阻态是不受影响的,这就要涉及到我们数字电路里面所学的三态门的工作原理。

【2】外设IO接口

  • 作用:负责连接各种的输入、输出外部设备

  • 每一个设备都会对应有一个自己的外设IO接口

  • 外设io接口也分为了地址、数据、控制线,只是不少设备IO接口的地址、数据、控制线是复用,比如以USB为例,有4根线,其中两根是正极和负极电源线,其它两根线被复用当作地址、数据、控制线使用,所谓复用就是一线多用。

  • 不过内存不一样,为了能够提高内存的访问速度,因此内存io接口的地址、数据、控制线都是独立的,而且是还是并行的(上图解释有误,是并行不是串行)。

【3】IO桥

  • 可以不用IO桥吗
    可以,如果没有IO桥,所有的“外设IO接口”都是直接挂接在三大高速总线上的,但是随着发展,挂接的外部设备越来越多,直接挂接在总线上,太多了,管理是一个麻烦,慢慢的才有了IO桥这个管理者。

  • IO桥的好处
    设备的IO接口直接挂接在IO桥上,IO桥有效的管理着众多的外设IO接口,IO桥里面会有相应的控制芯片,控制IO桥的工作。

  • 南桥和北桥
    IO桥分为了南桥和北桥,南桥由南桥芯片负责,北桥由北桥芯片负责,南北桥之间有线路将其连接在一起。

南桥 负责CPU与各类通信速率较低(鼠标、键盘、磁盘)的外部设备之间的通信
北桥 负责CPU与内存、显示器等,通信速率要求较高的外设之间的通信
  • 并不是计算机都需要IO桥
    IO桥是PC机特有的,并不是所有的计算机都有的,比如我们的ARM的开发板,就没有明显的IO桥这个东西。
  • io桥所处的位置
    io桥指的就是南桥和北桥芯片,位于CPU芯片的外部,在电路板上。

外部设备


【1】哪些是外部设备

  • 只要是挂接在外设IO接口上的都是外部设备,与设备所在计算机中的位置没有关系,外部设备大致分为三类。
专门进行数据的传输 比如网卡,负责数据的发送和接收,即是输入也是输出设备
专门进行数据的存储 比如像磁盘,SSD(固态硬盘),负责数据的存储,能读数据,也能写数据,所以即是输入也是输出设备。
专门进行数据的翻译 比如输入设备MIC,将输入的声音翻译为电信号的二进制数据。比如显示器,将电信号的二进制图形,图像数据翻译为人看得见的图像和视频。

【2】外部设备在计算机中所处的位置

  • 片内外设:
    集成在芯片内部的就是片内外设,只是像PC这种计算机,所使用的CPU是一个独立芯片,很少集成片内外设,外设都在芯片的外部。

  • 片外外设:
    芯片外部的就是片外外设。

【3】输入设备

键盘 按下某个按键,输入动作会被翻译为某个字符的ASCII编号(以电信号的二进制数形式存在)。
鼠标 屏幕中光标位置输入,将鼠标的移动转为电信号二进制坐标数据
摄像头 图形、图像输入,将光信号的图形、图像翻译为电信号二进制图形、图像数据
麦克风 声音输入,将其翻译为电信号二进制数据
触摸屏 将触摸位置翻译为电信号二进制坐标数据
网卡 接受别的计算机发送的电信号二进制数据,输入给计算机
磁盘、SSD 读取存储的数据,输入给计算机

【4】输出设备

显示器 将电信号二进制的图形、图像数据,翻译成为光信号的图形、图像,供人识别
喇叭 将声音数据翻译成为人能听得见的声音
打印机 将数据输出到打印机打印
机械手臂 将输出数据翻译成为机械手臂的动作
led灯等 将输出数据翻译成为灯的亮灭

今天的文章计算机结构中硬件有几部分_计算机硬件系统的五大基本构成「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85596.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注