Intel QAT加速卡逻辑实例

1. QAT相关的名词组织关系

在本手册中描述的平台上,处理器可以连接到一个或多个英特尔通信芯片组8925至8955系列(PCH)设备。 从软件角度来看,每个PCH设备都包含一个逻辑加速器。 从物理上讲,每个设备都包含多个加速器,这些加速器被负载均衡硬件组件抽象成一个加速器, 发送到一个逻辑加速器的所有请求将在PCH设备内的各个物理加速器之间自动进行负载均衡。 对软件来说,只需要操作一个逻辑加速器即可,可以大大简化应用程序的编程方式,提高工作效率。

一组32个环形存储区(Ring Bank)提供了处理器与PCH设备上的加速引擎之间的通信机制。 每个环形存储区(Ring Bank)包含16个单独的环(Ring)用于通信。 下图显示了处理器,PCH设备,加速器和环形存储区(Ring Bank)之间的关系。

2. 处理器和PCH设备之间的通讯流程

加速服务通过对请求和响应消息分别使用不同的环进行通讯。处理器和PCH设备之间的通信通过以下操作实现(另请参见下图):

  • 处理器使用写(Put)操作将请求放置在请求环上。
  • PCH设备使用读取(Get)操作从请求环中检索请求。
  • 执行完该操作后,PCH设备将使用写(Put)操作将响应放入响应环。
  • 处理器使用读取(Get)操作从响应环中检索响应。

3. 服务实例与硬件的交互

环形存储区(Ring Bank)支持两个加密实例(CY Engine)和两个压缩实例(DC Engine)。服务实例可被视为加速器与处理器上运行的内核/线程之间的通道,该处理器使用这些环进行通信。 这些环不会对API公开,而是使用配置文件(每个PCH设备一个)来设置的。

通常,服务实例使用一对环,一个环用于请求,一个环用于响应。 对于加密实例,单独的请求/响应对用于以下目的:

  • 对称(又名批量)加密请求/响应
  • TRNG请求/响应
  • 公钥密码学请求/响应

下表提供了服务实例的关键属性:

Member Sub-field Description
coreAffinity N/A 设置CPU的亲和性
isPolled N/A ①中断模式 ; ②轮询模式

下图显示了部分属性与硬件组件的关系:


Intel® QAT加速卡之逻辑实例的更多相关文章

  1. Intel® QAT加速卡之加密、哈希操作流程和示例

    Intel QAT 加密API介绍 文章主要讲述了Intel QAT 加密API接口的说明,以及多种应用场景下的使用方法. 文章目录 Intel QAT 加密API介绍 1. 概述 1.1 会话(se ...

  2. Intel® QAT 加速卡之IPSec示例

    Intel QAT 加速卡之IPSec示例 文章目录 Intel QAT 加速卡之IPSec示例 1. QAT处理IPSec入站报文 2. QAT处理IPSec出站报文 3. 组织架构 4. 示例源码 ...

  3. Intel® QAT加速卡之Linux上编程说明

    QAT Software for Linux 1. Introduction 该程序员指南提供了有关软件体系结构和使用指南的信息. 相关的英特尔QAT软件库文档中记录了有关使用英特尔QuickAssi ...

  4. Intel® QAT加速卡之同步异步模式

    QAT 的两种操作模式 Intel QAT API同时支持同步和异步两种操作模式. 为了获得最佳性能,该应用程序应能够向加速引擎提交多个未完成的请求. 提交多个未完成的请求可最大程度地减少加速引擎上的 ...

  5. Intel® QAT加速卡之性能简介

    Intel QuickAssist Adapter 8950 设备简介 支持英特尔QuickAssist技术的英特尔QuickAssist适配器提供加密加速和压缩加速服务. 1. Key featur ...

  6. Intel® QAT加速卡之Ring & Ring Bank

    1. QAT的应用模式 Intel 通讯系列芯片对于每种受支持的加速服务(加密,数据压缩),都支持以下应用模式: 内核模式,其中应用程序和加速服务都在内核中运行空间. 用户空间直接访问在用户空间中运行 ...

  7. Intel® QAT加速卡之编程demo框架

    QAT demo流程框架 示例一: 代码路径:qat1.5.l.1.13.0-19\quickassist\lookaside\access_layer\src\sample_code\functio ...

  8. Intel® QAT 加速卡之数据面流程(图)

    QAT数据面流程 sessionSetupData数据结构 pOpData数据结构

  9. C语言调用Intel处理器CPUID指令的实例

    C语言调用Intel处理器CPUID指令的实例 来源 https://blog.csdn.net/subfate/article/details/50789905 在Linux环境下,使用C语言内嵌汇 ...

随机推荐

  1. ElasticSearch入门检索

    前面简介说到 elsatic是通过RestFul API接口操作数据的,可以通过postman模拟接口请求测试一下 一._cat 1.GET /_cat/nodes:查看所有节点 2.GET /_ca ...

  2. http笔记随笔

    1.HTTP (HyperText Transfer Protocol)超文本传输协议(80端口) 1.规定浏览器和服务器之间相互通信的规则 2.万维网交换信息的基础 3.允许将HTML文档从Web服 ...

  3. JavaScript高级程序设计(第4版)-第一章学习

    第一章 什么是Javascript 一.历史 JavaScript的名字怎么来的 首先,我们从javascript的历史开始了解,在以前的时候网页要验证某个必填字段是否填写,或者是判断输入的值的正确与 ...

  4. Java方法03——方法的重载

    方法的重载(println 就是一个典型的重载(源码)) 重载就是在一个类中,有相同的函数名称,但形参不同的函数 方法重载的规则 方法名称必须相同 参数列表必须不同(个数不同.或者类型不同.参数排列顺 ...

  5. 【Python机器学习实战】感知机和支持向量机学习笔记(三)之SVM的实现

    前面已经对感知机和SVM进行了简要的概述,本节是SVM算法的实现过程用于辅助理解SVM算法的具体内容,然后借助sklearn对SVM工具包进行实现. SVM算法的核心是SMO算法的实现,首先对SMO算 ...

  6. 说说 VARCHAR 背后的那些事

    在使用MySQL的过程中,在存储字符串时,大家或许都有过这样或那样的困惑,譬如: 1.  对于固定长度的字符串,为什么推荐使用 CHAR 来存储? 2.  VARCHAR 可设置的最大长度是多少? 3 ...

  7. shell免交互

    目录 一.Here Document免交互 1.1.Here Document概述 1.2.注意事项 1.3.免交互示例 wc -l实现对行数的统计 read命令接收输入并打印 passwd给用户设置 ...

  8. Python - typing 模块 —— NewType

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  9. 基于kail的docker下安装sqli-labs

    后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...

  10. 使用Postfix与Dovecot收发电子邮件(物理机虚拟机之间)

    邮件应用协议包括: 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口. 第四版 ...