【汇编】计算机的组成

文章目录


前言

计算机是现代社会不可或缺的工具,它的强大功能离不开其复杂而精密的组成结构。本文将深入探讨计算机的组成,从硬件层面解析计算机是如何执行任务的,以便读者更好地理解这一神奇的技术。


一、计算机的基本组成

计算机的基本组成由硬件和软件两大部分构成。硬件包括中央处理器(CPU)、内存、输入设备、输出设备、存储设备等,而软件则包括操作系统、应用程序等。

1.1 中央处理器(CPU)

中央处理器是计算机的大脑,负责执行各种指令。它包含算术逻辑单元(ALU)、控制单元(CU)和寄存器等核心组件,通过时钟信号按照程序顺序执行指令。

1.2 内存

内存是计算机用来存储数据和程序的地方。与硬盘等长期存储设备不同,内存的访问速度非常快,但是一旦计算机关闭,内存中的数据就会丢失。

cpu与我们的内存是通过总线进行通信的:

那我们的计算机就可以抽象成下面这样:

CPU 是计算机的核心部件,它控制整个计

算机的运作并进行运算。要想让一个CPU

工作,就必须向它提供指令和数据

指令和数据在存储器(内存)中存放。

离开了内存,性能再好的CPU也无法工作。

指令和数据存储的位置

计算机中的数据和指令,存储在内存或者磁盘上

:数据和指令,都是二进制信息。

:问题:二进制信息1000100111011000是数据,还是指令?

; 1000100111011000 ─> 89D8H (数据)

; 1000100111011000 ─> MOV AX,BX (程序)

由我们的这个cpu去决定

:数据如何表示?

; 1000100111011000B (二进制)

; 89D8H (十六进制)

; 104730O(八进制)

; 35288D(十进制)

:数据量:B、KB、MB、GB、TB...

计算机中的存储单元

:存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;

:例如:

一个存储器有128个存储单元,

编号从0~127,

如右图示:

:实际

内存空间很"大"

8086有20条数据线,

寻址空间220

,为1MB

计算机中的总线

在计算机中,总线就像是一条交通要道,连接着不同的硬件部件,让它们能够相互沟通和协作。你可以把总线想象成城市里的道路系统,不同的车辆(硬件设备)通过这些道路来往,从而实现信息的传递和交流。

总线负责传送数据和控制信号,让中央处理器(CPU)、内存、硬盘、显卡等各种硬件能够有效地协同工作。就像车辆在道路上行驶一样,数据和指令可以在总线上传输,让各个部件知道什么时候进行工作,什么时候停下来等等。

总线的重要性就好比城市的交通系统,如果没有良好的总线,不同的硬件就无法有效地协同工作,整个计算机就无法正常运转。所以,总线在计算机中扮演着连接和协调硬件的关键角色。

地址总线

那么地址总线就是去指定我们的存储单元的。

• CPU是通过地址总线来指

定存储单元的。

• 地址总线宽度,决定了

可寻址的存储单元大小。

• N根地址总线(宽度为

N),对应寻址空间2^N。

数据总线

• CPU与内存或其它器件之间的数据传送是通过

数据总线来进行的。

• 数据总线的宽度决定了CPU和外界的数据传送

速度。

• 例:向内存中写入数据89D8H时的数据传送

控制总线

• CPU通过控制总线对外部

器件进行控制。

• 控制总线是一些不同控制

线的集合

• 控制总线宽度决定了CPU

对外部器件的控制能力。

1.3 输入设备和输出设备

输入设备包括键盘、鼠标等,用于向计算机输入数据。输出设备如显示器、打印机则用于展示计算机处理的结果。

1.4 存储设备

存储设备用于长期保存数据,包括硬盘、固态硬盘(SSD)、光盘等。与内存不同,这些设备可以在计算机关闭后保留数据。

二、计算机工作原理

计算机的工作原理可简化为取指令-执行指令的循环。首先,计算机从存储器中取出指令,然后由中央处理器执行。执行的结果可能涉及对内存、寄存器和其他组件的操作,最终可能通过输出设备反馈给用户。

三、计算机的层次结构

计算机的组成可以分为多个层次,从底层到高层分别是物理层、逻辑层、微体系结构、指令集体系结构和操作系统层。每一层都有其特定的功能和任务,通过这些层次的交互,计算机完成各种任务。


总结

计算机的组成是一门复杂而精密的学科,涉及硬件和软件的多个层次。了解计算机的基本组成和工作原理有助于更好地使用和理解这一现代科技的奇迹。计算机科学的发展离不开对计算机组成的深入研究,而这也为未来计算机技术的进步提供了坚实的基础。通过对计算机组成的深入了解,我们能够更好地掌握计算机技术,推动科技的不断创新和发展。

相关推荐
erxij几秒前
【游戏引擎之路】登神长阶(十四)——OpenGL教程:士别三日,当刮目相看
c++·经验分享·游戏·3d·游戏引擎
学习路上_write22 分钟前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
非概念28 分钟前
stm32学习笔记----51单片机和stm32单片机的区别
笔记·stm32·单片机·学习·51单片机
林开落L31 分钟前
前缀和算法习题篇(上)
c++·算法·leetcode
Prejudices44 分钟前
C++如何调用Python脚本
开发语言·c++·python
单音GG1 小时前
推荐一个基于协程的C++(lua)游戏服务器
服务器·c++·游戏·lua
qing_0406031 小时前
C++——多态
开发语言·c++·多态
孙同学_1 小时前
【C++】—掌握STL vector 类:“Vector简介:动态数组的高效应用”
开发语言·c++
charlie1145141911 小时前
Qt Event事件系统小探2
c++·qt·拖放·事件系统
iiiiiankor1 小时前
C/C++内存管理 | new的机制 | 重载自己的operator new
java·c语言·c++