System and Product for DMA Controller With Multi-Dimensional Line-Walking Functionality
    11.
    发明申请
    System and Product for DMA Controller With Multi-Dimensional Line-Walking Functionality 有权
    具有多维行走功能的DMA控制器的系统和产品

    公开(公告)号:US20080114907A1

    公开(公告)日:2008-05-15

    申请号:US12016289

    申请日:2008-01-18

    IPC分类号: G06F13/28

    CPC分类号: G06F13/28

    摘要: A system and product for a DMA controller with multi-dimensional line-walking functionality is presented. A processor includes an intelligent DMA controller, which loads a line description that corresponds to a shape or line. The intelligent DMA controller moves through a memory map and retrieves data based upon the line description that includes a major step and a minor step. In turn, the intelligent DMA controller retrieves data from the shared memory without assistance from its corresponding processor. In one embodiment, the intelligent DMA controller may analyze a line using the rate of change along its minor axes in conjunction with locations where the line intersects subspaces and store array spans of contiguous memory along the line's major axis.

    摘要翻译: 介绍了具有多维行走功能的DMA控制器的系统和产品。 处理器包括智能DMA控制器,其加载对应于形状或线的线描述。 智能DMA控制器通过存储器映射移动,并根据包括主要步骤和次要步骤的行描述检索数据。 反过来,智能DMA控制器从共享存储器中检索数据,而不需要相应处理器的帮助。 在一个实施例中,智能DMA控制器可以使用沿着其次轴的变化速率与线与线路相交的位置并沿着线的长轴存储连续存储器的阵列跨度来分析线。

    Apparatus and method for efficient communication of producer/consumer buffer status
    12.
    发明申请
    Apparatus and method for efficient communication of producer/consumer buffer status 审中-公开
    用于生产者/消费者缓冲状态的高效通信的装置和方法

    公开(公告)号:US20070174411A1

    公开(公告)日:2007-07-26

    申请号:US11340453

    申请日:2006-01-26

    IPC分类号: G06F15/167

    CPC分类号: G06F15/17337

    摘要: An apparatus and method for efficient communication of producer/consumer buffer status are provided. With the apparatus and method, devices in a data processing system notify each other of updates to head and tail pointers of a shared buffer region when the devices perform operations on the shared buffer region using signal notification channels of the devices. Thus, when a producer device that produces data to the shared buffer region writes data to the shared buffer region, an update to the head pointer is written to a signal notification channel of a consumer device. When a consumer device reads data from the shared buffer region, the consumer device writes a tail pointer update to a signal notification channel of the producer device. In addition, channels may operate in a blocking mode so that the corresponding device is kept in a low power state until an update is received over the channel.

    摘要翻译: 提供了用于生产者/消费者缓冲器状态的有效通信的装置和方法。 利用该设备和方法,当设备使用设备的信号通知通道在共享缓冲区域上执行操作时,数据处理系统中的设备通知彼此对共享缓冲区域的头和尾指针的更新。 因此,当向共享缓冲区域产生数据的生成器设备将数据写入到共享缓冲区域时,对头指针的更新被写入消费者设备的信号通知通道。 当消费者设备从共享缓冲区域读取数据时,消费者设备将尾指针更新写入生成器设备的信号通知通道。 此外,信道可以以阻塞模式操作,使得对应的设备保持在低功率状态,直到通过信道接收到更新。

    Method and apparatus for efficient generation of modulo inverse for public key cryptosystems
    13.
    发明申请
    Method and apparatus for efficient generation of modulo inverse for public key cryptosystems 失效
    用于公共密钥密码系统的有效生成模倒数的方法和装置

    公开(公告)号:US20060045263A1

    公开(公告)日:2006-03-02

    申请号:US10926598

    申请日:2004-08-26

    IPC分类号: H04L9/30

    CPC分类号: H04L9/30 G06F7/721

    摘要: A method, an apparatus, and a computer program are provided for efficiently determining an inverse multiplicative modulo. In many public-key cryptographic algorithms, an inverse modulo is usually calculated in key generation. However, because many Reduced Instruction Set Computers (RISCs) do not have the hardware support for division, good results are often not yielded. Therefore, to efficiently calculate a inverse modulo, an modified algorithm that utilizes a minimum of 3 division and 2 multiplications in conjunction with shifts and addition/subtractions is employed. The modified algorithm then is able to efficiently utilize the properties of the RISC processors to yield good results, especially when developing keys for public-key cryptographic algorithms.

    摘要翻译: 提供了一种方法,装置和计算机程序,用于有效地确定逆乘法模数。 在许多公钥加密算法中,通常在密钥生成中计算反模数。 然而,由于许多精简指令集计算机(RISC)没有对分区的硬件支持,因此通常不会产生良好的结果。 因此,为了有效地计算逆模,采用了利用最小3次除法和2次乘法结合偏移和加法/减法的修正算法。 然后,修改的算法能够有效地利用RISC处理器的属性产生良好的结果,特别是当为公钥密码算法开发密钥时。

    Unidirectional message masking and validation system and method
    14.
    发明申请
    Unidirectional message masking and validation system and method 有权
    单向消息屏蔽和验证系统和方法

    公开(公告)号:US20050166058A1

    公开(公告)日:2005-07-28

    申请号:US10763079

    申请日:2004-01-22

    IPC分类号: H04L9/00 H04L9/22

    CPC分类号: H04L9/0662 H04L2209/04

    摘要: A system for secure communication. A random value generator is configured to generate a random value. A message validation code generator is coupled to the random value generator and configured to generate a message validation code based on a predetermined key, a message, and the random value. A one-time pad generator is coupled to the random number generator and configured to generate a one-time pad based on the random value and the predetermined key. And a masked message generator is coupled to the one-time pad generator and configured to generate a masked message based on the one-time pad and the message. In a particular aspect, a protected message envelope generator is coupled to the random value generator, the message validation code generator, and the masked message generator, and is configured to generate a protected message envelope based on the random value, the message validation code, and the masked message. In another aspect, a protected message envelope reader is configured to receive a protected message envelope and generate a random value, a masked message, and a first message validation code based on the received protected message envelope. A one-time pad generator is coupled to the protected message envelope reader and is configured to generate a one-time pad based on the random value and a predetermined key. A message unmasker is coupled to the one-time pad generator and protected message envelope reader, and is configured to generate an unmasked message based on the one-time pad and the masked message.

    摘要翻译: 一种安全通信系统。 随机值生成器被配置为生成随机值。 消息验证码发生器耦合到随机值生成器并且被配置为基于预定密钥,消息和随机值生成消息验证码。 一次性垫发生器耦合到随机数发生器并且被配置为基于随机值和预定密钥生成一次性焊盘。 并且屏蔽的消息发生器耦合到一次性衬垫发生器并且被配置为基于一次性焊盘和消息来生成屏蔽消息。 在特定方面,受保护的消息包络生成器耦合到随机值生成器,消息验证码生成器和掩蔽消息生成器,并且被配置为基于随机值生成受保护的消息包络,消息验证码, 和屏蔽消息。 在另一方面,受保护的消息包络读取器被配置为基于所接收的受保护的消息包络来接收受保护的消息包络并生成随机值,掩蔽消息和第一消息验证码。 一次性垫发生器耦合到受保护的消息包络读取器,并且被配置为基于随机值和预定密钥生成一次性焊盘。 消息取消掩码器耦合到一次性衬垫生成器和受保护的消息包络读取器,并且被配置为基于一次性衬垫和屏蔽的消息来生成未屏蔽的消息。

    System and method for task queue management of virtual devices using a plurality of processors
    15.
    发明申请
    System and method for task queue management of virtual devices using a plurality of processors 失效
    使用多个处理器的虚拟设备的任务队列管理的系统和方法

    公开(公告)号:US20050081202A1

    公开(公告)日:2005-04-14

    申请号:US10670838

    申请日:2003-09-25

    IPC分类号: G06F9/46

    CPC分类号: G06F9/505

    摘要: A task queue manager manages the task queues corresponding to virtual devices. When a virtual device function is requested, the task queue manager determines whether an SPU is currently assigned to the virtual device task. If an SPU is already assigned, the request is queued in a task queue being read by the SPU. If an SPU has not been assigned, the task queue manager assigns one of the SPUs to the task queue. The queue manager assigns the task based upon which SPU is least busy as well as whether one of the SPUs recently performed the virtual device function. If an SPU recently performed the virtual device function, it is more likely that the code used to perform the function is still in the SPU's local memory and will not have to be retrieved from shared common memory using DMA operations.

    摘要翻译: 任务队列管理器管理与虚拟设备相对应的任务队列。 当请求虚拟设备功能时,任务队列管理器确定SPU当前是否被分配给虚拟设备任务。 如果已经分配了SPU,则该请求在SPU所读取的任务队列中排队。 如果尚未分配SPU,则任务队列管理器将其中一个SPU分配给任务队列。 队列管理器根据哪个SPU最不忙,以及一个SPU最近是否执行了虚拟设备功能来分配任务。 如果SPU最近执行了虚拟设备功能,则用于执行该功能的代码更有可能仍在SPU的本地存储器中,并且不需要使用DMA操作从共享的公共存储器中检索。

    System and method for dynamically partitioning processing across plurality of heterogeneous processors
    16.
    发明申请
    System and method for dynamically partitioning processing across plurality of heterogeneous processors 失效
    用于在多个异构处理器之间动态分割处理的系统和方法

    公开(公告)号:US20050081181A1

    公开(公告)日:2005-04-14

    申请号:US10670824

    申请日:2003-09-25

    摘要: A program is into at least two object files: one object file for each of the supported processor environments. During compilation, code characteristics, such as data locality, computational intensity, and data parallelism, are analyzed and recorded in the object file. During run time, the code characteristics are combined with runtime considerations, such as the current load on the processors and the size of the data being processed, to arrive at an overall value. The overall value is then used to determine which of the processors will be assigned the task. The values are assigned based on the characteristics of the various processors. For example, if one processor is better at handling intensive computations against large streams of data, programs that are highly computationally intensive and process large quantities of data are weighted in favor of that processor. The corresponding object is then loaded and executed on the assigned processor.

    摘要翻译: 一个程序进入至少两个对象文件:一个对象文件,用于每个受支持的处理器环境。 在编译过程中,将数据位置,计算强度和数据并行等代码特征分析并记录在目标文件中。 在运行时间期间,代码特征与运行时考虑相结合,例如处理器上的当前负载和正在处理的数据的大小,以达到总体值。 然后,总体值用于确定哪些处理器将被分配任务。 这些值基于各种处理器的特性分配。 例如,如果一个处理器更好地处理针对大量数据流的密集计算,则高度计算密集的程序和处理大量数据的程序对该处理器进行加权。 然后在分配的处理器上加载和执行相应的对象。

    System and method for virtual devices using a plurality of processors
    17.
    发明申请
    System and method for virtual devices using a plurality of processors 失效
    使用多个处理器的虚拟设备的系统和方法

    公开(公告)号:US20050071526A1

    公开(公告)日:2005-03-31

    申请号:US10670835

    申请日:2003-09-25

    CPC分类号: G06F9/4843 G06F9/544

    摘要: A system and method is provided to allow virtual devices that use a plurality of processors in a multiprocessor systems, such as the BE environment. Using this method, a synergistic processing unit (SPU) can either be dedicated to performing a particular function (i.e., audio, video, etc.) or a single SPU can be programmed to perform several functions on behalf of the other processors in the system. The application, preferably running in one of the primary (PU) processors, issues IOCTL commands through device drivers that correspond to SPUs. The kernel managing the primary processors responds by sending an appropriate message to the SPU that is performing the dedicated function. Using this method, an SPU can be virtualized for swapping multiple tasks or dedicated to performing a particular task.

    摘要翻译: 提供了一种系统和方法,以允许在诸如BE环境的多处理器系统中使用多个处理器的虚拟设备。 使用这种方法,协同处理单元(SPU)可以专用于执行特定功能(即,音频,视频等),或者单个SPU可被编程为代表系统中的其他处理器执行若干功能 。 优选地,在主(PU)处理器之一中运行的应用通过对应于SPU的设备驱动器发出IOCTL命令。 管理主处理器的内核通过向执行专用功能的SPU发送适当的消息来做出响应。 使用此方法,可以将SPU虚拟化用于交换多个任务或专用于执行特定任务。