加密通道-8路继电器模块原理图
14.6 加密通道
SEC中的加密通道通过一个或多个SEC执行单元(EU)管理每个加密任务的执行。将给定任务的控制信息和数据指针以描述符的形式(见14.4.1节“描述符结构”)存储在系统存储器或通道本身。描述符确定将使用哪些EU,如何配置它们,从哪里取所需要的数据,以及将结果存放到哪里。
要激活加密任务,主机首先构造一个描述符,然后选择一个通道,并把描述符的指针写入所选通道的取FIFO中。通道执行的操作包括(不必按此顺序):
-
如果通道空闲,并且它的取FIFO不为空,则从取FIFO读取下一个描述符的指针,并使用这个指针把描述符读到通道的描述符缓存。
-
为互斥使用通道,向控制器请求分配一个或多个EU单元。如果需要,可以配置辅助EU监听用于主EU的输入或输出数据。
-
当收到EU复位序列完成的通知时,初始化所分配EU中的模式寄存器。
-
初始化EU并写入EU寄存器,例如密钥长度和文本数据长度等。
-
将数据包(最多32K字节)从系统存储器传输到所分配EU的输入寄存器和FIFO。这可能包含使用链接表收集已经被分成多个段的输入数据,这些段存储在系统存储器的不同地方。
-
将数据包(最多32K字节)从所分配EU的输出寄存器和FIFO传输到系统存储器空间。这可能包含用链接表把输出数据分散到多个段中,这些段存储在系统存储器的不同地方。对于RAID-XOR描述符类型,通道轮流使用三个数据源,从每个源取32个字节。
-
在描述符指示最后一个EU写完成时,初始化所分配EU中的EU-Go寄存器(如果可用)。写EU-Go以后,在进行下一步活动之前,通道将等待来自EU的输入文本数据处理完成的指示。
-
复位所分配的EU。
-
释放所分配的EU。
-
在处理完一个描述符时,以中断或将描述符首部写回系统存储器的方式向主机提供反馈。
-
当描述符处理由于错误而停止时,通过中断向主机提供反馈。通道将无休止地等待控制器完成所请求的活动,然后继续下一个描述符的处理。
14.6.1 加密通道寄存器
下面几节介绍加密通道寄存器。
14.6.1.1 加密通道配置寄存器(CCCR Crypto-Channel Configuration Register)
CCCR包含五个配置加密通道的功能位,如图14-59所示。详细的CCCR说明可以在此处找到。
这么多步骤,感觉加密任务的处理就像是一个精密的流水线操作,对吧?而且,每一个步骤都精心设计,以确保数据的安全和准确处理。你是否好奇为什么描述符结构如此复杂?或许是因为它需要在不同的系统存储器段之间跳跃,就像在迷宫中找到正确的路径一样!想了解更多关于描述符的结构和它们在数据传输中的作用,可以参考加密配置模块。总之,整个过程就像一场精心策划的舞蹈,每一个动作都有它的重要性和意义。