当前位置: 首页 > news >正文

【汇编】计算机的组成

文章目录

  • 前言
  • 一、计算机的基本组成
    • 1.1 中央处理器(CPU)
    • 1.2 内存
      • 指令和数据存储的位置
      • 计算机中的存储单元
      • 计算机中的总线
      • 地址总线
      • 数据总线
      • 控制总线
    • 1.3 输入设备和输出设备
    • 1.4 存储设备
  • 二、计算机工作原理
  • 三、计算机的层次结构
  • 总结


前言

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


一、计算机的基本组成

计算机的基本组成由硬件和软件两大部分构成。硬件包括中央处理器(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)、光盘等。与内存不同,这些设备可以在计算机关闭后保留数据。

二、计算机工作原理

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

三、计算机的层次结构

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


总结

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

相关文章:

【汇编】计算机的组成

文章目录 前言一、计算机的基本组成1.1 中央处理器(CPU)1.2 内存指令和数据存储的位置计算机中的存储单元计算机中的总线地址总线数据总线控制总线 1.3 输入设备和输出设备1.4 存储设备 二、计算机工作原理三、计算机的层次结构总结 前言 计算机是现代社…...

asp.net学生宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 学生宿舍管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net学生宿舍管理系统1 应用技…...

[C++]Leetcode17电话号码的字母组合

题目描述 解题思路: 这是一个深度优先遍历的题目,涉及到多路递归,下面通过画图和解析来分析这道题。 首先说到的是映射关系,那么我们就可以通过一个字符串数组来表示映射关系(字符串下标访问对应着数字映射到对应的…...

OpenBMC Uboot下使用TFTP升级系统

设置TFTP服务器 setenv serverip 192.168.2.300 传入系统固件 OpenBMC的.bin文件:image-bmc,位于obmc-phosphor-image-XXXXX.static.mtd.all.tar压缩包中, image-bmc解压到TFTP服务器共享目录,传入固件: #直接输入…...

巨量千川「全域推广」指南来袭!助力商家开拓新流量

如今,在抖音上进行直播销售的商家,都希望在不影响ROI的情况下,提高整体业务水平,实现高效率的结果。然而,考虑到人货场波动和直播本身的复杂性,许多商家面临着诸如低投放效果、波动的ROI和缺乏GMV增长动力等…...

视频剪辑助手:轻松实现视频随机分割并提取音频保存

随着社交媒体和视频平台的日益普及,视频制作和分享已成为人们日常生活的一部分。无论是分享个人生活,还是展示才艺,或是推广产品,视频都是一个非常有效的工具。但是,视频制作往往涉及到大量的视频剪辑工作,…...

java注解的作用

注解 Java注解是一种用于给类、方法、字段、参数等元素添加元数据的机制,可以用来实现一些特定的功能,比如配置、文档、测试等。Java注解有两种类型:内置的和自定义的。内置的注解是Java语言或者JDK提供的,比如Override, Depreca…...

css中的hover用法示例(可以在vue中制作鼠标悬停显示摸个按钮的效果)

css中的hover 1、hover的定义 hover选择器用于选择鼠标指针浮动在上面的元素,它适用于所有元素,可以用来实现类似于js的一些功能。 2.hover的作用 css中hover属性,鼠标移到上面的时候可以激活,它可以实现悬浮元素上改变样式&a…...

labview实现仪器的控制visa

*IDN? 是识别大多数仪器的查询指令。仪器会回应一个用于描述仪器的识别字符串。如果仪器不接受该指令,请在仪器手册中查询仪器能识别的指令列表。 如下图所示: 程序如下:...

说说React Router有几种模式?实现原理?

一、是什么 在单页应用中,一个web项目只有一个html页面,一旦页面加载完成之后,就不用因为用户的操作而进行页面的重新加载或者跳转,其特性如下: 改变 url 且不让浏览器像服务器发送请求在不刷新页面的前提下动态改变浏览器地址栏中的URL地址其中主要分成了两种模式: has…...

laravel5+版本aes128加解密

使用场景: aes/cbc/pkcs5padding/128加解密 EncryptService.php代码示例如下 namespace App\Services;/*** aes/cbc/pkcs5padding/128加解密*/ class EncryptService {//加密方法private static $sDefaultEncMethod AES-128-CBC;//默认key值-自定义16位字符串长度…...

Spark的转换算子和操作算子

1 Transformation转换算子 1.1 Value类型 1)创建包名:com.shangjack.value 1.1.1 map()映射 参数f是一个函数可以写作匿名子类,它可以接收一个参数。当某个RDD执行map方法时,会遍历该RDD中的每一个数据项,并依次应用f函…...

传奇手游天花板赤月【盛世遮天】【可做底版】服务端+自主授权+详细教程

搭建资源下载地址:传奇手游天花板赤月【盛世遮天】【可做底版】服务端自主授权详细教程-海盗空间...

TP触摸屏调试

此处以MT6739 1g版本敦泰TP为例(kernel 4.19),主要修改点如下: 1. 两个配置文件defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_debug_defconfig: kernel-4.19\arch\arm\configs\k39tv1_bsp_1g_k419_defconfig: CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCRE…...

11-13 spring整合web

spring注解 把properties文件中的key注入到属性当中去 xml配置文件拆分 -> import标签 注解开发中 import 实现 搞一个主配置类,其他配置类全部导入进来这个这个主配置类 而且其他配置类不需要 加上configuration注解 之前这个注解用于表示这是一个配置文件 …...

基于C#开发的任天堂 Switch 开源模拟器

今天给大家推荐一款基于C#开发的任天堂 Switch 开源模拟器,可方便开发人员来测试游戏,也用于娱乐。 01 项目简介 Ryujinx 是一个开源的任天堂 Switch 模拟器,可以在 PC 上模拟运行 Switch 游戏。采用C#开发,基于 .NET Core技术框…...

做一个Sprngboot文件上传-阿里云

概述 这个模块是用来上传头像以及文章封面的,图片的值是一个地址字符串,一般存放在本地或阿里云服务中 1、本地文件上传 我们将文件保存在一个本地的文件夹下,由于可能两个人上传不同图片但是却同名的图片,那么就会一个人的图片就…...

k8s ----对外暴露

目录 一、Ingress 简介 1、Ingress 组成 2、Ingress 工作原理 二、部署Ingress 1、部署 nginx-ingress-controller 2、暴露ingress 4.1 DaemonSetHostNetworknodeSelector模式的service 4.2 DeploymentNodePort模式的Service 三、Ingress HTTP 代理访问 四、Ingress …...

每日一题(LeetCode)----数组--长度最小的子数组

每日一题(LeetCode)----数组–长度最小的子数组 1.题目( 209.长度最小的子数组) 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &…...

TCP与UDP

文章目录 TCP与UDP传输层的作用端口号UDPTCPUDP首部的格式TCP首部格式 TCP与UDP TCP/IP中有两个具有代表性的传输层协议,它们分别是TCP和UDP。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。总之,根据通信的具…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...