解密昇騰AI處理器--Ascend310簡介

Ascend310 AI處理器規格


Ascend310 AI處理器邏輯架構

? ? ? 昇騰AI處理器本質上是一個片上系統(System on Chip,SoC),主要可以應用在和圖像、視頻、語音、文字處理相關的應用場景。其主要的架構組成部件包括特制的計算單元、大容量的存儲單元和相應的控制單元。該芯片大致可以劃為:芯片系統控制CPU(Control CPU),AI計算引擎(包括AI Core和AI CPU),多層級的片上系統緩存(Cache)或緩沖區(Buffer),數字視覺預處理模塊(Digital Vision Pre-Processing,DVPP)等。芯片可以采用LPDDR4高速主存控制器接口,價格較低。目前主流SoC芯片的主存一般由DDR(Double Data Rate)或HBM(High Bandwidth Memory)構成,用來存放大量的數據。HBM相對于DDR存儲帶寬較高,是行業的發展方向。其它通用的外設接口模塊包括USB、磁盤、網卡、GPIO、I2C和電源管理接口等。

昇騰AI處理器的主要架構組成:
芯片系統控制CPU(Control CPU)

AI計算引擎(包括AI Core和AI CPU)

多層級的片上系統緩存(Cache)或緩沖區(Buffer)

數字視覺預處理模塊(Digital Vision Pre-Processing,DVPP)等

AI Core:集成了2個AI Core。昇騰AI芯片的計算核心,主要負責執行矩陣、向量、標量計算密集的算子任務,采用達芬奇架構。

ARM CPU核心: 集成了8個A55。其中一部分部署為AI CPU,負責執行不適合跑在AI Core上的算子(承擔非矩陣類復雜計算);一部分部署為專用于控制芯片整體運行的控制CPU。兩類任務占用的CPU核數可由軟件根據系統實際運行情況動態分配。此外,還部署了一個專用CPU作為任務調度器(Task Scheduler,TS),以實現計算任務在AI Core上的高效分配和調度;該CPU專門服務于AI Core和AI CPU,不承擔任何其他的事務和工作。

DVPP:數字視覺預處理子系統,完成圖像視頻的編解碼。用于將從網絡或終端設備獲得的視覺數據,進行預處理以實現格式和精度轉換等要求,之后提供給AI計算引擎。

Cache & Buffer:SOC片內有層次化的memory結構,AI core內部有兩級memory buffer,SOC片上還有8MB L2 buffer,專用于AI Core、AI CPU,提供高帶寬、低延遲的memory訪問。芯片還集成了LPDDR4x控制器,為芯片提供更大容量的DDR內存。

對外接口:支持PCIE3.0、RGMII、USB3.0等高速接口、以及GPIO、UART、I2C、SPI等低速接口。

昇騰AI處理器集成了多個ARM公司的CPU核心,每個核心都有獨立的L1和L2緩存,所有核心共享一個片上L3緩存。集成的CPU核心按照功能可以劃分為專用于控制芯片整體運行的主控CPU 和專用于承擔非矩陣類復雜計算的AI CPU。兩類任務占用的CPU核數可由軟件根據系統實際運行情況動態分配。

除了CPU之外,該芯片真正的算力擔當是采用了達芬奇架構的AI Core。這些AI Core通過特別設計的架構和電路實現了高通量、大算力和低功耗,特別適合處理深度學習中神經網絡必須的常用計算如矩陣相乘等。目前該芯片能對整型數(INT8、INT4) 或對浮點數(FP16)提供強大的乘加計算力。由于采用了模塊化的設計,可以很方便的通過疊加模塊的方法提高后續芯片的計算力。

針對深度神經網絡參數量大、中間值多的特點,該芯片還特意為AI計算引擎配備了容量為8MB的片上緩沖區(On-Chip Buffer),提供高帶寬、低延遲、高效率的數據交換和訪問。能夠快速訪問到所需的數據對于提高神經網絡算法的整體性能至關重要,同時將大量需要復用的中間數據緩存在片上對于降低系統整體功耗意義重大。為了能夠實現計算任務在AI Core上的高效分配和調度,還特意配備了一個專用CPU作為任務調度器(Task Scheduler,TS)。該CPU專門服務于AI Core和AI CPU,而不承擔任何其他的事務和工作。

數字視覺預處理模塊主要完成圖像視頻的編解碼,支持4K分辨率,視頻處理,對圖像支持JPEG和PNG等格式的處理。來自主機端存儲器或網絡的視頻和圖像數據,在進入昇騰AI芯片的計算引擎處理之前,需要生成滿足處理要求的輸入格式、分辨率等,因此需要調用數字視覺預處理模塊進行預處理以實現格式和精度轉換等要求。數字視覺預處理模塊主要實現視頻解碼(Video Decoder,VDEC),視頻編碼(Video Encoder,VENC),JPEG編解碼(JPEG Decoder/Encoder,JPEGD/E),PNG解碼(PNG Decoder,PNGD)和視覺預處理(Vision Pre-Processing Core,VPC)等功能。圖像預處理可以完成對輸入圖像的上/下采樣、裁剪、色調轉換等多種功能。數字視覺預處理模塊采用了專用定制電路的方式來實現高效率的圖像處理功能,對應于每一種不同的功能都會設計一個相應的硬件電路模塊來完成計算工作。在數字視覺預處理模塊收到圖像視頻處理任務后,會讀取需要處理的圖像視頻數據并分發到內部對應的處理模塊進行處理,待處理完成后將數據寫回到內存中等待后續步驟。
————————————————
版權聲明:本文為CSDN博主「華為云開發者社區」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/devcloud/article/details/103156273

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252558.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252558.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252558.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

銀盒子掃碼下單在線訂單開啟商品售賣時段使用說明

1,登陸管理員賬號,子賬號下,配置管理--店鋪配置--掃碼下單Tab頁,是否開啟商品售賣時段,選擇“是” 2,在商家后臺登陸相應的子賬號,在店鋪管理--商品售賣時段里配置售賣時間以及相應時段售賣的商…

使用pandas時遇到ValueError: numpy.dtype has the wrong size, try recompiling

[問題]使用pandas時遇到ValueError: numpy.dtype has the wrong size, try recompiling [原因] 這是因為 Python 包的版本問題,例如安裝了較舊版本的 Numpy,但安裝了較新版本的 Pandas。 [解決方法] 查看Numpy版本號 python -c "import numpy; prin…

『Python基礎-12』各種推導式(列表推導式、字典推導式、集合推導式)

# 『Python基礎-12』各種推導式(列表推導式、字典推導式、集合推導式) 推導式comprehensions(又稱解析式),是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的數據序列的結構體。 共有三種推導&#x…

海思芯片選型表匯總

海思芯片選型表匯總_「違規用戶」的博客-CSDN博客_海思芯片型號大全

Docker中未指定掛載點容器間volume卷的數據共享

一 背景 在實際使用過程中,我們可能會經常遇到容器間數據共享的情況,怎么處理呢?通過 docker 命令中的一些選項,我們即可完成容器間的數據共享。 二 實驗步驟 2.1 創建容器 容器一:gysl-1 [rootdev ~]# docker run -it…

為什么早上和傍晚的太陽總是紅色,而中午的大陽卻是黃白色?

由太陽光本質決定,但會受環境影響。在地球上和火星上看到的太陽光也是有區別的,和太氣層物質及厚薄也有關系。太陽光是由赤橙黃綠青藍紫七色光組成的復合光是白色光。 在日出和日落的時候,地平線上所透過的大氣層厚度,一般要比白…

js把日期字符串轉換成時間戳

//獲取當前時間: var myDate new Date();//當前時間 var year myDate.getFullYear();//當前年份 var month myDate.getMonth() 1;//當前月份 var day myDate.getDate();//當前日 myDate.getYear(); //獲取當前年份(2位) myDate.getFullYear(); …

VS2008中開發智能設備程序的一些總結

原文鏈接:http://blog.csdn.net/citybug_nj/article/details/2598705 程序中包括四個部分: 系統配置這個部分用來配置系統中的相關參數,參數包括數據庫信息和串口的配置信息。這部分的主要技術是XML文件的讀取和寫入。 數據下載從數據庫中下載…

go語言值得學習的開源項目推薦

谷歌官方維護了一個基于go語言的開源項目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的優秀項目值得學習,有幾百行代碼適合新手閱讀的項目,也有大型如nsq、docker等的項目。 下面推薦幾款適合學習的項目: 1、…

部分Nand flash uboot 命令詳解

nand info & nand device顯示flash的信息: DM365 :>nand info Device 0: NAND 32MiB 3,3V 8-bit, sector size 16 KiB DM365 :>nand device Device 0: NAND 32MiB 3,3V 8-bitnand read(.oob) addr off size 不管是讀取data, 使用nand read,還是…

java7

第八章 數組 1.數組的聲明定義 數據類型[]變量名 new 數據類型[長度]; 列:int[]ary new int[5]; 2.取值,賦值 取值:數據名[下標]; 列:int a ary[1]; 賦值:變量數據名[…

BZOJ 3564 信號增幅儀

題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id3564 題意:給出平面上n個點,畫出一個橢圓,橢圓的長軸是短軸的p倍,且長軸的方向為x軸逆時針旋轉a度。求這個橢圓短軸的最小值使得可以覆蓋所以點。 思路&…

CentOS 7 搭建JAVA環境

安裝環境: LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.3.1611 (Core) Release: 7.3.1611 Codename: Core 開始 運行java -version 檢查系統是否安裝JRE 或JDK,有則卸載系統自帶JAVA包輸…

串口波形分析

UART口發出數據按字節發送,發送數據8bit,實際量出波形為10bit,軟件底層驅動會自動加上起始位和停止位各1bit,起始位為0,停止位為1。下圖為用串口工具發送的數據和用示波器所量波形。 發送數據:0x34 0x43 示…

SpringBoot之MongoTemplate的查詢可以怎么耍

學習一個新的數據庫,一般怎么下手呢?基本的CURD沒跑了,當可以熟練的增、刪、改、查一個數據庫時,可以說對這個數據庫算是入門了,如果需要更進一步的話,就需要了解下數據庫的特性,比如索引、事物…

這可能是我見過最詳細的快速排序!

關于快速排序,網上,和維基都有完成的解釋,他們都是。。。。。。,俺覺得都是,太過于總結話語在概述一些東西; 而我卻從最本質的東西,一步一步的深入;在深入的學習過程中,我…

LINQ to SQL 實現 GROUP BY、聚合、ORDER BY

前言 本示例主要實現 LINQ 查詢,先分組,再聚合,最后在排序。示例很簡單,但是使用 LINQ 卻生成了不同的 SQL 實現。 1) 采用手動編寫 SQL 實現 SELECT ROW_NUMBER() OVER(ORDER BY T.RealTotal DESC) AS SN, * FROM ( SELECT (S…

Mysql之事務

什么是事務 假如你下了一筆訂單,會有以下數據庫操作: 1. 生成一筆訂單記錄 2. 減少庫存 3. 從你的賬戶中減少金額 4. 生成支付記錄 這邊的四個操作缺一不可,一旦某一個操作出現異常,則全部操作都需要全部回滾。而事務的作…

JVM垃圾回收機制總結

對于垃圾回收機制我先拋出三個問題: ①哪些內存需要回收? ②什么時候回收? ③如何回收? 下面我們主要針對這三個問題來研究JVM GC 一、哪些內存需要回收? 1.JAVA使用可達性分析法來判斷對象是否需要回收。 這個算法的基…

虛擬機增加內存方法

樓主由于要在虛擬機里面裝一個oracle,在安裝過程中,提示物理內存不符合最低標準,如圖1. 圖1 因為懶得新建一個虛擬機了,所以考慮給虛擬機新增磁盤空間。 首先說明,新增磁盤空間,必須保證當前虛擬機里每個新…