利用DMA实现短时间内大量数据传输及文字和图片显示机制

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 利用DMA实现短时间内大量数据传输及文字和图片显示机制

一、利用DMA实现短时间内大量数据传输


       上一篇博客介绍了I/O处理和中断的关系。下面介绍另一个机制,这个机制就是DMA(Direct Memory Access)。DMA是指在不通过CPU的情况下,外围设备直接和主存进行数据传输。磁盘等硬件设备都用到了DMA机制,通过DMA,大量数据可以在短时间内实现传输,之所以这么快,是因为CPU作为中介的时间被节省了,下面式DMA的传输过程


使用DMA的外围设备和不使用DMA的外围设备:



 I/O端口号、IRQ、DMA通道可以说是识别外围设备的3点组合。不过,IRQ、DMA通道并不是所有外围设备都具备的。计算机主机通过软件控制硬件时所需要的信息的最低限,是外围设备的1/O端口号。IRQ只对需要中断处理的外围设备来说是必须的,DMA通道则只对需要DMA机制的外围设备来说是必须的。假如多个外围设备都设定成相同的端口号、IRQ和DMA通道的话,计算机就无法正常工作,会提示 设备冲突


二、文字和图片的显示机制


       你知道文字和图片是如何显示出来的吗?事实上,如果用一句话来简单的概括一下该机制,那就是显示器中显示的信息一直存储在某内存中。该内存称为 VRAM(Video RAM)。在程序中,只要往VRAM中写入数据,该数据就会在显示器中显示出来。实现该功能的程序,是由操作系统或者BIOS提供,并借助中断来进行处理


       在MS-DOS 时代,对于大部分计算机来说,VRAM都是主内存的一部分。在现代计算机中,显卡等专用硬件中一般都配置有与主内存相独立的VRAM和GPU(Graphics Processing Unit),也叫做图形处理器或者图形芯片。这是因为,对经常描绘图形的windows来说,数百兆的VRAM都是必需的。


VRAM中写入的数据被显示在显示器上:



用软件来控制硬件听起来好像很难,但实际上知识利用输入输出指令同外围设备进行输入输出而已。中断处理是根据需要来使用的功能选项。DMA则直接交给对应的外围设备即可


       虽然计算机领域新技术在不断涌现,但是计算机所能处理的事情,始终只是对输入的数据进行运算,并把结果输出,这一点永远不会发送变化的


相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
存储 网络协议 Java
网络通信的核心机制:Socket如何实现高效数据传输(上)
网络通信的核心机制:Socket如何实现高效数据传输
|
6月前
|
消息中间件 Dubbo 网络协议
中间件数据传输机制
【7月更文挑战第7天】
95 4
|
8月前
|
中间件 网络性能优化
中间件数据传输重传机制
中间件数据传输重传机制保障分布式系统中数据的可靠传输,关键点包括确认应答(发送方等待接收方ACK)、超时重传(设定数据包超时时间)、序列号与窗口控制(有序重组及提高效率)、流量与拥塞控制(避免接收方缓冲区溢出和网络拥塞)、错误检测(使用校验和等检测并重传错误数据包)、日志重试策略(记录失败信息并动态调整策略)以及备份容错(使用备份服务器保证数据可用性)。这些机制确保数据在复杂网络环境下的完整性和一致性。
81 3
|
存储 安全 Java
网络通信的核心机制:Socket如何实现高效数据传输(中)
网络通信的核心机制:Socket如何实现高效数据传输
|
8月前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
82 6
|
8月前
|
存储 SQL NoSQL
数据传输DTS同步问题之同步失败如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
8月前
|
Cloud Native NoSQL 关系型数据库
数据传输DTS校验问题之校验报错如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
5月前
|
存储 安全 关系型数据库
跨越地域的数据传输大冒险!如何轻松更换DTS实例地域,全面攻略揭秘!
【8月更文挑战第15天】在数字时代的浪潮中,数据传输服务(DTS)是企业跨地域扩张的重要桥梁。然而,更换DTS实例地域就像是一场冒险旅程,充满了未知和挑战。本文将带你踏上这场跨越地域的数据传输大冒险,揭示如何轻松更换DTS实例地域的秘密。无论你是追求速度的迁移高手,还是成本敏感的手动操作者,这里都有你需要的答案。让我们一起探索这个神秘的世界,解锁数据传输的无限可能!
65 0
|
5月前
|
关系型数据库 MySQL OLAP
数据传输DTS是什么?
【8月更文挑战第30天】数据传输DTS是什么?
494 3
|
7月前
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之当使用DTS(数据传输服务)同步的表在目标库中进行LEFT JOIN查询时遇到异常,是什么导致的
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。