存储器聚合设备的制造方法_3

文档序号:9620839阅读:来源:国知局
于实现所述输入互连矩阵,且所述输出互 连器905包括一个复用器组,用于实现所述输出互连矩阵。
[0081] 所述输入选择器907包括门树仲裁器逻辑,用于控制所述输入互连器903的所述 复用器组。在一种实施形式中,所述门树仲裁器逻辑与下文结合图4至图10描述的设备 对应。通过向所述输入互连器903发送来自所述输入选择器907的控制信号"复用器选 择"(mu Xes select)926,实现控制。所述输出选择器909包括门树仲裁器逻辑,用于控制所 述输出互连器905的所述复用器组。在一种实施形式中,所述门树仲裁器逻辑与下文结合 图4至图10描述的设备对应。通过向所述输出互连器905发送来自所述输出选择器909 的控制信号"复用器选择"928,实现控制。在一种实施形式中,(输入选择器和输出选择器 的)两个门树仲裁器逻辑完全相同。在一种实施形式中,输入选择器的门树仲裁器逻辑包 括的门树的大小大于输出选择器的门树仲裁器逻辑包括的门树的大小。
[0082] 在一种实施形式中,所述输入选择器907选择所述输入互连矩阵,使得所述输入 数据流组902中,只有携带有效数据请求的数据流互连至所述FIFO存储器组901。所述输 入选择器907用于接收输入的有效比特912,以进行选择。在一种实施形式中,所述输入选 择器907用于选择所述输入互连矩阵,使得所述输入数据流组902中,携带有效数据请求的 数据流压缩成所述FIFO存储器组901a、901b和901c中的一个连续的数据请求组,其中,所 述携带有效数据请求的数据流由所述输入的有效比特912指示。在一种实施形式中,所述 输入选择器907选择所述输入互连矩阵,使得所述输入数据流组902中,携带有效数据请求 的数据流与指向所述FIFO存储器组90la、90lb和901c中的空条目的FIFO指针对齐,其中, 所述携带有效数据请求的数据流由所述输入的有效比特912指示。
[0083] 在一种实施形式中,所述存储器聚合设备990包括时钟输入,用于接收时钟信号。 所述输入选择器907在所述时钟信号的每个时钟周期内,切换所述输入互连矩阵,且所述 输出选择器909在所述时钟信号的每个时钟周期内,切换所述输出互连矩阵。在一种实 施形式中,所述输入选择器907用于:接收以R位向量的形式呈现的所述输入的有效比特 912,其中,所述R位向量指示所述输入数据流组902中携带有效数据请求的所述数据流的 数量;以及选择所述输入互连矩阵,使得在所述时钟信号的每个时钟周期内,所述输入数据 流组902中的数据流的前G个数据请求互连至所述FIFO存储器组901a、901b和901c。所 述输出仲裁器909用于接收输出的空比特916,其中,所述空比特916以R(输出数据流的数 量)位向量的形式呈现,R位向量指示哪个输出数据流904能从所述FIFO存储器组901a、 901b和901c接收数据元素,以及哪个输出数据流不能从所述FIFO存储器组901a、901b和 901c接收数据元素。所述输出仲裁器909用于施加(exert) "复用器选择"(mux select) 信号928,其中,所述信号928指示哪个FIFO存储器的输出设备将所述输出互连矩阵905发 送给哪个输出数据流904。相应地,所述输出互连矩阵905用于将所述FIFO存储器组901a、 901b和901c的输出设备与输出数据流904连接。所述输出仲裁器909还用于提取输出的 有效比特914,其中,所述有效比特914指示选择的输出数据流。R和G均为整数。在一种 实施形式中,所述内存控制器911从所述输出选择器909接收P个处理过的请求924,以及 从所述输入选择器907接收有效和信号920,其中,所述请求924和所述有效和信号920用 于控制所述FIFO存储器901a、901b和901c。
[0084] 在一种实施形式中,所述存储器聚合设备990的功能如下:在所述存储器聚合设 备,即仲裁器990选择G个请求,以及将所述G个请求进行右对齐后,所述G个请求根据所述 输出选择器,即输出仲裁器909和所述输入选择器,即输入仲裁器907中的所述读指针922 较小的IgN个比特和所述写指针918较小的IgN个比特进行移位。
[0085] 所述内存控制器"fifo控制逻辑" 911将所述FIFO组901a、901b和901c作为配 有单个写指针918和单个读指针922的单个FIFO进行寻址。然而,这些指针通过轮询方式 在所述存储器聚合设备,即所述宽聚合器990上移进。即,当单个数据插入到所述存储器聚 合设备,即宽聚合器990中时,所述写指针918水平移进,即指向相邻的FIFO 901b ;当所述 写指针到达最后一个FIFO 901c时,所述写指针跳回至第一个FIFO 901a,同时垂直移进, 即指向第一个FIFO 901a中的下一个条目。所述读指针922也执行同样的步骤。由于宽 FIFO 901a、901b和901c上的推入和弹出操作在每个时钟周期内包括的推入和弹出操作的 数量不断变化,因此,指针918和指针922可移进不止一个条目及其围绕的每次数量为N。
[0086] 图3示出了一实施形式提供的调度方案100的方框图。虽然使用相同的机制能够 应用不同类型的调度,在聚合带宽的限制下,所述调度方案1〇〇使用不同的流量类型l〇4a、 104b和104c,在请求102之间进行轮询(RR) 101,也称为成形。
[0087] 所述调度方案100实现了简单的调度仲裁,包括简单的轮询101和针对固定量的 流量类型104a、104b和104c的速率限制机制103a、103b和103c。通过第一整形桶105a, 例如,FIFO,针对第一流量类型104a进行第一速率限制机制103a。通过第二整形桶105b, 例如,FIFO,针对第二流量类型104b进行第二速率限制机制103b。通过第三整形桶105c, 例如,FIFO,针对第三流量类型104c进行第三速率限制机制103c。根据可配置的速率,对 每种类型的带宽进行限制。在带宽超过权限的允许带宽的情况下,其请求被屏蔽,且所有剩 下的未屏蔽的流量类型均得到准许。
[0088] 在一种实施形式中,由结合图1和图2描述的输入选择器907应用所述调度方案 100。在一种实施形式中,由结合图2描述的所述输出选择器909应用所述调度方案100。
[0089] 图4示出了一实施形式提供的输入/输出选择器200的方框图。该术语输入/输 出选择器200涉及结合图1和图2描述的显示为输入仲裁器的输入选择器907和显示为输 入仲裁器的输出选择器909。即,所述输入/输出选择器200可以是输入选择器907或输出 选择器909。所述输入选择器907和所述输出选择器909也称为输入/输出调度设备或调 度器。
[0090] 所述输入/输出选择器200用于:接收一个请求组"req vec",即请求向量202,以 及用于向所述请求组202提供一个权限组"QSel_l,QSel_2,……,Qsel_p"204。在图4描 述的实施形式中,所述请求组202的数量为N,即N个请求被输入到所述输入/输出选择器 200中。在图4描述的实施形式中,所述权限组204的数量为P,即由所述输入/输出选择 器200提供P个权限。在一种实施形式中,在每个时钟周期内,所述输入/输出选择器200 接收N个请求,并且,在每个时钟周期内,所述输入/输出选择器200提供P个权限。在一 种实施形式中,在每个时钟周期内,所述输入/输出选择器200根据所述P个权限204,提供 P个确认212。
[0091] 所述输入/输出选择器200包括速率限制单元、查找向量准备单元(LVP) 203以及 前缀森林单元(PFF) 205,其中,所述速率限制单元也称为速率控制整形器(RCS) 201。所述 速率限制单元201用于根据调度方案,限制所述请求组202的速率。所述速率限制单元201 基于所述请求组202,提供一个限速后的请求组206。所述查找向量准备单元203与所述速 率限制单元201耦合,以使所述速率限制单元201的输出设备为所述查找向量准备单元203 的输入设备。在一种实施形式中,一个或多个功能单元或逻辑单元耦合到所述速率限制单 元201的输出设备和所述查找向量准备单元203的输入设备之间的路径。
[0092] 所述查找向量准备单元203用于依据所述限速后的请求组206和选择掩码"raw_ mask"210的组合,提供一个已准备查找向量的请求组208。依据该组合,所述查找向量准备 单元203向所述请求组202提供一个确认组"ack_vec",即确认向量212。在一种实施形式 中,对所述限速后的请求组206和选择掩码210进行合并,以提供所述已准备查找向量的请 求组208和所述确认组212。进行该组合或合并的公知方案存在多种。在另一种实施形式 中,所述查找向量准备单元203用于:当所述请求组202直接提供给所述查找向量请求单元 203时,依据所述请求组202和选择掩码"raW_mask"210的组合,提供一个已准备查找向量 的请求组208。
[0093] 所述前缀森林单元205与所述查找向量准备单元203耦合,以使所述查找向量准 备单元203的输出设备为所述前缀森林单元205的输入设备。在一种实施形式中,一个或 多个功能单元或逻辑单元耦合到所述查找向量准备单元203的输出设备和所述前缀森林 单元205的输入设备之间的路径。
[0094] 所述前缀森林单元205用于提供所述权限组204,作为所述已准备查找向量的请 求组208的函数。所述前缀森林单元205还用于基于所述权限组204,提供所述选择掩码 210。下文结合图7和图8,对所述前缀森林单元205的实施形式进行描述。
[0095] 在一种实施形式中,当有N个请求202,所述输入/输出选择器提供P个权限204, 其中,数量P小于数量N。在一种实施形式中,数量P接近数量N,使得在每个时钟周期内, 调度N个请求中的多数请求,且只有少数的N - P个请求存储至所述输入/输出选择器200 中供进一步处理。在一种实施形式中,所述速率限制单元201用于依据所述确认组212,限 制所述请求组202的速率。如果确认的数量很大,且速率限制单元201进行的速率限制很 小,则所述输入/输出选择器200的吞吐量很大,且所述输入/输出选择器200处理的请求 202的延迟时间很短。如果确认的数量很小,且速率限制单元201进行的速率限制很大,则 所述输入/输出选择器200的吞吐量很小,且所述输入/输出选择器200处理的请求202 的延迟时间很长。
[0096] 在一种实施形式中,所述输入/输出选择器200的处理基于队列组,其中,所述请 求组202和所述确认组212分配给所述队列组。在一种实施形式中,队列组用于实现优先 级队列,即实现具有不同优先级的队列组从而实现依据优先级具有不同的延迟时间。所述 请求组202分配了不同的优先级。分配有高优先级的请求202处理得比分配有低优先级的 请求快。
[0097] 在一种实施形式中,所述输入/输出选择器200由从多达N个请求202中选择P个 输入的N-1仲裁器构成。在一种实施形式中,请求202在非输入队列状态时建立。系统 的输入设备中的每个队列在每个时钟周期内,向所述输入/输出选择器200发送请求202, 以及接收确认212,其中,所述确认212指示所述请求202已由调度器200接收且将在后续 得到准许。当某个队列已经收到确认212时,该队列可能已经发送了下一个请求202。在一 种实施形式中,针对输入队列中的每条消息,请求202都发送至所述调度器200。
[0098] 所述调度器200基于调度请求和确认请求的分离。该分离使得所述调度器200能 够立即向请求方模块提供确认向量212,因而使得所述请求方模块在每个时钟周期内,向所 述调度器200提供新的请求202,其中,所述请求方模块也称为请求方。仅在单个时钟周期 或者可能若干时钟周期之后进行实际选择,但该选择与已确认的请求分离。
[0099] 根据负责每个组类型的速率限制的所述速率限制单元201,屏蔽所述请求向量 202。将所述结果206发送至所述查找向量准备单元(LVP)203,其中,所述查找向量准备单 元203负责将最后选择的请求和新的请求向量206进行合并。所述查找向量准备单元203 将向量206和向量210进行合并,向所述前缀森林单元(PFF) 205发送新的向量208供选择, 以及向请求方发送确认向量212。
[0100] 图5示出了一实施形式提供的输入/输出选择器300的方框图
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1