计算机基础知识-硬件组成
2022-05-23 10:51:16 1 举报
计算机基础知识-硬件组成
作者其他创作
大纲/内容
内存的内部是由各种 IC 电路组成的,它的种类很庞大,但是其主要分为三种存储器● 随机存储器(RAM):内存中最重要的一种,表示既可以从中读取数据,也可以写入数据。当机器关闭时,内存中的信息会 丢失。● 只读存储器(ROM):ROM 一般只能用于数据的读取,不能写入数据,但是当机器停电时,这些数据不会丢失。● 高速缓存(Cache):Cache 也是我们经常见到的,它分为一级缓存(L1 Cache)、二级缓存(L2 Cache)、三级缓存(L3 Cache)这些数据,它位于内存和 CPU 之间,是一个读写速度比内存更快的存储器。当 CPU 向内存写入数据时,这些数据也会被写入高速缓存中。当 CPU 需要读取数据时,会直接从高速缓存中直接读取,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。
图中 VCC 和 GND 表示电源,A0 – A9 是地址信号的引脚,D0 – D7 表示的是控制信号、RD 和 WR 都是好控制信号,我用不同的颜色进行了区分,将电源连接到 VCC 和 GND 后,就可以对其他引脚传递 0 和 1 的信号,大多数情况下,+5V 表示1,0V 表示 0。我们都知道内存是用来存储数据,那么这个内存 IC 中能存储多少数据呢?D0 – D7 表示的是数据信号,也就是说,一次可以输入输出 8 bit = 1 byte 的数据。A0 – A9 是地址信号共十个,表示可以指定 00000 00000 – 11111 11111 共 2 的 10次方 = 1024个地址。每个地址都会存放 1 byte 的数据,因此我们可以得出内存 IC 的容量就是 1 KB。
Page1
南桥芯片(标准桥接芯片)
1.从内存取指令
高速缓存总线
虚拟内存是指把磁盘的一部分作为假想内存来使用。这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。虚拟内存的方法有分页式 和 分段式 两种。Windows 采用的是分页式。该方式是指在不考虑程序构造的情况下,把运行的程序按照一定大小的页进行分割,并以页为单位进行置换。在分页式中,我们把磁盘的内容读到内存中称为 Page In,把内存的内容写入磁盘称为 Page Out。Windows 计算机的页大小为 4KB ,也就是说,需要把应用程序按照 4KB 的页来进行切分,以页(page)为单位放到磁盘中,然后进行置换。
声卡
通道方式
数据起始地址寄存器
程序计数器(Program Counter)是用来存储下一条指令所在单元的地址。程序执行时,PC的初值为程序第一条指令的地址,在顺序执行程序时,控制器首先按程序计数器所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将PC的值加1指向下一条要执行的指令。
USB
高速插槽
运算器负责运算从内存中读入寄存器的数据运算单元只管算,例如做加法、做位移等等。但是,它不知道应该算哪些数据,运算结果应该放在哪里。
内存的读写过程
冯·诺依曼体系:计算机制造的三个基本原则(采用二进制、程序存储、顺序执行),以及计算机的五个组成部分(运算器、控制器、存储器、输入设备、输出设备)。(1)计算机处理的数据和指令一律用二进制数表示。(2)指令和数据不加区别混合存储在同一个 存储器 中(硬盘)(3)顺序执行程序的每一条指令。(重点是“顺序”)哈佛结构:是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,减轻程序运行时的访存瓶颈。
数据
内存地址空间
磁盘缓存(内存的一部分)
Page Out
CPU 和 I/O 设备的通信,一样是通过 CPU 支持的机器指令来执行的。为了让已经足够复杂的 CPU 尽可能简单,计算机会把 I/O 设备的各个寄存器,以及 I/O 设备内部的内存地址,都映射到主内存地址空间里来。主内存的地址空间里,会给不同的 I/O 设备预留一段一段的内存地址。CPU 想要和这些 I/O 设备通信的时候呢,就往这些地址发送数据。而我们的 I/O 设备呢,就会监控地址线,并且在 CPU 往自己地址发送数据的时候,把对应的数据线里面传输过来的数据,接入到对应的设备里面的寄存器和内存里面来。CPU 无论是向 I/O 设备发送命令、查询状态还是传输数据,都可以通过这样的方式。这种方式呢,叫作内存映射IO(Memory-Mapped I/O,简称 MMIO)。CPU 和 I/O 设备之间的通信总结1. 首先,在 I/O 设备这一侧,我们把 I/O 设备拆分成,能和 CPU 通信的接口电路,以及实际的 I/O 设备本身。接口电路里面有对应的状态寄存器、命令寄存器、数据寄存器、数据缓冲区和设备内存等等。接口电路通过总线和 CPU 通信,接收来自 CPU 的指令和数据。而接口电路中的控制电路,再解码接收到的指令,实际去操作对应的硬件设备。2. 而在 CPU 这一侧,对 CPU 来说,它看到的并不是一个个特定的设备,而是一个个内存地址或者端口地址。CPU 只是向这些地址传输数据或者读取数据。所需要的指令和操作内存地址的指令其实没有什么本质差别。通过软件层面对于传输的命令数据的定义,而不是提供特殊的新的指令,来实际操作对应的 I/O 硬件。
计算机指令不同的 CPU 有不同的指令集,也就对应着不同的汇编语言和不同的机器码。MIPS 的指令是一个 32 位的整数,高 6 位叫操作码(Opcode),也就是代表这条指令具体是一条什么样的指令,剩下的 26 位有三种格式,分别是 R、I 和 J。1. R 指令是一般用来做算术和逻辑操作,里面有读取和写入数据的寄存器的地址。如果是逻辑位移操作,后面还有位移操作的位移量,而最后的功能码,则是在前面的操作码不够的时候,扩展操作码表示对应的具体指令的。2. I 指令,则通常是用在数据传输、条件分支,以及在运算的时候使用的并非变量还是常数的时候。这个时候,没有了位移量和操作码,也没有了第三个寄存器,而是把这三部分直接合并成了一个地址值或者一个常数。3. J 指令就是一个跳转指令,高 6 位之外的 26 位都是一个跳转后的地址。
物理内存/主存
1. 寄存器就是 CPU 内部,由多个触发器(Flip-Flop)或者锁存器(Latches)组成的简单电路。2. 触发器和锁存器,其实就是两种不同原理的数字电路组成的逻辑门。3. CPU 里面更多用来存储数据和内存地址的寄存器
访问数据
浮点数寄存器
程序计数器
条件分支和循环机制
Page2
通用寄存器
3.直接从磁盘缓存取,速度快
标准总线
SATA 接口
磁盘
向量寄存器
SATA Controller内存地址空间
数据应用
标准插槽
显卡
把程序分为多页
地址寄存器等等
高速总线
磁盘缓存
磁盘缓存指的是把从磁盘中读出的数据存储到内存的方式,这样一来,当接下来需要读取相同的内容时,就不会再通过实际的磁盘,而是通过磁盘缓存来读取。某一种技术或者框架的出现势必要解决某种问题的,那么磁盘缓存就大大改善了磁盘访问的速度。
指令指针寄存器
CPU
内存总线
CPU 的全称是 Central Processing Unit,CPU 的核心是从程序或应用程序获取指令并执行计算。此过程可以分为三个关键阶段:提取,解码和执行。CPU从系统的主存中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 内存(Memory),它是程序与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,其作用是存放 CPU 中的运算数据,以及与硬盘等外部存储设备交换的数据。主板:芯片组+总线北桥芯片:电脑中的CPU、内存和显卡都是由北桥芯片控制。南桥芯片:南桥芯片是主板的第二大芯片(第一大芯片是北桥芯片)。南桥芯片控制了输入/输出设备和外部设备。系统总线和IO总线:北桥的系统总线称为系统总线,因为是CPU、内存、显卡传输的主要通道,所以速度较快。南桥就是所谓的输入输出(I/O)总线,主要在联系硬盘、USB、网络卡等周边设备,最常见的是PCI总线。I/O设备:输出:显示器,输入:键盘,鼠标显示器:特殊的设备,显卡之所以特殊,是因为显卡里有除了 CPU 之外的另一个“处理器”,也就是GPU(Graphics Processing Unit,图形处理器),GPU 一样可以做各种“计算”。
函数调用机制
CPU 里有两个寄存器,专门保存当前处理进程的代码段的起始地址,以及数据段的起始地址。这里面写的都是进程 A,那当前执行的就是进程 A 的指令,等切换成进程 B,就会执行 B 的指令了,这个过程叫作进程切换(Process Switch)。
虚拟内存
Page In
USB 接口
IC结构
指令寄存器
打印机
寄存器/数据单元
2.数据保存
运算器/运算单元
顺序执行
网卡
CPU与I/O设备通信
控制器负责把内存上的指令、数据读入寄存器,并根据指令的结果控制计算机
控制器/控制单元
本地总线
CPU 指令执行过程几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数、结果写回。● 取指令阶段是将内存中的指令读取到 CPU 中寄存器的过程,程序寄存器用于存储下一条指令所在的地址● 指令译码阶段,在取指令完成后,立马进入指令译码阶段,在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。● 执行指令阶段,译码完成后,就需要执行这一条指令了,此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。● 访问取数阶段,根据指令的需要,有可能需要从内存中提取数据,此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。● 结果写回阶段,作为最后一个阶段,结果写回(Write Back,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;
信号和地址
北桥芯片(高速桥接芯片)
1.直接从磁盘取,速度慢
CPU 的控制单元里面,有一个指令指针寄存器,它里面存放的是下一条指令在内存中的地址。控制单元会不停地将代码段的指令拿进来,先放入指令寄存器。
USB Controller内存地址空间
指令起始地址寄存器
整数寄存器
高速缓存
0 条评论
下一页