`

CPU与磁盘的交互过程

 
阅读更多
对于计算机系统底层技术,想必很多人都和我一样不太了解,最近在学相关书籍,了解到了CPU与磁盘交互时大致发生了哪些事情,现记录如下:

首先,我们得先了解到CPU与磁盘是通过I/O总线关联到一起的,CPU操作磁盘是通过一种叫做存储器映射I/O的技术来实现的。这种技术会在两者交互时单独划分出一块地址,每个这样的地址就称作I/O端口,然后磁盘就会映射到一个或多个I/O端口,用以绑定地址。

其次,CPU依次向磁盘发送指令:磁盘读(或写)命令、逻辑块号、主存地址。

然后,发送完指令后,CPU会转去执行其它任务(为了提高效率)​,磁盘则会将逻辑块号转换成对应的盘片、磁道、扇区组成的三元组,从而定位到了数据所在的扇区。之后磁盘会采用DMA(直接存储器访问技术,其不需要CPU干预)传送数据到CPU指定的主存地址。

最后,磁盘传送完毕后,会直接发送一个中断信号给CPU芯片的一个​​外部引脚,把CPU“召唤”回来重新执行先前未完成的任务。

过程大致如此,细节不去深究,如有不对,欢迎指出。
分享到:
评论

相关推荐

    fusionchart做的实时监控cpu,内存变化曲线及柱状图

    5. **前端框架集成**:虽然描述中没有提及,但实际应用中,可能需要结合前端框架(如React、Vue或Angular)来构建更复杂的页面结构和交互逻辑,FusionCharts也提供了与这些框架的集成指南。 6. **数据可视化设计...

    磁盘序列号及磁盘类型查询示例程序

    磁盘序列号是每个硬盘驱动器特有的一个唯一标识符,由硬盘制造商在生产过程中赋予。这个号码在硬件层面是不可更改的,通常用于追踪硬盘的生产和销售,以及在需要时验证产品的合法性。在Windows操作系统中,我们可以...

    解决磁盘慢的方法

    本文将围绕磁盘传输模式(特别是DMA模式)、操作系统与硬件的交互方式以及如何通过调整系统设置来优化磁盘性能展开讨论。 #### 一、磁盘传输模式概述 磁盘数据传输主要通过两种模式:**PIO(Programmed I/O)模式*...

    AIX 磁盘性能优化

    磁盘I/O优化不仅能够显著提升数据读写速度,还能增强系统响应能力和数据处理效率,因此,深入理解磁盘I/O的工作原理及其与AIX系统的交互机制显得尤为重要。 #### 理解AIX I/O栈 AIX的I/O栈是连接物理磁盘和应用...

    linux内核空间与用户空间信息交互方法

    5. **设备文件**:设备驱动程序通常表现为文件,用户程序通过标准的文件操作与设备驱动通信,从而间接与硬件交互。 6. **信号(Signal)**:内核可以通过发送信号来通知用户空间某些事件的发生,如进程异常、时间...

    Linux下如何查看某一进程的CPU占用率_linux进程cpu使用率.zip

    这一过程涉及到对系统监控工具的使用,理解进程与CPU之间的交互,以及如何解析输出信息。下面将详细介绍如何在Linux环境下查看某一进程的CPU占用率。 1. **使用`top`命令** `top`命令是最常用的实时监控系统资源的...

    磁盘阵列 技术培训

    例如,XX公司的网络结构展示了图书馆服务器如何通过磁盘阵列与LAN、路由器、SCSI服务器以及终端用户进行交互,确保数据的高效流通和存储。 磁盘阵列的核心技术是RAID,它通过组合多个廉价磁盘来提升性能和数据安全...

    windows server进程内存占用及CPU使用率自动监控并记录脚本

    `WMIC`是Windows Management Instrumentation Command-line的缩写,它提供了一种与WMI(Windows Management Instrumentation)交互的方式。通过`wmic process where name='process_name.exe' get WorkingSetSize,CPU...

    linux系统CPU,内存,磁盘,网络流量监控脚本.pdf

    在Linux系统中,监控CPU、内存、磁盘和网络流量对于理解系统的性能和健康状况至关重要。以下是一些常用的命令和脚本技术来实现这些监控功能: 1. **CPU监控**: - `cat /proc/stat`: 提供了所有CPU活动的详细信息...

    用jQuery,jqplot,Servlet和Ajax做的CPU性能实时监控动态图

    它展示了如何通过前端和后端的交互,动态地在Web页面上展示服务器的CPU使用情况,帮助管理员实时了解系统负载。 首先,jQuery是一个广泛使用的JavaScript库,提供了丰富的API来简化DOM操作、事件处理和AJAX交互。在...

    java代码模拟CPU

    这个项目旨在设计和实现一个基本的、功能完备的最小化汇编语言级CPU模拟器,它能够处理基本指令,进行I/O操作,如与控制台、打印机、磁盘交互,并具备寄存器管理和文件管理能力。此外,还包括一个命令解释语言处理...

    shell脚本,通过snmp方式获取远程服务器的CPU内存和硬盘的使用率

    在Linux系统中,我们通常使用`snmpget`和`snmpwalk`这两个命令来与远程设备进行交互。`snmpget`用于获取单个特定的MIB对象(Management Information Base)值,而`snmpwalk`则可以遍历整个MIB树,获取一系列相关对象...

    CPU 和存储 器 原理

    CPU与存储器之间的交互是通过总线实现的,总线是连接CPU和其他硬件组件的一组信号线,分为数据总线、地址总线和控制总线。数据总线传输数据,地址总线确定存储器单元的位置,而控制总线则发送各种操作信号,如读/写...

    CPU2006-LINUX

    在脚本运行过程中,会有以下几步交互: 5.a. 目标目录选择:根据提示选择刚刚创建的安装目录。 5.b. 工具集选择:选择适合你系统环境的工具集,这对于正确编译和执行基准测试至关重要。 5.c. 文件解压和验证:安装...

    dos状态测试cpu

    DOS,全称为Disk Operating System,是微软在20世纪80年代推出的一种命令行操作系统,它为用户提供了与计算机硬件交互的基本接口。在这个场景下,"DOS状态测试CPU"可能是指在DOS环境下进行的处理器性能测试或故障...

    使用Logisim来创建一个16位多时钟周期CPU

    - I/O接口允许CPU与外部设备通信,如键盘、显示器或磁盘驱动器。设计时需考虑到数据传输的同步问题和中断处理机制。 9. **项目2:multi-cycle CPU**: - 提供的项目文件“project2_multi-cycle CPU”可能包含了...

    获取硬盘和CPU的温度,cpu如何读取硬盘数据,C,C++

    总结来说,获取CPU和硬盘温度涉及操作系统级别的交互,可能需要利用特定的系统API、库或者第三方工具。在C和C++中实现这一功能需要对操作系统和硬件监控有深入的理解,以及熟悉相关库的使用。通过以上方法,开发者...

    cpu虚拟化检测工具

    1. 硬件辅助虚拟化:现代CPU(如Intel VT-x和AMD-V)提供了硬件辅助虚拟化功能,允许虚拟机直接与硬件交互,减少了虚拟化开销,提高了性能。虚拟机管理程序在硬件层面上进行控制,确保各个虚拟机的安全隔离。 2. ...

    磁盘阵列简介.pdf

    和目前 PC 用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。 磁盘阵列的优点:磁盘阵列的优点包括提高数据的安全性、提高储存的吞吐量、加速计算机整体的数据流量、提高...

    监控CPU使用状态.rar

    - iowait:CPU等待I/O操作完成的时间,与磁盘性能有关。 5. **日志记录与报警**: 设置阈值,当CPU使用率超过预设值时,自动记录日志或触发报警,以便及时响应。 6. **云环境监控**: 在云计算环境中,如AWS、...

Global site tag (gtag.js) - Google Analytics