具体实施方式
图1是计算设备10一实施例的结构示意图,包括:手持计算单元12以及扩展计算单元14。手持计算单元12具有与移动电话、个人数字助理、个人数字音频/视频播放器等类似的形状因子,并具有与扩展计算单元14的插接插座16相连的连接结构。
大体上说,手持计算单元12包括初级处理模块(中央处理单元)、初级主存储器、以及用于计算设备10的初级硬盘存储器。因此,当手持计算单元12插接入扩展计算单元时它起着个人电脑或笔记本电脑的核心的作用,当它未插接入扩展计算单元时,可作为移动电话、GPS接收器、个人数字音频播放器、个人数字视频播放器、个人数字助理和/或其他手持电子设备使用。
此外,当手持计算单元12插接入扩展计算单元14时,二者之间可进行文件和/或应用程序的交换。例如,假设计算设备10的用户利用演讲软件制作了演讲文件并且存放在扩展计算设备14的存储器内。用户可将演讲文件以及演讲软件传输到手持计算设备12的存储器内。如果手持计算设备12有足够的空间用来存放演讲文件以及应用程序,那么会将相关文件从扩展计算单元存储器拷贝到手持计算设备的存储器内。如果在手持计算单元内没有足够的存储空间,那么用户需要从手持计算单元存储器内转移一部分应用程序和/或文件到扩展计算单元存储器内以便腾出足够的空间。
由于手持计算单元12包含有计算设备10所用的初级组件,因此对于应用程序和/或文件来说只需保留一个备份以供PC机、笔记本电脑以及其他手持设备(TV、数字音频/视频播放器、移动电话、PDA、GPS接收器等)所用。此外,由于只存在应用程序和/或文件的一个备份(除了期望进行的备份外),因此不再需要专门的软件将应用程序和/或文件从PC机转移到手持设备。因此,手持计算单元12的处理模块、主存储器、以及I/O接口为PC和/或笔记本电脑、移动电话、PDA、GPS接收器、个人数字音频播放器、个人数字视频播放器等提供了一种单核架构。
图2是本发明一实施例通信系统中手持计算单元12接插入扩展计算单元14的结构示意图。在本实施例中,通信系统包括以下一个或多个:无线局域网(WLAN)路由器28、与因特网38相连的调制解调器36、娱乐服务器30(即是与电影、音乐、视频游戏等的数据库相连的服务器)、娱乐接收器32、娱乐组件34(扬声器系统、电视监视器和/或投影仪、DVD播放器或更新版本、VCR、卫星机顶盒、有线电视机顶盒、视频游戏操纵杆)、以及网络(VoIP)电话26。作为WLAN路由器28的代替组件或附加组件,该系统还可包括与扩展计算单元14相连的局域网路由器。
如图所示,扩展计算单元14与监视器18、键盘20、鼠标22以及打印机24相连。扩展计算单元14还可以其他设备相连(图中未示出),例如,跟踪球、触摸屏、游戏设备(摇杆、游戏板、游侠控制器等)、图像扫描仪、网络摄像头、麦克风、扬声器和/或耳机。此外,扩展计算单元14还可具有与个人电脑和/或笔记本电脑类似的形状因子。例如,对于家用或者办公所用,需要使用具有与PC机相类似的形状因子的扩展计算单元。对于旅行用户所用的另一例子,则更需要具有与笔记本电脑相类似的形状因子。
在本例中,手持计算单元12插接入扩展计算单元14,共同作用来提供计算设备10。手持计算单元12与扩展计算单元14之间的插接包括一种或多种二者之间的高速连接。这种高速连接可以通过电连接器、RF连接器(如图45中所述)、电磁连接器(图46中所述)、和/或上述几种连接器的组合来提供。在这种模式下,手持计算单元12与扩展计算单元14共同作用,类似于具有WLAN卡以及移动电话卡的PC机和/或笔记本电脑。
在这种模式下,手持计算单元12能够收发蜂窝RF通信40(例如语音和/或数据通信)。输出的语音信号来源于VoIP通信44的VoIP电话26或者与扩展计算单元14相连的麦克风。输出语音信号会被转换为数字信号,并且随后又被转换为输出RF信号。输入RF信号会被转换为输入数字音频信号并被提供给扩展计算单元14内的声卡用于通过扬声器表现出来或者提供给VoIP电话作为VoIP通信44的一部分。
输出数据信号来源于与扩展计算单元14相连的鼠标22、键盘20、图像扫描仪等。输出数据信号先被转换为数字信号,随后被转换为输出RF信号。输入RF信号被转换为输入数据信号并被提供给监视器18、打印机24、和/或其它字符表现设备。
此外,手持计算单元12可提供与WLAN路由器28相连的WLAN收发器以用于支持计算设备10所用的WLAN RF通信42。WLAN通信42用于通过调制解调器36接入因特网38,接入到娱乐服务器,和/或接入到娱乐接收器32。例如,WLAN通信42可用于支持网上冲浪、接收邮件、发送邮件、接入网上帐户、接入在线游戏、接入在线用户文件(例如,数据库、备份文件等),下载音乐文件、下载视频文件、下载软件等。作为另一例子,计算设备10(即手持计算单元12和扩展计算单元14)可利用WLAN通信42在娱乐服务器上获取和/或存储音乐和/或视频文件,和/或接入到一个或多个娱乐组件34和/或娱乐接收器32。
图3是本发明一实施例通信系统中手持计算单元12半插接入扩展计算单元14的结构示意图。在本实施例中,通信系统包括以下一个或多个:无线局域网(WLAN)路由器28、与因特网38相连的调制解调器36、娱乐服务器30(即是与电影、音乐、视频游戏等的数据库相连的服务器)、娱乐接收器32、娱乐组件34(扬声器系统、电视监视器和/或投影仪、DVD播放器或更新版本、VCR、卫星机顶盒、有线电视机顶盒、视频游戏操纵杆)、以及网络(VoIP)电话26。作为WLAN路由器28的代替组件或附加组件,该系统还可包括与扩展计算单元14相连的局域网路由器。
又如图所示,扩展计算单元14与监视器18、键盘20、鼠标22以及打印机24相连。扩展计算单元14还可以其他设备相连(图中未示出),例如,跟踪球、触摸屏、游戏设备(摇杆、游戏板、游侠控制器等)、图像扫描仪、网络摄像头、麦克风、扬声器和/或耳机。此外,扩展计算单元14还可具有与个人电脑和/或笔记本电脑类似的形状因子。
在本例中,手持计算单元12半插接46入扩展计算单元14,其中的手持计算单元12用作独立的计算机,具有有限的资源(例如,手持计算单元的处理模块、用户输入/输出、主存储器等)并且对扩展计算单元14的存储器的接入也受到一定限制。手持计算单元12与扩展计算单元14之间的半插接46可以通过RF通信来提供,其中,手持计算单元12的RF收发器与扩展计算单元14的RF收发器之间进行通信。手持计算单元对扩展计算单元14存储器内的文件和/或应用程序的访问取决于上述RF连接的比特率。此外,手持计算单元12能够指挥扩展计算单元14的处理模块执行远程协作处理功能,但是手持计算单元12与扩展计算单元14的处理模块并不会像处于插接模式时那样作为一个多处理模块结合工作。
作为替代,上述半插接模式还可通过手持计算单元12与扩展计算单元14之间的WLAN通信42和WLAN路由器28实现。作为另一例子,半插接模式还可以由通过因特网38的数据蜂窝RF通信40连接到扩展计算单元14来获得。
在这种模式下,手持计算单元12能够收发蜂窝RF通信40(例如语音和/或数据通信)。输出的语音信号来源于手持计算单元12的麦克风。输出语音信号会被转换为数字信号,并且随后又被转换为输出RF信号。输入RF信号会被转换为输入数字音频信号并被提供给手持计算单元12的扬声器或者耳机。
输出数据信号来源于手持计算单元12的键盘或触摸屏。输出数据信号先被转换为数字信号,随后转换为输出RF信号。输入RF信号先被转换为输入数据信号,随后被提供给手持显示器和/或其他手持字符表现设备。
此外,手持计算单元12可提供与WLAN路由器28相连的WLAN收发器以用于支持计算设备10所用的WLAN RF通信42。WLAN通信42用于通过调制解调器36接入因特网38,接入到娱乐服务器,和/或接入到娱乐接收器32。例如,WLAN通信42可用于支持网上冲浪、接收邮件、发送邮件、接入网上帐户、接入在线游戏、接入在线用户文件(例如,数据库、备份文件等),下载音乐文件、下载视频文件、下载软件等。另一例子,计算设备10可利用WLAN通信42在娱乐服务器上获取和/或存储音乐和/或视频文件,和/或接入到一个或多个娱乐组件34和/或娱乐接收器32。
图4是本发明一实施例中相对于扩展计算单元14处于远程模式的手持计算单元12的结构示意图。在这种模式下,手持计算单元12与扩展计算单元14之间没有任何通信。因此,扩展计算单元14处于停用状态,并且手持计算单元12作为独立的计算设备工作。
图5是本发明另一实施例通信系统中手持计算单元12插接入扩展计算单元14的结构示意图。手持计算单元12包括:手持处理模块50、手持主存储器52、手持硬盘/闪存54、基带处理器56、射频(RF)单元58、手持随机存储器(RAM)60、手持只读存储器(ROM)62、时钟生成器64、手持输入/输出接口(例如,手持音频I/O接口66、手持视频和/或图形I/O接口68、以及手持数据I/O接口70),以及手持I/O组件(例如,手持麦克风72、手持扬声器74、手持显示器76、手持键盘和/或触摸屏78)、手持总线结构75以及手持连接结构110。
扩展计算单元14包括:扩展处理模块80、扩展主存储器82、扩展硬盘/闪存84、扩展随机存储器(RAM)86、扩展只读存储器(ROM)88、从时钟电路90、扩展输入/输出接口(例如,扩展音频I/O接口92、扩展视频和/或图形I/O接口94、以及扩展数据I/O接口96),以及扩展I/O组件(例如,扩展麦克风98、扩展扬声器100、扩展显示器102(其可以是监视器18和/或打印机24)、扩展键盘/鼠标104(其可以是键盘20和鼠标22)),以及扩展连接结构110、扩展总线结构112、射频识别(RFID)标签108。
在手持计算单元12内,处理模块50和基带处理模块56可以是相互独立的处理模块或者同一处理模块。此种处理模块可以是单一处理设备或者多个处理设备,其中,所述处理设备可以是微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、FPGA、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路、和/或其它利用基于电路和/或可运行指令的硬件编码信号(模拟和/或数字信号)的设备。处理模块可包含辅助存储器和/或存储组件,可以是单一存储设备、多个存储设备、和/或嵌入到处理模块内的电路。此种存储设备可以是只读存储器、随机存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、缓存、和/或其他存有数字信息的任何设备。当处理模块通过状态机、模拟电路、数字电路和/或逻辑电路执行一项或多项功能时,存有相应可运行指令的的存储器和/或存储组件可嵌入或外接到包含有状态机、模拟电路、数字电路和/或逻辑电路的电路内或上。进一步,存储组件存储的以及处理模块运行的是与图1-47所描述步骤和/或功能相对应的硬件代码和/或操作指令。
在手持计算单元12内,手持主存储器52包含一个或多个RAM集成电路和/或电路板。所述RAM可以是静态RAM(SRAM)和/或动态RAM(DRAM)。手持硬盘/闪存54可以是一个或多个硬盘、软盘、光盘、NOR闪存、NAND闪存和/或其他非易失性存储器。时钟生成电路64可以是下列一个或多个:锁相电路、晶振电路、分数-N(fractional-N)合成器、和/或共振电路-放大电路,其中,共振器可以是石英压电振荡器、谐振回路或者电阻-电容电路。不管时钟生成电路64是如何实现的,时钟生成电路64能够生成提供给从时钟电路90的主时钟信号,并且生成用于手持计算单元12的时钟信号。此种时钟信号包括但不仅限于:总线时钟、读/写时钟、处理模块时钟、本地振荡以及I/O时钟。
手持ROM 62存储有供计算设备10(即手持计算单元12以及扩展计算单元14)所用的基本输入/输出系统(BIOS)程序。ROM 62可以是电子可擦除可编程存储器(EEPROM)、可编程ROM(PROM)和/或闪速ROM中的一个或多个。
本实施例中的,接口包括供设备接入到手持计算单元和/或扩展计算单元的总线的硬件和/或软件。例如,接口软件可包括设备驱动,硬件可包括信号转换电路、电平转换器等。在手持计算单元内,手持音频I/O接口66可包括音频编解码器、音量控制电路、和/或麦克风偏压和/或放大电路以将手持麦克风72和/或手持扬声器74连接到手持总线结构75。手持视频I/O接口68可包括:视频编解码器、图形引擎、显示驱动器等,以用于将手持显示器连接到手持总线结构75等。手持数据I/O接口70可包括图形引擎、显示驱动器、键盘驱动器、触摸屏驱动器等,用于将手持显示器76和/或手持键盘78连接到手持总线结构75。
在扩展计算单元14内,扩展处理模块可以是单一处理设备或者多个处理设备,其中,处理设备可以是微处理、微控制器、数字信号处理器、微型计算机、中央处理单元、FPGA、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路、和/或其它利用基于电路和/或可运行指令的硬件编码信号(模拟和/或数字信号)的设备。处理模块可包含辅助存储器和/或存储组件,可以是单一存储设备、多个存储设备、和/或嵌入到处理模块内的电路。此种存储设备可以是只读存储器、随机存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、缓存、和/或其他存有数字信息的任何设备。当处理模块通过状态机、模拟电路、数字电路和/或逻辑电路执行一项或多项功能时,存有相应可运行指令的的存储器和/或存储组件可嵌入或外接到包含有状态机、模拟电路、数字电路和/或逻辑电路的电路内或上。进一步,存储组件存储的以及处理模块运行的是与图1-47所描述步骤和/或功能相对应的硬件代码和/或操作指令。
在扩展计算单元14内,扩展主存储器86包括一个或多个RAM集成电路和/或电路板。RAM可以是静态RAM和/或动态RAM。注意,当手持计算单元拥有足够的存储空间时,扩展主存储器86以及扩展RAM86可以被忽略。扩展硬盘/闪存86可以是一个或多个硬盘、软盘、光盘、NOR闪存、NAND闪存和/或其他非易失性存储器。从时钟电路90可以是锁相电路(PLL)、时钟分频器、和/或时钟倍频器,用于接收主时钟信号并且根据接收到的主时钟信号生成用于扩展计算单元14的时钟信号。此种时钟信号包括但不仅限于:总线时钟、读/写时钟、处理模块时钟、本地振荡以及I/O时钟。
扩展ROM 88可以是电子可擦除可编程存储器(EEPROM)、可编程ROM(PROM)和/或闪速ROM中的一个或多个。需要注意的是,如果手持ROM 62具有足够的空间来容纳存储在非易失性存储器中的BIOS系统以及其他系统数据时,扩展ROM 88可被忽略。
扩展音频I/O接口92可包括声卡以及将扩展麦克风98和/或扩展扬声器100连接到手持和/或扩展总线结构75和/或112的相应驱动器。扩展视频I/O接口94可包括视频编解码器、图形卡、图形控制单元、显示驱动器等用于将扩展显示器102(监视器18)连接到手持和/或扩展总线结构75和/或112的设备。扩展数据I/O接口98可包括图形卡、图形控制单元、显示驱动器、键盘和鼠标驱动器、触摸屏驱动器等用于将扩展显示器104和/或扩展键盘/鼠标104连接到手持和/或扩展总线结构75和/或112的设备。
RFID标签108用于在扩展计算单元14处于停用状态时提供到扩展计算单元14的RF通信连接。所述RFID标签108的实现在2006年3月31日申请的美国专利申请11/394,808“功率产生电路(power generating circuit)”中给出了描述。利用RFID标签的通信将在图23-25中进一步详细描述。
当计算设备10处于无线传输的活动状态时,基带处理模块56以及RF单元58都处于活动状态。例如,对于蜂窝语音通信来说,基带处理模块56根据一项或多项现有的无线通信标准、新无线通信标准、或者它们的改进或扩展标准(例如,GSM、AMPS、数字AMPS、CDMA等)将输出语音信号转换为输出语音符号流。基带处理模块56将会完成以下任务中的一项或多项,包括:加扰、编码、群集(constellation)、调制、频展、跳频、波束赋形、空-时-块编码、空-频-块编码和/或数字基带到IF的转换,从而实现将输出语音信号转换为输出语音符号流。基带处理模块56会根据输出语音符号流的需要格式按笛卡尔坐标(例如,通过同相信号分量以及正交信号分量来表示符号)、极坐标(例如,通过相位分量以及振幅分量来表示符号)或者混合坐标系来生成输出语音符号流,其中该混合坐标系在2006年3月24日申请的美国专利申请11/388,822“混合射频发射器(hybrid radio frequency transmitter)”以及2006年7月26日申请的美国专利申请11/494,682“可编程混合发射器(programmablehybrid transmitter)”中已有公开。
RF单元58根据一项或多项现有的无线通信标准、新无线通信标准、或者它们的改进或扩展标准(例如,GSM、AMPS、数字AMPS、CDMA等)将输出语音符号流转换为输出RF语音信号。在一实施例中,RF单元58接收笛卡尔坐标系的输出语音符号流。在本实施例中,RF单元58将输出语音符号流中的同相分量与同相本地振荡进行混合生成第一混合信号,并将输出语音符号流中的正交分量混合生成第二混合信号。RF单元58将第一混合信号与第二混合信号合并生成上转换语音信号。RF单元58随后将上述上转换语音信号进行放大,生成提供给天线单元的输出RF语音信号。需要注意的是,在RF单元的输出到天线单元的输入之间,信号还会经历进一步的放大处理。
在其它实施例中,RF单元58接收极坐标或混合坐标系的输出语音符号流。在这些实施例中,RF单元58会基于输出语音符号流的相位信息对本地振荡进行调制以生成调相RF信号。RF单元58随后根据输出语音符号流的放大信息对上述调相RF信号进行放大以生成输出RF语音信号。作为替代,RF单元58可根据功率级的设定来对调相RF信号进行放大,生成输出RF语音信号。
对于输入语音信号来说,RF单元58通过天线单元接收输入RF语音信号。RF单元58将输入RF语音信号转换为输入语音符号流。在实施例中,RF单元58从输入RF语音信号中提取出笛卡尔坐标以生成输入语音符号流。在另一实施例中,RF单元58从输入RF语音信号中提取出极坐标以生成输入语音符号流。同样在其他实施例中,RF单元58从输入RF语音信号中提取出混合坐标以生成输入语音符号流。
基带处理模块56将输入语音符号流转换为输入语音信号。基带处理模块会完成以下中的一项或多项:解扰、解码、群集去映射、调制、展频解码、跳频解码、波束赋形解码、空-时-块解码、空-频-块解码和/或从IF到基带信号的转换,以便将总线结构75上的输入语音符号流转换为输入语音信号。
基带处理模块56以及RF单元完成类似于数据通信和WLAN通信的数据处理工作。对于数据通信来说,基带处理模块56和RF单元根据一种或多种蜂窝数据协议(例如但不限于,EDGE、GPRS、HSDPA、HSUPA、更新版本和/或上述协议的取代协议)进行运作。对于WLAN通信来说,基带处理模块56和RF单元58根据一种或多种无线通信协议(例如但不仅限于:IEEE802.11(a)、(b)、(g)、(n),蓝牙、ZigBee、RFID等)进行运作。
当计算设备10执行一项或多项用户应用程序(如文字处理、电子表格处理、演讲处理、电子邮件、网页浏览、数据库、电子日历、视频游戏、数字音频回放、数字视频回放、数字音频录音、数字视频录像、管理程序、记事本、网页收藏夹、资金管理程序等)时,手持处理模块50以及扩展处理模块80会作为多处理模块共同运作,并且手持存储器52和扩展存储器82会作为组合存储器进行工作。此外,手持硬盘/闪存54以及扩展硬盘/闪存84会作为组合硬盘/闪存运作。
例如,多处理模块通过手持处理模块50和扩展处理模块80提供多处理服务。在这种配置状态下,处理模块50和80可分享和/或执行多个并行的软件进程。进一步,处理模块50和80是平等的,其中的一个可被预留以用于一种或多种特定目的;二者可以紧连接也可以松散连接。例如,在操作系统的层面上,手持处理模块50可以对扩展处理模块80发起的所有的中断、转移、和/或服务调用进行响应。另一例子中,在用户层面,处理模块可以对称多处理模式、非对称多处理模式、非一致存储器接入多处理模式,和/或团聚多处理模式运作。
对于指令和数据流,处理模块50和80可在多背景下执行单一序列的指令(单一指令,多数据或SIMD),可在单一背景下执行多序列指令(多指令,单一数据或MISD),或者多背景下执行多序列指令(多指令,多数据或MIMD)。
计算设备10包含有虚拟存储技术、重叠和/或交换技术,用于为一项或多项用户应用程序使用组合主存储器以及硬盘/闪存。在实施例中,虚拟存储器的虚拟地址空间被划分为多个页面(例如,4K-Byte块),其中,通过一个或多个页面表(例如,一个用于计算设备,一个用于运行中的每个用户应用程序等)将虚拟地址转换为物理地址。需要注意的是,存储控制器对一个或多个页面表的访问进行管理,以便完成从物理地址处读取数据和/或指令。如果页面表显示存储器内无当前页面,那么存储管理器和/或处理模块50和80中的一个就会产生页面错误中断。
操作系统的页面监管器接收到页面错误中断,作为回应,它会对包含有所需虚拟地址的页面进行搜索。一旦找到所需页面,页面监管器便会将该页面读入到主存储器中并对适当的页面表进行更新。如果在主存储器中没有足够的空间,那么页面监管器便会将主存储器的一个区域存储到手持和/或扩展硬盘/闪存上,并对相应的页面表进行更新。清空后的主存储器的相关区域便可用于存放新页面。
对于用户I/O设备,当手持计算单元处于插接模式时,手持麦克风72、手持扬声器74、手持显示器76以及手持键盘78会被停用。在这种模式下,扩展麦克风98、扩展扬声器100、扩展显示器102以及扩展键鼠104处于活动状态,以用作计算设备10的用户接口。需要注意的是,对于蜂窝语音电话呼叫,输入和输出语音信号会被提供给/提供自扩展麦克风98、扩展扬声器100、扩展耳机(图中未示出),或者VoIP电话46。
图6是本发明另一实施例通信系统中手持计算单元12半插接入扩展计算单元14的结构示意图。手持计算单元12包括:手持处理模块50、手持主存储器52、手持硬盘/闪存54、基带处理器56、射频(RF)单元58、手持随机存储器(RAM)60、手持只读存储器(ROM)62、时钟生成电路64、手持输入/输出接口(例如,手持音频I/O接口66、手持视频和/或图形I/O接口68、以及手持数据I/O接口70)、以及手持I/O组件(例如,手持麦克风72、手持扬声器74、手持显示器76、手持键盘和/或触摸屏78)、手持总线结构75以及手持连接结构110A。
扩展计算单元14包括:扩展处理模块80、扩展主存储器82、扩展硬盘/闪存84、扩展随机存储器(RAM)86、扩展只读存储器(ROM)88、从时钟电路90、扩展输入/输出接口(例如,扩展音频I/O接口92、扩展视频和/或图形I/O接口94、以及扩展数据I/O接口96)、以及扩展I/O组件(例如,扩展麦克风98、扩展扬声器100、扩展显示器102(可以是监视器18和/或打印机24)、扩展键盘、鼠标104(可以是键盘20和鼠标22))、扩展连接结构110、扩展总线结构112、射频识别(RFID)标签108、基带处理模块114以及RF单元116。需要注意的是,扩展处理模块80和基带处理模块114可以是独立的处理模块或者同一处理模块。
处于半插接模式时,扩展计算单元14的基带处理模块114以及RF单元58与手持计算单元12的基带处理模块56和RF单元58之间建立了RF通信路径46。在这种模式下,RF通信路径46作为将手持总线结构75与扩展总线结构112相连的无线总线,以使得手持计算单元12能够访问扩展计算单元14的扩展主存储器82和/或扩展硬盘/闪存。基带处理模块56和114以及RF单元58和116可采用无线通信协议,例如但不仅限于:IEEE 802.11(a)、(b)、(g)、(n),蓝牙、ZigBee、RFID等。
当计算设备10处于半插接模式时,手持处理模块50利用手持主存储器52执行一项或多项用户应用程序(如文字处理、电子表格处理、演讲处理、电子邮件、网页浏览、数据库、电子日历、视频游戏、数字音频回放、数字视频回放、数字音频录音、数字视频录像、管理程序、记事本、网页收藏夹、资金管理程序等)。在这种模式下,扩展处理模块80以及扩展主存储器处于非活动状态,除非是执行扩展硬盘/闪存84的读/写操作,该扩展硬盘/闪存84被视为比手持硬盘/闪存54低级的存储器。
在这种模式下,虚拟存储技术利用手持主存储器52和手持硬盘/闪存54实现一项或多项用户应用程序。进一步的存储器管理包括:在存储到虚拟存储器内以便手持处理模块50读取之前,从扩展硬盘/闪存84将用户应用程序和/或文件复制到手持硬盘/闪存54处。需要注意的是,如果手持硬盘/闪存54没有足够的空间来存储用户应用程序和/或文件,那么便会将一项或多项用户应用程序和/或文件从手持硬盘/闪存54转移到扩展硬盘/闪存84以释放内存空间。
图7是本发明一实施例中手持计算单元12插接入扩展计算单元14的核心组件的结构示意图。手持计算单元12的核心组件包括:手持处理模块50、手持主存储器52、手持硬盘/闪存54、基带处理模块56、RF单元58、ROM 62、通用串行总线(USB)接口120、以及手持连接结构110A,该连接结构可以是组合连接器或者多个连接器110-1到110-5。扩展计算单元14的核心组件包括:相应的连接结构110B、一个或多个扩展处理模块80、扩展主存储器82、从时钟模块90、存储控制器122、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、外围组件互连(PCI)接口136、以及主控制器138。当手持计算单元12与扩展计算单元14插接时,计算单元12以及14的核心组件作为单一计算设备10进行运作。因此,当计算设备10启用时,存储在手持ROM 62中的BIOS随即被执行以启动计算设备。所述BIOS将会在图19-26中进行进一步讨论。在操作系统初始化(图19-22,27-36中进一步描述)之后,计算设备10便可执行用户应用程序。
在实施例中,存储控制器122对处理模块50和80、与I/O控制器直接或间接相连的用户I/O设备、图形卡128产生的读取自和写入到手持主存储器52和扩展存储器82的数据和/或手持硬盘/闪存54和/或扩展硬盘/闪存84之间进行的数据交换进行协调。需要注意的是,如果手持主存储器52和/或扩展主存储器包含有DRAM,那么存储控制器122便会包含用于刷新DRAM的逻辑电路。
I/O控制器130为通常较慢的设备提供了对存储控制器122的访问。例如,I/O控制器130通过PCI接口136为PCI总线提供功能;为I/O接口134提供功能,该I/O接口提供了键盘、鼠标、打印机和/或可拆卸CD/DVD驱动器接口;并为BIOS接口、DMA控制器、中断控制器、主控制器(该主控制器允许直接附加扩展硬盘存储器)、实时时钟、音频接口提供功能。I/O控制器130还支持以太网卡、RAID(廉价冗余磁盘阵列)、USB接口和/或火线(Fire Wire)。
图形处理单元(GPU)132是用于利用和显示计算机设备图形的图形呈现设备。总体上说,GPU采用多种图形运算和计算方法来呈现二维和/或三维的计算机图形。这样的计算包括:纹理映射、多边形绘制、顶点转换(translatingvertices)、可编程着色(programmable shader)、混叠(aliasing)和超高精色彩空间。GPU 132可以是视频卡上的独立模块或者合成到图形卡128上,该图形卡通过加速图形端口(AGP)与存储控制器122相连。需要注意的是,视频卡,或者图形加速器,用于生成供扩展显示器所用的输出图像。此外,视频卡进一步支持视频捕捉、TV调谐适配器、MPEG-2和MPEG-4解码或者FireWire、鼠标、光笔、摇杆连接器、和/或与两台监视器相连。
扩展处理模块80、存储控制器122、扩展主存储器82,I/O控制器130、I/O接口134、PCI接口136以及主控制器138可以集成在单一集成电路上,也可以每部分位于一个集成电路上,或者一些组件可以在同一集成电路上实现。例如,扩展处理模块80以及存储控制器122可以集成在同一集成电路上。
图8是本发明一实施例中用于计算设备10的手持计算单元12的结构示意图。手持计算单元12包括集成电路(IC)140、手持键盘、手持显示器、手持硬盘/闪存54、手持主存储器52、手持扬声器74、手持麦克风72、连接结构110-1A到110-5A、天线单元178,还进一步包括片外ROM 63。IC 140包括总线结构75、手持处理模块50、基带处理模块56、RF单元58、ROM 62、时钟生成电路64、数据输入接口142、显示接口144、视频编解码器146(可选的)、移动产业处理器(MIPI)接口148、仲裁模块150、USB接口120、图形引擎152、安全数字输入/输出(SDIO)接口154、硬盘/闪存接口156、主存储器接口158、DMA模块160、音频编解码器162、多路分配器168、多个外围接口162-164、数字摄像头接口170、LCD接口172、安全启动RAM 174(包含于ROM 162内或作为独立ROM)、以及安全引擎176。
多个外围接口162-164包括以下接口中的两个或多个:SIM卡接口、功率管理(PM)接口、SD卡接口或者MMC卡接口、协处理器接口、蓝牙收发器接口、FM调谐器接口、GPS接收器接口、视频摄像机接口(camcoder)、电视调谐器接口、USIM接口、第二显示器接口、UART接口、实时时钟、以及通用I/O接口。
当手持计算单元12与扩展计算单元14插接时,手持处理模块50、手持主存储器52、手持硬盘/闪存54、ROM 62、时钟生成电路64、以及手持总线结构75与扩展计算单元14的存储控制器122和/或I/O控制器130直接或间接相连。在这种模式下,插接模式操作系统将尽可能多或尽可能少地激活IC140的接口。例如,由于扩展显示器、鼠标、键盘、麦克风、扬声器以及VoIP电话处于启用状态,插接模式的操作系统将会停用数据输入接口142、显示接口144、可能具有的视频编解码器146、音频编解码器162、图形引擎152、以及可能具有的MIPI接口148。
另一例子中,插接模式操作系统能唤起由安全引擎176和/或安全启动ROM174提供的安全功能。该安全功能用于基于请求者的身份允许/禁止对特定资源(例如,处理模块50和/或80、文件、特别服务请求、特定存储位置等)的访问。这是通过内部安全进程实现的。总体上说,内部安全进程用于保护计算机资源不被当前运行的程序所利用。在一实施例中,具有较低优先级的程序被阻止执行某些指令(例如,从存储器读取或向存储器写入)并且必须请求具有较高优先级的程序为其执行上述指令(例如,操作系统内核)。
在其他例子中,插接模式操作系统可基于是否通过手持总线结构75和/或存储控制器122和/或主控制器138访问手持主存储器52和/或手持硬盘/闪存54来启用或停用存储器接口156-158中的一个或多个。例如,可激活存储器接口158以便手持处理模块50能够通过总线75访问手持主存储器52,并且可停用存储器接口156以便手持硬盘/闪存54能够通过主控制器138被访问。
当手持计算单元12处于远程模式时,远程模式操作系统处于活动状态,该操作系统激活一个或多个接口。例如,远程模式操作系统将激活输入接口142、显示接口144、音频编解码器162、图形引擎152、可能具有的视频编解码器146、可能具有的MIPI接口148,以便通过手持计算单元12为用户提供字符(例如,语音、音频、视频、图像、文本、图形等)输入和输出功能。在实施例中,图形引擎152对二维和/或三维图形进行渲染以便将其显示在手持显示器76上和/或存储在存储器52和/或54内。手持显示器76可包括一种或多种显示设备,例如:液晶演示器、等离子显示器、数字光学投影显示器、和/或其他形式的便携式视频显示器。因此,显示接口144可包括用于将输出视频、图形、和/或文本转移到手持显示器76的软件。需要注意的是,MIPI接口可用作第二手持显示器的接口或者显示接口144的替代物。
在另一例子中,远程模式操作系统可激活DMA模块160以使得其他接口中的一个或多个能够在无需或者仅需处理模块50的极小帮助下实现对手持主存储器52的直接访问。例如,摄像头接口170可实现直接存储访问以便在手持主存储器52和/或手持硬盘/闪存存储器54内存储捕捉图像和/或捕捉视频。
图9是可在图7的计算设备10中使用的扩展计算单元14的实施例的典型框图。该扩展计算单元包括一个或多个监视器18-1到18-2、键盘20、鼠标22、打印机24、EXT处理模块80、EXT主存储器82、EXT硬盘/闪存/磁带存储器84、存储器控制器122、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、PCI接口136和连接器结构110-1B-110-5B。该扩展计算单元14可进一步包括一个或多个CD/DVD抽取式驱动186、闪存ROM 188、闪存190、磁盘阵列控制器192、网卡194、USB连接器196、WLAN收发器198(例如,基带处理模块114和RF单元116)、声卡200、红外(IR)收发器202、电视(TV)调谐器204、视频处理模块206和一个或多个存储器扩展卡208。该EXT主存储器82可包括多个RAM IC和/或RAM扩展卡162-164。
在一个实施例中,该EXT总线结构112包括将图形卡128耦合到存储器控制器122的AGP总线210,将存储器控制器122耦合到EXT主存储器80的存储器总线,将存储器控制器122耦合到EXT处理模块80的处理器总线,通过PCI接口136将多个设备(例如,设备190-208)耦合到I/O控制器130的PCI总线,以及通过I/O接口134将传统的I/O设备(例如,键盘20、鼠标22、打印机24和/或抽取式驱动186)耦合到I/O控制器130的I/O总线。在一个实施例中,该I/O接口134可省略,并且该传统I/O装置可耦合到PCI总线,或可通过USB连接器耦合。
图10是插接到扩展计算单元14的手持计算单元12的核心组件的另一实施例的原理框图。该手持计算单元12的核心组件包括HH处理器模块50、HH主存储器52、HH硬盘/闪存存储器54、基带处理模块56、RF单元58、ROM62、也可以是单个连接110-2到110-8的手持连接结构110a,存储器控制器122和可选多路分配器220和222。扩展计算单元14的核心组件包括对应的连接结构110B、一个或多个EXT处理模块80、EXT主存储器82、从时钟模块90、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、PCI接口136和主控制器138。
由于具有插接到扩展计算单元14的手持计算单元12,单元12和14的核心单元可作为单个计算设备10。同样地,当计算设备10可用时,存储在HHROM 62上的BIOS用于启动计算设备10。下面将参照图19-22和27-36更加详细地介绍,在初始化操作系统以后,计算设备10便可执行用户应用。
在一个实施例中,存储器控制器122位于手持计算单元12中并通过连接器结构110-6到110-8耦合到I/O控制器130、EXT处理模块80和EXT主存储器。当连接时,存储器控制器122通过处理模块50和80,直接或间接耦合到I/O控制器130的用户I/O设备,通过图形卡128和/或与HH和/或EXT硬盘/闪存存储器54和/或84间的数据传输来调整HH主存储器52和EXT主存储器82读取的数据和向HH主存储器52和EXT主存储器82中写入的数据。
如果包括多路分配器220和222,当手持计算单元12处于插接模式时,存储器控制器122通过多路分配器220耦合到HH处理模块50并通过多路分配器222耦合到HH主存储器52。当手持计算单元12处于远程模式(remotemode)时,存储器控制器122失效,这样多路分配器220和222将HH处理模块50和HH主存储器52耦合到HH总线结构75。如果不包括多路分配器220和222,无论存储器控制器处于插接模式还是远程模式时,均调整从HH主存储器52读取的数据和写入从HH主存储器52的数据。
在扩展计算单元中,EXT处理模块80、EXT主存储器82、I/O控制器130、I/O接口134、PCI接口136和主控制器138可在单个集成电路上实现、分别在不同的集成电路上实现或某些元件在同一集成电路上实现。例如,I/O控制器130、I/O接口134、PCI接口136和主控制器138可在同一集成电路上实现。
图11是可在图10的计算设备10中使用的手持计算单元12的又一实施例的典型框图。手持计算单元12包括集成电路(IC)230、手持键盘、手持显示器、手持硬盘/闪存存储器54、手持主存储器52、手持扬声器74、手持麦克风72、连接结构110-1A到110-5A、天线单元178,还进一步包括片外ROM 63。IC230包括总线结构75、手持处理模块50、基带处理模块56、RF单元58、ROM 62、时钟生成电路64、存储器控制器122、多路分配器220和222(可选)、数据输入接口142、显示接口144、视频编解码器146(可选)、移动产业处理器(MIPI)接口148、仲裁模块150、USB接口120、图形引擎152、安全数字输入/输出接口(SDIO)154、硬盘/闪存存储器接口156、主存储器接口158、直接存储器存取(DMA)160、音频编解码器162、多路分配器168、多个外围接口162-164、数字摄像头接口170、LCD接口172、安全启动RAM174(包含于ROM162内或作为独立ROM),以及安全引擎176。
当手持计算单元12与扩展计算单元14插接时,手持处理模块50、手持主存储器52、手持硬盘/闪存存储器54、ROM 62、时钟生成电路64、以及手持总线结构75直接或间接耦合到扩展计算单元14的存储控制器122和/或I/O控制器130。在这种模式下,插接模式操作系统将尽可能多或尽可能少地激活IC 230的接口。例如,由于扩展显示器、鼠标、键盘、麦克风、扬声器以及VoIP电话可用,插接模式的操作系统将会停用数据输入接口142、显示接口144,如果包括视频编解码器146、音频编解码器162、图形引擎152、以及MIPI接口148的话,也可停用这些接口。
当手持计算单元12处于远程模式时,远程模式操作系统随即启用,该操作系统能够激活一个或多个接口。例如,远程模式操作系统能够激活数据输入接口142、显示接口144、音频编解码器162、图形引擎152、视频编解码器146、MIPI接口148(如果包括的话),以便通过手持计算单元12为用户提供字符(语音、音频、视频、图像、文本、图形等)输入和输出。
在另一例子中,远程模式操作系统可启用DMA模块160以使得其他接口中的一个或多个能够在无需处理模块50的帮助或所需帮助极小的情况下实现对手持主存储器52的直接访问。另外,远程操作系统可启动存储器控制器122或使其失效,这取决于怎样访问HH主存储器52和/或怎样控制HH处理模块50的加入。
图12是可在图10的计算设备10中使用的扩展计算单元14的又一实施例的典型框图。扩展计算单元14包括一个或多个监视器18-1到18-2、键盘20、鼠标22、打印机24、EXT处理模块80、EXT主存储器82、EXT硬盘/闪存/磁带存储器84、存储器控制器122、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、PCI接口136和连接器结构110-1B-110-8B。该扩展计算单元14可进一步包括一个或多个CD/DVD抽取式驱动186、闪存ROM188、闪存190、磁盘阵列控制器192、网卡194、USB连接器196、WLAN收发器198(例如,基带处理模块114和RF单元116)、声卡200、红外(IR)收发器202、电视(TV)调谐器204、视频处理模块206和一个或多个存储器扩展卡208。该EXT主存储器82可包括多个RAM IC和/或RAM扩展卡162-164。
在一个实施例中,该EXT总线结构112包括将图形卡128耦合到存储器控制器122的AGP总线210,通过连接器110将存储器控制器122耦合到EXT主存储器80的存储器总线,通过连接器110将存储器控制器122耦合到EXT处理模块80的处理器总线,通过PCI接口136将多个设备(例如,设备190-208)耦合到I/O控制器130的PCI总线,以及通过I/O接口134将传统的I/O设备(例如,键盘20、鼠标22、打印机24和/或抽取式驱动186)耦合到I/O控制器130的I/O总线。在一个实施例中,该I/O接口134可省略,并且该传统I/O装置可耦合到PCI总线,或可通过USB连接器耦合。
图13是插接到扩展计算单元14的手持计算单元12的核心组件的另一实施例的原理框图。该手持计算单元12的核心组件包括HH处理器模块50、HH主存储器52、HH硬盘/闪存存储器54、基带处理模块56、RF单元58、ROM62、手持连接结构110-9A和存储器控制器122。扩展计算单元14的核心组件包括对应的连接结构110-9B、一个或多个EXT处理模块80、EXT主存储器82、从时钟模块90、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、PCI接口136和主控制器138。由于具有插接到扩展计算单元14的手持计算单元12,单元12和14的核心单元可作为单个计算设备10。同样地,当计算设备10可用时,存储在HH ROM 62上的BIOS用于启动计算设备10。下面将参照图19-22和27-36更加详细地介绍,在初始化操作系统以后,计算设备10便可执行用户应用。
在一个实施例中,存储器控制器122位于手持计算单元12中并通过连接器结构110-9耦合到I/O控制器130、图形卡128、EXT处理模块80和EXT主存储器。当连接时,存储器控制器122通过处理模块50和80,直接或间接耦合到I/O控制器130的用户I/O设备,通过图形卡128和/或与HH和/或EXT硬盘/闪存存储器54和/或84间的数据传输来调整HH主存储器52和EXT主存储器82读取的数据和向HH主存储器52和EXT主存储器82中写入的数据。
在扩展计算单元中,EXT处理模块80、EXT主存储器82、I/O控制器130、I/O接口134、PCI接口136和主控制器138可在单个集成电路上实现、分别在不同的集成电路上实现或某些元件在同一集成电路上实现。例如,I/O控制器130、I/O接口134、PCI接口136和主控制器138可在同一集成电路上实现。
图14是可在图13的计算设备10中使用的手持计算单元12的又一实施例的典型框图。手持计算单元12包括集成电路(IC)240、手持键盘、手持显示器、手持硬盘/闪存存储器54、手持主存储器52、手持扬声器74、手持麦克风72、连接结构110-9A、天线单元178,还进一步包括片外ROM63。IC240包括总线结构75、手持处理模块50、基带处理模块56、RF单元58、ROM62、时钟生成电路64、存储器控制器122、多路分配器220和222(可选)、数据输入接口142、显示接口144、视频编解码器146(可选)、移动产业处理器(MIPI)接口148、仲裁模块150、USB接口120、图形引擎152、安全数字输入/输出接口(SDIO)154、硬盘/闪存存储器接口156、主存储器接口158、直接存储器存取(DMA)160、音频编解码器162、多路分配器168、多个外围接口162-164、数字摄像头接口170、LCD接口172、安全启动RAM174(包含于ROM162内或作为独立ROM),以及安全引擎176。
当手持计算单元12与扩展计算单元14插接时,手持处理模块50、手持主存储器52、手持硬盘/闪存存储器54、ROM 62、时钟生成电路64、以及手持总线结构75耦合到扩展计算单元14的存储控制器122和/或I/O控制器130。在这种模式下,插接模式操作系统将尽可能多或尽可能少地激活IC 240的接口。例如,由于扩展显示器、鼠标、键盘、麦克风、扬声器以及VoIP电话可用,插接模式的操作系统将会停用数据输入接口142、显示接口144,如果包括视频编解码器146、音频编解码器162、图形引擎152、以及MIPI接口148的话,也可停用这些接口。
当手持计算单元12处于远程模式时,远程模式操作系统随即启用,该操作系统能够激活一个或多个接口。例如,远程模式操作系统能够激活数据输入接口142、显示接口144、音频编解码器162、图形引擎152、视频编解码器146、MIPI接口148(如果包括的话),以便通过手持计算单元12为用户提供字符(语音、音频、视频、图像、文本、图形等)输入和输出。在另一例子中,远程模式操作系统可启用DMA模块160以使得其他接口中的一个或多个能够在无需处理模块50的帮助或所需帮助极小的情况下实现对手持主存储器52的直接访问。另外,远程操作系统可启动存储器控制器122或使其失效,这取决于怎样访问HH主存储器52和/或怎样控制HH处理模块50的加入。
在这一实施例中,该连接器结构110-9用于将HH总线结构耦合到EXT总线结构。同样地,当耦合时,手持计算单元12和扩展计算单元14共享公用总线结构,该总线结构可由存储器控制器122和/或HH处理模块50的总线控制器进行控制。通常,总线控制器使用先到先服务(first come first serve)、短作业优先(shorted job first)、最短剩余时间优先(shortest remaining time first)、轮循算法(round robin scheme)、优先级等算法中的一个或多个调度功能来访问共享总线。
图15是可在图10的计算设备10中使用的扩展计算单元14的又一实施例的典型框图。扩展计算单元14包括一个或多个监视器18-1到18-2、键盘20、鼠标22、打印机24、EXT处理模块80、EXT主存储器82、EXT硬盘/闪存/磁带存储器84、图形卡128和/或图形处理单元132、I/O控制器130、I/O接口134、PCI接口136和连接器结构112和连接器结构110-9B。该扩展计算单元14可进一步包括一个或多个CD/DVD抽取式驱动186、闪存ROM 188、闪存190、磁盘阵列控制器192、网卡194、USB连接器196、WLAN收发器198(例如,基带处理模块114和RF单元116)、声卡200、红外(IR)收发器202、电视(TV)调谐器204、视频处理模块206和一个或多个存储器扩展卡208。该EXT主存储器82可包括多个RAM IC和/或RAM扩展卡162-164。
在一个实施例中,EXT总线结构112耦合到连接110-9B,如EXT总线结构112,且HH总线结构变成共享总线结构。在一个实施例中,该I/O接口134可省略,并且该传统I/O装置可耦合到PCI总线,或可通过USB连接器耦合。
图16是手持计算单元12和扩展计算单元14的核心I/O特征组件的实施例的原理框图。该手持计算单元12的核心I/O组件包括片上和片外I/O组件。该片外组件包括HH显示器76、HH麦克风72、HH扬声器74、HH键盘/或触摸屏78。该片上组件包括手持麦克风接口254、手持扬声器接口256、HH处理模块50和数字音频切换模块(举例来说,多路分配器262)。该手持计算单元12也可包括将片上组件耦合到对应的片外组件和/或到连接器结构的片上到片外结构,该连接器结构110可将手持计算单元12耦合到扩展计算单元14。
可使用IC引脚、RF收发器和/或电磁收发器构成该片上到片外连接器结构。RF互联收发器可如未决的专利申请中所公开的来执行:(1)RF BUSCONTROLLER,申请号为11/700,285,申请日为1/31/07;(2)INTRA-DEVICERF BUS AND CONTROL THEREOF,申请号为11/700,421,申请日为1/31/07;(3)SHARED RF BUS STRUCTURE,申请号为11/700,517,申请日为1/31/07;(4)RF TRANSCEIVER DEVICE WITH RF BUS,申请号为11/700,592,申请日为1/31/07;以及RF BUS ACCESS PROTOCOL AND TRANSCEIVER申请号为11/700,591,申请日为1/31/07。
当手持计算单元12是处于远程模式时,该基带处理模块56可将出站数据转换成出站数据流并将入站符号流转换成入站数据。该RF单元可将出站符号流转换成入站RF信号并将入站RF信号转换成入站符号流。该HH处理模块50可将出站语音信号转换成出站数据并将入站数据转换成入站语音信号。另外,处理模块50可向数字音频切换模块(例如多路分配器262)提供一个或多个控制信号以使其通过HH音频编解码器162从HH处理模块250向手持扬声器接口256提供入站语音信号,如音频信号。该接口256向HH扬声器74提供入站语音信号的模拟版本,HH扬声器74将入站语音信号转变为可供用户收听。
处理模块50可向数字音频切换模块(例如多路分配器262)提供一个或多个控制信号以使其通过HH音频编解码器162从手持麦克风接口254向HH处理模块50提供出站语音信号。在这一配置中,HH麦克风接口254从HH麦克风72接收模拟语音信号。该HH麦克风接口254可调节模拟语音信号的电平和/或在将其提供给HH音频编解码器162之前将其放大。该音频编解码器将模拟语音信号转换成数字出站语音信号。
处理模块50可向数字音频切换模块(例如多路分配器262)提供一个或多个控制信号以使其在手持计算单元12耦合到扩展计算单元14时从处理模块50向片上到片外连接结构110提供入站语音信号。在这一配置中,声卡200接收数字入站语音信号并将其转变成模拟信号。接着该声卡将模拟音频信号提供给EXT扬声器系统250,其可以是单个扬声器、立体声扬声器装置、多信道扬声器系统或耳麦的扬声器。
处理模块50可向数字音频切换模块(例如多路分配器262)提供一个或多个控制信号以使其在手持计算单元12处于插接模式时从片上到片外连接结构110向处理模块50提供出站语音信号。在这一配置中,声卡200从EXT麦克风系统252接收模拟语音信号,所述麦克风系统252可以是一个或多个麦克风或耳麦的麦克风。声卡200将语音信号转换成可通过连接器110提供给处理模块50的数字信号。
在一个实施例中,HH处理模块50生成相关输出用户数据和输入用户数据(如非语音数据)以处理手持用户应用(也就是,正在执行的应用和/或其至少部分代码存储在HH主存储器52中的应用)。另外,非语音数据可包括在数据蜂窝电话调用中收发的数据,并以于输入和输出数据相同的方式进行发送。在该例子中,该HH处理模块50向数据切换模块(例如多路分配器260)供一个或多个控制信号以使其在手持计算单元处于远程模式时,通过HH视频编解码器和/或图形引擎152(未示出)从HH处理模块50向手持显示接口114提供输出用户数据。在这一配置中,输出用户数据(如、视频、图像、文本、图形等)就像视频数据一样提供给HH视频编解码器146,其可将该数据转换成模拟信号。该HH显示接口将该模拟信号提供给HH显示器76。在一个可选实施例中,如果HH显示器76可接收数字信号或图形信号,可无需配置该HH视频编解码器。
该HH处理模块50向数据切换模块(例如多路分配器260)供一个或多个控制信号以使其在手持计算单元处于插接模式时,从处理模块50向片上到片外连接器结构提供输出用户数据。在这一配置中,该输出用户数据提供给图形处理单元132和/或图形卡128,其可将输出用户数据转换成复合视频信号、S-视频信号或分量视频信号(component video signal)。该EXT监视器18或19接收最终视频信号并将其转换成可视信号。
该HH处理模块50向数据切换模块(例如多路分配器260)供一个或多个控制信号以使其在手持计算单元12处于远程模式时,从手持数据输入接口142向处理模块50提供输入用户数据。在这一配置中,HH键区、触摸屏、滑轮(speed wheel)等向HH数据输入接口142提供用户输入。该数据切换模块将用户输入提供给HH处理模块50。
处理模块50可向数字切换模块(例如多路分配器260)提供一个或多个控制信号以使其在手持计算单元12处于插接模式时从片上到片外连接结构110向处理模块50提供出站用户数据。在这一配置中,将该出站用户数据提供给图形处理单元和/或图形卡128,其可将出站用户数据转换成复合视频信号、S-视频信号或或分量视频信号。该EXT监视器18或19接收最终视频信号并将其转换成可视信号。
该HH处理模块50也可向数据切换模块(例如多路分配器264)供一个或多个控制信号以使其在手持计算单元12处于远程模式时,从手持数据输入接口142向处理模块50提供输入用户数据。在这一配置中,HH键区、触摸屏、滑轮(speed wheel)等向HH数据输入接口142提供用户输入。该数据切换模块将用户输入提供给HH处理模块50。
该处理模块50也可向数字切换模块(例如多路分配器264)提供一个或多个控制信号以使其在手持计算单元12处于插接模式时从片上到片外连接结构110向处理模块50提供入站用户数据。在这一配置中,输入到键盘和/或鼠标的用户数据被通过连接器110提供给EXT数据输入接口258。该EXT数据输入接口258将用户输入数据通过数据切换模块提供给处理模块50。
在这一或其他实施例中,接口模块可包括硬件、软件和/或存储器以便于信号从对应设备到总线结构75和/huo 112的信号转发。例如,接口可包括驱动软件、放大器、电平调整电路(level adjusting circuit)、信号格式调整电路(例如串联到并联,并联到串联、低压差分信号等)、输入缓冲器和/或输出缓冲器。作为特定实施例,该HH数据输入接口142可包括用于特定类型的HH键区78的驱动,并可包括用来调整信号的电压电平的电平调整电路和/或信号格式调整电路,以及用来存储数据直到其即将被转发。
图17是手持计算单元12和扩展计算单元14的核心I/O组件的另一实施例的典型框图。该手持计算单元12的核心I/O组件位于带阴影的方块中,并包括HH处理器模块50、HH主存储器52、HH视频编解码器146、HH显示器76、多个多路复用器290-296、多个多路分配器286-288、数字音频/视频处理模块278、图形叠加模块280、视频编解码器282、TV调谐器286、TV解码器284、立体声DAC(数模转换器)272、音量控制模块270、HH扬声器74和数字音频接口276。该扩展计算单元14的核心I/O组件位于未带阴影的方块中,并包括通过主控制器(未示出)控制的多信道扬声器系统74、声卡200、EXT扬声器250、监视器18和/或19、EXT处理模块80、存储器控制器122、图形卡128、EXT主存储器82、I/O控制器130、PCI接口136、图形处理单元132、I/O接口134和硬盘驱动84。应注意,可选地,该存储器控制器122可如前所述位于手持处理单元12中。
当手持计算单元处于远程模式时,该音频多路复用模块294-296向立体声DAC 272提供对应的输出立体声数字音频流,该立体声DAC 272将该输出立体声数字音频流转换成模拟信号。该音量调节信号调节模拟信号的电平并将其提供给HH扬声器74。应注意,如果HH扬声器74包括单个扬声器,可组合该模拟立体声信号以生成单调信号(monotone signal)。另外,该视频编码器282将复合视频信号提供给视频编解码器146,该视频编解码器146将该信号转换成模拟视频信号。该HH显示器76通过显示接口144接收模拟视频信号并显示。应注意,如果HH显示器时数字显示器,这可无需视频编解码器。
当手持计算单元12处于插接模式时,该视频多路复用模块294-296将对应的输出立体声数字音频流提供给声卡200,声卡200将该信号转换成模拟信号并将其提供给EXT扬声器250。另外,该视频编码器282将复合视频信号提供给I/O接口134,该I/O接口134将该复合视频信号提供给图形处理单元132和/或图形卡128。该EXT监视器18和/或19通过图形卡128接收最终视频信号并显示。
在可选实施例中,当手持计算单元处于第二插接模式时,该数字音频/视频处理模块278将视频文件转换成第二格式化出站数字视频流和对应的出站多信道数字音频流。在该模式中,该数字音频/视频处理模块278将对应出站多信道数字音频流提供给数字音频接口276,该数字音频接口276将该信号提供给多信道扬声器系统274。另外,该视频编码器282将S-视频信号或分量视频信号提供给I/O接口134,该I/O接口134将其提供给图形处理单元132和/或图形卡128。该EXT监视器18和/或19通过图形卡128接收最终视频信号并显示。
在另一实施例中,该数字音频/视频处理模块278将音频文件转换成立体声出站数字音频流。该转换可包括解扰、均衡和/或解压。当手持计算单元处于远程模式时,可将该立体声出站数字音频流提供给立体声DAC 272并且当手持计算单元12处于插接模式时,该立体声出站数字音频流提供给声卡200。
在另一实施例中,该数字音频/视频处理模块278将音频文件转换成多信道出站音频流。该转换可包括解扰、均衡和/或解压。当手持计算单元处于远程模式时,可将多信道出站音频流提供给数字音频接口276。
当电视(TV)调谐器可用时,其生成TV数字音频信号和TV数字视频信号。该TV调谐器286将数字视频信号提供给TV解码器并将该TV数字音频信号提供给多路复用模块294-296。当手持计算单元处于远程模式时,该多路复用模块294-296将TV数字音频信号提供给立体声DAC 272且多路分配器286将TV数字视频信号提供给HH视频编解码器146或直接提供给HH显示接口144。当手持计算单元12处于插接模式时,该多路复用模块294-296将TV数字音频信号提供给声卡200且多路分配器286将TV数字视频信号提供给I/O接口134。
图18是手持计算单元12和到扩展计算单元14的核心I/O组件的另一实施例的原理框图。该手持计算单元12的核心I/O组件位于带阴影的方块中,并包括HH处理器模块50、HH主存储器52、HH图形引擎152、多个多路复用器302-306、数字音频/视频处理模块278、图形叠加模块280、视频/图象捕捉模块255、ADC(模数转换器)300、麦克风接口254、HH麦克风72、HH键区78、HH数据输入接口142。该扩展计算单元14的核心I/O组件位于未带阴影的方块中,并包括EXT麦克风252、声卡200、监视器18和/或19、EXT处理模块80、存储器控制器122、图形卡128、EXT主存储器82、I/O控制器130、PCI接口136、图形处理单元132、I/O接口134、键盘20和鼠标22。应注意,可选地,该存储器控制器122可如前所述位于手持处理单元12中。
在该实施例中,可通过键盘20、鼠标22、HH视频/图象捕捉模块255、EXT麦克风252或HH麦克风72根据手持计算单元12的模式来接收字符(文本、图形、视频、图象和/或它们的组合)输入。对从键盘20、鼠标22和键区78的输入的处理可如前所述。
当HH视频/图像捕捉模块255可用时,其生成模拟视频流或模拟视频图象,这些拟视频流或模拟视频图象可提供给视频编解码器146。该视频编解码器将模拟视频或数字图象转换成数字信号,该数字信号可通过图形重叠模块280提供给数字音频/视频处理模块278。如果捕捉模块255提供数字输入,可无需该视频编解码器146。如果处理模块50提供将要与数字视频或数字图象重叠的图像(例如像Denver的1/20/08中记录的文本消息、二维图形或三维图形),该图形重叠模块280执行重叠功能。该具有或不具有重叠的最终数字视频和/或数字图像都提供给数字音频/视频处理模块278,其将生成视频文件或图形文件。该处理可包括一个或多个加扰、压缩、编码、标度(scalling)等。最终文件存储在HH硬盘/闪存存储器54中。
该数字音频/视频处理模块278也可存储从声卡200或HH麦克风72接收到的音频输入的数字音频文件。在该例子中,如果不是以该种方式接收,该接收的音频信号可转换成数字格式。该数字音频/视频处理模块278压缩、均衡等该数字音频信号以生成数字音频文件。
图19是可在手持计算单元12的各种模式中有效的手持计算单元12和扩展计算单元14的设备的例子的表格。在该例子中,该计算设备10可在手持计算单元12中和/或扩展计算单元12中包括的一个或多个下列装置,在此设备的状态取决于手持计算单元12的模式。该装置清单包括但不限于,电源、抽取式驱动、CD-ROM/DVD-ROM驱动、磁带驱动、硬件驱动、软盘驱动、主控制器、AGP扩展槽、PCI扩展槽、视频卡和/或图形卡、RAM、实时时钟(RTC)、用于存储配置信息的CMOS、BIOS、微处理器、USB连接器、鼠标端口(mouseport)、键盘端口、网络连接、串行端口、并行端口、闪存槽和蜂窝电话功能。
当手持计算单元12处于远程模式时,扩展计算单元14的电源关闭,这样,所有的扩展计算单元关闭,在这种模式下,手持计算单元的功率由电池提供,且列出的组件可用(如开启)。当手持计算单元12处于半插接模式(quasi dockedmode)时,扩展计算单元的电源开启且扩展计算单元设备如表格所示的可用和/或不可用。类似地,手持计算单元设备如表格所示的可用和/或不可用。当手持计算单元12处于插接模式时,该电池不可用,且手持计算单元12由扩展计算单元14的电源供电。另外,该扩展计算单元14可包括电池充电器以未手持计算单元的电池充电。单元12和14的设备如表格所示可用或不可用。因此,当手持身边处于不同的模式时,可使用下面将要介绍的不同的操作系统。
图20是来自手持计算单元12和扩展计算单元14的存储器中的BIOS 310和操作系统的实施例的框图。在该实施例中,BIOS 310存储在手持计算单元12的ROM 62中。该BIOS 310包括加电自检(power on self test)代码段312和启动加载器314(包括远程模式操作系统启动加载器316、半插接模式操作系统启动加载器318和插接模式操作系统启动加载器320)POST码312的实施例将参照图23-26给出。
在该例子中,HH硬盘/闪存存储器54可包括操作系统空间322和用户空间324。该OS空间322包括公共OS单元325、远程模式OS单元326和半插接模式OS单元328。该EXT硬盘/闪存存储器84可包括OS空间330和用户空间332。该OS空间330包括半插接模式OS单元334和插接模式OS单元336。因为手持计算单元12的各个操作模式使用不同的设备,每个模式具有可包括公共OS组件和专用OS组件的对应的不同的操作系统。各个操作系统的实施例将参照图27-36给出。
当手持计算单元处于远程模式时,这在POST码312的执行过程中确定,则访问远程模式操作系统(OS)启动加载器316。该远程模式操作系统(OS)启动加载器316可以是多级启动加载器,其指向HH硬盘/闪存存储器54的公共OS单元325和远程模式OS单元326。该公共OS单元325包括在不考虑手持计算单元12的模式的情况下的某些设备、进程、文件和/或应用公用的操作系统功能。远程模式OS单元包括当手持计算单元12处于远程模式时,某些其他设备、进程、文件和/或应用的公用的操作系统功能。应注意,公用OS功能可看作远程操作系统功能、半插接操作系统功能和/或插接操作系统功能的子集。
远程模式OS启动加载器316指示HH处理模块50和/或存储器控制器122(如果位于手持计算单元12中的话)以便于公共OS功能或其至少一部分,远程OS功能或其至少一部分向HH主存储器52传送。该HH主存储器52具有OS空间338和用户空间340。该OS空间338用于存储当前模式OS342,其为远程模式操作系统。应注意,OS空间338可根据加载的操作系统的变化其大小,并且更应该注意到,OS空间338是当处于操作系统内核模式时,仅仅允许处理模块50访问的特许存储器(kernel mode)。
图21是来自手持计算单元12和扩展计算单元14的存储器中的BIOS 310和操作系统的又一实施例的框图。在该实施例中,手持计算单元12处于半插接模式,这在POST码312的执行过程中确定。这样可访问半插接模式操作系统启动加载器318。该半插接模式操作系统启动加载器318可以是多级启动加载器,其指向HH硬盘/闪存存储器54的公共OS单元325和半插接模式OS单元328,并可进一步指向EXT硬盘/闪存存储器84的半插接模式OS单元328。半插接模式OS单元328可包括当手持计算单元12处于半插接模式时,手持计算单元12的某些设备、进程、文件和/或应用独占的操作系统功能;且半插接OS单元334可包括当手持计算单元12处于半插接模式时,扩展计算单元的某些设备、进程、文件和/或应用独占的操作系统功能。
在这一实施例中,半插接模式操作系统启动加载器318指示HH处理模块50和/或存储器控制器122(如果位于手持计算单元12中的话)以便于公共OS功能或其至少一部分,半插接OS功能或其至少一部分从HH硬盘/闪存存储器54向HH主存储器52传送。另外,半插接模式操作系统启动加载器318指示HH处理模块50和/或存储器控制器122以便半插接OS功能或其至少一部分从EXT硬盘/闪存存储器84向HH主存储器52的OS空间338传送。另外,该OS空间338用于存储当前模式OS 342,在该实施例中,其为半插接模式操作系统。应注意,OS空间338可根据加载的操作系统的变化其大小,并且更应该注意到,OS空间338是当处于操作系统内核模式时,仅仅允许处理模块50访问的特许存储器(kernel mode)。一旦当前OS加载到HH主存储器52中,该OS可在进程中发起图形用户接口和联接主机的操作。
图22是来自手持计算单元12和扩展计算单元14的存储器中的BIOS 310和操作系统的又一实施例的框图。在该实施例中,手持计算单元12处于插接模式,这在POST码312的执行过程中确定。这样可访问插接模式操作系统启动加载器320。该插接模式操作系统启动加载器320可以是多级启动加载器,其指向EXT硬盘/闪存存储器84的公共OS单元325和插接模式OS单元336。该插接OS单元336可包括当手持计算单元12处于插接模式时,手持计算单元12的某些设备、进程、文件和/或应用独占的操作系统功能。
在这一实施例中,插接模式操作系统启动加载器320指示HH处理模块50和/或存储器控制器122(如果位于手持计算单元12中的话)以便于公共OS功能或其至少一部分,插接OS功能或其至少一部分从EXT硬盘/闪存存储器84向HH主存储器52传送。另外,该OS空间338用于存储当前模式OS 342,在该实施例中,其为插接模式操作系统。应注意,OS空间338可根据加载的操作系统的变化其大小,并且更应该注意到,OS空间338是当处于操作系统内核模式时,仅仅允许处理模块50访问的特许存储器(kernel mode)。一旦当前OS加载到HH主存储器52中,该OS可在进程中发起图形用户接口和联接主机的操作。
图23是BIOS方法的一个实施例的逻辑示意图。通常,该BIOS是当手持计算单元基于计算设备10的配置(例如手持计算单元处于远程模式、半插接模式或插接模式)首先开启以识别和发起组成硬件(例如,硬盘、I/O符号设备、I/O模块设备等)时,主要由HH处理模块50运行的固件。该启动功能准备好计算单元10(例如手持计算单元12和/或某些、全部或0个扩展计算单元14),接着可加载、执行这样操作系统和用户应用,并控制计算设备10。应注意,该手持计算单元12可包括存储在不同的ROM、EEPROM和/或来自ROM62的闪存中的在ROM 62中的BIOS损坏后使用的备份BIOS。
在执行图23的步骤之前,可执行启动块算法(boot block algorithm)以验证BIOS是否损坏。如果BIOS被损坏,可访问后备BIOS。该后备BIOS包括如ROM 62中的主BIOS的相同操作指令。一旦验证BIOS(主或后备)以后,可在复位HH处理模块50以后执行POST码312。基于复位,该HH处理模块50尝试访问可看作复位载体(reset vector)的存储单元。对于硬重启(例如在通电、模式改变时或用户发起的重启),该存储器控制器指示代码唤醒加载在ROM 62上的BIOS。
该方法始于步骤352,在此初始化HH时钟生成器,其包括将HH时钟生成器上电并监视其时钟信号的稳定状态。一旦时钟信号稳定,该时钟生成器电路确定已被初始化。该方法接着进行到步骤352,在此初始化手持主存储器。该手持主存储器的初始化包括找到它,确定其大小并验证其是否运行适当。应注意,一旦HH主存储器初始化,可复制该BIOS并从ROM 62解压缩,并存储在HH主存储器中并从那里执行。
该方法继续到步骤354,在此初始化手持总线结构和手持I/O设备。在该步骤初始化的手持I/O设备可首先是I/O设备、端口和/或相关常规操作(generaloperation)。例如,可初始化的该I/O设备可包括HH硬件/闪存存储器54、USB连接器120、SDIO接口154、LCD接口172、耦合到外围接口164-166的块I/O设备(block I/O device)等中的一个或多个。该方法继续到步骤356,在此HH处理模块确定手持计算单元12的模式。
当手持计算单元处于远程模式时,该方法继续到步骤358,在此初始化手持计算单元的符号I/O设备。该符号I/O设备包括手持图形引擎、HH键区78、HH显示器76、HH麦克风72、HH扬声器74、摄像机接口170、耦合到外围接口164-166的字符I/O设备等。接着,该方法可进行到步骤360,在此可加载该远程模式操作系统启动加载器。
当在步骤356,可确定手持计算单元时处于插接模式,该方法继续到步骤360,在此初始化从时钟模块。这通常包括从手持计算单元的时钟生成器电路64接收主时钟,生成一个或多个EXT时钟信号并验证EXT时钟信号的稳定状态。该方法继续到步骤362,在此初始化扩展(EXT)处理模块。这可通过复位EXT处理模块来完成。
该方法继续到步骤364,在此初始化(例如复位)存储器控制器。应注意,步骤364可与步骤362并行完成。该方法继续到步骤366,在此初始化扩展主存储器。这可包括寻找该主存储器,确定其大小和验证其是否运行适当。该方法继续到步骤368,在此可初始化扩展总线结构和I/O控制器。可通过寻找该总线、确定其大小(例如,16比特、32比特等)和验证其是否运行适当来完成。一旦初始化该总线,初始化该I/O控制器。
该方法继续到步骤370,在此初始化耦合到扩展总线结构或I/O控制器的扩展I/O设备。该I/O设备可包括一个或多个闪存存储器、磁盘阵列控制器、网卡、USB连接器、WLAN收发器、声卡、IR收发器、TV调谐器、存储器扩展卡等。该方法继续到步骤372,在此初始化扩展图形控制器和/或扩展卡。该方法继续到步骤374,在此初始化鼠标和键盘。该方法继续到步骤376,在此加载插接模式操作系统。
当在步骤356,确定手持计算单元处于半插接模式,该方法继续到步骤378,在此初始化从时钟模块。该方法继续到步骤380,在此初始化扩展处理模块。该方法继续到步骤382,在此初始化扩展主存储器。该方法继续到步骤384,在此初始化EXT硬盘/闪存存储器。该方法继续到步骤386,在此初始化HH字符I/O设备。该方法继续到步骤388,在此加载半插接模式操作系统启动加载器。
图24是确定计算单元的模式的方法的实施例的逻辑示意图,该方法始于步骤400,在此HH处理模块确定手持计算单元是否连接到扩展计算单元。这可通过连接感应器电路来完成,该连接感应器在手持计算单元连接时提供第一信号,在手持计算单元没有连接时提供第二信号。该方法继续到步骤402,在此,当手持计算单元连接时,该方法分支到步骤404;当手持计算单元没有连接时,该方法分支到步骤406。在步骤404,该HH处理模块识别手持计算单元处于插接模式。
在步骤406,该HH处理模块使得基带处理模块和RF单元处于射频识别(RFID)模式。该方法继续到步骤408,在此该HH处理模块使得RFID消息发送到扩展计算单元中的RFID标签(tag)。该方法继续到步骤410,在此该HH处理模块确定是否接收到RFID的确认消息。如果是,该方法在步骤414继续,在此该HH处理模块指示该手持计算单元处于半插接模式。当没有接收到RFID消息的确认时,该方法继续到步骤412,在此HH处理模块指示该手持计算单元处于远程模式。
图25和26是重启或软启动方法的实施例的逻辑示意图。当手持计算单元的模式改变(如从远程模式到插接模式,从插接模式到半插接模式等)时可导致该重启。该方法始于图25的步骤420,在此从HH主存储器调用。接着,该方法进行到步骤422,在此该HH处理模块确定该手持计算单元的当前模式。如果该手持计算单元时处于远程模式,该方法继续到步骤424。
在步骤424,该HH处理模块确定该模式改变是从远程模式到插接模式或是从远程模式到半插接模式。当模式改变到插接模式时,该方法继续到步骤426,在此HH处理模块关闭HH符号I/O设备。该关闭可包括使得用于HH字符I/O设备的对应接口失效。例如,使得该HH显示接口失效,该HH显示接口可包括显示驱动、缓冲器并可进一步包括其他电路,并进而关闭与其耦合的HH显示。
接着该方法可进行到步骤428。接着该方法可进行到步骤430,在此可初始化(如复位)扩展处理模块。步骤432可进一步包括初始化扩展计算单元中的扩展主存储器;初始化扩展计算单元中的扩展总线结构;初始化耦合到扩展总线结构或I/O控制器的扩展I/O设备;和/或初始化扩展计算单元中的至少一个扩展图形控制器和扩展图形卡。应注意,在步骤428之前,该时钟生成器电路可再初始化。应进一步注意,在步骤432之前或与步骤432同时执行将HH处理模块、HH主存储器、HH总线结构和HH硬盘/闪存存储器再初始化。
该方法接着进行到步骤434,在此可初始化扩展计算单元的鼠标和键盘。该方法接着进行到步骤436,在此可加载插接模式操作系统启动加载器。
当在步骤424,当模式改变到半插接模式时,该方法继续到步骤438,在此初始化扩展计算单元中的从时钟模块,这可在时钟生成电路再初始化后发生。该方法接着进行到步骤440,在此初始化(如复位)扩展计算单元中的扩展处理模块。步骤440也可包括初始化扩展计算单元中的扩展主存储器和初始化扩展计算单元中的硬盘。应注意在步骤440之前或与步骤440同时执行将HH处理模块、HH主存储器、HH总线结构和HH硬盘/闪存存储器的再初始化。
该方法接着进行到步骤442,在此可再初始化该HH字符I/O设备。该方法接着进行到步骤444,在此可加载半插接模式操作系统启动加载器。
如果在步骤422,该处理计算单元正处于插接模式时,该方法继续到步骤448,在此HH处理模块确定模式改变是从插接模式到远程模式进程还是从插接模式到半插接模式。当该模式改变是从插接模式到远程模式时,该方法继续到步骤464,在此关闭扩展计算单元中的从时钟。该方法继续到步骤466,在此关闭外部主存储器的存储器控制器。该方法继续到步骤468,在此关闭扩展计算单元中扩展处理模块。
该方法继续到步骤470,在此关闭扩展计算单元中的I/O控制器。该方法继续到步骤472,在此关闭扩展计算单元中的扩展图形控制器和/或扩展图形卡。该方法继续到步骤474,在此关闭扩展计算单元中的鼠标和键盘。该方法继续到步骤476,在此初始化HH字符I/O设备。该方法接着进行到步骤478,在此可加载远程模式操作系统启动加载器。应注意在步骤476之前或与步骤476同时执行将HH处理模块、HH主存储器、HH总线结构和HH硬盘/闪存存储器初始化。
该方法继续到步骤452,在此再初始化扩展计算单元中的扩展主存储器。该方法继续到步骤454,在此再初始化扩展计算单元中的扩展处理模块。该方法继续到步骤456,在此再初始化扩展计算单元中的硬盘。该方法继续到步骤458,在此再初始化扩展计算单元中的HH字符I/O设备。该方法继续到步骤460,在此可加载半插接模式操作系统启动加载器。
当在步骤422,当前模式是半插接模式,该方法在图26的步骤480继续。在步骤480,该HH处理模块确定模式改变是从半插接模式到远程模式进程还是从半插接模式到插接模式。当该模式改变是到远程模式时,该方法继续到步骤502,在此关闭扩展计算单元中的从时钟。该方法继续到步骤504,在此关闭扩展计算单元的扩展主存储器。该方法继续到步骤506,在此关闭扩展计算单元中扩展处理模块。该方法继续到步骤508,在此关闭扩展计算单元中的硬盘。该方法继续到步骤510,在此再初始化字符I/O设备。该方法接着进行到步骤512,在此可加载远程模式操作系统启动加载器。应注意在步骤510之前将时钟生成电路、HH处理模块、HH主存储器、HH总线结构和HH硬盘/闪存存储器初始化。
当在步骤480,该重启是从半插接模式到插接模式,该方法继续到步骤482,在此关闭HH字符I/O设备。该方法继续到步骤482,在此再初始化扩展计算单元中的从时钟。应注意在步骤484之前将时钟生成电路、HH处理模块、HH主存储器、HH总线结构和HH硬盘/闪存存储器再初始化。
该方法继续到步骤486,在此再初始化存储器控制器。该方法继续到步骤488,在此再初始化扩展计算单元中的扩展处理单元。该方法继续到步骤490,在此再初始化扩展计算单元中的扩展主存储器。该方法继续到步骤492,在此初始化扩展计算单元中的EXT总线结构、I/O控制器和硬盘。该方法继续到步骤494,在此初始化耦合到扩展总线结构或I/O控制器的扩展I/O设备。该方法继续到步骤496,在此初始化扩展计算单元中的扩展图形控制器和/或扩展图形卡。该方法继续到步骤498,在此初始化扩展计算单元中的鼠标和键盘。该方法继续到步骤500,在此可加载插接模式操作系统启动加载器。
图27是在步骤520开始的多个操作系统中的一个的初始化方法的一个实施例的逻辑示意图,在此查询BIOS以获得配置信息。该配置信息包括一个或多个:耦合到手持I/O接口的手持块I/O设备的识别,耦合到手持I/O接口的手持字符I/O设备的识别;耦合到扩展计算单元的I/O控制器的扩展块I/O设备的识别;耦合到扩展计算单元的I/O控制器的扩展字符I/O设备的识别;HH主存储器的识别;HH处理模块的识别;EXT主存储器的识别和/或EXT处理模块的识别。
该方法继续到步骤522,在此基于加载的启动加载器确定将要加载远程模式操作系统、半插模式接操作系统或插接模式操作系统中的哪一个。如果将要加载插接模式操作系统,该方法继续到步骤538,在此HH处理模块检查手持块I/O设备和扩展块和字符I/O设备的驱动。应注意,设备驱动是特定类型的软件,其可允许通过特定的计算机总线(例如,PCI总线、AGP总线等)通信的设备。该通信包括通过终端提供和/或接收命令、数据和/或请求访问操作系统和/或用户应用。
该方法继续到步骤540,在此HH处理模块确定是否所有的有效HH和EXT设备的驱动存在。如果不是,则该方法继续到步骤542,在此HH处理模块获取驱动。这可包括请求用户安装设备的伴随磁盘,从网页下载驱动和/或重获存储的驱动。一旦检验到该驱动,该方法继续到步骤544,在此HH处理模块将手持块I/O设备、扩展块和字符I/O设备的识别信息加载到插接模式操作系统设备表中。
该方法继续到步骤546,在此HH处理模块确定手持存储资源、手持处理资源、扩展存储资源和扩展处理资源。该资源可进一步包括可用用户存储空间、多进程配置信息、总线结构、用户应用、文件结构等。该方法继续到步骤548,在此HH处理模块初始化插接模式进程表。进程表的一个实施例可参见图33。该方法继续到步骤550,在此HH处理模块启动扩展图形用户接口并可进一步包括发起用户联机进程。
当在步骤522,确定将要加载远程模式操作系统,该方法继续到步骤524,在此HH处理模块验证耦合到手持I/O接口的块和字符I/O设备的驱动是否存在。该方法继续到步骤526,在此HH处理模块确定是否所有的有效HH设备的驱动存在。如果不是,则该方法继续到步骤528,在此HH处理模块获取驱动。一旦检验到该驱动,该方法继续到步骤530,在此HH处理模块将手持块I/O设备的识别信息加载到远程模式操作系统设备表中。
该方法继续到步骤532,在此HH处理模块确定手持存储资源和手持处理资源。该资源可进一步包括可用用户存储空间、多进程配置信息、总线结构、用户应用、文件结构等。该方法继续到步骤534,在此HH处理模块初始化远程模式进程表。进程表的一个实施例可参见图33。该方法继续到步骤536,在此HH处理模块启动HH图形用户接口并可进一步包括发起用户联机进程。
当在步骤522,确定将要加载半插接模式操作系统,该方法继续到步骤552,在此HH处理模块验证耦合到手持I/O接口的块和字符I/O设备的驱动和耦合到I/O控制器、主控制器和/或EXT总线结构的EXT块I/O设备是否存在。该方法继续到步骤554,在此HH处理模块确定是否所有的有效HH和EXT I/O设备的驱动存在。如果不是,则该方法继续到步骤556,在此HH处理模块获取驱动。一旦检验到该驱动,该方法继续到步骤558,在此HH处理模块将手持块I/O设备、扩展块I/O设备的识别信息加载到板插接模式操作系统设备表中。应注意,插接、半插接、远程操作系统表可以是具有不同入口的同一表。
该方法继续到步骤560,在此HH处理模块确定手持存储资源、手持处理资源、扩展存储资源和扩展处理资源。该资源可进一步包括可用用户存储空间、多进程配置信息、总线结构、用户应用、文件结构等。该方法继续到步骤562,在此HH处理模块初始化半插接模式进程表。进程表的一个实施例可参见图33。该方法继续到步骤564,在此HH处理模块启动HH图形用户接口并可进一步包括发起用户联机进程。
图28是包括用户模式单元572和内核模式单元574的操作系统570的实施例的示意图。该用户模式单元572包括多个进程576-580,其对应与一个或多个运行的用户应用。操作系统570包括公共操作系统325、远程操作系统326、半插接操作系统328和插接操作系统336。各个远程、半插接和插接操作系统包括公共操作系统325。另外,每个操作系统包括一个或多个进程管理内核582、一个或多个存储器管理内核584、一个或多个文件系统管理内核586和一个或多个I/O设备管理内核588。虽然没有示出,但该操作系统570进一步包括一个或多个图形用户接口管理内核、一个或多个安全内核和/或一个或多个网络内核。
通常,内核模式单元574用于关联应用和计算设备的硬件资源。就这一点而言,内核模式单元574管理计算设备的资源(例如,多进程性能、进程模块运行时间、主存储器、硬件存储器、网络吞吐量、I/O设备、硬件和软件组件之间的通信等)并提供低电平软件仲裁层。应注意,该内核模式单元574可包括单片电路内核和/或微内核。
进程管理内核单元582可提供一个或多个内核以允许并支持一个或多个进程的执行。进程是应用的操作治疗的执行且一些进程可与同一应用相关。当手持计算单元处于远程模式时,HH处理模块可用作一次执行一个指令的单个中央处理单元。在该实施例中,该HH处理模块可使用分时进程以允许多个进程的同时执行。在另一实施例中,HH处理模块可包括多处理器中心,其可支持多个进程的实际同时执行。当手持计算单元处于插接模式时,HH处理模块和EXT处理模块可共同提供多处理器中心。应注意,每个HH处理模块和EXT处理模块可包括其自己的多处理器中心,这样当共同作用时,处理器的数量进一步增加。
为了运行一个应用,进程管理内核单元582的内核为应用设立地址空间,并将包括应用代码的文件加载到存储器,为应用设立栈并分支到应用内的给定区域以开始执行。某些应用可由使用多任务内核、优先多任务内核(pre-emptivemulti-tasking kernel)、协同多任务内核(cooperative multi-tasking Kernel)和/或多进程来支持。多任务内核进度表以有序的方式(orderly manner)访问多个进程间的HH处理模块和/或EXT处理模块。该时序安排可以多种方式完成,包括多道程序设计、分时和实时方式。
优先多任务内核为每个进程分配一段时间并根据时间段在进程间进行切换以提供同时执行的假象。时间段的大小可根据进程变化并可基于其他进程的优先级进行调整或重分配。该核心也可提供用于共享进程资源以彼此通信的基质,这通常叫做进程间通信(IPC),这可通过共享存储器、消息传递和/或远程程序调用来完成。
协同多任务内核运行进程不间断运行知道其做出特殊请求告诉内核可以切换到另一进程。该特定请求可以是响应进程间通信或进程等待的事件发生的结果。
多进程内核允许不同的进程和/或线程(thread)在不同的处理器(如HH处理模块和EXT处理模块)上运行。该内核提供同步机制以确保没有两个处理器试图在同一时间修改同一数据。
该存储器管理内核单元584可提供一个或多个内核以控制对HH主存储器、HH硬盘/闪存存储器、EXT主存储器和/或EXT硬盘/闪存存储器的访问。通常,存储器管理内核可完全访问计算设备的存储器并控制进程访问该存储器。这包括建立使用页面调度和/或分段(segmentation)建立虚拟选址。对于不同的进程该虚拟地址控制可以不同。例如一个进程在特定(虚拟)地址访问的存储器可能不同于另一进程在同一虚拟地址访问的存储器。该操作系统保存页表以追踪管理物理地址的虚拟地址和对特定进程的虚拟存储器的分配。可追踪虚拟存储器的分配,这样当进程结束时,该进程使用的存储可以变得其他进程可用。在这一方式中,存储器管理内核允许每个进程就向其实唯一运行的进程一样工作。
该文件系统管理内核单元586可包括一个或多个内核以控制文件系统的文件存储和/或文件传输。文件系统使用EXT硬盘/闪存存储器、EXT CD-ROM驱动、HH硬盘/闪存存储器等以存储和组织文件和/或应用以便于查找和访问。在一个实施例中,文件系统包括与文件相关的文件名目录。这可由将文件名与文件分配表中的索引相关联来完成。该目录结构可为平的(无子目录)或是分层的(包括子目录)。该目录可进一步包括关于文件的元数据(meta data)。该元数据可包括文件长度、比特数、该文件最后修订的时间、文件创建时间和/或日期、文件最后被访问的时间和/或日期、元数据的任何改变、所有者识别、创建者识别、访问许可设置等。
该文件系统可以是硬盘文件系统、闪存文件系统、数据库文件系统、事务性文件系统(transactional file system)和/或特殊目的文件系统。在一个实施例中,操作系统的各种模式具有其自身的文件系统。例如,远程模式操作系统具有使用HH硬盘/闪存存储器54的文件系统,半插接模式操作系统具有分级优选HH硬盘/闪存存储器54,次选EXT硬盘/闪存存储器84上的文件系统;插接模式操作系统具有分级优选EXT硬盘/闪存存储器84,次选HH硬盘/闪存存储器54上的文件系统。
I/O设备管理内核单元588包括管理进程资源和/或存储资源分配请求的一个或多个内核。例如,一个进程可能需要访问I/O设备(例如HH显示器),该设备由内核通过设备驱动控制。如更具体的实施例,为了在HH显示器上向用户显示某些东西,一个应用可向内核发出请求,内核和将该请求转发到其显示器驱动,该显示器取代将绘制字符/像素以进行显示。
该操作系统570可包括安全特征。该安全可包括不同级别:内部安全和外部安全。内部安全是保护来自执行同一进程的同时运行的应用的计算设备的资源。在这一方式中,应用和/或进程可分配不同的权限级别,这阻塞了低权限应用和/或进程使用某些硬件治疗、某些处理资源、访问某些存储器空间等。当一个应用或进程被阻塞时,其必须请求更高权限应用或进程来为其执行其任务。
对于外部安全,计算设备可包括软件防火墙或入侵检测/阻塞系统。配置该软件防火墙以允许或拒绝与在操作系统上运行的服务或应用网络通信。
该操作系统570进一步包括用于手持计算单元和扩展计算单元的图形用户接口(GUI)。该GUI可用于触摸屏、键区、CD显示器、监视器并可随着使用的应用而改变。例如,当手持计算单元处于蜂窝电话模式时,该GUI可以适用于蜂窝电话。如另一实施例,当手持计算单元处于GPS接收器模式时,该GUI可以适用于GPS操作。当手持计算单元插接到扩展计算单元时,该GUI可以类似个人电脑和/或膝上型电脑GUI。
图29是操作系统570的另一实施例的示意图。该操作系统570可处于远程模式、半插接模式或插接模式。在任一模式中,操作系统具有5个状态:用户模式590、存储器内核模式592、文件系统内核模式594、I/O设备内核模式596和进程内核模式598。从用户模式状态590,操作系统可切换到任何内核模式以响应服务调用或转移程序(trap)。在一个内核状态,操作系统可切换到任何其他内核状态或用户模式状态。
作为实施例,假设手持计算单元处于远程模式并在执行用户应用并且操作系统处于用于该用户应用的用户模式状态590。用户应用的执行包括需要访问HH计算单元的资源的一个或多个进程。当进程需要资源时,其生成服务调用或诱发转移程序(evokes a trap)。当检测到该服务调用或转移程序时,该操作系统切换到进程内核状态598以用于进程服务调用,切换到I/O内核模式以用于I/O服务调用,切换到存储器内核模式592以用于存储器服务调用或切换到文件系统内核模式以用于文件服务系统调用。假设该服务调用是进程服务调用,该操作系统处于状态598并用于处理该进程服务调用。该进程服务调用可具有可供HH处理模块执行的操作指令,当执行这些操作指令时,可存储数据可读取数据,并可使用某些数据,可显示数据或接收数据。
如果进程服务调用是执行操作治疗,该进程管理内核基于所述进程的状态调度用于访问HH处理模块的进程。如图32中所示,进程可处于阻塞状态634、运行状态630或就绪状态632.如果进程是处于阻塞状态634,其依赖于其可执行其当前任务前完成的某些其他进程、存储器管理功能和/或文件管理功能来在。当该依赖被排除时,进程切换到就绪状态632。该进程一直处于该状态,知道其需要的资源被分配给它。当分配以后,该进程切换到运行状态603。
回到图29的状态图,在进程预定之后和/或该进程结束之后,该操作系统跳回到用户状态590.如果该进程服务调用包括请求访问处理模块和存储其结果,该操作系统将切换到存储器内核状态592和文件系统内核状态594以满足存储请求服务调用。
当I/O设备想要访问处理模块、文件和/或存储器时,其发送中断。当操作系统接收到中断以后,其切换到I/O设备内核模式以处理该终端,其可以用于访问文件系统、访问处理模块和/或访问存储器。这样操作系统可从I/O设备内核模式切换到处理内核状态598、文件系统内核状态594和/或存储器内核状态592。注意,对于从应用到应用和/或进程到进程,操作系统可在任一时间位于不同的状态。
服务调用的进一步的实施例包括:
-进程管理
-创建子进程
-创建进程(在系统开启,每个系统调用、每个用户请求、每个批作业)
-删除一个进程(正常、错误、严重错误、被另一进程断开)
-等待子进程结束
-取代进程的核心图像
-终止进程执行并返回原状(return status)
文件管理
-打开文件以读和/或写
-关闭打开的文件
-从文件读取数据到缓冲器中
-从缓冲器中写数据到文件
-移动文件指针
-获得文件状态信息
目录和文件系统管理
-创建新的目录
-移除空的目录
-创建新的入口、名称、名称指针(快捷路径)
-移除目录入口;
-挂载文件系统
-卸载文件系统
图30是处理服务调用的方法的一个实施例的逻辑示意图,其始于步骤600,在此手持设备处于半插接模式,该HH处理模块接收来自手持应用、半插接模式应用、手持块I/O设备、扩展块I/O设备或手持字符块I/O设备的系统调用。该方法继续到步骤602,在此HH处理模块在半插接堆栈中存储系统调用的参数。该参数包括应用中的当前加载、当前指针信息、存储器加载和/或允许该应用拾取的其他数据,在此当该应用的服务调用结束以后,其可丢弃这些数据。
在方法继续到步骤604,在此HH处理模块调用半插接模式子程序库以重获子程序(例如,管理器)以支持完成该服务调用。图31是库620的实施例,其包括模式OS子程序622、半插接模式OS子程序624、插接模式子程序624。如图所示,该子程序相互重叠,这样当手持计算单元处于插接模式时,其可从OS子程序622-626中任意一个调用子程序。相反地,当手持计算单元处于远程模式时,其仅能从远程OS子程序622调用子程序。
该库620可以是静态或者是动态连接程序库。静态程序库的实施例可包括一组可由编译器、连接器或打包器,生成目标文件和单机执行文件复制到目标应用的程序。用于跳变和其他程序调用的实际地址、基准可存储到知道所有的代码和库都分配到最终静态地址后才能解决的相对地址或符号。该连接器将未决定的地址分配到固定或虚拟地址。
在一个实施例中,动态连接库在运行时间而不是编译时间将库中的子程序加载到应用中。这降低了连接器的编译时间,因为其记录下了编程所需的库程序和库的索引名称。在应用的加载中,加载器将库的相关部分从硬盘传送到可位于手持和/或扩展计算单元的主存储器中。
回到对图30的讨论,该方法继续到步骤606,在此HH处理模块更新用于一个应用和/或其一个进程的系统调用的进程表。图33示出了包括用于各个有效的列的进程表。存储的用于各个进程的数据可包括进程信息642(例如,寄存器加载、程序计数器(PC)、状态字、堆栈指针、进程状态、调度参数、进程ID、父进程、信号、进程开始时间、处理器使用时间(processing user time)、子进程使用时间、下一提醒时间)、存储器信息644(例如,到文本(例如代码、指令等)、数据段、堆栈段的指针)以及文件信息646(如根目录、工作目录、文件描述、用户ID和/或群ID)。
回到对图30的讨论,该方法继续到步骤606,在此HH处理模块执行转移程序以切换到内核插接模式(如进程、存储器、文件、I/O设备)。该方法继续到步骤608,在此HH处理模块识别系统调用管理器以访问用于该系统调用的高级软件层。在步骤612,处理该系统调用,其可由HH处理模块执行高级层操作系统子程序。当处理完系统调用之后(可参照图29完成),该方法继续到步骤616。
步骤616中,手持处理模块执行另一转移以回到用户模式。该方法继续步骤608,其中手持处理模块从堆栈中获取参数,以便应用程序能够从其发起服务调用时停止的地方恢复处理。
当手持计算单元处于远程模式时,图30的方法也是适用的。步骤600中,手持处理模块从手持应用程序、手持块I/O设备或手持字符I/O设备接收系统调用。步骤602-618包括将系统调用的参数存储到远程模式堆栈内,调用远程模式子程序库,为系统调用更新进程表,执行转移以切换到内核远程模式,为系统调用识别系统调用句柄,当处理系统调用完成时执行另一转移以回到用户模式,并获取参数。
当手持计算单元处于插接模式时,图30的方法也是适用的。步骤600中,手持处理模块从手持应用程序、插接模式应用程序、手持块I/O设备、扩展块I/O设备或扩展字符I/O设备接收系统调用。步骤602-618包括将系统调用的参数存储到插接模式堆栈内,调用插接模式子程序库,为系统调用更新进程表,执行转移以切换到内核插接模式,为系统调用识别系统调用句柄,当处理系统调用完成时执行另一转移以回到用户模式,并获取参数。
图34是远程模式操作系统的一个例子的示意图。该示例中,远程模式操作系统正支持一个或多个固定手持用户应用程序650、一个或多个选定手持用户应用程序652、一个或多个手持块I/O设备驱动程序654(其进而连接一个或多个对应的I/O块设备,例如硬盘54、闪存等)、以及一个或多个手持字符I/O设备驱动程序656(其进而连接一个或多个对应的I/O字符设备,例如手持显示器、手持键盘、手持麦克风、手持扬声器、数字摄像头等)。一个实施例中,操作系统包括一个或多个存储器内核658、一个或多个文件系统内核660、一个或多个进程内核662、以及一个或多个I/O设备内核664。操作系统可进一步具有存储器调度程序668和处理模块调度程序670。
固定的用户程序650是驻留于手持存储器(例如硬盘或闪存)内的应用程序,且不能被转移到扩展存储器(例如硬盘、闪存、磁带、RFID等)。选定的用户应用程序652是当前驻留于手持存储器内但可转移给扩展存储器的应用程序。固定的和选定的应用程序将结合图37-44给出详细的描述。
本示例中,应用程序650-652和/或经由对应的驱动程序654-656的I/O设备可发出服务调用、中断、和/或转移,来唤起一个或多个操作系统内核658-664。例如,若一个应用程序或I/O设备希望读或写存储器的特定文件,存储器内核658和文件系统内核被唤起。文件系统内核660识别被处理的特定文件,存储器内核658识别该文件的特定存储器位置。存储器内核658还提供读/写(R/W)请求给存储器调度程序668。
存储器调度程序668将R/W请求排队并对他们进行调度以访问手持存储器52和/或54。存储器调度程序668可使用一种或多种调度技术来调度存储器请求。这样的调度技术包括借记虚拟时间调度机制(BVT)、完全公平调度机制(CFS)、关键路径法调度机制、时限单调调度机制(DMS)、差额循环调度机制(DRR)、主序列聚类调度算法(DSC)、截止期优先调度机制、FIFO(先进后出,又被称为FCFS)、组调度、遗传预测(genetic anticipatory)调度机制、最高回应率优先(HRRN)、间隔调度机制、后进先出(LIFO)、工作排程调度机制、最小连接调度机制、最小空闲时间调度机制(LST)、表调度机制、彩票调度机制、多级队列、多级反馈队列、不排队调度机制、O(1)调度、比例共享调度机制、速率单调调度机制(RMS)、循环调度机制(RR)、最短预期延时调度机制、最短先做调度机制(SJN)、最短剩余时间调度机制(SRT)、阶梯截止期调度机制(SD)、“取”调度机制(“take”scheduling)、两级调度、加权公平排队调度机制(WFQ)、加权最小连接调度机制、加权循环调度机制(WRR)、以及组率循环调度机制。
当R/W功能正在进行时,手持存储器52-54被访问,对应的数据被读出自或写入给预期的位置。一旦该功能完成,R/W功能将被移出存储器调度程序的队列。注意,R/W功能的完成可唤醒另一R/W功能、手持处理模块50的一个进程、文件系统功能、和/或I/O设备功能。
处理模块调度程序670可使用一种或多种调度技术来调度进度以便访问手持处理模块50。本例中,可通过应用程序650-652中的一个或多个和/或连接至驱动程序654-656的I/O设备中的一个或多个来发起进程。
如结合示例所描述的,内核658-664以及调度程序668-670控制对手持计算单元的资源的访问。具体来说,存储器内核658和存储器存储器调度程序控制对手持存储器53-54的访问,而进程内核662和处理模块存储器调度程序670控制对手持处理模块50的访问。
图35是半插接模式操作系统的一个示例的示意图。本示例中,半插接模式操作系统正支持一个或多个固定手持用户应用程序650-652、一个或多个半插接用户应用程序672、一个或多个手持块I/O设备驱动程序654(其进而连接一个或多个对应的I/O块设备,例如硬盘54、闪存等)、以及一个或多个手持字符I/O设备驱动程序656(其进而连接一个或多个对应的I/O字符设备,例如手持显示器、手持键盘、手持麦克风、手持扬声器、数字摄像头等),以及一个或多个扩展I/O块设备驱动程序674(其进而连接一个或多个对应的I/O块设备,例如硬盘84、闪存190、磁带、RFID等)。一个实施例中,操作系统包括一个或多个存储器内核678、一个或多个文件系统内核680、一个或多个进程内核682、以及一个或多个I/O设备内核684。该操作系统可进一步具有存储器调度程序684、手持存储器调度程序668、扩展存储器调度程序688、处理模块调度程序695、手持处理模块调度程序670、和扩展处理模块调度程序692。
本示例中,应用程序650-652和/或经由对应的驱动程序654-656的I/O设备可发出服务调用、中断、和/或转移,来唤起一个或多个操作系统内核676-682。例如,若一个应用程序或I/O设备希望读或写存储器的特定文件,存储器内核678和文件系统内核680被唤起。文件系统内核680识别被处理的特定文件,存储器内核678识别该文件的特定存储器位置。存储器内核678还提供读/写(R/W)请求给存储器调度程序684。
存储器调度程序684将R/W功能排队并为手持存储器调度程序686和扩展存储器调度程序688对他们进行调度。手持存储器调度程序686调度R/W功能以访问手持存储器52和/或54,扩展存储器调度程序调度R/W功能以访问扩展存储器82-84。存储器调度程序可使用一种或多种调度技术来调度存储器请求。这样的调度技术包括借记虚拟时间调度机制(BVT)、完全公平调度机制(CFS)、关键路径法调度机制、时限单调调度机制(DMS)、差额循环调度机制(DRR)、主序列聚类调度算法(DSC)、截止期优先调度机制、FIFO(先进后出,又被称为FCFS)、组调度、遗传预测(genetic anticipatory)调度机制、最高回应率优先(HRRN)、间隔调度机制、后进先出(LIFO)、工作排程调度机制、最小连接调度机制、最小空闲时间调度机制(LST)、表调度机制、彩票调度机制、多级队列、多级反馈队列、不排队调度机制、O(1)调度、比例共享调度机制、速率单调调度机制(RMS)、循环调度机制(RR)、最短预期延时调度机制、最短先做调度机制(SJN)、最短剩余时间调度机制(SRT)、阶梯截止期调度机制(SD)、“取”调度机制(“take”scheduling)、两级调度、加权公平排队调度机制(WFQ)、加权最小连接调度机制、加权循环调度机制(WRR)、以及组率循环调度机制。
当R/W功能正在进行时,手持存储器52-54或扩展存储器82-84被访问,对应的数据被读出自或写入给预期的位置。一旦该功能完成,R/W功能将被移出存储器调度程序的队列。注意,R/W功能的完成可唤醒另一R/W功能、手持处理模块50的一个进程、文件系统功能、和/或I/O设备功能。
处理模块调度程序695将进程排队并为手持处理模块调度程序670和扩展处理模块调度程序692调度这些进程。手持处理模块调度程序670调度进程以便访问手持处理模块50,扩展处理模块调度程序690调度进程以便访问扩展处理模块80。本示例中,可通过应用程序650-652、672中的一个或多个和/或连接至驱动程序654-656、674的I/O设备中的一个或多个来发起进程。
图36是插接模式操作系统的一个示例的示意图。本示例中,插接模式操作系统正支持一个或多个固定手持用户应用程序650-652、一个或多个插接用户应用程序700(其存储在扩展计算单元的硬盘上并由手持和扩展计算单元共同处理)、一个或多个手持块I/O设备驱动程序654(其进而连接一个或多个对应的I/O块设备,例如硬盘54、闪存等)、一个或多个扩展手持字符I/O设备驱动程序702(其进而连接一个或多个对应的I/O字符设备,例如扩展显示器、扩展键盘、扩展鼠标、扩展麦克风、扩展扬声器、扩展打印机等),以及一个或多个扩展I/O块设备驱动程序674(其进而连接一个或多个对应的I/O块设备,例如硬盘84、闪存190、磁带、RFID等)。一个实施例中,该操作系统包括一个或多个存储器内核706、一个或多个文件系统内核708、一个或多个进程内核710、以及一个或多个I/O设备内核704。该操作系统可进一步具有存储器调度程序712、手持存储器调度程序668、扩展存储器调度程序716、处理模块调度程序718、手持处理模块调度程序670、和扩展处理模块调度程序722。
本示例中,应用程序650-652和/或经由对应的驱动程序654-656、702的I/O设备可发出服务调用、中断、和/或转移,来唤起一个或多个操作系统内核704-710。例如,若一个应用程序或I/O设备希望读或写存储器的特定文件,存储器内核706和文件系统内核708被唤起。文件系统内核708识别被处理的特定文件,存储器内核706识别该文件的特定存储器位置。存储器内核706还提供读/写(R/W)请求给存储器调度程序712。
存储器调度程序712将R/W功能排队并为手持存储器调度程序686和扩展存储器调度程序716对他们进行调度。手持存储器调度程序686调度R/W功能以访问手持存储器52和/或54,扩展存储器调度程序716调度R/W功能以访问扩展存储器82-84。存储器调度程序可使用一种或多种调度技术来调度存储器请求。这样的调度技术包括借记虚拟时间调度机制(BVT)、完全公平调度机制(CFS)、关键路径法调度机制、时限单调调度机制(DMS)、差额循环调度机制(DRR)、主序列聚类调度算法(DSC)、截止期优先调度机制、FIFO(先进后出,又被称为FCFS)、组调度、遗传预测(genetic anticipatory)调度机制、最高回应率优先(HRRN)、间隔调度机制、后进先出(LIFO)、工作排程调度机制、最小连接调度机制、最小空闲时间调度机制(LST)、表调度机制、彩票调度机制、多级队列、多级反馈队列、不排队调度机制、O(1)调度、比例共享调度机制、速率单调调度机制(RMS)、循环调度机制(RR)、最短预期延时调度机制、最短先做调度机制(SJN)、最短剩余时间调度机制(SRT)、阶梯截止期调度机制(SD)、“取”调度机制(“take”scheduling)、两级调度、加权公平排队调度机制(WFQ)、加权最小连接调度机制、加权循环调度机制(WRR)、以及组率循环调度机制。
当R/W功能正在进行时,手持存储器52-54或扩展存储器82-84被访问,对应的数据被读出自或写入给预期的位置。一旦该功能完成,R/W功能将被移出存储器调度程序的队列。注意,R/W功能的完成可唤醒另一R/W功能、手持处理模块50的一个进程、文件系统功能、和/或I/O设备功能。
处理模块调度程序718将进程排队并为手持处理模块调度程序670和扩展处理模块调度程序692调度这些进程。手持处理模块调度程序670调度进程以便访问手持处理模块50,扩展处理模块调度程序722调度进程以便访问扩展处理模块80。本示例中,可通过应用程序650-652、700中的一个或多个和/或连接至驱动程序654-656、702的I/O设备中的一个或多个来发起进程。
图37是手持硬盘/闪存54与扩展硬盘/闪存84之间进行应用程序和/或文件交换的示例的示意图。对于文件或应用程序转移的发生,手持计算单元处于半插接模式或插接模式。本示例中,手持硬盘/闪存54正存储一个或多个固定手持应用程序734-736、一个或多个选定应用程序730-732、一个或多个固定手持文件778、以及一个或多个选定文件780。扩展硬盘/啥存84正存储一个或多个固定扩展应用程序738-740、一个或多个固定扩展文件786、和一个或多个选定文件782-784。
每个应用程序730-744包括应用程序代码单元746-760和操作系统接口代码单元762-776。应用程序代码单元包括应用程序的操作指令。操作系统接口代码单元包括有能使应用程序与操作系统通信的代码,其可以是应用程序编程接口。
一个实施例中,固定手持应用程序734-736因其特性是仅被允许存储在手持存储器54上的应用程序。例如,该应用程序可以是蜂窝电话通信的应用程序、日历应用程序、电子邮件应用程序、联系人应用程序、网页收藏夹应用程序、记事本应用程序等。固定手持文件778是因其对应的应用程序而仅被允许存储在手持存储器上的文件。例如,该固定文件可以是日历、电子邮件文件、联系人列表、收藏的网页列表、记事文件等。尽管这些应用程序和文件可以被访问而不管手持计算单元的模式如何,但这些应用程序和文件驻留于手持计算单元内,从而当手持计算单元处于远程模式时,其上具有这些应用程序和文件,避免了当前PC和手持设备的应用程序和文件的冗余。注意,用户可选择将哪些文件和/或应用程序固定。
一个实施例中,选定的手持应用程序730-732是当前存储于手持存储器54上但可被转移到扩展存储器84的应用程序。例如,该应用程序可以是视频游戏、文字处理、数据库、电子数据表、数字A/V播放器等。选定的手持文件780是当前存储在手持存储器54上但可被转移到扩展存储器84的文件。例如,选定的文件可以是文字处理文档、电子数据表、数据库记录等。
一个实施例中,固定的扩展应用程序742-744是因其特性仅被允许存储在扩展存储器84上的应用程序。例如,该应用程序可以是磁带备份程序等。固定的扩展文件786是因其对应的应用程序而仅被允许存储在扩展存储器84上的文件。
一个实施例中,选定的扩展应用程序738-740是当前存储在扩展存储器84上但可被转移到手持存储器54的应用程序。例如,该应用程序可以是视频游戏、文字处理、数据库、电子数据表、数字A/V播放器等。选定的扩展文件782-784是当前存储在扩展存储器84上但可被转移到手持存储器54的文件。例如,该选定的文件可以是位子处理文档、电子数据表、数据库记录等。
随着手持计算单元插接入扩展计算单元,选定的应用程序730-732可与选定的应用程序738-740进行交换。此外,按照用户的指示,选定的文件778可与选定的文件782-784进行交换。
图38和39是在模式改变的状态下在手持计算单元和扩展计算单元之间交换文件和/或应用程序的方法的逻辑流程图。该方法开始于图38的步骤790,手持处理模块监测从接入模式改变到另一模式的模式改变请求。该模式改变可通过用户输入来检测到,以选择远程模式或半插接模式,若当前处于插接模式的话。模式改变还可以在手持计算单元已经从插接模式改变到半插接模式时自动地检测到。若在步骤792中检测到改变请求,方法继续至步骤794,否则等待直到检测到请求。
步骤794中,手持处理模块50确定手持计算单元是否将从插接模式改变到远程模式或半插接模式。例如,用户可通过GUI提供输入以指示期望的模式改变或,该模式改变可通过首先检查手持计算单元和扩展计算单元之间的耦合损耗来自动检测到。若检测到耦合损耗,手持计算单元确定其是否可通过RF通信路径与扩展计算单元通信。若是,则其处于了半插接模式;若否,则其处于远程模式。
当检测到模式改变请求将改变到远程模式时,该方法继续到步骤796,手持处理模块确定可用的手持硬盘空间。该方法继续步骤798,手持处理模块确定存储在手持硬盘上的用户应用程序和文件。该方法继续步骤800,手持处理模块识别出用户应用程序中固定的用户应用程序和选定的用户应用程序,并识别出文件中固定的文件和选定的文件。
该方法继续到步骤802,手持处理模块提供出固定的用户应用程序以及选定的用户应用程序的列表。接着步骤804中,手持处理模块提供出存储在扩展硬盘上的可用可选择的用户应用程序和/或可选择的文件。接着步骤806中,手持处理模块确定其是否接收到了改变选定的应用程序和/或选定的文件的请求。若没有,接着步骤808中,手持处理模块促进到远程模式的转换。
若在步骤806中接收到改变请求,接着步骤810中,手持处理模块确定该改变是否是删除应用程序和/或文件或增加应用程序和/或文件。若该改变是删除,接着步骤812中,手持处理模块删除选定的应用程序和/或选定的文件。接着步骤808中,手持处理模块促进到远程模式的转换。
若该改变是增加应用程序和/或文件,接着步骤814中,手持处理模块确定是否有足够的存储空间来存储新的应用程序和/或文件。若有,接着步骤816中,手持处理模块增加新的应用程序和/或文件给手持存储器54并从扩展存储器84中将其移除。注意,手持处理模块可实现存储在手持存储器54和/或扩展存储器84内的任何文件和/或应用程序到备份磁带、备份硬盘等的备份。
当手持硬盘没有足够的可用存储空间来存储新的应用程序和/或新的文件时,该方法接着执行步骤818,手持处理模块提供存储空间不足的消息以显示出来。响应该消息,用户可在进入远程模式之前选择不增加应用程序和/或文件给手持存储器54;用户可表明他/她想与扩展存储器交换应用程序和/或文件,或用户可能想改变到半接插模式以便通过RF连接访问应用程序和/或文件。如果响应是交换应用程序和/或文件,手持处理模块将手持硬盘上的一个选定用户应用程序与扩展存储器上的可用的可选择的用户应用程序相交换,从而使该可用的可选择用户应用程序存储在手持硬盘上,而该一个选定的用户应用程序被存储在扩展硬盘上。
若检测到的模式是到半插接模式,该方法继续执行图39的步骤822,手持处理模块确定手持计算单元和扩展计算单元之间的无线链路速度。例如,若无线链路是依据IEEE 802.11g的,其可提供高达54Mbps的链路速度。接着在步骤824中,手持处理模块确定存储在扩展硬盘上的需要大于无线链路速率的链路速度的应用程序和/或文件。例如,一个应用程序可能要求128Mbps存储器速率访问。注意,尽管处于半插接模式,链路速度要求低于无线链路速率的应用程序和/或文件,手持处理模块可通过无线链路访问扩展存储器。
接着步骤826中,手持处理模块提供出要求链路速度大于无线链路速率的列表以显示出来。接着步骤828中,手持处理模块确定用户是否已经选择了列表中的一个应用程序和/或文件以传递给手持存储器54。若没有,该方法继续步骤830,手持处理模块实现到半插接模式的转换。
当接收到对用户应用程序列表中的一个用户应用程序的选择时,该方法继续步骤832,手持处理模块确定可用的手持硬盘空间。接着步骤834中,手持处理模块确定存储在手持硬盘上的用户应用程序和/或文件。接着步骤836中,手持处理模块确定手持硬盘是否具有足够的可用存储器来存储选定的用户应用程序和/或文件。若是,该方法继续步骤838,手持处理模块增加该选定应用程序和/或文件给手持存储器并接着执行至步骤830。
当手持硬盘不具有足够的可用存储器来存储选定的用户应用程序和/或文件时,该方法继续步骤840,手持处理模块提供存储空间不够的消息以便显示。接着步骤842中,手持处理模块确定器是否已经接收到交换请求。若没有,该方法继续步骤830,手持处理模块实现到半插接模式的改变。
然后,若接收到交换请求,该方法继续步骤844和846,手持处理模块交换手持硬盘上的选定用户应用程序与扩展存储器上的选定用户应用程序,从而使新选定的用户应用程序存储在手持硬盘上,其他选定的用户应用程序现在存储在扩展硬盘上。
图40是从插接模式改变到远程模式的示例的示意图。本示例中,手持计算单元12插接入扩展计算单元14,并且在监视器18上提供GUI,提供远程图标和半插接图标以供用户选择来切换模式。选择可通过键盘20、鼠标、触摸屏、语音识别等来作出。本示例中,选择了远程模式。
图41是依据40的示例中从插接模式改变到远程模式之前的应用程序和文件状态的示意图。本示例中,手持存储器正存储固定的应用程序日历、电子邮件、联系人、蜂窝电话、收藏夹和记事本。手持存储器还存储选定的应用程序文字处理、数据库、电子数据表、视频游戏A、视频游戏B、GPS接收器、和数字A/V播放器。手持存储器进一步存储固定文件如日历表、电子邮件收件箱、和联系人列表。手持存储器进一步存储选定的文件如数字音乐文件1、数字视频文件1、客户A文件夹、电子数据表X。
本示例中,扩展存储器正存储可用的可选择应用程序如演示软件、PDF制作软件、视频游戏C、视频游戏D。扩展存储器进一步正存储有数字音乐文件2、数字视频文件2、客户B—P文件夹、演示文稿A—Z以及文档1—XX。
本示例中,在转换到远程模式之前,用户可选择改变存储在手持计算单元上的应用程序和/或文件。例如,假设用户正移动到客户的位置来做演示,并期望仅带着手持计算单元。图41的示例中,从中生成的演示软件和文件被存储在扩展存储器上。如此的话,用户可分别拖曳并点击演示软件和期望的演示文稿(例如,演示文稿A)到选定应用程序和选定文件的列表中。注意,该列表可以是一个或多个文件夹和/或其他类型的文件系统。若手持存储器具有足够的可用存储器,演示软件和选定的演示文件被添加给手持存储器。若没有,用户可交换出选定的应用程序和/或文件以为期望的文件腾出空间。
图42是继续图41的示例的示意图。该示意图中,用户正将演示软件与电子数据表软件进行交换。如此,演示软件现在存储在手持存储器内,而电子数据表被存储在扩展存储器内。
图43是继续图41的示例的示意图。该示意图中,用户正将演示文件A与电子数据表文件X进行交换。如此,演示文件A现在存储在手持存储器内,而电子数据表文件X存储在扩展存储器内。
图44是创建和/或改变应用程序和/或文件的方法的实施例的逻辑流程图,开始于步骤850,其中手持处理模块确定是否将新应用程序存储在计算设备内。若是,接着步骤852中,手持处理模块提供与新应用程序是否将存储在手持存储器内或扩展存储器内有关的消息。接着步骤854中,手持处理模块接收对该存储消息的响应。接着步骤856中,手持处理模块提供与是否新应用程序应该存储为固定应用程序或选定应用程序相关的消息提示。接着步骤858中,手持处理模块接收对该存储类型消息的响应。接着步骤860中,手持处理模块基于该响应,将新的应用程序作为固定的或选定的应用程序存储在手持存储器内或存储在扩展存储器内。
步骤862中,手持处理模块确定应用程序的存储的改变是否要发生。若是,接着步骤864中,手持处理模块提供与应用程序存储器位置改变有关的消息。接着步骤866中,手持处理模块接收对改变存储位置消息的响应。接着步骤868中,手持处理模块提供与应用程序存储类型是否应该改变有关的消息提示。步骤870中,手持处理模块接收对存储类型消息的响应。接着步骤872中,手持处理模块基于该响应将应用程序作为固定的或可选择的应用程序存储在手持存储器内或存储在扩展存储器内。
步骤874中,手持处理模块确定是否将新文件存储到计算设备内。若是,接着步骤876中,手持处理模块提供与新文件是否将存储在手持存储器内或扩展存储器内有关的消息。接着步骤878中,手持处理模块接收对存储消息的响应。接着步骤880中,手持处理模块提供与是否新文件应该存储为固定文件或可选择文件有关的消息提示。接着步骤882中,手持处理模块接收对存储类型消息的响应。接着步骤884中,手持处理模块基于响应将该新文件作为固定的或选定的文件存储在手持存储器内或扩展存储器内。
步骤886中,手持处理模块确定文件存储的改变是否要发生。若是,接着步骤888中,手持处理模块提供与文件的存储器位置改变有关的消息。接着步骤890中,手持处理模块接收对改变存储位置消息的响应。接着步骤892中,手持处理模块提供与文件存储类型是否应该改变有关的消息提示。步骤894中,手持处理模块接收对存储类型消息的响应。接着步骤896中,手持处理模块基于该响应将文件作为固定的或可选择的文件存储在手持存储器内或存储在扩展存储器内。
图45是用于连接手持计算单元到扩展计算单元的连接器结构的一个实施例的示意图。作为替代或补充,该连接器结构可用于手持计算单元和/或扩展计算单元内片上组件到片外组件的连接。此实施例中,连接器110A和110B具有多个RF收发器,可收发60GHz或其他微波频率的信号。这样的RF连接110可依据以下美国专利申请公开的技术来实现:(1)2007年1月31日申请的11/700,285,名为“RF总线控制器(RF bus controller)”;(2)2007年1月31日申请的11/700,421,名为“设备间RF总线及其控制(intra-device RF bus andcontrol thereof)”;(3)2007年1月31日申请的11/700,517,名为“共享的RF总线结构(shared RF bus structure)”;(4)2007年1月31日申请的11/700,592,名为“具有RF总线的RF收发器设备(RF transceiver device with RF bus)”;(5)2007年1月31日申请的11/700,591,名为“RF总线接入协议和收发器(RF busaccess protocol and transceiver)”。
图46是连接器结构110A和110B的另一实施例的示意图。该连接器结构可用于连接手持计算单元到扩展计算单元。作为替代或补充,该连接器结构可用于手持计算单元和/或扩展计算单元内片上组件到片外组件的连接。此实施例中,连接器110A和110B具有多个电磁收发器以提供多种近场通信路径。
图47是连接器结构110-3的另一实施例的示意图,其中,时钟生成器电路64和从时钟模块94之间的连接可使用标准公/母连接器来实现。连接器结构110A和110B的剩余部分使用图45或46中的一种来实现。此外,总线结构可具有连接器控制器900和902,控制对相应连接器110A和110B的访问。此外,可具有多路复用器来切换手持存储器54、手持处理模块50和手持主存储器52到手持总线接口75和/或到连接器110A的耦合。
注意,以上描述了手持处理模块执行对应功能的多种示例和/或实施例。另一替换实施例中,当手持处理模块处于插接模式时,扩展处理模块可执行该功能。另一替代实施例中,扩展处理模块和手持处理模块作为共处理模块来运作,以在手持处理模块处于插接模式时执行该功能。
本领域普通技术人员可以理解,术语“基本上”或“大约”,正如这里可能用到的,对相应的术语提供一种业内可接受的公差。这种业内可接受的公差从小于1%到20%,并对应于,但不限于,组件值、集成电路处理波动、温度波动、上升和下降时间和/或热噪声。本领域普通技术人员还可以理解,术语“可操作地连接”,正如这里可能用到的,包括通过另一个组件、元件、电路或模块直接连接和间接连接,其中对于间接连接,中间插入组件、元件、电路或模块并不改变信号的信息,但可以调整其电流电平、电压电平和/或功率电平。本领域普通技术人员可知,推断连接(亦即,一个元件根据推论连接到另一个元件)包括两个元件之间用相同于“可操作地连接”的方法直接和间接连接。本领域普通技术人员还可知,术语“比较结果有利”,正如这里可能用的,指两个或多个元件、项目、信号等之间的比较提供一个想要的关系。例如,当想要的关系是信号1具有大于信号2的振幅时,当信号1的振幅大于信号2的振幅或信号2的振幅小于信号1振幅时,可以得到有利的比较结果。
本发明通过借助方法步骤展示了本发明的特定功能及其关系。所述方法步骤的范围和顺序是为了便于描述任意定义的。只要能够执行特定的功能和顺序,也可应用其它界限和顺序。任何所述或选的界限或顺序因此落入本发明的范围和精神实质。
本发明还借助功能模块对某些重要的功能进行了描述。所述功能模块的界限和各种功能模块的关系是为了便于描述任意定义的。只要能够执行特定的功能,也可应用其它的界限或关系。所述其它的界限或关系也因此落入本发明的范围和精神实质。
本领域普通技术人员还可知,本申请中的功能模块和其它展示性模块和组件可实现为离散组件、专用集成电路、执行恰当软件的处理器和前述的任意组合。此外,尽管以上是通过一些实施例对本发明进行的描述,本领域技术人员知悉,本发明不局限于这些实施例,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。本发明的保护范围仅由本申请的权利要求书来限定。