以浏览器打开网页为例分析计算机内部一系列操作动作
来源:互联网 发布:伟星ppr水管颜色 知乎 编辑:程序博客网 时间:2024/06/04 18:23
“中断控制器”也是CPU众多外设中的一个,不同的是,它一方面接收其它外设中断引脚的输入,另一方面,它会发出中断信号给CPU。
作者:王晓远
链接:https://www.zhihu.com/question/31259327/answer/147547667
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
系统总线也是一种资源, DMA操作期间, 当处理器需要访问总线时, 执行速度会变慢.
但是总得来说, DMA是一种高效传输方式.
链接:https://www.zhihu.com/question/31259327/answer/147547667
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
先问是不是
有些不基于块访问的设备, 比如键盘, 打印机等, 还是得通过CPU.
我猜题主想问的可能是DMA(Direct Memory Access), 直接存储器访问为什么不经过CPU.
I/O发展是经过一下一步步发展的
1. CPU直接控制外围设备(硬盘磁带等), 在简单微处理器中常用
2. 增加I/O模块, 将CPU与外围设备解耦, CPU只与I/O模块
打交道. 只需定义好接口, CPU厂商和外围设备厂商就可以相互根据接口开发, 互不影响
3. 增加中断方式, 还是经过I/O模块, 只不过I/O模块完成之后, 只需通知CPU即可, CPU在等待阶段完全可以去做其他事情, 提高CPU利用率.
4. I/O模块增加DMA控制器. 之前的阶段是每次只传输一个字, 就通知CPU, 就发起一次中断, CPU放到寄存器中, 再放到内存中. 这样CPU就会被连续的中断打断, 不断切换进程, 上下文, 效率很低.
DMA控制器类似于一个小的CPU, 有自己的寄存器(记录主存地址和取到的字的count等).
CPU可以发起一个DMA请求, 传入读写操作类型, 相关I/O设备地址, 内存的起始地址, 要操作的字数.
然后DMA就可以获取总线的控制权, 将一大块内存和外部I/O读入或写出.
等操作完成后, 再通知CPU. 释放总线控制权.
系统总线也是一种资源, DMA操作期间, 当处理器需要访问总线时, 执行速度会变慢.
但是总得来说, DMA是一种高效传输方式.
IO设备的输入输出有好几种方式,键盘、鼠标这类的低速设备是通过中断请求的方式进行IO操作的。即当键盘上按下一个按键的时候,键盘会发出一个中断信号,中断信号经过中断控制器传到CPU,然后CPU根据不同的中断号执行不同的中断响应程序,然后进行相应的IO操作,把按下的按键编码读到寄存器(或者鼠标的操作),最后放入内存中。
作者:余天升
链接:https://www.zhihu.com/question/20824491/answer/16306375
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文
0 0
- 以浏览器打开网页为例分析计算机内部一系列操作动作
- android 开发调用内部浏览器打开网页的方法
- 如何指定国内主流浏览器以何种模式打开网页
- 让浏览器默认以急速模式打开网页
- 使浏览器打开后,默认以手机浏览器的方式打开网页
- 使用Java模拟浏览器登陆网站(以抓取武汉理工大学教务处学生个人课表网页为例)
- 使360浏览器打开网页默认为极速模式
- 设置网页默认为360浏览器极速模式打开
- andrid浏览器打开网页
- Android浏览器打开网页
- 客户端中webview的网页判断是不是在客户端内部,还是在浏览器打开
- 通过Intent自定义动作、打开网页
- HBase1.0.0源码分析之请求处理流程分析以Put操作为例(一)
- HBase1.0.0源码分析之请求处理流程分析以Put操作为例(二)
- win8.1升级IE11浏览器打开网页提示‘远程计算机或设备将不接受连接’
- List内部元素全排列--以String为例
- 计算机是如何执行程序的(以汇编一个简单的C程序,分析汇编代码为例)
- IE浏览器无法打开网页
- 如何在 XAMPP 中设置多个网站
- IIPP Week 2
- PhotoShop CS5 EXTENED(12.0 x64)快捷键汇总
- java.lang.IllegalStateException: This Activity already has an action bar supplied by the window deco
- Custom Animation——自定义动画
- 以浏览器打开网页为例分析计算机内部一系列操作动作
- Ubuntu打开终端的三种方法
- Android ImageSlider广告轮播框架
- 柱底标高
- Sql server 双机热备份数据库
- Beebird的小e体验板学习历程1
- 基于jsp+servlet+javabean开发的登录模块
- HTML入门
- IOS 原生输入法不支持keyup keydown