跨处理系统的桥接和集成装置的制造方法_2

文档序号:8269397阅读:来源:国知局
仍能够使用非IA惯例。架构能够在IA空间中留下孔洞,以便不占用对应存储器/10/中断空间。由于外设组件快速互连(PCIe)允许由操作系统(OS)任意指派这些空间,因此,这在当代IA系统中是可行的。在此选项中,能够再使用非IA驱动程序(如果以高级语言编写)而无需修改。要注意的是,上述所有设计特征有助于改进再使用性、性能以及甚至功耗。更一般地说,架构能够提供更加集成和交互的异构系统。
[0019]转到图2,图2是示出与本公开内容的一个实施例相关联的iFA架构40的简化框图。此特定实施例包括IAF接口 42、枚举和配置代理(ECA) 46、地址转换代理(ATA) 48、中断转换代理(ITA) 50及NIF接口 44。作为一般提议,iFA能够被视为核心组件,其中,其它四个组件能够依赖iFA提供的功能性。要注意的是,iFA的左侧和右侧是与IA结构和非IA结构进行通信的接口。ECA 46支持来自IA系统(特别是来自PCI Express总线)的枚举命令,并且随后将有关安装的NID的信息返回到操作系统。它也能够接受配置命令并且设置用于ATA 48和ITA 50的任何适合参数(例如,与计算任务、处理、用于工作量的指派/责任等相关联)。
[0020](返回的)一个重要的信息涉及某个任务所需的大存储器/10地址空间以及生成的中断信号的数量和优选的地址空间/中断向量。此信息能够在设计时由IP和结构集成工具生成,并且如果工具缺失,则还能够手动收集。要注意的是,对于IA优先级情况,偏好与IA系统兼容。对于非IA优先级情况,偏好能够是与原非IA系统兼容的偏好。
[0021]ATA 48支持在配置后的双向转换。来自IAF的存储器请求能够重新映射到在NIF侧的不同地址,并且因此不干扰非IA硬件设计。如果NIF不支持1转换,则来自IAF的1请求也能够转换成在NIF侧的不同存储器请求。相反,来自NIF的请求也能够转换成在IAF侧的不同请求。这样,能够完全支持向前和向后事务(例如,如iDMA/iMEM/iP2P所需要的)。
[0022]ITA 50配置成将始发自NIE侧的中断请求转换成IA中断消息或中断信号。在IA优先级情况下,新中断向量能够是相同的,好象中断是从具有与NID完全相同功能的IAD发出的一样。在非IA优先级情况下,中断向量能够与在NIF侧的向量相同。
[0023]要注意的是,能够有关于各种NID的逻辑视图的两个选项。第一选项是超级装置模型,其中,NID被视为单个逻辑超级装置。ECA能够从每个单独NID返回要求的超级集合,并且NID能够配置成一个整体。在适当配置地址和中断后,能够再使用软件驱动程序。然而,NID的每个不同组合(对应于特定SoC模型)使用不同超级装置身份(例如,pci_id),以便能够在OS中加载适当的NID驱动程序。这对ID管理添加了小负担。在一个意义上,此情形比传统IA环境的情形更差,但它将不一定比非IA环境更差(例如,ARM生态系统已经具有此广泛的多样性,并且另外,软件代码已经在选择适当的驱动程序代码方面展现许多分支)。第二选项是透明装置模型。在此情况下,iFA向OS单独显露每个NID,并且OS能够加载每个单独的NID驱动程序。软件驱动程序将具有最大灵活性,但这对硬件添加了负担(例如,因为它将需要更多只读存储器(ROM)以记录在iFA后的元素)。在某些情况下,iFA能够组合特定信息以确保最小ROM参与。
[0024]转到图3,图3是示出与本公开内容相关联的示例地址映射60的简化框图。通常,图3示出在IA地址空间与非IA地址空间之间的地址映射。示出的此特定配置包括IA地址空间62、系统随机存取存储器(RAM) 64和以75 —般示出的若干IA装置,IA地址空间62包括(但不限于)高级可编程中断控制器(APIC)(其通常占用x86存储器空间的末尾)。另夕卜,此特定配置包括非IA地址空间66,该地址空间可包括若干非IA装置70、72、74。在此特定布置中,IA物理地址(IAPA)表示为IAPAl、IAPA2和IAPA3,它们具有到对应非IA装置70、72、74的逻辑连接。非IA物理地址(NIPA)对应于每个非IA装置70、72、74。IAPA在IA结构上使用,并且NIPA在非IA结构上使用。在操作中,如果假设非IA装置I使用NIPAl,则它映射到IA地址空间IAPAl。类似地,NID2能够使用NIPA2,并且它映射到IAPA2 ;NID3能够使用NIPA3,并且它映射到IAPA3。ATA能够执行从IAPA到NIPA的适当转换。
[0025]图4是示出根据本公开内容的一个实施例的示例IA启动的转换的简化流程图400 ο此特定流程可在402开始,其中,CPU或IA DMA控制器(或IA装置)启动针对非IA装置的读或写单个或突发事务(具有IAPA)。在404,此事件通过IA结构路由到iFA。在406,iFA将IA事务(具有IAPA)转换成非IA事务(具有NIPA)。地址转换(从IAPA到NIPA)能够由ATA执行。在408,事务能够通过非IA结构路由到非IA装置。在410,非IA装置接收事务,并且做出关于响应是否将是必需的确定(一般在412示出)。如果无响应是必需的,则流程可适当地结束。如果响应是适当的,则在414,非IA装置能够发送响应包。这能够在416通过非IA结构路由到iFA。在418,iFA能够转换和构建针对原启动器的响应包。在420,响应能够通过IA结构路由到原启动器。
[0026]图5是示出与用于本公开内容的系统初始化序列相关联的示例活动的简化流程图500。此特定流程可在502开始,其中,通过从ECA检索数据来枚举非IA装置。在504,计算地址映射和中断映射。在506,通过写入到ECA来配置ATA和ITA。在508,加载非IA装置的对应驱动程序。
[0027]图6是与本公开内容的示例ARM生态系统SOC 1000相关联的简化框图。本公开内容的一个可能实现包括IA和ARM组件的集成。例如,图6的特定实现能够与任何ARM核(例如,A-9,A-15等)相关联。此外,架构能够是任何类型的平板、智能电话(包括Android电话、1-Phone)、1-Pad、个人计算机、服务器、视频处理组件、膝上型计算机(包括任何类型的笔记本)、任何类型的触摸启用的输入装置等的一部分。
[0028]在图6的此示例中,ARM生态系统SOC 1000可包括多个核1006-1007、L2高速缓存控制1008、总线接口单元1009、L2高速缓存1010、图形处理单元(GPU) 1015、互连1010、视频编解码器1020及可与耦合到LDC的移动行业处理器接口(MIPI)/高清晰多媒体接口(HDMI)链路相关联的液晶显示器(IXD) I/F 1025。
[0029]ARM生态系统SOC 1000也可包括订户身份模块(SM) I/F 1030、引导只读存储器(ROM) 1035、同步动态随机存取存储器(SDRAM)控制器1040、闪存控制器1045、串行外设接口(SPI)主控1050、适合的功率控制1055、动态RAM (DRAM) 1060及闪存1065。另外,此特定示例可包括多个通信能力、接口和特征,如蓝牙1070、3G调制解调器1075、全球定位系统(GPS) 1080 及 802.11 WiFi 1085 的实例。
[0030]在操作中,图6的示例能够提供处理能力及相对低的功耗以允许各种类型的计算(例如,移动计算、高端数字家庭、服务器、无线基础设施等)。另外,此类架构能够允许任何数量的软件应用(例如,Android ?、Adobe? Flash?播放器、Java平台标准版本(Java SE)、JavaFX、Linux、Microsoft Windows EmbeddecUSymbian 和 Ubuntu 等)。在一个特定不例中,核心处理器可实现具有耦合低等待时间的2级高速缓存的无序超标量管道。
[0031]要注意的是,在某些示例实现中,本文中概述的功能可结合在一个或更多个有形、非暂时性媒体中编码的逻辑(例如,在专用集成电路(ASIC)中、在数字信号处理器(DSP)指令、要由处理器或其它类似机器等执行的软件[可能包括目标码和源代码]中提供的嵌入式逻辑)实现。在这些实例的一些实例中,存储器元素能够存储用于本文中描述的操作的数据。这包括能够存储经执行以执行本文中所述活动的软件、逻辑、代码或处理器指令的存储器元素。处理器能够执行与数据相关联的任何类型的指令以实现本文中详细描述的操作。在一个示例中,处理器能够将元素或物品(例如,数据)从一种状态或事物变换成另一状态或事物。在另一示例中,本文中概述的活动可通过固定逻辑或可编程逻辑(例如,处理器执行的软件/计算机指令)实现,并且本文中识别的元素能够是某个类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、D
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1