I/O端口编址方式:统一编址和独立编址

统一编址与独立编址、哈佛结构与冯诺依曼结构 一、什么是IO、什么是内存 1、内存是程序的运行场所,内存和CPU之间通过总线连接,CPU通过一定地址来访问具体内存单元。 随机访问特点。 2、IO(input and output)是输入输出接口,是CPU和其它外部设备(如:串口、LCD、触摸屏、LED等)之间通信的道路。 一般的IO就是指CPU的各种内部或外部设备。(CPU IO通信是通过这个设备的寄存器和CPU交换数据的) 3、内存通过CPU数据总线来寻址定位,然后通过CPU数据总线来读写(用门牌号找房间相似) 4、CP地址总线的位数是CPU设计时候 阅读详情
AI摘要

本文详细解析了微机系统中存储器与I/O端口的两种编址方式:统一编址与独立编址,探讨了各自的优缺点及适用场景,并以具体实例说明。


微机原理与接口技术复习


PS:微处理器系统采用存储映像方式编址时 存储单元 与 I/O端口 是通过 不同的地址编码 来区分的!

编址方法

8086CPU和外部设备之间是通过I/O接口进行联系的,从而达到相互间传输信息的目的。每个I/O芯片上都有一个端口或几个端口,一个端口往往对应于芯片上的一个寄存器或一组寄存器。微机系统要为每个端口分配一个地址,这个地址成为端口号。各个端口号和存储器单元地址一样,具有唯一性。外设都是通过读写设备上的寄存器来进行的,外设寄存器也称为“I/O端口”,而I/O端口有两种编址方式:独立编址和统一编址。

(1)统一编址

基本概念:

外设结构中的I/O寄存器(即I/O端口)与主存单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划出来用作I/O地址空间,如,在PDP-11中,把最高的4K主存作为I/O设备寄存器地址。端口占用了存储器的地址空间,使存储容量减小。

此统一编址也称为“I/O内存”方式,外设寄存器位于“内存空间”(很多外设有自己的内存、缓冲区、外设的寄存器和内存统称“I/O空间”)。

优点:

可以利用存储器的寻址方式来寻址I/O端口。

缺点:

I/O端口占用了存储空间,而且进行I/O操作时,因地址编码较长,将导致速度较慢。

举例:

Samsung的S3C2440,是32位ARM处理器,它的4GB地址空间被外设、RAM等瓜分:


      0x8000 1000 LED 8*8点阵的地址
    0x4800 0000 ~ 0x6000 0000 SFR(特殊暂存器)地址空间
    0x3800 1002 键盘地址
    0x3000 0000 ~ 0x3400 0000 SDRAM空间 
    0x2000 0020 ~ 0x2000 002e IDE
    0x1900 0300 CS8900

(2)独立编址

基本概念:

独立编址又称为单独编址,I/O地址与存储地址分开独立编址,I/O端口地址不占用存储空间的地址范文,这样,在系统中就存在了另一种与存储地址无关的I/O地址,CPU也必须具有专用于输入输出操作的指令(IN、OUT等)和控制逻辑。独立编址下,地址总线上过来一个地址,设备不知道是给I/O端口的、还是给寄存器的,于是处理器通过MEMR/MEMW和IOR/IOW两组控制信号来实现对I/O端口和存储器的不同寻址。如,intel 80x86就采用单独变回,CPU内存和I/O是一起编址的,就是说内存一部分的地址和I/O地址是重叠。

独立编址也称为“I/O端口”方式,外设寄存器位于“I/O(地址)空间”。

对于x86架构来说,通过IN/OUT指令。PC架构一共有65536个8bit的I/O端口,组成64K个I/O端口,编号从0~0xFFF,有16位,80x86用低16位地址线A0~A15来寻址。连续两个8bit的端口可以组成一个16bit的端口,连续4个组成一个32bit的端口。I/O地址空间和CPU的物理地址空间是两个不同的概念,例如I/O地址空间为64K,一个32bit的CPU物理地址空间是4G。

优点:

不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单(因为I/O端口的地址空间一般比较小,所用地址线也比较少)。

缺点:

只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。

举例:

在Intel 8086+Redhat9.0下用“more /proc/ioports”可以看到:

        0000-001f : dma1
     0020-003f : pic1
     0040-005f : timer
     0060-006f : keyboard
     0070-007f : rtc
     0080-008f : dma page reg
     00a0-00bf : pic2
     00c0-00df : dma2
     00f0-00ff : fpu
     0170-0177 : ide1
     ……

不过Intel x86平台普通使用了名为内存映射(MMIO)的技术,该技术是PCI规范的一部分,IO设备端口被映射到内存空间,映射后,CPU访问I/O端口就如同访问内存一样。看Intel TA 719文档给出的x86/x64系统典型内存地址分配表:

系统资源 占用

---------------------------------------------------------------------------------------------------------------------

       BIOS 1M
    本地APIC 4K
    芯片组保留 2M
    IO APIC 4K
    PCI设备 256M
    PCI Express设备 256M
    PCI设备(可选) 256M
    显示帧缓存 16M
    TSEG 1M

对于某一既定的系统,它要么是独立编址、要么是统一编址,具体采用哪一种则取决于CPU的体系结构。

 

统一编址和独立编址区别以及各自的优缺点 I/O端口地址和存储器的地址相互独立,即I/O端口地址空间和存储器地址空间分开设置,互不影响,采用这种方式,对I/O端口的操作使用输入/输出指令(I/O指令) 阅读详情

相关推荐

SECS/GEM协议学习教程

摘要:SECS/GEM是半导体制造设备通信的国际标准,定义了主机系统与设备间的通信规范,包括设备控制、状态监控、数据采集等功能。协议采用分层架构(应用层、消息层、传输层、物理层),支持关键消息类型如S1F13(建立通信)、S2F13(数据采集)等。通信流程涵盖建立连接、数据交换和终止会话,并通过状态变量(SVID)、事件(CEID)等实现实时交互。典型应用包括设备初始化、报警处理及配方管理,需处理数据类型(如U2、A、L)和通信调试问题。

GitHub个人仓库地址:https://github.com/feiyuluoye ; 个人塔罗牌占卜平台:http://118.126.82.12:8080/ ; 欢迎广大Coding友共同交流讨论。 2056

【计算机组成原理-95】统一编址和独立编址

和是两种不同的内存管理和地址映射方式,它们主要涉及如何在计算机系统中处理不同类型的存储设备(如主存和外部设备)之间的地址映射。理解这两种编址方式有助于了解计算机体系结构中如何实现高效的内存和设备访问。

m0_69378371的博客 2432

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

统一编址和独立编址

统一编址:外设接口中的IO寄存器(即IO端口)与主存单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划出来用作IO地址空间,如,在PDP-11中,把最高的4K主存作为IO设备寄存器地址。端口占用了存储器的地址空间,使存储量容量减小。 统一编址也称为“I/O内存”方式,外设寄存器位于“内存空间”(很多外设有自己的内存、缓冲区,外设的寄存器和内存统称“I/O空间”)。   I

lianliange85的专栏 4247

基于Python的农业市场价格抓取与供需分析:现代爬虫技术与实战应用

在正式开始爬虫开发之前,我们首先了解爬虫的基本概念和工作原理。爬虫(Web Scraping)是通过编程的方式,自动从互联网上获取信息的技术。它可以帮助我们提取HTML页面中的特定数据,通常用于收集并处理大量信息。发送HTTP请求:爬虫需要向目标网站发送请求,获取网站的HTML页面内容。解析HTML页面:通过HTML解析器对获取的页面内容进行解析,提取其中需要的数据。数据清洗与存储:将提取的数据进行清洗,去除多余的字符或无关内容,然后存储到合适的格式(如CSV文件、数据库等)中。数据分析与可视化。

2201_76125261的博客 1117

STM32入门教程:图像处理

然后,我们使用 STM32 的 DSP 模块中的 arm_mean_u8 函数计算原始图像的平均值,并将结果存储在 meanValue 变量中。然后,我们需要编写代码配置 STM32 的外部中断输入引脚,并在中断处理函数中读取 OV7670 摄像头模块输出的图像数据。然后,我们需要编写代码配置 STM32 的 USB OTG 接口,并在回调函数中读取 USB 摄像头输出的图像数据。一、图像采集 图像采集是图像处理的第一步,我们需要将外部图像源的数据导入到 STM32 中进行处理。

2401_85625565的博客 1616

独立编址与统一编址

<br />在不同的系统中,I/O端口的地址编排有两种形式:<br />存储器统一编址和I/O独立编址。 <br /><br />存储器统一编址(存储器映像编址):<br />在这种编址方式中,I/O端口和内存单元统一编址,<br />即把I/O端口当作内存单元对待,<br />从整个内存空间中划出一个子空间给I/O端口,<br />每一个I/O端口分配一个地址码,<br />用访问存储器的指令对I/O端口进行操作。 <br /><br />存储器统一编址的优点是:<br />I/O端口的数目几乎不受限制;

yinwei520的专栏 8560

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南

OpenClaw已经开源3个月有余,作为深耕AI Agent领域的博主,我亲身探索了各种基于OpenClaw的赚钱方法,也踩过坑、付出了时间与精力。现在,我将这些真金白银砸出来的实战经验,毫无保留地总结成这个专栏,分享给不想从零开始摸索的你。博主在优快云已有7万+粉丝和1100万+阅读量,但这却是我的第一个付费专栏。正因如此,我比任何人都更珍惜这个“第一次”。我会像一个手艺人打磨作品一样,死磕每一篇文章的质量,并持续根据订阅者的反馈优化内容。也许你的疑问就是当篇文章的优化点。

冯·诺依曼 2439

统一编址和独立编址以及I/O端口与内存

1、编址方式 1)外设都是通过读写设备上的寄存器来进行的,外设寄存器也称为“I/O端口”,而IO端口有两种编址方式:独立编址和统一编址。 统一编址:外设接口中的IO寄存器(即IO端口)与主存单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划出来用作IO地址空间,如,在PDP-11中,把最高的4K主存作为IO设备寄存器地址。端口占用了存储器的地址空间,使存储量容量减小。

bv1315008634的博客 3285

EtherCAT总线运动控制学习笔记(RXXW_Dor)

说到总线控制,就要说到报文、对象字典、PN通信我们大部分会说报文,EtherCAT通信我们常说对象字典,叫法不一样,但是原理基本一致,下面我们简单认识下上面是对象字典。

RXXW_Dor的博客 5427

FPGA原型验证(八):SoC设计适配与实现策略

时钟门控在SoC设计中很常见,应该小心处理门控时钟,以成功地在FPGA上原型化SoC设计。现代FPGA综合工具在正确约束的情况下,可以自动处理大多数门控时钟。通过遵循本章中的指导方针,即使具有复杂时钟门控的SoC设计也可以得到处理,并成功地在FPGA上进行原型化。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 477

CPU访问外设有两种方式:IO与内存统一编址&IO与内存的独立编址

一、外设都是通过读写设备上的寄存器来进行访问的,外设寄存器也成为“”I/O端口“”,而IO端口有两种编址方式:独立编址和统一编址。 1)统一编址:寄存器参与内存统一编址。外设接口中的IO寄存器(即IO端口)与主存(内存)单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划分出来用作IO的地址空间。(理解:把外设的寄存器当做是一个内存地址,从而以类似访问内存相同的方式来操作外设) /*...

baidu_37973494的博客 1万+

基于Simulink的MIMO-OFDM系统仿真建模示例

MIMO概述MIMO技术利用多个天线进行信号发送和接收,通过空间复用来提高数据传输速率,或通过空间分集来增强信号的可靠性。OFDM概述OFDM是一种将高速率数据流分成多个低速数据流并行传输的技术,每个子载波都采用调制方式(如BPSK、QPSK),并通过IFFT/FFT变换实现串并转换。MIMO-OFDM优势结合了MIMO的空间分集增益与OFDM对抗多径效应的能力,适用于宽带无线通信系统。提供了更高的数据速率和更好的频谱效率,是现代无线通信标准(如4G LTE、5G NR等)的核心技术之一。

xiaoheshang_123的博客 327

IO独立编址 和 存储器统一编址(转载)

在不同的系统中,I/O端口的地址编排有两种形式: 存储器统一编址和I/O独立编址。  存储器统一编址(存储器映像编址): 在这种编址方式中,I/O端口和内存单元统一编址, 即把I/O端口当作内存单元对待, 从整个内存空间中划出一个子空间给I/O端口, 每一个I/O端口分配一个地址码, 用访问存储器的指令对I/O端口进行操作。  存储器统一编址的优点是: I/O端口的数目几

Riak, Spark, Golang, Erlang, 云存储, 云计算, 数据挖掘 3314

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

8086系统中的I/O端口编制方式

CPU通过地址识别端口,端口地址也称为端口号。为I/O端口分配地址称为编址。I/O端口的编址方式有两种: 与存储器统一编址 独立编址方式 统一编址 这种方式又称为存储器映射编址方式。它将I/O端口作为内存单元对待,由CPU统一分配地址。通 常在CPU的地址空间中划出一部分作为输入输出系统的端口地址范围,不再作为内存地址使用。 优点:访问I/O端口和访问内存单元一样,所有访问内存的指令都可以访问I/O端口,不用设置专门 的I/O指令;也不需要专用的I/O端口控制信号,简化了系统总线。 利用数据传送指

Artorias的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

I/O端口与内存地址

外设都是通过读写设备上的寄存器来进行的,外设寄存器也称为"I/O端口",而IO端口有两种编址方式:独立编址和统一 编制。而具体采用哪一种则取决于CPU的体系结构。独立编址:"I/O映射方式"内存和外设分开独立编址(它们的地址原则上可以有重合区域);因为独立,所以内存编址可以从0~N,外设编址也可以从0~N; 这就是所谓的"I/O映射方式"(I/O-mapped),也就是“独立编址”。 而X86等则...

深藏功与名 8315

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

存储器和 I/O 端口有哪两种编址方式?简要说明各自特点

一.独立编址方式: 独立编址方式就是I/O地址空间和存储器地址空间分开编址。 独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但是,却需要设置一套专门的读写I/O的指令和控制信号。 二.统一编址方式: 这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。 统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大...

小七月的博客 1万+

汇编语言||I/O端口的编址方式

I/O端口的编址方式   I/O端口的编址方式有两种,即独立编址和统一编址。   1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中   (1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计   (2)缺点:需要有专用的I/O指令,程序设计的灵活性较差   2...

JockLiu的博客 2526

存储器统一编址和I/O独立编址

在不同的系统中,I/O端口的地址编排有两种形式: 存储器统一编址和I/O独立编址。  存储器统一编址(存储器映像编址): 在这种编址方式中,I/O端口和内存单元统一编址, 即把I/O端口当作内存单元对待, 从整个内存空间中划出一个子空间给I/O端口, 每一个I/O端口分配一个地址码, 用访问存储器的指令对I/O端口进行操作。  存储器统一编址的优点是: I/O端口的数目几

yanfengt的专栏 6845

I/O端口和I/O内存

I/O空间-----I/O端口和I/O内存    首先上图,如下:外设中的寄存器被称为I/O端口,外设中的内存被称为I/O内存。二者合起来统称为I/O空间。                 设备驱动程序要直接访问外设或其接口卡上的物理电路,这部分通常都是以寄存器的形式出现。外设寄存器称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,

u011416173的专栏 839

独立编址和统一编制

I/O独立编址缺点是:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。cpu无需产生区别访问内存操作和I/O操作的控制信号,从而可减少引脚。访问内存指令均适用于I/O端口,对I/O端口的数据处理能力强;即I/O端口地址空间和存储器地址空间分开设置,互不影响。并设置了可以区分I/O访问和存储器访问的控制信号引脚。如:Intel的x86微处理器支持I/O独立编址,在这种编址方式中,I/O端口和内存单元统一编址,不支持I/O独立编址,只能采用存储器统一编址。I/O端口编址和存储器的编址相互独立,

dalibmw的博客 1506
上一篇: 考研后的回归……不散依在……
下一篇: 电脑重置系统后,鼠标右键点击桌面一直转圈,任务栏又可以点击……
HuaCode
博客等级 码龄10年 297粉丝 77原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HuaCode

您的鼓励,我的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值