JP7386543B2 - 機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法 - Google Patents
機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP7386543B2 JP7386543B2 JP2020548934A JP2020548934A JP7386543B2 JP 7386543 B2 JP7386543 B2 JP 7386543B2 JP 2020548934 A JP2020548934 A JP 2020548934A JP 2020548934 A JP2020548934 A JP 2020548934A JP 7386543 B2 JP7386543 B2 JP 7386543B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- array
- integrated circuit
- core
- cores
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 65
- 230000008447 perception Effects 0.000 title description 5
- 230000015654 memory Effects 0.000 claims description 128
- 238000012545 processing Methods 0.000 claims description 98
- 230000002093 peripheral effect Effects 0.000 claims description 69
- 230000009977 dual effect Effects 0.000 claims description 52
- 230000001902 propagating effect Effects 0.000 claims description 5
- 230000000750 progressive effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 63
- 238000012546 transfer Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000031893 sensory processing Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Description
本出願は、2018年3月28日に出願された米国仮出願第62/649,551号の利益を主張し、その全体がこの参照により組み込まれる。
本出願に記載する発明の発明者らは、強化されたセンサデータ処理能力を可能にする集積回路アーキテクチャを設計し、ロボット工学および様々な機械の知覚を可能にするためを含むいくつかの目的のために集積回路アーキテクチャを実装するための関連方法をさらに発見した。
一実施形態では、集積回路内のデータの移動を制御する方法は、入力データセットを取得することと、入力データセットの複数の異なるデータサブセットの各々の粗データ伝播経路を識別することであって、粗データ伝播経路を識別することが、複数の異なるデータサブセットの各々に対してコア間データ移動を設定することであって、コア間データ移動が、集積回路の集積回路アレイの複数のコアのうちの2つ以上間の複数の異なるデータサブセットの所与のデータサブセットの所定の伝播を定義する、設定することを含む、識別することと、入力データセットの複数の異なるデータサブセットの各々の粒状データ伝播経路を識別することであって、粒状データ伝播経路を識別することが、複数の異なるデータサブセットの各々に対してコア内データ移動を設定することであって、コア内データ移動が、集積回路の集積回路アレイの複数のコアのうちの1つ以上内の、データの複数の異なるサブセットの所与のデータサブセットの所定の伝播を定義する、設定することを含む、識別することと、粗データ伝播経路および粒状伝播経路に基づいて、集積回路内の入力データセットのフローを可能にすることと、を含む。
入力データセットの複数の異なるデータサブセットの各々に、所与の粗データ伝播経路を関連付けることと、入力データセットの複数の異なるデータサブセットの各々に、所与の粒状データ伝播経路を関連付けることと、を含む。
背景技術セクションで上述したように、集積回路アーキテクチャにおける最先端の技術は、ロボット工学および自律型機械の多くの知覚処理タスクを処理するための好適な解決策を欠いている。GPUは、ロボット工学および自律型機械のこれらの知覚処理要件のいくつかを実施するために追加のおよび/または個別の回路で修正されてもよいが、GPUの処理能力には、結果として生じる性能が低く、リアルタイムではないような大きなギャップが存在する。ニューラルネットワーク固有のプロセッサ、コンピュータビジョン固有のプロセッサなどを含む他の知覚処理回路が存在し得るが、これらのいずれも、センサ取得、センサ融合、知覚処理、および経路計画などに必要な多くの異なる知覚アルゴリズムおよび計算を処理することができる単一の包括的集積回路を提供しない。
図1~図1Aに示すように、知覚処理を実施するための集積回路100(高密度アルゴリズムおよび/または知覚処理ユニット)は、複数のアレイコア110と、複数のボーダーコア120と、ディスパッチャ(メインコントローラ)130と、第1の複数の周辺コントローラ140と、第2の複数の周辺コントローラ150と、メインメモリ160と、を含む。集積回路100は、第1の周辺ロードストア145と、第2の周辺ロードストア155と、第1の周辺メモリ147と、第2の周辺メモリ157と、第1の複数のデュアルFIFO149と、第2の複数のデュアルFIFO159と、をさらに含んでもよい。
図4に示すように、集積回路内のデータの移動を制御するための方法400は、データ入力S410を受信することと、データ移動命令S420を生成することと、命令S430を合成(および/またはテザリング)することと、を含む。データ移動命令S420を生成することは、別個のデータサブセットS422を識別することと、識別された別個のデータサブセットS424の各々のデータ伝播経路を生成することと、を追加的にまたは任意に含んでもよい。
Claims (18)
- 集積回路のアレイコア内で、データセットを伝播させるための方法であって、前記方法が、
データ移動命令を実行することを含み、前記データ移動命令は、実行されるとき、集積回路アレイの複数のアレイコアのアレイのうちの1つのアレイコア内でデータセットを回転移動させる命令であり、前記アレイコアは、アレイコアの側面に沿って位置する複数の異なるデータポートを備えており、
前記データ移動命令を実行することが、
前記アレイコア内の前記データセットを、0度~360度の間の回転度で、前記アレイコアの前記複数の異なるデータポートの開始データポートから前記複数の異なるデータポートの終端データポートまで移動させることを含む、方法。 - 前記開始データポートのレジスタファイル内にデータセットを記憶することをさらに含み、前記開始データポートは、前記アレイコアの、第1の側面に沿った第1のデータポート、第2の側面に沿った第2のデータポート、第3の側面に沿った第3のデータポート、および第4の側面に沿った第4のデータポートのうちの1つであり、かつ前記終端データポートは、前記開始データポートとは異なるデータポートであって、前記第1のデータポート、前記第2のデータポート、前記第3のデータポート、および前記第4のデータポートのうちの1つであることを特徴とする、請求項1記載の方法。
- 前記データセットのデータの複数の異なるデータサブセットの各々の粗データ伝播経路を識別することと、
前記データセットのデータの前記複数の異なるデータサブセットの各々の粒状データ伝播経路を識別することと、をさらに含み、
粗データ伝播経路および粒状データ伝播経路の各々が、前記集積回路の階層メモリ構造と前記集積回路の前記集積回路アレイとの間のデータの伝播を管理する所定のデータフロースケジュールに基づいて定義されており、
前記集積回路アレイが、
複数のアレイコアであって、前記複数のアレイコアの各々が、入力データを処理するための少なくとも1つの処理回路を含む、複数のアレイコアと、
複数のボーダーコアであって、前記複数のボーダーコアの各々が、入力データを記憶するための少なくとも1つのレジスタファイルを含む、複数のボーダーコアと、を含み、
前記複数のアレイコアが、前記複数のボーダーコアとは異なる、請求項2に記載の方法。 - 階層メモリ構造が、メインメモリと前記集積回路アレイとの間の直接メモリアクセスを可能にし、前記階層メモリ構造は、
各々が前記集積回路アレイとインターフェースし、先入れ先出しベースでデータを送信および受け取る複数のデュアルFIFOと、
各々が前記複数のデュアルFIFOのそれぞれのデュアルFIFOとインターフェースし、かつ前記それぞれのデュアルFIFOから受信され、および/または前記それぞれのデュアルFIFOへのロードを保留しているかのいずれかであるデータの1つ以上のロードを記憶する複数の周辺ロードストアと、
各々が前記複数の周辺ロードストアのそれぞれの周辺ロードストアとインターフェースし、かつ前記メインメモリとインターフェースする複数の周辺メモリと、を含む、請求項2に記載の方法。 - 前記データセットの属性および前記集積回路アレイのアーキテクチャに基づいて、データ移動命令を生成することをさらに含み、
前記データ移動命令が、前記データセットの複数の異なるデータサブセットの各々に対して、粗データ伝播経路および粒状データ伝播経路を定義する、請求項1に記載の方法。 - データ計算命令および/または実行命令を生成することと、
データ移動命令の組み合わせを、データ計算命令および実行命令のうちの1つ以上の命令と共に含む単一の命令のセットを生成することと、をさらに含む、請求項5に記載の方法。 - データ移動命令を生成することが、
前記集積回路アレイの所定の構成に基づいて、前記データセットから前記複数の異なるデータサブセットの各々を識別することを含み、前記複数の異なるデータサブセットの各々を識別することが、
前記データセットを、前記集積回路アレイの前記所定の構成に適合するように前記複数の異なるデータサブセットに分割することを含む、請求項5に記載の方法。 - 前記データセットの前記複数の異なるデータサブセットの各々に、所与の粗データ伝播経路を関連付けることと、
前記データセットの前記複数の異なるデータサブセットの各々に、所与の粒状データ伝播経路を関連付けることと、をさらに含む、請求項5に記載の方法。 - 前記データセットの複数の異なるデータサブセットの各々の粗データ伝播経路が、前記複数の異なるデータサブセットの各々の少なくとも開始位置、および前記複数の異なるデータサブセットの各々の終端位置を定義する、請求項1に記載の方法。
- 前記データセットの前記複数の異なるデータサブセットの各々の粒状データ伝播経路が、前記開始位置と前記終端位置との間で発生する中間進行位置を定義する、請求項9に記載の方法。
- 前記データセットの所与のデータサブセットの一連のデータ移動の各データ移動が、実行するために単一のクロックサイクルのみを必要とする、請求項1に記載の方法。
- 前記データセットの複数の異なるデータサブセットの各々の粗データ伝播経路および粒状データ伝播経路が、前記複数のアレイコアのアレイによってメモリアドレスを発行することなく実施される、請求項1に記載の方法。
- 集積回路内でデータを伝播する方法であって、前記方法が、
入力データセットを取得することと、
前記入力データセットの複数の異なるデータサブセットの各々の粗データ伝播経路を実装することであって、前記粗データ伝播経路が、
前記複数の異なるデータサブセットの各々の定義されたコア間データ移動であって、前記集積回路の集積回路アレイの複数のコアのうちの2つ以上を通る、前記複数の異なるデータサブセットのうちの所与のデータサブセットの所定の進行経路を定義する、定義されたコア間データ移動を含む、実装することと、
前記入力データセットの前記複数の異なるデータサブセットの各々の粒状データ伝播経路を実装することであって、前記粒状データ伝播経路が、
前記複数の異なるデータサブセットの各々の定義されたコア内データ移動であって、前記コア内データ移動が、前記集積回路の前記集積回路アレイの前記複数のコアのうちの1つ以上内の、前記複数の異なるデータサブセットの前記所与のデータサブセットの所定の進行経路を定義する、定義されたコア内データ移動を含む、実装することと、
データ移動命令を実行することであって、前記データ移動命令は、実行されるとき、前記複数のコアのアレイコア内のデータの複数の異なるデータサブセットの各々を回転移動させる命令であり、前記アレイコアは、アレイコアの側面に沿って位置する複数の異なるデータポートを備えており、
前記データ移動命令を実行することが、
前記アレイコア内の前記複数の異なるデータサブセットの各々を、0度~360度の回転度で、前記アレイコアの前記複数の異なるデータポートの開始データポートから前記複数の異なるデータポートの終端データポートまで移動させること、
を含む、方法。 - 前記粗データ伝播経路および前記粒状データ伝播経路の各々が、前記集積回路の階層メモリ構造と前記集積回路のデータ処理回路との間のデータの伝播を管理する所定のデータフロースケジュールに基づいて定義される、請求項13に記載の方法。
- 前記集積回路アレイが、
複数のアレイコアであって、前記複数のアレイコアの各々が、入力データを処理するための少なくとも1つの処理回路を含む、複数のアレイコアと、
複数のボーダーコアであって、前記複数のボーダーコアの各々が、入力データを記憶するための少なくとも1つのレジスタファイルを含む、複数のボーダーコアと、を含み、
前記複数のアレイコアが、前記複数のボーダーコアとは異なる、請求項13に記載の方法。 - 階層メモリ構造が、メインメモリと前記集積回路アレイとの間の直接メモリアクセスを可能にし、前記階層メモリ構造が、
各々が前記集積回路アレイとインターフェースし、かつ先入れ先出しベースでデータを送信および受け取る複数のデュアルFIFOと、
各々が前記複数のデュアルFIFOのそれぞれのデュアルFIFOとインターフェースし、かつ前記それぞれのデュアルFIFOから受信され、および/または前記それぞれのデュアルFIFOへのロードを保留しているかのいずれかのデータの1つ以上のロードのいずれかを記憶する複数の周辺ロードストアと、
各々が前記複数の周辺ロードストアのそれぞれの周辺ロードストアとインターフェースし、かつ前記メインメモリとインターフェースする複数の周辺メモリと、を含む、請求項15に記載の方法。 - 集積回路内でデータを伝播する方法であって、前記方法が、
入力データセットを識別することと、
前記入力データセットの複数の異なるデータサブセットの各々の粗データ伝播経路を実行することであって、前記粗データ伝播経路が、
前記複数の異なるデータサブセットの各々の定義されたコア間データ移動であって、前記コア間データ移動が、前記集積回路の集積回路アレイの複数のコアのうちの2つ以上を通じて、前記複数の異なるデータサブセットのうちの所与のデータサブセットの所定の進行経路を定義する、定義されたコア間データ移動を含む、実行することと、
データ移動命令を実行することであって、前記データ移動命令は、実行されるとき、前記複数のコアのアレイコア内のデータの複数の異なるデータサブセットの各々を回転移動させる命令であり、前記アレイコアは、アレイコアの側面に沿って位置する複数の異なるデータポートを備えており、前記データ移動命令を実行することが、
前記アレイコア内の前記複数の異なるデータサブセットの各々を、0度~360度の回転度で、前記アレイコアの前記複数の異なるデータポートの開始データポートから前記複数の異なるデータポートの終端データポートまで移動させること、
を含む、方法。 - 前記開始データポートのレジスタファイル内に前記入力データセットを記憶することをさらに含み、前記開始データポートは、前記アレイコアの、第1の側面に沿った第1のデータポート、第2の側面に沿った第2のデータポート、第3の側面に沿った第3のデータポート、および第4の側面に沿った第4のデータポートのうちの1つであり、かつ前記終端データポートは、前記開始データポートとは異なるデータポートであって、前記第1のデータポート、前記第2のデータポート、前記第3のデータポート、および前記第4のデータポートのうちの1つであり、
前記集積回路アレイが、
複数のアレイコアであって、前記複数のアレイコアの各々が、入力データを処理するための少なくとも1つの処理回路を含む、複数のアレイコアと、
複数のボーダーコアであって、前記複数のボーダーコアの各々が、入力データを記憶するための少なくとも1つのレジスタファイルを含む、複数のボーダーコアと、を含み、
前記複数のアレイコアが、前記複数のボーダーコアとは異なる、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862649551P | 2018-03-28 | 2018-03-28 | |
US62/649,551 | 2018-03-28 | ||
PCT/US2019/020652 WO2019190707A1 (en) | 2018-03-28 | 2019-03-05 | System and method for implementing a machine perception and dense algorithm integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021518591A JP2021518591A (ja) | 2021-08-02 |
JP7386543B2 true JP7386543B2 (ja) | 2023-11-27 |
Family
ID=68056288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020548934A Active JP7386543B2 (ja) | 2018-03-28 | 2019-03-05 | 機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10997115B2 (ja) |
EP (1) | EP3776284A4 (ja) |
JP (1) | JP7386543B2 (ja) |
WO (1) | WO2019190707A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201904267D0 (en) * | 2019-03-27 | 2019-05-08 | Graphcore Ltd | A networked computer with multiple embedded rings |
US11087067B2 (en) * | 2020-01-06 | 2021-08-10 | quadric.io, Inc. | Systems and methods for implementing tile-level predication within a machine perception and dense algorithm integrated circuit |
US11782757B2 (en) | 2021-05-07 | 2023-10-10 | SiMa Technologies, Inc. | Scheduling off-chip memory access for programs with predictable execution |
WO2022133060A1 (en) * | 2020-12-17 | 2022-06-23 | SiMa Technologies, Inc. | Scheduling off-chip memory access for programs with predictable execution |
US11392667B2 (en) * | 2020-12-18 | 2022-07-19 | quadric.io, Inc. | Systems and methods for an intelligent mapping of neural network weights and input data to an array of processing cores of an integrated circuit |
US11531633B2 (en) | 2021-04-01 | 2022-12-20 | quadric.io, Inc. | Systems and methods for intelligently implementing concurrent transfers of data within a machine perception and dense algorithm integrated circuit |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060277545A1 (en) | 2005-06-03 | 2006-12-07 | Nec Electronics Corporation | Stream processor including DMA controller used in data processing apparatus |
US20070050603A1 (en) | 2002-08-07 | 2007-03-01 | Martin Vorbach | Data processing method and device |
US20110010524A1 (en) | 2008-03-04 | 2011-01-13 | Nec Corporation | Simd processor array system and data transfer method thereof |
US20130024826A1 (en) | 2002-11-07 | 2013-01-24 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990001192A1 (en) | 1988-07-22 | 1990-02-08 | United States Department Of Energy | Data flow machine for data driven computing |
EP0660245A3 (en) | 1993-12-20 | 1998-09-30 | Motorola, Inc. | Arithmetic engine |
US5708835A (en) | 1995-03-27 | 1998-01-13 | Hughes Electronics | Dual-directional parallel processor |
US6130551A (en) * | 1998-01-19 | 2000-10-10 | Vantis Corporation | Synthesis-friendly FPGA architecture with variable length and variable timing interconnect |
US7111155B1 (en) | 1999-05-12 | 2006-09-19 | Analog Devices, Inc. | Digital signal processor computation core with input operand selection from operand bus for dual operations |
JP3649996B2 (ja) | 2000-05-24 | 2005-05-18 | 三洋電機株式会社 | 非水電解質二次電池用正極活物質 |
US6476636B1 (en) | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US7099983B2 (en) | 2002-11-25 | 2006-08-29 | Lsi Logic Corporation | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process |
US6800884B1 (en) | 2002-12-30 | 2004-10-05 | Actel Corporation | Inter-tile buffer system for a field programmable gate array |
US6867615B1 (en) | 2003-05-30 | 2005-03-15 | Actel Corporation | Dedicated input/output first in/first out module for a field programmable gate array |
US7251803B2 (en) | 2003-11-05 | 2007-07-31 | Peter Ramyalal Suaris | Memory re-implementation for field programmable gate arrays |
US7353363B2 (en) | 2006-03-03 | 2008-04-01 | Microsystems, Inc. | Patchable and/or programmable decode using predecode selection |
US7577820B1 (en) | 2006-04-14 | 2009-08-18 | Tilera Corporation | Managing data in a parallel processing environment |
US9292825B2 (en) * | 2006-07-05 | 2016-03-22 | International Business Machines Corporation | Multi-tier inventory visibility |
US7805575B1 (en) | 2006-09-29 | 2010-09-28 | Tilera Corporation | Caching in multicore and multiprocessor architectures |
US7743232B2 (en) | 2007-07-18 | 2010-06-22 | Advanced Micro Devices, Inc. | Multiple-core processor with hierarchical microcode store |
WO2010043401A2 (en) | 2008-10-15 | 2010-04-22 | Martin Vorbach | Data processing device |
US20100180100A1 (en) | 2009-01-13 | 2010-07-15 | Mavrix Technology, Inc. | Matrix microprocessor and method of operation |
GB2471067B (en) | 2009-06-12 | 2011-11-30 | Graeme Roy Smith | Shared resource multi-thread array processor |
US8612711B1 (en) | 2009-09-21 | 2013-12-17 | Tilera Corporation | Memory-mapped data transfers |
EP2519876A1 (en) | 2009-12-28 | 2012-11-07 | Hyperion Core, Inc. | Optimisation of loops and data flow sections |
US20120110303A1 (en) | 2010-10-28 | 2012-05-03 | International Business Machines Corporation | Method for Process Synchronization of Embedded Applications in Multi-Core Systems |
US9432298B1 (en) | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
EP3712774B1 (en) | 2011-09-30 | 2023-02-15 | Tahoe Research, Ltd. | Apparatus and method for implementing a multi-level memory hierarchy |
KR20140078912A (ko) | 2012-12-18 | 2014-06-26 | 삼성전자주식회사 | 메모리 시스템 및 이를 포함하는 시스템 온 칩 |
US9378174B2 (en) | 2013-11-04 | 2016-06-28 | Xilinx, Inc. | SERDES receiver oversampling rate |
US9245125B2 (en) * | 2014-02-27 | 2016-01-26 | Nec Laboratories America, Inc. | Duleak: a scalable app engine for high-impact privacy leaks |
US10133504B2 (en) | 2016-04-06 | 2018-11-20 | Futurewei Technologies, Inc. | Dynamic partitioning of processing hardware |
US10282808B2 (en) | 2016-05-27 | 2019-05-07 | Intel Corporation | Hierarchical lossless compression and null data support |
US20180032335A1 (en) | 2016-07-31 | 2018-02-01 | Microsoft Technology Licensing, Llc | Transactional register file for a processor |
-
2019
- 2019-03-05 JP JP2020548934A patent/JP7386543B2/ja active Active
- 2019-03-05 US US16/292,537 patent/US10997115B2/en active Active
- 2019-03-05 EP EP19777200.7A patent/EP3776284A4/en not_active Withdrawn
- 2019-03-05 WO PCT/US2019/020652 patent/WO2019190707A1/en unknown
-
2021
- 2021-04-05 US US17/222,847 patent/US11449459B2/en active Active
-
2022
- 2022-07-26 US US17/873,585 patent/US11803508B2/en active Active
-
2023
- 2023-09-25 US US18/372,379 patent/US20240012788A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050603A1 (en) | 2002-08-07 | 2007-03-01 | Martin Vorbach | Data processing method and device |
US20130024826A1 (en) | 2002-11-07 | 2013-01-24 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US20060277545A1 (en) | 2005-06-03 | 2006-12-07 | Nec Electronics Corporation | Stream processor including DMA controller used in data processing apparatus |
US20110010524A1 (en) | 2008-03-04 | 2011-01-13 | Nec Corporation | Simd processor array system and data transfer method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20240012788A1 (en) | 2024-01-11 |
JP2021518591A (ja) | 2021-08-02 |
WO2019190707A1 (en) | 2019-10-03 |
US20220358081A1 (en) | 2022-11-10 |
US11449459B2 (en) | 2022-09-20 |
US20210224222A1 (en) | 2021-07-22 |
US11803508B2 (en) | 2023-10-31 |
US20190303518A1 (en) | 2019-10-03 |
EP3776284A1 (en) | 2021-02-17 |
US10997115B2 (en) | 2021-05-04 |
EP3776284A4 (en) | 2022-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7386543B2 (ja) | 機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法 | |
US10990410B2 (en) | Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit | |
US20210326078A1 (en) | Machine perception and dense algorithm integrated circuit | |
US10761848B1 (en) | Systems and methods for implementing core level predication within a machine perception and dense algorithm integrated circuit | |
US10824370B2 (en) | Systems and methods for implementing random access memory in a flow-based machine perception and dense algorithm integrated circuit based on computing and coalescing of indices | |
US11755806B2 (en) | Systems and methods for executing a programmable finite state machine that accelerates fetchless computations and operations of an array of processing cores of an integrated circuit | |
US11392667B2 (en) | Systems and methods for an intelligent mapping of neural network weights and input data to an array of processing cores of an integrated circuit | |
US11714556B2 (en) | Systems and methods for accelerating memory transfers and computation efficiency using a computation-informed partitioning of an on-chip data buffer and implementing computation-aware data transfer operations to the on-chip data buffer | |
US11061678B1 (en) | Systems and methods for optimizing nested loop instructions in pipeline processing stages within a machine perception and dense algorithm integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230703 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7386543 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |