RU2018130817A - Процессор с реконфигурируемым алгоритмическим конвейерным ядром и алгоритмическим согласующим конвейерным компилятором - Google Patents

Процессор с реконфигурируемым алгоритмическим конвейерным ядром и алгоритмическим согласующим конвейерным компилятором Download PDF

Info

Publication number
RU2018130817A
RU2018130817A RU2018130817A RU2018130817A RU2018130817A RU 2018130817 A RU2018130817 A RU 2018130817A RU 2018130817 A RU2018130817 A RU 2018130817A RU 2018130817 A RU2018130817 A RU 2018130817A RU 2018130817 A RU2018130817 A RU 2018130817A
Authority
RU
Russia
Prior art keywords
processor
cores
logical
kernel
reconfigurable
Prior art date
Application number
RU2018130817A
Other languages
English (en)
Other versions
RU2018130817A3 (ru
Inventor
Роберт КАТИЛЛЕР
Original Assignee
Айкэт Ллс
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Айкэт Ллс filed Critical Айкэт Ллс
Publication of RU2018130817A publication Critical patent/RU2018130817A/ru
Publication of RU2018130817A3 publication Critical patent/RU2018130817A3/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7889Reconfigurable logic implemented as a co-processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Advance Control (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Microcomputers (AREA)

Claims (26)

1. Многократно используемое алгоритмическое конвейерное ядро, содержащее процессорный блок,
набор реконфигурируемых пользователем вентилей, в котором программируемые вентили программируются алгоритмическим согласующим конвейерным компилятором, так что алгоритмический согласующий конвейерный компилятор прекомпилирует исходный код, разработанный для работы на стандартном процессоре без параллельной обработки для обработки процессорным блоком, и процессорный блок и алгоритмический согласующий конвейерный компилятор конфигурируют программируемые вентили, чтобы они работали как конвейерные параллельные процессоры.
2. Ядро по п. 1, в котором алгоритмический согласующий конвейерный компилятор является прекомпилятором.
3. Ядро по п. 2, в котором прекомпилятор выполнен с возможностью прекомпилировать стандартный язык программирования более высокого уровня, написанный не для ядра, а для типа обычного нереконфигурируемого процессора, и прекомпилятор генерирует машинный код для ядра, используя тип обычного нереконфигурируемого процессора, для которого стандартный язык программирования более высокого уровня был написан для генерирования машинного кода, чтобы конфигурировать набор реконфигурируемых программируемых пользователем вентилей.
4. Ядро по п. 3, в котором стандартным языком программирования более высокого уровня является «С» или «С++».
5. Ядро по п. 2, в котором ядро содержит пул компьютеров, выполненный с возможностью обрабатывать алгоритмы, необходимые для конкретного вычисления, на основании выходных данных из прекомпилятора, и в котором программируемые пользователем вентили конфигурируются на выполнение задач без дальнейших служебных операций процессорного блока.
6. Ядро по п. 5, дополнительно содержащее интеллектуальный контроллер шины или логический процессор, в котором интеллектуальный контроллер шины или логический процессор выполняют все логические функции, обрабатываемые ядром.
7. Ядро по п. 5, дополнительно содержащее логический процессор и главный шинный переключатель, и логический процессор содержит реконфигурируемые логические функции для управления главным шинным переключателем.
8. Ядро по п. 7, дополнительно содержащее процессор цифровой обработки сигналов, причем процессор цифровой обработки сигналов содержит реконфигурируемый математический процессор для выполнения математических вычислений.
9. Ядро по п. 8, в котором главный шинный переключатель является матричным маршрутизатором или переключателем шин, содержащим схему, программируемую реконфигурируемым образом прекомпилятором и процессорным блоком, так что данные и результаты маршрутизируются от ядра на другое ядро для завершения алгоритма, без дальнейшего вмешательства центрального или периферийного процессора при обработке алгоритма, уменьшая количество служебных операций посредством конвейеризации по сравнению со статичным не реконфигурируемым аппаратным обеспечением, которое требует вмешательства центрального процессора или периферийного процессора, чтобы направлять данные и результаты на арифметические блоки обработки и от них.
10. Ядро по п. 9, в котором логический процессор обрабатывает логические решения и циклы итерации, и память с результатом предоставляется логическим процессором для обучающих алгоритмов.
11. Система, содержащая множество ядер по п. 1, включающая в себя шаги обработки всех математических операций с использованием процессоров
цифровой обработки сигнала одного или более множества ядер, и
обработки всех логический функций с использованием одного или более логических процессоров одного или более множества ядер.
12. Система по п. 11, дополнительно содержащая шаг конфигурирования множества ядер как пула ядер, и каждое из пулов ядер реконфигурируется путем программирования отдельно, без изменений в аппаратном обеспечении.
13. Система по п. 12, в которой шаг конфигурации конфигурирует все множество ядер для обработки алгоритмов параллельно без дальнейшего вмешательства центрального или периферийного процессора, чтобы направлять данные и результаты на арифметические блоки обработки и из них.
14. Система по п. 13, в которой алгоритмический согласующий конвейерный компилятор является прекомпилятором, и логический процессор каждого из множества ядер использует блоки памяти, сконфигурированные прекомпилятором, как справочные таблицы и регистры для постоянных коэффициентов или значений, полученных с помощью обучения.
15. Система по п. 14, дополнительно содержащая настройку справочной таблицы логическим процессором, причем справочная таблица является n-битной справочной таблицей, и n-битная справочная таблица используется для шифрования п-битной булевой логической функции как таблицы истинности.
16. Система по п. 11, дополнительно содержащая: генерирование машинного кода из стандартного языка программирования более высокого уровня, написанного для обычного неконфигурируемого и неконвейерного компьютерного процессора общего назначения, используя алгоритмический согласующий конвейерный компилятор для одного или более множества ядер.
17. Система по п. 16, в которой стандартный язык программирования более высокого уровня написан для типа обычного нереконфигурируемого процессора, и шаг генерирования машинного кода содержит алгоритмический согласующий конвейерный компилятор как прекомпилятор, используя тип обычного нереконфигурируемого процессора для генерирования машинного кода для конфигурирования массива реконфигурируемых программируемых пользователем вентилей каждого из множества ядер.
18. Система по п. 17, которая содержит по меньшей мере один процессор типа обычного нереконфигурируемого процессора, для которого написан стандартный язык программирования более высокого уровня, и этот по меньшей мере один процессор типа обычного нереконфигурируемого процессора, для которого написан стандартный язык программирования более высокого уровня, генерирует машинный код для конфигурирования массива реконфигурируемых программируемых вентилей каждого из множества ядер.
19. Система по п. 18, в которой каждое из множества ядер конфигурируется, чтобы независимо разрешать сложные математические и логические алгоритмы без дальнейшего вмешательства по меньшей мере одного процессора типа обычного нереконфигурируемого процессора, для которого написан стандартный язык программирования более высокого уровня.
20. Система по п. 19, далее содержащая ввод значений в систему, и система выводит решение на главный шинный переключатель системы без дальнейшего вмешательства.
21. Система по п. 20, в которой множество ядер содержит 2000 ядер.
22. Система по п. 21, которая выполняет 360 триллионов команд в секунду с тактовой частотой 500 МГц.
23. Система по п. 22, которая имеет задержку для ввода данных, но конвейеризация уменьшает количество служебных операций, так что система конфигурируется, чтобы выполнять вычисление и выводить результат на каждый такт от каждого ядра после того, как задержка была инициирована.
RU2018130817A 2016-01-26 2017-01-26 Процессор с реконфигурируемым алгоритмическим конвейерным ядром и алгоритмическим согласующим конвейерным компилятором RU2018130817A (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662287265P 2016-01-26 2016-01-26
US62/287,265 2016-01-26
PCT/US2017/015143 WO2017132385A1 (en) 2016-01-26 2017-01-26 Processor with reconfigurable algorithmic pipelined core and algorithmic matching pipelined compiler

Publications (2)

Publication Number Publication Date
RU2018130817A true RU2018130817A (ru) 2020-02-27
RU2018130817A3 RU2018130817A3 (ru) 2020-04-16

Family

ID=59359078

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018130817A RU2018130817A (ru) 2016-01-26 2017-01-26 Процессор с реконфигурируемым алгоритмическим конвейерным ядром и алгоритмическим согласующим конвейерным компилятором

Country Status (17)

Country Link
US (3) US20170212739A1 (ru)
EP (1) EP3408737A4 (ru)
JP (1) JP7015249B2 (ru)
KR (1) KR20180132044A (ru)
CN (1) CN108885543A (ru)
AU (1) AU2017211781B2 (ru)
BR (1) BR112018015276A2 (ru)
CA (1) CA3012781C (ru)
CL (1) CL2018002025A1 (ru)
CO (1) CO2018008835A2 (ru)
IL (1) IL279302B2 (ru)
MX (1) MX2018009255A (ru)
MY (1) MY191841A (ru)
PH (1) PH12018501591A1 (ru)
RU (1) RU2018130817A (ru)
SG (1) SG11201806395SA (ru)
WO (1) WO2017132385A1 (ru)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019193848A1 (ja) * 2018-04-03 2019-10-10 日本電気株式会社 心不全増悪度判定システム及び心不全増悪度判定方法
CN108958852A (zh) * 2018-07-16 2018-12-07 济南浪潮高新科技投资发展有限公司 一种基于fpga异构平台的系统优化方法
JP7123676B2 (ja) * 2018-07-20 2022-08-23 オムロンヘルスケア株式会社 生体データ測定システム及び生体データ測定方法
EP3611494A1 (en) * 2018-08-17 2020-02-19 Koninklijke Philips N.V. System and method for providing an indication of a person's gum health
US20210401332A1 (en) * 2018-11-15 2021-12-30 My-Vitality Sàrl Self-monitoring and care assistant for achieving glycemic goals
KR101996842B1 (ko) * 2018-12-26 2019-07-08 (주)자람테크놀로지 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법
US20220167863A1 (en) * 2019-03-27 2022-06-02 Nec Corporation Blood volume pulse signal detection apparatus, blood volume pulse signal detection apparatus method, and computer-readable storage medium
US11080227B2 (en) * 2019-08-08 2021-08-03 SambaNova Systems, Inc. Compiler flow logic for reconfigurable architectures
US20210076985A1 (en) * 2019-09-13 2021-03-18 DePuy Synthes Products, Inc. Feature-based joint range of motion capturing system and related methods
CN113222126B (zh) * 2020-01-21 2022-01-28 上海商汤智能科技有限公司 数据处理装置、人工智能芯片
CN111444159B (zh) * 2020-03-03 2024-05-03 中国平安人寿保险股份有限公司 精算数据处理方法、装置、电子设备及存储介质
KR20210151525A (ko) * 2020-06-05 2021-12-14 삼성전자주식회사 생체정보 추정 장치 및 방법
US11809908B2 (en) 2020-07-07 2023-11-07 SambaNova Systems, Inc. Runtime virtualization of reconfigurable data flow resources
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理系统、处理器及任务处理方法
US20220047165A1 (en) * 2020-08-12 2022-02-17 Welch Allyn, Inc. Dermal image capture
US11782729B2 (en) 2020-08-18 2023-10-10 SambaNova Systems, Inc. Runtime patching of configuration files
WO2022087032A1 (en) * 2020-10-19 2022-04-28 Woundmatrix, Inc. Wound measurement
US20220233093A1 (en) * 2021-01-22 2022-07-28 AsthmaTek, Inc. Systems and methods to provide a physician interface that enables a physician to assess asthma of a subject and provide therapeutic feedback
US12051492B2 (en) 2021-01-29 2024-07-30 AsthmaTek, Inc. Systems and methods to determine a therapy regimen to treat asthma of a subject
TWI768818B (zh) * 2021-04-08 2022-06-21 緯創資通股份有限公司 混合式體溫量測系統及其方法
EP4105827B1 (en) * 2021-06-14 2024-03-13 Tata Consultancy Services Limited Method and system for personalized eye blink detection
CN113703843B (zh) * 2021-09-24 2024-04-12 中国人民解放军军事科学院军事医学研究院 一种寄存器数据处理方法、装置及存储器
CN117311247B (zh) * 2023-11-30 2024-03-26 山东盛泰矿业科技有限公司 一种用于地下采矿的控制装置
CN118276905B (zh) * 2024-06-03 2024-10-01 江苏元信网安科技有限公司 基于icap的zynq平台重构方法及重构系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4291372A (en) * 1979-06-27 1981-09-22 Burroughs Corporation Microprocessor system with specialized instruction format
US5684980A (en) 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US20060081971A1 (en) * 1997-09-30 2006-04-20 Jeng Jye Shau Signal transfer methods for integrated circuits
US6718457B2 (en) * 1998-12-03 2004-04-06 Sun Microsystems, Inc. Multiple-thread processor for threaded software applications
TW463175B (en) * 2000-03-01 2001-11-11 Winbond Electronics Corp Memory processing method and system
US7000213B2 (en) * 2001-01-26 2006-02-14 Northwestern University Method and apparatus for automatically generating hardware from algorithms described in MATLAB
US20030066057A1 (en) * 2001-02-23 2003-04-03 Rudusky Daryl System, method and article of manufacture for collaborative hardware design
EP2528000B1 (en) * 2003-05-23 2017-07-26 IP Reservoir, LLC Intelligent data storage and processing using FPGA devices
JP2006065786A (ja) 2004-08-30 2006-03-09 Sanyo Electric Co Ltd 処理装置
US7818725B1 (en) * 2005-04-28 2010-10-19 Massachusetts Institute Of Technology Mapping communication in a parallel processing environment
US7843215B2 (en) * 2007-03-09 2010-11-30 Quadric, Inc. Reconfigurable array to compute digital algorithms
US8214814B2 (en) * 2008-06-24 2012-07-03 International Business Machines Corporation Sharing compiler optimizations in a multi-node system
US20130212366A1 (en) * 2012-02-09 2013-08-15 Altera Corporation Configuring a programmable device using high-level language
JP2014016894A (ja) 2012-07-10 2014-01-30 Renesas Electronics Corp 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
US9218289B2 (en) * 2012-08-06 2015-12-22 Qualcomm Incorporated Multi-core compute cache coherency with a release consistency memory ordering model

Also Published As

Publication number Publication date
AU2017211781A1 (en) 2018-09-13
CL2018002025A1 (es) 2019-02-08
US20170212739A1 (en) 2017-07-27
IL279302B2 (en) 2023-06-01
CO2018008835A2 (es) 2018-11-13
PH12018501591A1 (en) 2019-04-08
EP3408737A4 (en) 2019-09-11
US20180246834A1 (en) 2018-08-30
US10970245B2 (en) 2021-04-06
JP2019506695A (ja) 2019-03-07
CA3012781A1 (en) 2017-08-03
RU2018130817A3 (ru) 2020-04-16
WO2017132385A1 (en) 2017-08-03
US10515041B2 (en) 2019-12-24
AU2017211781B2 (en) 2021-04-22
BR112018015276A2 (pt) 2018-12-18
MX2018009255A (es) 2019-03-18
US20200142851A1 (en) 2020-05-07
JP7015249B2 (ja) 2022-02-02
CN108885543A (zh) 2018-11-23
KR20180132044A (ko) 2018-12-11
MY191841A (en) 2022-07-18
SG11201806395SA (en) 2018-08-30
IL279302A (en) 2021-01-31
CA3012781C (en) 2022-08-30
EP3408737A1 (en) 2018-12-05

Similar Documents

Publication Publication Date Title
RU2018130817A (ru) Процессор с реконфигурируемым алгоритмическим конвейерным ядром и алгоритмическим согласующим конвейерным компилятором
WO2017088458A1 (zh) 流水级运算装置、数据处理方法及片上网络芯片
US9594694B2 (en) Dynamic evaluation and adaption of hardware hash functions
JP7183197B2 (ja) 高スループットプロセッサ
US20180101633A1 (en) Methods and apparatus for dynamically configuring soft processors on an integrated circuit
WO2017020165A1 (zh) 自适应芯片和配置方法
AskariHemmat et al. RISC-V barrel processor for deep neural network acceleration
Omidian et al. An accelerated OpenVX overlay for pure software programmers
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
KR102001222B1 (ko) 신호 처리 장치 및 방법
Li et al. FPGA overlays: hardware-based computing for the masses
US20230214351A1 (en) Reconfigurable simd engine
JP6046319B1 (ja) 再構成可能命令セルアレイのシリアル構成
RU2558613C2 (ru) Способ организации параллельно-конвейерных вычислений в однородной вычислительной среде с коммутационно-потоковым управлением
Ferlin et al. A FPGA-Based Reconfigurable Parallel Architecture for High-Performance Numerical Computation
Kumarathunga et al. VLIW Based Runtime Reconfigurable Machine Vision Coprocessor Architecture for Edge Computing
WO2021014017A1 (en) A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture
EA044257B1 (ru) Системы, устройство и способы конвейерной обработки