CN1351297A - 具有网络拓扑结构的自适应信息处理系统 - Google Patents

具有网络拓扑结构的自适应信息处理系统 Download PDF

Info

Publication number
CN1351297A
CN1351297A CN 00125860 CN00125860A CN1351297A CN 1351297 A CN1351297 A CN 1351297A CN 00125860 CN00125860 CN 00125860 CN 00125860 A CN00125860 A CN 00125860A CN 1351297 A CN1351297 A CN 1351297A
Authority
CN
China
Prior art keywords
data
network
microcontroller
bus
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 00125860
Other languages
English (en)
Other versions
CN1173280C (zh
Inventor
周振亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Original Assignee
QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by QIMA DIGITAL INFORMATION CO Ltd SHANGHAI filed Critical QIMA DIGITAL INFORMATION CO Ltd SHANGHAI
Priority to CNB001258605A priority Critical patent/CN1173280C/zh
Priority to AU2002221452A priority patent/AU2002221452A1/en
Priority to PCT/CN2001/001505 priority patent/WO2002039287A1/zh
Publication of CN1351297A publication Critical patent/CN1351297A/zh
Application granted granted Critical
Publication of CN1173280C publication Critical patent/CN1173280C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems

Abstract

具有网络拓扑结构的信息处理系统由系统服务子网络、面向应用的处理子网络和多层总线等单元连接而成。其中,系统服务子网络中的中央处理单元、微控制器和同步控制器构成系统服务层。该系统服务层结合消息总线、模块间的硬实时同步信号线组成的服务信道,并贯彻服务于系统中每个模块。通过多条不同速率的总线,使系统具有多总线的拓扑结构。并通过多处理器、共享存储器和相应的输入输出设备形成系统内部的网络分布式协作运行机制。

Description

具有网络拓扑结构的自适应信息处理系统
本发明一般涉及信息处理系统,尤其涉及一种具有网络拓扑结构的自适应信息处理系统。
在多媒体应用和互联网开始走进人们生活中的时候,计算机也进入了奔腾时代。计算机的处理对象不再是相对简单的非实时性数据处理,更大的挑战是具有实时要求的数据流的处理。就中央处理器(CPU)本身来说针对其新增的处理对象和更繁重的处理任务作了一定的结构调整。新增了多媒体增强指令集MMX(Multi-Media extension)单元处理多媒体流指令,提高CPU对多媒体的处理能力。再者,早期的计算机都是复杂指令集计算机CISC(ComplexInstruction Set Computer),处理对象是复杂且长短不一(从8位到120位)的指令集,事实上在复杂指令集中频繁的指令只占20%左右,而且因为指令长短的不一致,所以处理速度相对缓慢。而精简指令集计算机RISC(ReducedInstruction Set Computer)的指令集简短实用且具有相同长度,所以处理速度比CISC快了很多。由于将复杂指令集的众多指令转成精简指令是不可能实现的,所以就在CPU内部采用了精简指令内核(RISC芯)单元,将复杂指令集的指令经译码后形成类精简指令(RISC Like),并在精简指令内核上运行以加快处理速度,见图1。
外部设备总线(IO BUS)在进入多媒体和网络后也有了长足的进步,从最初的8位ISA(工业标准结构Industry Standard Architecture)总线到16位PCI(外部设备互联Peripheral Component Interconnection)总线提高了对IO访问速度,全面支持即插即用(Plug & Play)。在奔腾2代又出现图形加速总线AGP(Acceleration Graphic Port)连接处理图形的协处理器,分担CPU的处理任务,加速图形处理速度。在奔腾时代无论CPU主频,存储容量和高速缓冲存储器(Cache)大小等都有了飞快的提高。
CPU负责控制整个计算机系统的运行,它的基本控制功能就是时序控制和执行控制。CPU完成其系统服务操作主要由四部分组成。首先,CPU由时钟电路产生的时钟信号进行定时,以控制各种操作按指定的时序进行。其次,CPU要完成取指令、分析指令和控制逻辑运算单元ALU执行指令的操作。再次,CPU提供中断同步控制逻辑,提高CPU的处理效率,使CPU与输入输出设备I/O并行工作,同时使CPU能够及时响应各种预先不知的异常事件,还可以实现分时操作。最后,CPU提供总线控制逻辑,协调各部件申请使用总线。
图2表示现行个人计算机构架中CPU所提供的中断服务流程。
1)硬件产生中断由中断控制器INTC(Interrupt Controller)激活OS内核中相应的模块。
2)OS内核对中断进行检查。
3)调用相应的中断服务例程(ISR)。
4)中断服务例程ISR对中断进行处理。
5)返回中断标志(Interrupt ID)。
6)内核检查中断标志(Interrupt ID)。
7)调用与此中断标志(Interrupt ID)相应的中断服务线程(IST)。
8)中断服务线程IST通过驱动程序处理硬件中断。
若中断服务过程较为简单,则上述过程中第六到第八步可以省略,也就是说不再需要中断服务线程IST处理该中断。
影响中断响应时间的主要因素是中断服务例程ISR的响应时间与中断服务线程IST的响应时间。中断服务例程ISR响应时间主要看是否有优先级高于这次中断请求的中断服务例程ISR在执行。而影响中断服务线程IST的因素则更加复杂,包括系统对线程的调度,临界区(Critical Section),旗语(Semaphores),互斥量(Mutex)与事件(event)的处理等。在传统的个人计算机构架中,数据流的同步与中断的服务都是由CPU承担的(见图2),CPU在完成计算的同时还要担负数据流的同步及中断的响应,一方面增加了操作系统设计的复杂性,另一方面仍然不能满足硬实时中断的响应的需求。
CPU为系统提供同步服务,除了维护正常的数据同步,同时也接受异常情况处理,如除法错中断、溢出中断、电源故障中断、时钟中断、控制器中断(非法指令、特权指令)等。CPU在执行任务时为了保证信号的输入源和输出源保持平衡的吞吐量必须进行数据同步。来自输入源的数据经CPU处理结束写入存储器,操作系统OS产生同步信号给出数据存储地址空间通知输出源,输出源到相应的地址空间读出数据,完成一次同步动作。当CPU收到异常处理的请求后,激活宿主于其上的中断服务例程ISR对消息处理,在遇到复杂情况时,将由CPU做更高层次的策略调度。
图3从宏观整体角度给出现有个人计算机框架和CPU所提供的系统服务。其中中央处理器内核(CPU Core)包括逻辑运算单元ALU、浮点运算单元FPU、多媒体增强指令集MMX等单元。
现有个人计算机系统结构作为一个通用的系统框架,能够适应多种不同类型的应用。但也存在着许多不可避免的弱点。尤其进入20世纪90年代上半叶,由于多媒体、互联网、个人计算机和高速数据传输设备的发展需求,电子工业经历了巨大的飞跃,为了赢得商业上的竞争优势,生产商的产品迫切需要追求高功能、优品质、低成本、微功耗和微小尺寸。那么现有个人计算机系统结构在面临如此众多挑战的今天却显得颇有些心有余而力不足。
纵观现有个人计算机系统,大致存在以下一些缺陷:
1.功耗与处理速度无法满足当前的速度要求。当我们为1.5GHz的主频惊奇的时候,却为MPEG VII(一种压缩比率较大的活动图象和声音的压缩标准)新的标准而担忧,软件能否实现?算法越来越复杂,为了满足人们无止境的需求,Wintel所能做的就是提高CPU的主频。时钟翻转次数的增加,功耗的增加不可避免,处理器热的发烫。笔记本计算机尚勉强可采用这类CPU,如何让手持式的移动设备接受这种方案?
2.多媒体的需求使得无法针对多媒体应用优化设计。其实针对特定的算法,我们可以设计专门的数字信号处理器DSP或专用集成电路ASIC去实现。而通用的处理器只能以打补丁的方式满足应用的需求。多媒体增强指令集单元MMX与特殊流指令扩展单元SSE(II)(Streaming SIMD single instructionmultiple data  Extensions)就是一例。
3.不可实现的实时中断响应(硬实时)。增加的存储器管理单元MMU与虚拟地址映射拓展了应用的空间。但也因为这样使硬实时中断处理不易实现。微软Microsoft不断地改善它的系统,但由于受到硬件平台的限制,效果总是差强人意。
4.智能或性能的取舍方面,无法提高性能也无法真正做到智能。越来越多的特定应用将会呈现在计算机面前等候处理,其中有一些是我们已知的,如多媒体、网络、通讯等;然而更多的却是未知的。为了满足应用的需求,现有的结构采用了打补丁的方式。CPU要为系统提供服务、至少还需要处理少量实时性数据(性能),它还可以完成多少非实时性的处理任务提供智能服务呢?提高频率,小修小补也无济于事。
5.分布式计算的挑战。首先是瓶颈问题。CPU主频的提高,对存储器带宽的要求也要提高。增加了高速缓冲存储器Cache,从同步动态随机存储器SDRAM(Synchronous Dynamic Random Access Memory)到随机存取存储器总线RAMBUS(Direct RAMBUS System是存储器系统),从PC100到PC133(内存频率),从PCI(外部设备互联Peripheral Component Interconnection)总线到AGP图形加速总线,整个工业界始终围着Wintel转,然而瓶颈始终存在。
其次是同步的复杂性。绝大多数的实现由单一的CPU完成,通过共享存储器Share Memory与旗语Semaphore(同步标志)等机制,依靠高速的处理能力勉强维护数据流的同步。而我们将要面临更复杂的分布式计算。
此外是设计缺乏开放性。对于问题的解决方案(算法)的实现,始终有优化的余地,而决非一家之言。Wintel想创建单一的系统满足所有应用需求,但系统只会日益臃肿。开放的设计不仅仅是输入输出设备IO,还应包括中央处理器内核CPU Core与操作系统OS。
6.系统的可扩展性方面,已不再具有足够的扩展性。为了提高图形处理速度,增加图形加速总线AGP,挂上图形加速卡说明打补丁式的扩展手段是现有框架唯一可采用的了,硬实时中断仍然不易实现,只能寄希望于再次提高CPU主频。但是还能有多少张什么方面应用处理卡能够挂在现有的系统上?系统的扩展问题会随着网络时代的进一步深化而变得更尖锐。
因此,本发明的目的在于提供一种具有网络拓扑结构、使系统具有强大的自适应可调功能、并具有可扩展能力的自适应信息处理系统。
本发明的另一目的在于提供一种由CPU、微控制器、同步控制器构成的系统服务层结合以消息总线、模块间的硬中断同步信号线等组成的服务信道,贯穿服务于系统中每一模块VC(virtual component)而形成系统服务子网络的自适应信息处理系统,使系统具有强大的自适应可调功能。
本发明的另一目的在于提供一种具有网络分布式运算结构的自适应信息处理系统。藉由多处理器、可重用知识产权IP(intellectual property)和输入输出设备得以系统服务子网络和多层总线结构的全方位支持形成系统内部网络并可有效开展分布协作运算。
本发明的另一目的在于提供一种由微控制器模块(Micro Controller)为系统提供中断服务、为数据同步中的异常情况提供服务。同时可以通过消息总线以事件的形式协调各处理单元的工作的自适应信息处理系统。
本发明的另一目的在于提供一种由同步控制器模块通过中断信号维护缓冲器环形缓存器,同步模块与模块之间的实时数据流交换的自适应信息处理系统。
本发明的另一目的在于提供一种具有电源管理和省电功能的自适应信息处理系统。
根据本发明的一个方面,提供一种具有网络拓扑结构的自适应信息处理系统,它包括:
a.系统服务子网络,它包括:
      用于系统管理、协调和智能处理的中央处理单元;
      为系统提供中断响应和中断服务,并用以协调系统中各处理器
单元工作的微控制器;
      连接到所述微控制器,用以同步系统中模块与模块之间的实时
数据流交换的同步控制器;
      由消息总线和模块间的硬实时同步信号线组成的系统服务信
道,用以传输包括中断、同步在内的系统服务消息,所述中央处理
单元、微控制器和同步控制器通过所述服务信道相连接,
b.至少一个面向应用的处理子网络,它包括:
      处理资源再分配与数据流高层次分析的处理器;
      用以在微控制器与处理器之间交换数据的共享存储器;
      提供数据输入的数据源装置;
      提供数据输出的数据目标装置,
     所述处理器、共享存储器、数据源装置和数据目标装置分别经
由各条总线连接到所述消息总线,
c.用于传输数据的系统总线,其中,所述系统服务子网络和应用处理子网络分别通过不同速率的数据总线连接到系统总线。
根据本发明的自适应信息处理系统,使系统建立真正的分布式协作计算环境。分布式的并行计算环境兼顾了面向智能的与面向性能的应用的需求。分布式的并行计算环境站在系统框架的角度从根本上解决了系统运行效率的问题。而不是简单地提高CPU的频率。系统效率的提高是通过系统框架的改进而实现的,所以低功耗的目的也迎刃而解。网络拓扑结构可以根据应用的不同需求,打开与关闭某些处理单元,甚至整个子网络Subnet。对于算法也以网络的形式加以描述,为优化提供了更大的空间。通过系统层System Layer将其映射到具有网络拓扑结构的系统结构上。同时也将属于CPU的控制功能具体下放到各处理器,如时序控制、指令寄存器的控制和总线控制逻辑等。
系统服务层(Service Stack)在三个不同的层次上使系统具有自适应的特性,它有效地为系统中的各个处理单元提供了同步,资源分配与系统监控(NetAdministrator)。系统在四个不同层次服务的帮助下,在不同的应用环境下,很容易达到自我适应与平衡。加之网络的结构使系统具有即插即用Plug & Play的特性(设计上)。
本发明为SOC时代提供了一个全方位的解决方案。不仅有效克服了现有系统结构中的瓶颈问题,同时也为SOC系统的良好发展奠定了基础。无论是多媒体和网络时代的需求,亦或未来更多应用,更高智能处理的苛求本发明都为此提供足够的扩展空间、硬软件平台的支持和有效的系统服务。本发明有效降低对处理器功耗和处理速度的苛求,系统性能和智能都得到长足提高并为未来留有足够的扩展空间,实现网络分布式运算提高处理效率,同时真正实现系统的自适应能力。
以下将结合附图和实施例对本发明的信息处理系统作进一步的详细描述。本发明的进一步的目的、特征和优点在以下的描述中将变得更加明白。
图1是表示现有技术的个人计算机的框架示意图;
图2是表示现行个人计算机构架中CPU所提供的中断服务流程的示意图;
图3是从宏观整体角度给出现有个人计算机框架和CPU所提供的系统服务的示意图;
图4是表示根据本发明的信息处理系统的一个系统方框图;
图5是表示本发明的一个系统服务子网络的拓扑结构示意图;
图6A是表示本发明的同步控制器的操作框图;
图6B是表示同步控制器内部结构及其功能的示意图;
图7A是表示微控制器的内部结构及其功能示意图;
图7B是表示微控制器的接口示意图;
图7C是表示微控制器的工作状态示意图;
图8是表示本发明系统中的处理器对资源分配与对数据流进行分析的操作示意图;
图9表示根据本发明的信息处理系统的一个系统服务流程图;
图10表示处理器上实现的中断服务线程IST的状态图;
图11是表示软硬件并行联合设计、验证的示意图;
图12是表示利用虚拟机技术提供的异构系统平台的示意图;
图13是表示利用代码变换提供的异构系统平台的示意图;
图14是表示系统资源分配的示意图;
图15是表示共享存储技术的示意图;
图16是表示多级互连的多处理器系统数据传送协议的示意图;
图17是表示各子网中的处理单元的电源管理示意图;
图18是表示微控制器对处理单元的电源管理示意图;
图19是表示服务子网的电源管理的示意图;
图20是表示应用于本发明的MP3解码流程的3个步骤的示意图;
图21示出了MP3音频数据下载的流程;
图22是表示一个音频数据解码算法的示意图;
图23是表示一个音频数据回放的示意图;
图24是表示本发明的系统与英特网联接的示意图;
图25是表示MP3音频播放功能在本系统中的实现的示意图;
图26是表示同步缓存的操作的示意图;
图27是表示用JPEG实现视频会议功能的流程图;
图28是表示CCD图像采集模块的示意图;
图29是表示JPEG压缩流程的示意图;
图30是表示通用串行总线(USB)传输流程的示意图;
图31是表示视频会议在本发明的系统中的实现的示意图。
接下来参见图4,它表示根据本发明的信息处理系统的一个系统方框图。该信息处理系统包括:a.系统服务子网络,它包括用于系统管理、协调和智能处理的中央处理单元41;为系统提供中断响应和中断服务,并用以协调系统中各处理器单元工作的微控制器42;连接到所述微控制器42,用以同步系统中模块与模块之间的实时数据流交换的同步控制器43;由消息总线44和模块间的硬实时同步信号线(未图示)组成的系统服务信道,用以传输包括中断、同步在内的系统服务消息,所述中央处理单元41、微控制器42和同步控制器43通过所述服务信道相连接;b.至少一个面向应用的处理子网络,它包括:处理资源再分配与数据流高层次分析的处理器45;用以在微控制器42与处理器45之间交换数据的共享存储器46;提供数据输入的数据源装置47;提供数据输出的数据目标装置48,所述处理器45、共享存储器46、数据源装置47和数据目标装置48分别经由各条总线连接到所述消息总线44;c.用于传输数据的系统总线49,其中,所述系统服务子网络和应用处理子网络分别通过不同速率的数据总线连接到系统总线49。
系统采用单芯片的网络拓扑结构。其中,由CPU41、微控制器42和同步控制器43构成系统服务层,由多处理器与多总线的结构形成网络的拓扑结构。网络的拓扑结构以节点(node),边沿(edge)描述。处理单元对应于节点,总线与信道构成边沿。该分布式的应用在算法上也以网络的形式实现,它通过系统层在两者之间建立映射关系,这是系统最上层的网络关系,同时建立了分布式运算环境所需的基本框架。
系统框架兼顾性能与智能。CPU 41和存储器管理单元MMU 411提供硬件平台,传统的操作系统厂商可以在此基础上构建虚拟平台(Virtual Platform),虚拟平台之上可以实现各类面向智能的应用。
数字信号处理器DSP的设计针对不同的多媒体数据流进行优化,以满足性能的要求。对于实时响应更高的应用,经过对算法的进一步分析与优化,最终以专用集成电路ASIC落实。CPU、DSP、ASIC构成了一个非对称的处理器体系,以共享存储器交换数据,形成分布运算的运算主体。
至于总线连接,因为有许多设备需要介入总线,而这些设备的处理对象和数据传输速率相差很大,使用单一的总线已无法满足性能需求。所以采用多层次的数据总线结构,根据各个设备对数据传输率的不同要求,用不同层次的总线进行互联,以适应各自的特性和需求。不同层次间的总线相对独立,允许使用不同的信号和以不同的速率运行,而对某一个层次总线结构的修改不会影响其他层次的总线结构,使系统具有扩展性。总线与总线之间以桥Bridge相连满足对于不同带宽的要求。同时提供以消息总线、模块之间的硬中断同步信号线等组成的服务信道(Service Channel)用于传输系统服务消息,如中断、同步等,确保系统运转自然顺畅。多层总线结构为分布运算的并行性提供了强有力的硬件结构布局支持。
网络的拓扑结构
不同于Intranet/Internet,系统由于存在共享内存,数据与流的控制从数据包(IP Packet)中分开,网络由两个不同的拓扑结构构成:
1.用于对流控制的消息传递也采用总线拓扑,但在实现上所有的节点都在不同数据处理域(即子网络)中。由同步控制器43、微控制器42、CPU41与消息总线44构成的服务子网络是系统的本体,为系统提供基本的服务。服务包括:数据流同步;中断响应;异常处理;控制流处理;系统资源分配与调度。
2.数据传送采用总线拓扑,并以桥(Bridge)40将不同的域(即子网络)相联接。系统中例如包括三个面向应用的子网:面向智能处理的子网;面向多媒体处理的子网;面向通讯的子网。其中,面向智能处理的子网以带MMU411的通用处理器为核心,在这之上构建软件的非实时操作系统。面向多媒体处理的子网由DSP与ASIC构成,由微控制器协调VC之间的同步,在微控制器上的实时操作系统(RTOS)为数据同步提供支持。
网络中的节点
网络中的节点不仅包括数据处理单元(DSP,处理器,ASIC),消息处理单元(消息信道,微控制器),也包括在处理器上执行的进程,不同的进程可以视作不同的节点。
网络中的连接
不同于Intranet/Internet,总线的共享问题以总线的仲裁程序器(Arbiter)防止共享冲突,它可以根据不同的需求,设计时采用不同的算法实现。
系统服务子网络
数据交换通过共享存储器46,数据同步是靠系统服务子网络实现的。系统服务子网络由以下三层次构成。同步控制器43通过中断信号维护缓冲器(环形缓存器),同步模块与模块之间的数据交换。微控制器42为系统提供中断响应和中断服务(判别中断优先级并进行处理),中断可以分为外部设备中断和内部中断(陷阱),其中内部中断又包括溢出中断、软件中断、电源故障中断、时钟中断、单步中断、控制器中断等。并通过消息总线以事件(Event)的形式协调各处理单元的工作。以上两个层次为数据流的流畅运行处理提供行之有效的中断和同步服务。
而CPU41作为系统管理(System administrator)站在最高层次上担当整个系统的协调与资源的调度。通过这三层服务机制结合服务信道(Service Channel)形成系统服务子网络,灵活机动协调分配任务,系统可以达到自适应平衡,真正建立分布运算中的友好协作关系。
系统服务子网络的拓扑结构
图5表示本发明的一个系统服务子网络的拓扑结构示意图。该系统服务子网络由消息总线44将同步控制器43、微控制器42,CPU41组织在一起构成类似于神经网络结构。同步控制器43、微控制器42是网络结构中的中枢,CPU41是网络结构中的大脑。
同步控制器
为了有效地支持实时数据流的处理,在系统服务层的最低层,是ASIC实现的同步控制器43。与事件驱动的微控制器相比,最大的不同在于实现VC之间同步的机制仍然保留了中断的方式。但与传统处理方式不同,中断信号线直接与同步控制器43相连。中断信号线作为帧同步的信号线触发同步控制器模块。由同步控制器43维护环形缓冲存储器(环形缓存器)。同步控制器43同样以中断的方式激活相应的中断服务线程IST,或以事件知会协调程序。图6示出本发明的同步控制器43的操作框图。同步控制器43通过对环形缓存器61写入和读出数据地址进行计数的方式来完成数据同步工作,这里,称写入数据为生产量,读出数据为消费量。同步控制器43将一帧数据开始传输的起始地址设置为环形缓存器61的起始地址,当写入下一帧数据时,生产量地址计数器加一。如果缓存器61写满,将给出“满”信号;而当数据被读出时,则消费量地址计数器加一。如果缓存器61的数据读完,则给出“空”信号。同步控制器43以此方式来维护实时数据同步。
微控制器
图7A表示微控制器42的内部结构及其功能示意图。微控制器42由RISC芯71与中断控制器(INTC)72组成。而RISC芯71由一组通用的寄存器和算术与逻辑运算单元(ALU)组成。RISC芯71提供了一组指令集,利用这组指令集,软件可以实现一系列功能。这些功能包括对中断服务例程(ISR)的支持,中断服务线程(IST)之间的同步控制,环形缓存器的控制与电源管理等等。其中,
对中断服务例程的支持包括:
1)处理单元(Processor,AISC)45产生消息,经消息总线44传到微控制
  器42的中断控制器72;
2)中断控制器72将消息转成中断信号
3)由中断控制器72激活OS内核中相应的中断服务例程模块;
4)中断服务例程对中断进行处理。
5)中断服务例程通过微控制器42的寄存器接口,读写处理单元45的寄存
  器,控制处理单元45的状态。
  对任务(Task)同步的支持包括:
6)处理单元45产生消息,经消息总线44传到微控制器42的中断控制器
  72;
7)微控制器42读取消息,将该消息解释为两个部分:源地址与消息本身;
8)微控制器42根据消息的源地址与内容在消息表(Message Table)中查
  询相应的输出消息;
9)微控制器42根据输出消息中的目标地址,通过消息总线44发送给相应
  的处理单元45;
10)等待某个消息的处理单元45得到消息后继续执行任务。
对环形缓存器61的控制:
图6B表示同步控制器内部结构及其功能的示意图。其中,消息的处理机制同上。生产量75与消费量76相当于消息源,同步控制器43相当于消息目的。生产量75与消费量76通过消息机制对同步控制器43中的生产量计数器(Producer Counter)435与消费量计数器(Consumer Counter)436的值进行读写。
输出的消息中一类较特殊的消息用于对处理单元45的电源控制,消息的目标虽然指向目标处理单元,但消息实际发送给电源控制模块。
微控制器42为数据流中的异常处理提供服务,它的作用相当于原来系统中的中断服务例程(ISR)。但是由于从原来的CPU中分离出来,在独立的控制器上实现,微控制器42可以处理更加复杂的异常,并可以通过同步控制器43所提供的消息接口,实现对数据流的配置。
图7B表示微控制器42的接口示意图。如图所示,微控制器42有三个接口77-79。接口77接受来自同步控制器43的异常处理消息;接口78将控制信息发送给同步控制器43模块;接口79当微控制器42不能处理复杂的异常情况时,将消息转发给CPU 41。这里有三种处理方式,其一,针对芯片外的CPU可以保留中断的方式,并提供状态寄存器,将消息转换成中断与状态字的描述与传统结构相兼容;其二,对于嵌入的CPU芯412,在其外围以包装(Wrapper)的形式包装消息到中断请求(IRQ)的转换;其三,对于自己提供的处理器单元45直接提供消息的支持。
图7C是表示微控制器42的工作状态示意图。微控制器42接受的是消息包(Message Packet),维护两张表,消息表和触发表(Trigger Table),并且负责对环形缓存器61的生产量与消费量指针(Pointer)的维护。主要有两个工作状态配置(Configuration)与查找(Lookup)。当同步控制器43处于配置时,CPU41可以通过配置通道(Config Channel)对微控制器42进行配置。
初始化状态时,微控制器42初始化消息表,触发表与计数器。内部变量初始化完毕后,微控制器42转入等待(Wait)状态。当截获配置消息时,微控制器42转移到配置的状态,等待系统对其表与触发表的配置。系统读取数据库中的配置文件,通过同步控制器43的接口,调整查找表。配置过程结束后,系统发出结束消息,微控制器42同步切回等待状态。
当系统接受到消息后转入查找状态,在查找状态,微控制器42查询消息,做出相应的处理,若是对环形缓存器的操作,由触发表与计数器维护,若是普通的消息,通过表转发消息。
处理器
图8表示本发明系统中的处理器45对资源分配与对数据流进行分析的操作示意图。服务层在最顶层以处理器实现对网络拓扑结构中的资源的再分配与对数据流的高层次的分析。微控制器42对出错的处理以数据库的形式纪录在数据库中,数据库以两种形式实现:运行时以共享存储器46的形式在微控制器42与处理器45之间交换数据。当系统关闭时,将共享存储器46中的数据存储到文件系统80中。系统初始化的时候,将文件系统(File System)80中的数据下载到存储器中。处理器45根据共享存储器46中的数据加以分析,并通过配置配置系统资源。
新构架提供的服务流程
与传统个人计算机框架相比,中断处理改成消息驱动(Event Driven)。虚拟部件VC(Virtual Component)提供统一的用于消息处理的接口,消息作为外部的激励,改变内部状态机的状态,完成指定的功能。VC不仅仅接受消息,VC同样产生消息。消息被放在以消息总线44上传递到微控制器42中,微控制器42根据预先设定的查找表查找相应的动作,或则转发消息,或则处理缓冲器(FIFO)。消息主要提供两种性质的服务,第一类是维护正常的数据流的同步,第二类是发出异常请求。微控制器42收到异常处理的请求后,激活宿主于其上的中断服务例程ISR对消息处理。当微控制器42遇到更加复杂的情况,不能随意处置时,微控制器42将消息递交给CPU41,CPU41在更高的层次上作策略性的调度。综上所述,系统提供四个不同层次的服务完成对实时数据流的同步控制。
图9表示一个系统服务流程。如图9所示,系统将由CPU4l单独完成的任务分布到不同的模块中实现。VC替代了中断服务线程IST的角色,微控制器42完成了原来内核程序提供的消息传递功能,增强了的中断服务例程ISR(可处理异常)也执行在微控制器42之上。简化了宿主在传统CPU上的OS的设计。
中断服务线程IST的实现
实现中断服务线程IST的不仅是DSP,完成特定功能的ASIC的也是一个中断服务线程IST,这里中断服务线程IST只是借用软件的名词。图10表示处理器上实现的中断服务线程IST的状态图。
状态的变化是通过消息驱动的,处理单元自身也产生消息给同步控制器43模块。处理单元在初始化状态接受来自同步控制器43的命令。系统给出“开始数据流”后,处理单元进入“等待”状态,“等待”状态接受来自“源”的消息。当缓存器FIFO中有数据需要处理时,“源”发出“开始数据流”,通过同步控制器43通知处理单元,处理单元进入“工作”状态处理数据,当有数据需要写入FIFO中时,处理单元检查FIFO状态,当FIFO为“满”的时候,处理单元可采用两种策略。其一,产生写入的动作使FIFO产生“溢出”的异常,异常的消息进而由同步控制器43通知微控制器42,微控制器42对异常做出相应的处理,当处理不能解决问题时,再通知CPU41上的中断服务线程IST模块,CPU41在更高的层次上作协调。其二,处理单元不采取任何反映,使数据流进入堵塞状态,由其他模块作出相应动作。“停止”(Stall)状态表明处理单元发生异常,当异常情况被排除后,处理单元恢复“工作”状态。在处理单元处于“等待”与“停止”状态时可接受“停止数据流”命令,处理单元释放系统资源,返回“初始”状态。分布式多处理器系统的处理流程
从体系上讲,这是一个多指令流多数据流(MIMD)的并行分布式系统在系统操作台(SOC)上的实现;从存储器的耦合性角度看,这是一个紧耦合的设计,因为系统共享存储器。系统从另一角度上看,它是一个非对称的并行计算结构。非对称性体现在两个方面,其一,处理单元在不同层次提供系统服务,VC,处理器在最底层提供处理能力,同步控制器43同步具有处理能力的模块之间的数据流同步,控制器提供异常处理的网络服务,CPU41完成系统资源的分配与高层次的决策。其二,针对不同的算法,DSP的设计可以互不相同;
由于异构(非对称)的特点,系统设计将考虑以下一系列问题:
a)透明性(Transparency),其含义是系统设计者如何使系统的两次开发者(编程人员)误以为是一个单处理器的系统。在系统设计过程中,同时考虑开发环境的设计与系统平台的建立。开发环境方面,将整合软硬件联合设计、综合验证具,并为编程人员提供完整编译解决方案。图11是表示软硬件并行联合设计、验证的示意图。
系统平台将会提供两种解决方案:第一,利用Java VM(虚拟机)解决异构问题,图12是表示利用虚拟机技术提
供的异构系统平台的示意图。第二,利用Code Morph(代码形态)技术解决异构问题,图13是表示利用代
码变换提供的异构系统平台的示意图。
b)可靠性,其含义是系统在部分处理单元异常的情况下,仍能正常工作。对于一个SOC的设计不同于Intranet或Internet的设计,可靠性不再是问题。
c)性能,由于SOC的设计不涉及到带宽的限制,和容错的代价,同样可以实现良好的性能要求。
d)可伸缩性,以网络为基本框架的系统结构,在设计上有很强的可扩展性,
随着复用技术的成熟,以网络为基本框架的优势更加明显。
e)并行性
f)有效性
初始化时,系统资源的分配
图14是表示系统资源分配的示意图。系统的资源包括输入输出设备(IO)、存储器与处理器。一般来说,IO不是一种可共享的资源,但对于USB或1394的设计我们也考虑其共享的特性。它们其实是总线的延伸,同样网卡更是如此;系统的数据总线也是共享的资源。
当系统载入某个应用时,CPU从存储器中读取应用对系统的需求表,需求表的内容包括,IO,数据流所需的处理单元,处理单元需要的环形缓存器的大小,以及相关的软件模块(中断服务例程ISR,中断服务线程IST)与消息表。
系统通过配置通道初始化IO,FIFO,微控制器42的消息表,并将中断服务例程ISR与中断服务线程IST的代码下载到对应的微控制器和DSP上。
系统在以下两种情况下释放资源
第一,系统资源严重不足时,系统取消不重要的应用,释放该应用对应的
      系统资源。
第二,应用结束处理过程,退出系统时,向系统提出释放资源的请求。
运行时,系统资源的动态调度
静态分配资源对支持多类应用的系统来说,有许多不足。当系统资源不足时,系统若支持动态调整资源,可为系统带来更大的灵活性。可以从两个方面调整系统的资源。第一,当存储器资源不足时,系统释放部分应用所占的内存,但保证应用仍
可正常执行。第二,当处理单元处理能力不能满足多任务支持时,系统将查询空闲的处理
单元,将代码与环境移到该处理单元上。通过系统对Internet的无缝连
接,系统可以把任务提交给Internet中的处理单元,将分布式计算扩展
到Internet中。
系统对多处理器的架构的支持
在以网络为基本框架的结构中,由于共享内存的存在,数据之间的交换不再需要路由器(router)的概念,但系统保留了桥(Bridge),将不同的域(domain)分开。
各处理单元的通讯通过唯一的以消息总线、节点之间的硬中断同步信号线等组成的服务信道(Service Channel),由同步控制器43协调各处理单元45。
消息总线的协议
消息总线协议规定了VC之间用于同步的事件的帧格式与传输方式,消息总线的协议也包括用于控制的命令格式。
数据类型的定义
当某个VC产生某个事件需要通知系统的其他模块时,该VC填写输入事件(InEvent)的消息与地址项,然后将InEvent通过消息总线44传至微控制器42。微控制器42根据InEvent在消息表中查找相应的输出事件(OutEvent),并根据OutEvent中的目标地址将OutEvent发送到对应的VC。对应的VC读取OutEvent的消息内容,根据内容采取相应的动作。InEvent,outEvent与消息表的定义如下:
源地址事件数据结构的定义
Type InEvent
Byte SourceAddress
Byte Message
End of Type
目标地址事件数据结构的定义
Type OutEvent
Byte DestinationAddress
Byte Message
End of Type
消息表数据结构的定义
Type EventCoordinatorTableItem
InEvent in
OutEvent out
End of Type
地址的定义
在消息总线44上的VC都有相应的地址与其对应,根据VC的不同类型分为四类:
Event微控制器自身。
正常节点(Normal Node)    普通的处理单元(ASIC,DSP)
中断发生器    IO控制器
计数器        环形缓存器
这四类的地址编码如下,地址编码充分考虑了系统的可扩展性。
  地址(Address)             VC
    b′00000000     事件微控制器状态
    b′00000001b′01111110     正常节点
    b′01111111     中断发生器
    b′11111000b′11111111     计数器b′000~b′111
消息的定义
事件协调程序(Event Coordinator)输入的消息
输入的消息按其作用分为两类:一类是自定义的消息,VC可根据需要定义自己的消息;一类是用于环形缓存器控制的消息,其中包括环形缓存器首尾指针加减的控制与触发器(Trigger)的设定。
    消息范围               消息定义
    B′00000000                无消息
    B′00000001~b′00011111 正常消息(用户定义)31每节点消息
    b′001--XXX            计数器b′XXX++*
    b′010--XXX            计数器b′XXX--
    B′011一XXx       设置计数器b′XXX to b′0000
    B′101vvxxx     设置--计数器的触发器b′XXX to b′00VV
    b′11VVVXXX     设置++计数器的触发器b′XXX to b′0VVV
事件协调程序输出的消息
输出的消息根据作用分为四类:
自定义的消息(正常消息);
对VC状态机控制的消息,如继续(Hold on),恢复(Resume),电源关/开(Power Off/On);参数的传递,用于微控制器向VC传递参数。异常处理,对于不能处理的异常请求上一级RISC处理。
    消息范围             消息定义
    b′00000000               无消息
    b′00000001~b′00011111     正常消息(用户定义)31每节点消息
    b′001-----b、010-----b′100-----b′101-----                继续恢复电源关电源开
    b′110XXXXX              参数XXXXX
    b′11111111     为异常处理将产生中断至CPU
其享存储器
图15是表示共享存储技术的示意图。存储器相邻之间的数据传输,是按图15那样以不同的单位进行的:CPU41与高速缓冲存储器413之间的数据按字(4个字节);高速缓冲存储器413与系统存储器414之间数据按块(32个字节)传输;主存储器与盘片(Disk)之间按页交换数据。
高速缓存的一致性
一致性是指同一数据项应与后继存储器层次上的副本相一致。由于多处理器异步地相互操作,因此多个高速缓冲存储器中的同一高速缓存行的副本可能不同。造成高速缓冲存储器不一致的原因来源于:1)由共享可写数据造成的不一致;2)由进程迁移造成的不一致;3)由绕过高速缓冲存储器的I/O操作造成的不一致。
协议的采用
监听协议为总线连接的多处理器系统所使用,本系统属于多级互连的多处理器系统,采用基于目录的协议(Directory Based Protocol)。图16示出了该多级互连的多处理器系统数据传送协议的示意图。高速缓冲存储器C2的读缺失(Read-Miss)产生一个请求送给D1(图中用细线表示),D1指示在C1中有可用副本,存储控制器再将请求传送至C1,它返回一个可用副本给M1和C2;在C1写命中时(图中用粗线表示),它就发送一个命令给存储控制器,存储控制器再发一个无效的命令给在D1中有标记的所有高速缓冲存储器(C2)。总之,不用广播的高速缓存一致性协议,必须将所有的高速缓存中的每个共享数据块副本的地址存储起来。
关于MMU
一个简单的线程调度程序宿主在DSP上。微控制器42也仅仅需要一个中断服务程序(中断服务例程ISR)。对于大多数实时处理的算法,数据占用的地址空间大小是可以准确估计的。所以对于DSP与RISC的设计不需要考虑内存管理单元提供对虚地址的支持。共享的存储器主要用于实时数据流的数据交换,为了保证实时性,处理单元也尽可能不采用MMU单元,简化了处理单元与OS的设计。
服务子网对电源管理的支持
各子网的功能相对独立
在系统的设计中,充分考虑了各个子网功能的相对独立性。功能上的独立保证了当某个子网或子网中的某个处理单元停止工作时不影响其他部件的正常运作。功能上的独立也要求在设计时各个子模块对于时钟(Clock)与电源(Power)的输入相对独立。系统的网络拓扑结构与层次结构(hierarchy)为功能的封装提供了结构上的支持。划分子网的原则就是按照功能的不同而不同的。
各子网中的处理单元对电源管理的支持
图17示出了各子网中的处理单元的电源管理示意图,它包括睡眠状态(Sleeping);工作状态(Running);等待(就绪)状态(Waiting);阻塞状态(Blocking)。当处理单元完成某个任务后从工作状态转移到等待状态,或处理单元在执行条件没有满足的情况下从工作状态转移到阻塞状态,当条件满足后进入等待状态。处理单元在等待状态长时间没有处理请求后转入睡眠状态。
处理单元进入睡眠状态前要保留处理单元自身的状态,如果是处理器,这些状态主要是处理器的寄存器。然后通知服务子网。处理单元从睡眠状态被激活(Active)需要通过外部请求(一般是中断响应,在本系统中是同步信号或消息)。图18示出了微控制器对处理单元的电源管理示意图。
服务子网提供对电源管理的控制
图19示出了服务子网的电源的管理示意图。服务子网收到其它子网中的某些处理单元进入睡眠状态的消息后,可以通过切换提供给子网的时钟频率(Clock)或不提供时钟翻转给该子网或该处理单元;也可以降低该子网或处理单元的工作电压或不提供工作电压。
以上两种手段都需要服务子网从整个系统的角度结合应用的需求作分析,之后采取措施。切换提供给子网的时钟频率(Clock)或不提供时钟翻转是最主要的手段。
以下将分别以MP3音频播放和JPEG图像压缩功能的动态应用为例,具体描述该两种功能在本发明的自适应信息处理系统(以下简称系统)中的实现。
MP3算法(解码)分析
MP3是MPEG中音频编码的第三层(LayerIII),它是基于一个比较复杂的心理声学模型音频数据编解码算法。它比第一层(LayerI)和第二层(LayerII)有更高的压缩率(可达到12∶1)和更好的音质。由于它具有较高的压缩率与较好的音质所以非常适合英特网上(Internet)传播。从英特网上下载并实时播放音频数据要满足以下两个条件:其一,因为英特网的带宽限制,大量的音频数据需要经过压缩,为了提高压缩率一般采用有损压缩的算法,但要保证较低的失真度。其二,解码算法(压缩后还原)可以被具有实时处理能力运算单元实现,这就是说解码算法不能过于复杂,算法易于被软件或硬件加速(ASIC)实现。MP3就是一个比较好的算法,能同时满足以上两点。
MP3支持三种采样率:32KHz,44.1KHz,48KHz。MP3解码算法的帧长为:1152/采样频率(毫秒)。每帧包括1152 PCM样点。解码输出为16比特线性PCM样点。
MP3数据流(解码算法)的分析(离散化)
从英特网上下载并实时播放音频数据的流程包括三个部分:数据下载,数据解码与音频数据回放。图20是表示MP3解码流程的3个步骤的示意图。参见图20,数据下载模块中,系统通过网卡或调制解调器(Modem)以有线或无线的方式接入英特网Internet,通过网络协议下载MP3格式的音频数据。其中,步骤S201,下载音频数据;步骤S202,对音频数据解码;步骤S203,回放音频数据。
图21示出了音频数据下载的流程。根据网络传输与控制协议(TCP/IP),数据下载模块需要分为三个步骤将网络中的数据转成音频数据:步骤S211属于物理实现,通过网卡或调制解调器(Modem)接受与系统的物理地址(MAC)对应(一致)的原始数据到共享内存中,去掉帧头信息将IP包交给步骤2继续处理;步骤2,不同的IP包经过不同的网络路经到达系统的次序不同,需要在步骤2将IP包重新排序组成TCP段交给步骤3;步骤3,最终取出音频数据根据相应的端口号给相应的处理程序。步骤2与步骤3属于逻辑实现。
图22表示一个音频数据解码算法的示意图,它包括四个步骤:位流解包和Huffman解码(S221);逆量化与重定序(S222);联合立体声处理(S223);合成滤波器(S224)。
位流解包和Huffman解码是解码器通过位流解包和Huffman解码可以得到576个频率行(每个声道)的量化值和一些边带信息,如果要解码的Huffman代码位多于必须解码的代码位数目,那么就把这些多出位当成填补位丢弃。
逆量化与重定序是将得到的576个频率行送入逆量化器,在MP3中使用了非正规量化器。非正规量化器采用了乘方规则,即若Huffman解码输出为is,进行逆量化时需要计算|is|4/3,在软件实现中,是通过查表来完成的。若使用短块,则需要进行重定序。
联合立体声处理是在逆量化(重定序)之后,要对MS立体声模式和强度立体声模式(在边带信息中由mode extension的码型得知MS立体声模式和强度立体声模式的关系)下的重构值进行处理。
合成滤波器包括IMDCT合成和多相合成。
图23表示一个音频数据回放示意图,它是将音频数据经过串行输出给D/A转换器,最后将模拟信号输出给放音系统。
MP3音频播放功能在系统中的实现(映射)
图24表示本系统与英特网的联接示意图。系统作为英特网上的一个手持式终端(移动计算平台),它是英特网的延伸。由于系统与英特网(Internet)采用同样的网络拓扑结构,系统与英特网形成了无缝的联接。
芯片内部以网络的拓扑结构实现了一个分布式的计算环境。上面描述的MP3解码算法中的各个处理单元将分别映射到不同的子网中,图25是表示MP3音频播放功能在本系统中的实现的示意图。
图25分为两个部分:上半部分是MP3解码算法的描述,它是系统要实现的某个具体应用之一。它包括网络连接,MP3解码与音频数据回放三个部分;下半部分是系统实现的具体方案。它是以服务子网与共享存储器46为核心,通过数据总线与消息总线44将通讯子网、多媒体子网与输入输出子网串接在一起构成具有网络拓扑结构的分布式计算环境。系统在单芯片中实现(SOC);
图25中还说明了上下两个部分的映射关系,该映射关系表明了MP3解码算法是如何分布在系统框架上的(即系统框架中的哪些处理单元实现了算法中的哪些功能)。错误检测和校正与组帧2511由硬件ASIC2521实现,主要功能是采用奇偶校验检测和校正数据传输中的错误,将物理信号转成数据帧存储在内存中;TCP/IP包头信息分析与转换数据格式2512由在通讯子网中的DSP2522实现,主要功能是提取TCP/IP的包头信息,包头信息用于确定MP3数据流对应的目标应用。如果数据经过加密或需授权才能访问的时候,需经过数据格式转换;位流解码,Huffman解码,逆量化和频谱现定序与联合立体声处理2513由多媒体子网中的处理单元(这里是DSP)2523实现,主要功能对MP3音频数据的解码;合成滤波2517单独由一个DSP2524实现是因为算法中包括大量的并行数据,需要支持SIMD指令集的处理器完成,SIMD(SingleInstruction,Multi Data)是指单条指令能够处理多路相同性质的数据;串行输出与D/A(数模转换)2518由输入输出子网中的硬件ASIC2525实现完成音频数据的回放。
图中的服务子网的各个部件作用如下:
三个同步控制器分别控制各自子网中处理单元的数据流同步。每个同步控制器对应一个或多个同步缓存(环形缓存器)。同步缓存(环形缓存器)是共享存储器46的一块区域,当数据源产生数据时写入同步缓存,数据源指针加一,当数据目标要消费一帧数据时,从同步缓存读取数据,数据目标指针加一。当数据源指针追上数据目标指针时说明同步缓存已满产生上溢(Overflow),上溢说明数据源产生数据的速度大于数据目标消费数据的速度。当数据目标指针追上数据源指针时说明同步缓存已空产生下溢(Underflow),下溢说明数据目标消费数据的速度大于数据源产生数据的速度。下溢与上溢都是异常情况。图26示出了同步缓存的操作示意图。
三个同步控制器用于接受来至数据源(Source)与数据目标(Sink)的同步信号,收到同步信号后数据源指针与数据目标指针分别加一;
三个同步控制器用于协调数据源(Source)与数据目标(Sink)的同步;
三个同步控制器用于将不能处理的异常情况(上溢与下溢)上报给微控制器42;
微控制器用于接受同步控制器给出的异常情况(上溢与下溢);并用于对该异常情况(上溢与下溢)予以处理;
微控制器用于对各个子网中的处理单元或输入输出控制器(IO Controller)予以控制;并用于将异常情况记录在数据库(Data base)中,为CPU对异常情况分析提供依据;
微控制器用于将不能处理的异常情况上报给CPU,不能处理的异常情况是因为产生异常的原因是由数据流中相隔较远的处理单元产生的。
CPU用于接受微控制器不能处理的异常情况,并用于处理该异常情况;
CPU用于接受用于人机接口的输入输出请求;
CPU用于读取数据库中的异常情况记录;
CPU用于分析数据库中的异常情况记录,根据分析的结果调整系统;
CPU用于对系统资源的再分配,系统资源包括处理单元,内存等;
CPU用于对数据流中的数据截取并进行智能的分析,并用于对数据流中的数据截取并存储。
MP3解码的处理过程如下:通讯子网中的硬件处理单元(ASIC)接受来至英特网的信号,并将物理信号转成数据帧,将数据帧存储在共享内存中,发送同步信号给同步控制器A,同步控制器产生同步信号给用于TCP/IP处理的DSP;该DSP收到同步信号后,从共享内存中读取数据,并对TCP/IP包头分析,对需要解密的数据进行格式转换;经过格式转换后将与音频相关的数据存储在共享内存,该共享内存对整个系统可见。之后产生同步信号给同步控制器A,同步控制器A将同步信号转发给同步控制器B,同步控制器B通知多媒体子网中的用于位流解码,Huffman解码,逆量化和频谱现定序与联合立体声处理的DSP模块,位流解码,Huffman解码,逆量化和频谱现定序与联合立体声处理分别对应不同的任务(Task)。几个任务在同一个DSP上执行,有DSP上的任务调度程序,调用并协调不同任务之间的切换。576个采样点的数据分为32路,由支持SIMD(Single Instruction,Multi Data)的DSP完成合成。两个DSP之间的同步由同步控制器B完成。经合成的数据分左右声道存储在整个系统可见的共享存储器中。同步控制器B产生同步信号给输入输出子网中用于串行转换与D/A转换的边解码器(Codec)芯片。Codec芯片收到同步信号后将解码后得到的标准的PCM格式的音频数据输出。
当有异常情况出现时,同步控制器将异常上报给微控制器,微控制器可以通过分布在各个子网中的处理单元(ASIC,DSP)提供的控制寄存器,控制各个处理单元,排除异常情况。有几种方式可以采用:其一,停止或延时处理较快的部件;其二,调整同步缓存(环形缓存器)的大小;其三,使处理较慢的处理单元跳过某些数据帧。微控制器将异常情况记录在系统数据库中,而微控制器仍无法处理的异常提交给CPU。
CPU从更高的层次对系统产生的异常加以分析,通过对系统资源的重新分配,排除异常情况。采取的策略可以是分配空闲的处理器资源达到系统的平衡。也可以是从算法的角度,降低部分算法部件的计算精度,提高系统的实时相应能力。CPU可以通过微控制器读写分布在各个子网中的处理单元(ASIC,DSP)提供的控制寄存器间接的控制与协调系统的工作。
JPEG图像压缩功能在本发明中的实现
图27至32表示JPEG图像压缩功能的动态应用在本发明的自适应信息处理系统(以下简称系统)中的实现。
JPEG压缩算法分析
JPEG是一种静止彩色图像程灰试验图像的压缩标准,它是为连续色调图像的压缩提供公共标准而设计的。这种标准能够产生由各种多媒体存储和通信应用所使用的灰度图像、摄影图像及静止视频压缩文件。JPEG是一种对称算法,因为解压缩完全是压缩的逆过程。编码器的输入为源图像数据和表说明,输出为压缩图像数据;解码器的输入为压缩图像数据和表说明,输出为重构图像数据。源图像和重构图像都是连续色调的,它们由多个分量组成(彩色图像由多个分量组成,如RGB;灰色图像只由一个分量组成)。JPEG标准是针对多分量图像而设计的,它以一种灵活的独立于应用的方法来处理图像数据。我们采用YUV彩色空间的图像作为源图像和重构图像。
视频会议(Netmeeting)数据流的分析(离散化)
图27是表示用JPEG实现视频会议功能的流程图,它包括三个部分:CCD数据采集271,JPEG压缩272,数据传输273。
CCD数据采集模块271中,CCD采样到的数据是一个RGB的分量代表一个点,经过插值(Interpolation)模块后每个点用RGB三个分量表示;通过抽取其中的像素,可以达到变换图像大小的作用(Scaling)。在色变换(ColorConversion)模块中,如图28所示,通过矩阵计算将数据从RGB转换到YUV格式。
图29是表示JPEG压缩流程的示意图。参见图29,经余弦变换产生DCT系数;DCT系数量化后,有意义的值(非零值)都集中在矩阵的左上角。之字形序列(Zigzag)通过重新排序游程,可以使游程中零值的长度增加,以此进一步提高压缩率;最后经Huffman编码输出。
图30是表示USB传输流程的示意图。参见图30,数据输出是将压缩后的数据经USB上传到PC。由于USB在传输过程中数据可能丢失或有错误,系统需要对数据流进行重新同步和出错恢复(Error Recover)。这里提供两个不同阶段的同步手段:第一是以每帧画面同步;第二是以JPEG最小的解码单元MCU同步。
图31是表示视频会议在本发明的系统中的实现的示意图。其中,芯片内部以网络的拓扑结构实现了一个分布式的计算环境。上面描述的JPEG压缩算法中的各个处理单元将分别映射到不同的子网(Subnet)中。
图31分为两个部分:上半部分是JPEG压缩算法的描述,它是系统要实现的某个具体应用之一。它包括CCD数据采集271,JPEG压缩272与数据输出273三个部分;下半部分是系统实现的具体方案。它是以服务子网与共享存储器46为核心,通过数据总线与消息总线44将多媒体子网401与输入输出子网403串接在一起构成具有网络拓扑结构的分布式计算环境。系统在单芯片中实现(SOC)。
图中还说明了上下两个部分的映射关系,该映射关系表明了JPEG压缩算法是如何分布在系统框架上的(即系统框架中的哪些处理单元实现了算法中的哪些功能)。CCD数据采集部分271是由CCD控制器采集数据,插值(Interpolation),缩放比例(Scaling),色变换(Color Conversion)是由ISC模块(ASIC)实现,由于输入流与输出流速率相等不需要同步模块。JPEG压缩由多媒体子网401的DSP实现,由于需要大量矩阵运算DSP的设计采用大的寄存器组,并且提供多媒体指令的支持。将一帧数据压缩完后,产生同步信号给同步控制器B;同步控制器B用信号触发多媒体子网401的另一个DSP,该DSP将数据分成USB的包(包长1023字节)。由同步控制器B触发输入输出子网403中的USB控制器,USB控制器的DMA将数据上传至USB数据总线上。
图中的服务子网404的各个部件作用如下:
三个同步控制器分别控制各自子网中处理单元的数据流同步。每个同步控制器对应一个或多个同步缓存(环形缓存器)。同步缓存(环形缓存器)是共享存储器46的一块区域,当数据源产生数据时写入同步缓存,数据源指针加一,当数据目标要消费一帧数据时,从同步缓存读取数据,数据目标指针加一。当数据源指针追上数据目标指针时说明同步缓存已满产生上溢(Overflow),上溢说明数据源产生数据的速度大于数据目标消费数据的速度。当数据目标指针追上数据源指针时说明同步缓存已空产生下溢(Underflow),下溢说明数据目标消费数据的速度大于数据源产生数据的速度。下溢与上溢都是异常情况。参见图26表示同步缓存的操作示意图。
三个同步控制器用于接受来自数据源(Source)与数据目标(Sink)的同步信号,收到同步信号后数据源指针与数据目标指针分别加一;
三个同步控制器用于协调数据源(Source)与数据目标(Sink)的同步,并用于将不能处理的异常情况(上溢与下溢)上报给微控制器42。
微控制器用于接受同步控制器给出的异常情况(上溢与下溢),并用于对同步控制器给出的异常情况(上溢与下溢)予以处理;
微控制器用于对各个子网中的处理单元或输入输出控制器予以控制;
微控制器用于将异常情况记录在数据库中,为CPU对异常情况分析提供依据,并用于将不能处理的异常情况上报给CPU,不能处理的异常情况是因为产生异常的原因是由数据流中相隔较远的处理单元产生的。
CPU用于接受微控制器不能处理的异常情况,并用于处理微控制器不能处理的异常情况;
CPU用于接受用于人机接口的输入输出请求;
CPU用于读取数据库中的异常情况记录;
CPU用于分析数据库中的异常情况记录,根据分析的结果调整系统;
CPU用于对系统资源的再分配,系统资源包括处理单元,内存等;
CPU用于对数据流中的数据截取并进行智能的分析,并用于对数据流中的数据截取并存储。
当有异常情况出现时,同步控制器将异常上报给微控制器,微控制器可以通过分布在各个子网中的处理单元(ASIC,DSP)提供的控制寄存器,控制各个处理单元,排除异常情况。有几种方式可以采用:其一,停止或延时处理较快的部件;其二,调整同步缓存(环形缓存器)的大小;其三,使处理较慢的处理单元跳过某些数据帧。微控制器将异常情况记录在系统数据库中,而微控制器仍无法处理的异常提交给CPU。
CPU从更高的层次对系统产生的异常加以分析,通过对系统资源的重新分配,排除异常情况。采取的策略可以是分配空闲的处理器资源达到系统的平衡。也可以是从算法的角度,降低部分算法部件的计算精度,提高系统的实时相应能力。CPU可以通过微控制器读写分布在各个子网中的处理单元(ASIC,DSP)提供的控制寄存器间接的控制与协调系统的工作。
以上分别描述了本发明的自适应信息处理系统的原理和构成以及MP3音频播放功能及JPEG图像压缩功能的动态应用在本发明的自适应信息处理系统中的实现,需要指出的是这些应用仅仅是本发明的自适应信息处理系统的具体应用的特例。根据本发明的上述内容,本领域的熟练人员还可以对本发明及其应用作进一步的变换,但这些变换均属于本发明的范围。

Claims (9)

1.一种具有网络拓扑结构的信息处理系统,包括:
a.系统服务子网络,它包括:
      用于系统管理、协调和智能处理的中央处理单元;
      为系统提供中断响应和中断服务,并用以协调系统中各处理器
单元工作的微控制器;
      连接到所述微控制器,用以同步系统中模块与模块之间的实时
数据流交换的同步控制器;
      由消息总线和模块间的硬实时同步信号线组成的系统服务信
道,用以传输包括中断、同步在内的系统服务消息,所述中央处理
单元、微控制器和同步控制器构成一系统服务层并通过所述服务信
道相连接,
b.至少一个面向应用的处理子网络,它包括:
      处理资源再分配与数据流高层次分析的处理器;
      用以在微控制器与处理器之间交换数据的共享存储器;
      提供数据输入的数据源装置;
      提供数据输出的数据目标装置,
      所述处理器、共享存储器、数据源装置和数据目标装置分别经
  由各条总线连接到所述消息总线,
c.用于传输数据的系统总线,其中,所述系统服务子网络和应用处理子网络分别通过不同速率的数据总线连接到系统总线。
2.如权利要求1所述的信息处理系统,其特征在于,所述微控制器包括由通用寄存器及算术与逻辑运算单元组成的RISC芯片以及中断控制器。
3.如权利要求2所述的信息处理系统,其特征在于,所述微控制器还包括接受来自同步控制器的异常处理信息的第一接口,将控制信息发送给同步控制器的第二接口,以及将异常处理消息转发给中央处理单元的第三接口。
4.如权利要求1所述的信息处理系统,其特征在于,所述同步控制器由包含生产量计数器和消费量计数器在内的专用集成电路实现。
5.如权利要求1所述的信息处理系统,其特征在于,所述信息总线遵循系统信息传送协议并与系统中各相关模块相连接,以事件形式传送中断信息及与之相关的数据包。
6.如权利要求1所述的信息处理系统,其特征在于,所述共享存储器实体分布于各个应用处理子网络中,并允许相关处理器跨域访问。
7.如权利要求1所述的信息处理系统,其特征在于,所述应用处理子网络包括由中央处理单元和系统存储器构成的智能处理子网络。
8.如权利要求1所述的信息处理系统,其特征在于,所述应用处理子网络包括通信子网络、多媒体子网络和/或输入输出子网络。
9.如权利要求1所述的信息处理系统,其特征在于,所述处理器含有电源管理寄存器,所述微控制器含有电源管理代码并通过信息总线与各相关输入输出装置对应的电源管理寄存器相连接。
CNB001258605A 2000-10-26 2000-10-26 具有网络拓扑结构的自适应信息处理系统 Expired - Fee Related CN1173280C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNB001258605A CN1173280C (zh) 2000-10-26 2000-10-26 具有网络拓扑结构的自适应信息处理系统
AU2002221452A AU2002221452A1 (en) 2000-10-26 2001-10-26 Self-adapting information processing system having network topology
PCT/CN2001/001505 WO2002039287A1 (fr) 2000-10-26 2001-10-26 Systeme de traitement de signaux auto-adaptatif presentant une topologie de reseau

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB001258605A CN1173280C (zh) 2000-10-26 2000-10-26 具有网络拓扑结构的自适应信息处理系统

Publications (2)

Publication Number Publication Date
CN1351297A true CN1351297A (zh) 2002-05-29
CN1173280C CN1173280C (zh) 2004-10-27

Family

ID=4591642

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001258605A Expired - Fee Related CN1173280C (zh) 2000-10-26 2000-10-26 具有网络拓扑结构的自适应信息处理系统

Country Status (3)

Country Link
CN (1) CN1173280C (zh)
AU (1) AU2002221452A1 (zh)
WO (1) WO2002039287A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1308865C (zh) * 2002-08-02 2007-04-04 无敌科技股份有限公司 具有延展性的客户数据系统及其方法
CN100338546C (zh) * 2004-06-07 2007-09-19 恩益禧电子股份有限公司 阶层型模块
CN100351823C (zh) * 2003-07-18 2007-11-28 北京航空航天大学 协作信息总线的实现方法
CN100412849C (zh) * 2005-01-11 2008-08-20 Ut斯达康通讯有限公司 分布式多处理器系统及其上对等关联状态机间通讯的方法
CN100438463C (zh) * 2003-12-24 2008-11-26 联想(北京)有限公司 一种网络连接的自适应方法
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
CN103117958A (zh) * 2013-01-08 2013-05-22 北京百度网讯科技有限公司 网络数据包聚集方法、系统及装置
CN103246495A (zh) * 2012-02-08 2013-08-14 纬创资通股份有限公司 电脑系统及电脑系统处理的方法
CN108121683A (zh) * 2017-11-08 2018-06-05 国电南瑞科技股份有限公司 基于多核架构高速差分总线的无缝切换快速自恢复方法
CN110995280A (zh) * 2019-12-19 2020-04-10 北京遥测技术研究所 一种并行Viterbi译码器
CN113568996A (zh) * 2021-07-29 2021-10-29 西安恒歌数码科技有限责任公司 一种基于osgEarth的多图层掉帧优化方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100259276B1 (ko) * 1997-01-27 2000-06-15 윤종용 대역폭확장이 가능한 상호연결망
JP2002530745A (ja) * 1998-11-19 2002-09-17 テラグローバル・コミュニケイションズ・コーポレーション 演算兼通信の統一アーキテクチャ(ucca)
US6324613B1 (en) * 1999-01-05 2001-11-27 Agere Systems Guardian Corp. Port router

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1308865C (zh) * 2002-08-02 2007-04-04 无敌科技股份有限公司 具有延展性的客户数据系统及其方法
CN100351823C (zh) * 2003-07-18 2007-11-28 北京航空航天大学 协作信息总线的实现方法
CN100438463C (zh) * 2003-12-24 2008-11-26 联想(北京)有限公司 一种网络连接的自适应方法
US7774600B2 (en) 2004-06-03 2010-08-10 Intel Corporation Launching a secure kernel in a multiprocessor system
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
CN1704922B (zh) * 2004-06-03 2010-05-05 英特尔公司 一种在多处理器系统中启动安全内核的方法
US7725713B2 (en) 2004-06-03 2010-05-25 Intel Corporation Launching a secure kernel in a multiprocessor system
US7757081B2 (en) 2004-06-03 2010-07-13 Intel Corporation Launching a secure kernel in a multiprocessor system
US7770005B2 (en) 2004-06-03 2010-08-03 Intel Corporation Launching a secure kernel in a multiprocessor system
US8250364B2 (en) 2004-06-03 2012-08-21 Intel Corporation Launching a secure kernel in a multiprocessor system
CN100338546C (zh) * 2004-06-07 2007-09-19 恩益禧电子股份有限公司 阶层型模块
CN100412849C (zh) * 2005-01-11 2008-08-20 Ut斯达康通讯有限公司 分布式多处理器系统及其上对等关联状态机间通讯的方法
CN103246495B (zh) * 2012-02-08 2016-03-23 纬创资通股份有限公司 电脑系统及电脑系统处理的方法
CN103246495A (zh) * 2012-02-08 2013-08-14 纬创资通股份有限公司 电脑系统及电脑系统处理的方法
CN103117958A (zh) * 2013-01-08 2013-05-22 北京百度网讯科技有限公司 网络数据包聚集方法、系统及装置
CN103117958B (zh) * 2013-01-08 2015-11-25 北京百度网讯科技有限公司 网络数据包聚集方法、系统及装置
CN108121683A (zh) * 2017-11-08 2018-06-05 国电南瑞科技股份有限公司 基于多核架构高速差分总线的无缝切换快速自恢复方法
CN108121683B (zh) * 2017-11-08 2021-08-13 国电南瑞科技股份有限公司 基于多核架构高速差分总线的无缝切换快速自恢复方法
CN110995280A (zh) * 2019-12-19 2020-04-10 北京遥测技术研究所 一种并行Viterbi译码器
CN113568996A (zh) * 2021-07-29 2021-10-29 西安恒歌数码科技有限责任公司 一种基于osgEarth的多图层掉帧优化方法及系统
CN113568996B (zh) * 2021-07-29 2023-05-16 西安恒歌数码科技有限责任公司 一种基于osgEarth的多图层掉帧优化方法及系统

Also Published As

Publication number Publication date
WO2002039287A1 (fr) 2002-05-16
CN1173280C (zh) 2004-10-27
AU2002221452A1 (en) 2002-05-21

Similar Documents

Publication Publication Date Title
CN1173280C (zh) 具有网络拓扑结构的自适应信息处理系统
CN1113289C (zh) 能执行多异步运行任务中的异步事件任务的处理器
CN1287283C (zh) 调度方法和信息处理系统
CN1185592C (zh) 并行处理器结构
CN1192314C (zh) 并行处理器结构的sram控制器
CN1287282C (zh) 执行实时操作的方法和系统
CN1577311A (zh) 调度方法和实时处理系统
CN1296818C (zh) 用于多线程并行处理器的指令
CN1601474A (zh) 执行实时操作的方法和系统
CN1199109C (zh) 通过重排序存储器请求提高总线利用率的存储器控制器
CN1273890C (zh) Arm处理器架构的微内核设计方法
CN1846194A (zh) 一种在处理器中执行的计算线程的暂停与解除分配的整合机制
CN1194406A (zh) 具总线调停机制的高速处理器系统
CN1387641A (zh) 并行处理器中的多线程执行
CN1581023A (zh) 实现实时操作的方法和系统
CN1387644A (zh) 并行处理器体系结构的sdram控制器
CN1436333A (zh) 支持无线手持多媒体设备的集成处理器平台
CN1348564A (zh) 分优先级访问外部装置的方法和设备
CN104115093A (zh) 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统
CN1174319C (zh) 数据结构管理装置、数据结构管理系统和方法
CN101051301A (zh) 用于操作计算机处理器阵列的方法和装置
CN1233016A (zh) 具有事件相关矢量选择的历境控制器和采用其的处理器
CN1333891A (zh) 利用页标志寄存器跟踪存储器装置内物理页的状态
CN1292366C (zh) 用于使用多个处理器操纵数据的系统和方法
CN1435036A (zh) 集成的接入设备控制器

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041027

Termination date: 20111026