计算机基本组成原理(简要笔记)

计算机体系

一、冯.诺依曼体系结构

从Linux 服务器开发视角来看计算机,都是符合冯.诺依曼体系结构的。
在这里插入图片描述

1.1 4大部分:

1.1.1 输入、输出设备

输入设备:向计算机输入数据,比如通过摄像头、MIC,将图像/声音等转成二进制数据给计算机、从网卡输入数据给计算机等;
输出设备:从计算机输出数据,比如通过显示器、扬声器,将二进制数据翻译成为图片/视频/声音等让人能够识别、或者通过网卡输出数据给别的计算机。
每个IO设备在启动时都要向内存中映射一个或者多个地址,这个地址有8bit长,又称作IO端口。针对这个地址的数据,统统被北桥芯片重定向到IO总线上实际的设备上。

1.1.2 存储器

实现程序和数据的存储。
不同的存储器划分:
速度排序:寄存器(离CPU最近)>缓存>内存(CPU之外)。
容量大小:寄存器(离CPU最近)<缓存<内存(CPU之外)。

1.1.3 运算器(ALU)

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

1.1.4 控制器

解释(理解)程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制运算器等部件工作,进行比如:数据的算术、逻辑运算、数据的搬移,比如从CPU的寄存器搬移到内存,或者从内存的某个位置搬移到内存的另一个位置。
控制器、运算器被统一做到了CPU里面。
存储器既能充当输入设备,也能充当输出设备。因为其比较关键所以单独拎出来强调。
因此计算机体系结构再精简就只有3大块:CPU,总线与接口、外部设备(输入输出设备)。
由于CPU已经是一个完整的、封装好的部件,系统的设计人员只能通过编写软件,再经由编译器或解释器翻译为机器能够理解的代码来执行,CPU并没有专门的硬件电路来实现完全地控制外部设备的运行,这种实现方式是软件实现,是一种通用的实现,控制信号从软件到硬件要经过若干次转化,但有的时候,工程和设计领域往往需要高速高性能的芯片来实现控制与计算,这时候就需要更加强大的CPU或将几个CPU用一些技术并行起来协同工作,成本就会增加。

1.2 冯·诺依曼体系结构计算机所具备的功能

a) 把需要的程序和数据送至计算机中。
b) 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
c) 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。
d) 能够按照要求将处理结果输出给用户。

1.3 工作原理

输入设备获取数据存储到内存中,CPU 从内存中取出数据并进行处理,运算完毕后再交给内存,内存将 CPU 处理过的数据交给输出设备,由输出设备进行数据的输出。

1.4 特点

a) 存储器指的是内存,而不是外存(磁盘)。
b) 不考虑缓存的情况下,这里的 CPU 能且只能对内存进行读写,不能访问外设(输入或输出设备)。
c) 外设(输入或输出设备)要进行输入或者输出数据时,也只能写入内存或者从内存中读取数据。
d) 所有设备都只能直接和内存打交道。

二、计算机详细体系结构

在这里插入图片描述

2.1 三大总线(并行通信)

2.1.1地址总线

传输地址信号,通过地址信号找到要操作的寄存器、内存单元等。

2.1.2 控制总线

传输控制信号,比如通过地址总线找到内存的某位置了,接下来到底是进行读还是写,就由控制总线发控制信号决定。

2.1.3 数据总线

传输数据信号,比如通过地址总线找到内存的某个位置了,控制总线发出写的控制信号,希望对其写数据,那么写数据时,数据信号就是在数据总线上传输的。

2.2 IO总线

在这里插入图片描述

系统总线在较新的设计中,它被称为前端总线(front side bus (FSB))。桥间链接线一般是PCI总线。
除了常见的IDE总线,PCI总线,SCSI总线,还有很多其他技术规格的总线。这些总线往往用于IO总线。见下图

ISA总线:一种老旧的低速总线,即将被排除在PC设计之外。
USB总线(通用串行总线):这是一种新的低速总线。
AGP总线:仅用于显卡。
FSB总线:即前端总线(Front Side Bus),CPU和北桥之间的桥梁,CPU和北桥传递的所有数据必须经过FSB总线,可以这么说,FSB总线的频率直接影响到CPU访问内存的速度。
PCI总线:PCI总线是一种高性能局部总线,其不受CPU限制,构成了CPU和外设之间的高速通道。比如现在的显卡一般都是用的PCI插槽,PCI总线传输速度快,能够很好地让显卡和CPU进行数据交换。

2.3 IO桥(南桥 北桥)

在这里插入图片描述

北桥:北桥是CPU和内存、显卡等部件进行数据交换的唯一桥梁,也就是说CPU想和其他任何部分通信必须经过北桥。北桥芯片中通常集成的还有内存控制器等,用来控制与内存的通信。现在的主板上已经看不到北桥了,它的功能已经被集成到CPU当中了。
南桥:主要负责I/O设备之间的通信,CPU要想访问外设必须经过南桥芯片。
1) 作用
如果没有IO桥,所有的“外设IO接口”都是直接挂接在三大高速总线上的,但是随着发展,挂接的外部设备越来越多,直接挂接在总线上太多了,管理是一个麻烦,慢慢的才有了IO桥这个管理者。
2) IO桥的好处
设备的IO接口直接挂接在IO桥上,IO桥有效的管理着众多的外设IO接口,IO桥里面会有相应的控制芯片,控制IO桥的工作。
3) 并不是计算机都需要IO桥
IO桥是PC机特有的,并不是所有的计算机都有的,比如我们后面讲的ARM的开发板,就没有明显的IO桥这个东西。

2.4 IO接口

在这里插入图片描述

PC是所有子系统的总和。在一个子系统和另一个子系统之间的边界处,就存在接口(Interface)。接口——将两个子系统连接在一起并使它们能够交换数据的电气系统。

接口的概念有点抽象,因为它最准确地指的是一个标准(一组数据交换规则)。实际上,一个接口可以包含,例如:
1) 两个控制器(controllers)(连接的每一端都有一个控制器);
2) 一根电缆;
3) 包含在控制器中的一些软件(协议等)。程序员只需要理解到协议一层即可,或者把接口就当成协议。

2.5 CPU位宽与寻址能力

内部寄存器到运算单元之间总线位数来确定。
内存寻址能力与CPU的位宽无关。
CPU的寻址能力与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽半毛钱关系也没有,自然也与寻址能力无关。
CPU位宽指的是一个时钟周期内CPU能处理的二进制位数,如8086 CPU是16位的,可以一次处理2个字节(16个bit),80386 CPU是32位,能一次处理4个字节,目前的CPU基本上64位的了,一次能处理8个字节。
这个PAE就是CPU的地址总线位宽。在8086这个16位CPU上,它的地址总线位宽是20位,正好能寻址1MB,80286它的PAE是24位,在Pentium II(32位CPU)时这个PAE变成了36位,可以支持64GB的寻址。64位CPU出现之后,其地址总线位宽一般采用的是36位或者40位,它们寻址的物理地址空间为64GB或者1T。
地址总线用来定位,数据总线用来传输,也就是当CPU需要从内存读取数据或向内存写入数据时,它使用地址总线来指定其需要访问的存储器块的物理地址,然后通过数据总线发送数据。
一个计算机,它的内存访问能力是由硬件和软件共同决定的。硬件层面就指 CPU 的寻址能力,也就是地址总线的个数。软件层面,指的就是操作系统。实际上我们(进程)在进行内存访问的时候,访问的都是逻辑地址,而逻辑地址是由操作系统提供的。对于32位的操作系统,其逻辑地址编码采用的地址位数是 32 位,那么操作系统所提供的逻辑地址寻址范围就是 4GB。从这个方面来说,纵使你的 CPU 实际寻址能力为 2 的 64 次方,由于操作系统只提供 4GB 的逻辑地址,那 CPU 透过操作系统所能访问到的内存大小也就只有4GB了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值