Dynamic address mapping for conflict-free vector access
    1.
    发明授权
    Dynamic address mapping for conflict-free vector access 失效
    用于无冲突向量访问的动态地址映射

    公开(公告)号:US4918600A

    公开(公告)日:1990-04-17

    申请号:US226721

    申请日:1988-08-01

    IPC分类号: G06F12/02 G06F12/06

    CPC分类号: G06F12/0607 G06F12/0207

    摘要: Conflict-free vector access of any constant stride is made by preselecting a storage scheme for each vector based on the accessing patterns to be used with that vector. A respective storage scheme for each vector, for example, is selected to provide conflict-free access for a predetermined stride S. The respective storage scheme involves a rotation or permutation of an addressed row of corresponding memory locations in N parallel modules in main memory. The amount of rotation or permutation is a predetermined function of the predetermined stride S and the row address. The rotation is performed by modulo-N addition, or the permutation is performed by a set of exclusive-OR gates. For a system in which N is a power of 2 such that n=log.sub.2 N, the predetermined stride S is factored into an odd component and an even component that is a power of 2. The factorization is easily performed by a shift and count procedure, a shifter and counter, or a priority encoder. The amount of rotation or permutation is a predetermined function of the even component and the row address, and is preferably obtained by selecting a field of the row address in accordance with the maximum of s and n, and masking the selected field with a mask generated from the minimum of s and n.

    摘要翻译: 基于与该向量一起使用的访问模式,通过预选每个向量的存储方案来进行任何恒定步长的无冲突向量访问。 例如,针对每个向量的相应存储方案被选择以提供对于预定步幅S的无冲突访问。相应的存储方案涉及在主存储器中的N个并行模块中的对应存储器位置的寻址行的旋转或置换。 旋转或置换的量是预定步幅S和行地址的预定函数。 通过模N加法执行旋转,或者由一组异或门执行置换。 对于其中N是2的幂的系统,使得n = log2N,将预定步幅S分解为奇数分量,即2的幂的偶数分量。因子分解易于通过移位和计数过程执行, 移位器和计数器,或优先编码器。 旋转或置换的量是偶数分量和行地址的预定函数,并且优选地通过根据s和n的最大值选择行地址的字段来获得,并且利用生成的掩码来屏蔽所选择的字段 从最小的s和n。