计算机底层是如何访问显卡的?

知乎地址http://www.zhihu.com/question/20722310

里面提到了一个显存地址的东西,B8000H 到 C7FFFH,通过计算,此地址区间的大小为3.5M左右。

本机计算机windows10 64位集成显卡,显示的显存地址空间为C0000000-C03FFFFF,以及B0000000-BFFFFFFF,大小差不多是4M+255M,同文中给的显存地址空间差距较大。

个人理解造成这个结果的原因:

无论是集成显卡的共享内存还是独立显卡的独立显存,都需要在地址空间上开辟一个区域,供CPU往里面写将要显示的数据(显示器的分辨率,以及每个像素的颜色信息)。

但是此地址空间不能占用左右的计算机内存地址空间,不然系统无法获得内存,便无法运行了,因此系统会在显存地址空间以及系统可使用的内存地址空间做一个权衡。

如果物理内存较小,就只满足基本的显存,如果物理内存较大,系统也有较大的显示信息,就多分一些,这样可以保存多帧需要显示的数据,显示连贯一些。

如果系统为32位系统,显存是不可能超过4G的,即使使用独立显存,显存的大小超过了4G,最终分配的显存地址空间,可能只有1G左右。当系统达到64位时,就可以利用更大的显存了。

好像有的显存还会分为两部分,一部分是即将显示的图像信息,一部分是需要处理的显示素材信息。因为一般需要的显存大小,同显示的分辨率以及显示的颜色位数相关,比如2160×1440*32/8,显存大小约是12M,上面计算的显存大小超过了12M,应该是保存素材的显存吧。

时间: 2025-01-13 14:57:28

计算机底层是如何访问显卡的?的相关文章

计算机底层知识拾遗(三)理解磁盘的机制

磁盘是一种重要的存储器,位于主存结构的下方,是永久存储的介质.在计算机底层知识拾遗(一)理解虚拟内存机制 这篇中说了虚拟内存是面向磁盘的,理解磁盘的工作原理对理解计算机的很多概念有很大的帮助.尤其是在数据库和分布式存储领域,要经常和磁盘打交道. 磁盘这块主要有几个部分的概念: 1. 磁盘的基本结构和工作原理 2. 如何在虚拟内存机制下与内存高效地交换数据 3. 磁盘如何保证数据存储的可靠性及故障恢复 磁盘的基本结构和工作原理 从单个磁盘来说,由一个个的同心圆组成,一个同心圆就是一个磁道,每个磁道

计算机底层知识拾遗(二)深入理解进程和线程

关于进程和线程,大家总是说的一句话是"进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元".这句话理论上没问题,我们来看看什么是所谓的"资源"呢. 什么是计算机资源 经典的冯诺依曼结构把计算机系统抽象成 CPU + 存储器 + IO,那么计算机资源无非就两种: 1. 计算资源 2. 存储资源 CPU是计算单元,单纯从CPU的角度来说它是一个黑盒,它只对输入的指令和数据进行计算,然后输出结果,它不负责管理计算哪些"指令和数据". 换句话

计算机底层知识拾遗(四)理解文件系统

操作系统的很多核心组件都是相互关联的,比如虚拟内存管理,物理内存管理,文件系统,缓存系统,IO,设备管理等等,都要放在一起来看才能从整体上理解各个模块到底是如何交互和工作的.这个系列的目的也就是从整体上来理解计算机底层硬件和操作系统的一些重要的组件是如何工作的,从而来指导应用层的开发.这篇讲讲文件系统的重要概念,为后面的IO系统做铺垫. 文件系统主要有三类 1. 位于磁盘的文件系统,在物理磁盘上存储文件,比如NTFS, FAT, ext3, ext4 2. 虚拟文件系统,在内核中生成,没有物理的

计算机底层知识拾遗(六)理解页缓存page cache和地址空间address_space

在这篇计算机底层知识拾遗(五)理解块IO层 中讲了块缓存buffer cache块缓存,这篇说说页缓存page cache以及相关的地址空间address_space的要点. 在Linux 2.4内核中块缓存buffer cache和页缓存page cache是并存的,表现的现象是同一份文件的数据,可能即出现在buffer cache中,又出现在页缓存中,这样就造成了物理内存的浪费.Linux 2.6内核对两个cache进行了合并,统一使用页缓存在做缓存,只有极少数的情况下才使用到buffer

计算机底层原理杂谈(白话文)

简单说一下写这篇文章的缘由.首先这个不是教学类型的,是我Java实在学不下去了,因为好多计算机底层原理都不是很清楚,每次学新东西都由于想不明白底层原理困惑,所以下决心停止学习Java的新东西,开始搞明白底层.一开始搞的所谓的底层是“Java虚拟机”,然后又C语言汇编语言什么的,其实是想图快,尽快接近现在做的事情.后来发现不行,这事快不了,所以干脆就从物理层面用导线灯泡集成芯片开始动手做一个cpu开始吧.其实也没多久,大概三个多月吧,从我之前写的[从零开始自制cpu]系列的学习文章也可以看到开始时

server2003中看不到网上邻居内容,其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)

现象1:server2003中看不到网上邻居内容,查看工作组计算机看到的是空列表, 现象2:其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)   访问提示:--Windows 2003 Server共享文件不能访问,\\ip或\\计算机名”提示“无任何网络提供程序接受指定的网络路径” 问题定位:系统问题,共享的文件可以被访问到,说明共享没有问题:只能是策略或者系统相关服务的问题,之前运行很正常,所以策略没有问题:需开启的服务有Workstation.Server.Compute

计算机加入域 不能访问网络位置 解决办法

计算机加入域 不能访问网络位置 解决办法 启动以下服务

计算机底层知识

1 这篇万字长文,一下子把计算机底层知识说明白了 https://mp.weixin.qq.com/s?__biz=Mzg2NTA4OTUwOQ==&mid=2247486427&idx=3&sn=f03bc1a695a9e2f837673f3012d65c6c&chksm=ce5e2951f929a047413a06b85c26d898ca9126f1369147e35a763542d435134584987a4e45b6&mpshare=1&scene=

计算机底层知识拾遗(一)理解虚拟内存机制

这个系列会总结计算机,网络相关的一些重要的底层原理.很多底层原理大家上学的时候都学过,但是在学校的时候大部分的同学都是为了应付考试而学习,过几天全忘了.随着工作的时间越久,越体会到这些基础知识的重要性.做技术和练武功一样,当你到了一定的阶段,也会遇到一个瓶颈,突破了你的眼界就会大不同,突破不了,只能困在原地无法成长.我自己深有体会,这些基础知识,底层原理是助你打破瓶颈的灵丹妙药.当理解了一些底层原理之后,会发现现在很多热门技术,原理,常见的设计都是在底层基础上发展而来的. 这篇总结一下单机系统的