JP5528568B2 - 並列プログラム制御 - Google Patents
並列プログラム制御 Download PDFInfo
- Publication number
- JP5528568B2 JP5528568B2 JP2012540344A JP2012540344A JP5528568B2 JP 5528568 B2 JP5528568 B2 JP 5528568B2 JP 2012540344 A JP2012540344 A JP 2012540344A JP 2012540344 A JP2012540344 A JP 2012540344A JP 5528568 B2 JP5528568 B2 JP 5528568B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- processing units
- time
- control method
- assigned
- 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
- 238000012545 processing Methods 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 73
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- HJCCZIABCSDUPE-UHFFFAOYSA-N methyl 2-[4-[[4-methyl-6-(1-methylbenzimidazol-2-yl)-2-propylbenzimidazol-1-yl]methyl]phenyl]benzoate Chemical compound CCCC1=NC2=C(C)C=C(C=3N(C4=CC=CC=C4N=3)C)C=C2N1CC(C=C1)=CC=C1C1=CC=CC=C1C(=O)OC HJCCZIABCSDUPE-UHFFFAOYSA-N 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2205—Multicore
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34407—Calculate elapsed time, store in counter, start task when time elapsed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34411—Handling time critical and time non critical program sequences
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Executing Machine-Instructions (AREA)
- Programmable Controllers (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Description
Claims (12)
- 各々が時刻信号の生成器(220、D0−D3、T0−T3)に対応付けられた、並列に動作する複数の処理ユニット(C0−C3)にてプログラム(410−450)を実行するための制御方法(300)であって、時刻満了時に、対応付けられた処理ユニット(C0−C3)にて実行され、
上記処理ユニット(C0−C3)にて実行可能なプログラム(410−450)を選択するステップ(320)と、
満了時刻信号の生成器(220、D0−D3、T0−T3)に所定の持続時間を設定するステップ(350)と、
上記処理ユニット(C0−C3)にて選択されたプログラム(410−450)を開始するステップ(355)と、
上記所定の持続時間の満了が、異なる処理ユニット(C0−C3)に割り当てられた時刻信号の生成器(220、D0−D3、T0−T3)の予定された満了から、所定の持続時間未満だけ外れているかどうかを比較するステップ(340)と、
外れていた場合は、上記所定の持続時間を修正するステップ(345)とを含むことを特徴とする制御方法(300)。 - 上記プログラム(410−450)が実行される処理ユニット(C0−C3)はリアルタイム処理能力を有し、オペレーティングシステム(510)がさらに実行可能であり、上記オペレーティングシステム(510)が実行される処理ユニット(C0−C3)は非リアルタイム処理能力を有し、同じ処理ユニット(C0−C3)における制御方法(300)を連続して実行するために、上記プログラム(410−450)と上記オペレーティングシステム(510)とを上記処理ユニット(C0−C3)が交互に選択することを特徴とする請求項1に記載の制御方法(300)。
- 上記修正するステップは、固定値(Δ)でシフトすることを含むことを特徴とする請求項1に記載の制御方法(300)。
- 処理ユニット(C0−C3)に割り当てられたプログラム(410−450)が記載された、処理ユニット(C0−C3)毎に割り当てられたリスト(400)を含み、上記リスト(400)におけるエントリーに基づいて選択するステップ(320)が実行されることを特徴とする請求項1から3のいずれか1項に記載の制御方法(300)。
- それぞれのエントリーは優先順位を有し、優先順位に応じて上記選択するステップ(320)が実行されることを特徴とする請求項4に記載の制御方法(300)。
- 処理ユニット(C0−C3)のうちの少なくともいずれかの過去の稼働率に基づいて、上記リスト(400)のうちの1つにプログラム(410−450)を入力するステップをさらに含むことを特徴とする請求項4または5に記載の制御方法(300)。
- 請求項1〜6のいずれか1項に記載の制御方法(300)をコンピュータに実行させるためのコンピュータプログラムであって、コンピュータに上記各ステップを実行させるためのコンピュータプログラム。
- コンピュータ読み取り可能な記録媒体に格納された請求項7に記載のコンピュータプログラム。
- 複数の処理ユニット(C0−C3)におけるいくつかのプログラム(410−450)を実行するシステムであって、
各々に時刻信号の生成器(220、D0−D3、T0−T3)が割り当てられた、複数の処理ユニット(C0−C3)を含み、
上記処理ユニット(C0−C3)のうちの1つにて請求項1〜6のいずれか1項に記載の制御方法(300)が実行されることを特徴とするシステム。 - 上記処理ユニット(C0−C3)は集積回路(200)によって構成されることを特徴とする請求項9に記載のシステム。
- 時刻信号の生成器(220,D0−D3,T0−T3)は、クロック信号によって動作するカウンタ(T0−T3)を含み、それぞれのカウンタ(T0−T3)は、所定値に達すると直ちに時刻信号の生成器に割り当てられた処理ユニット(C0−C3)への割り込みを行うことを特徴とする請求項9または10に記載のシステム。
- それぞれのカウンタは、すべての分周器に共有されるクロック信号を、カウンタ(T0−T3)に割り当てられた個々のクロック信号に分ける、プログラム可能な分周器を含む請求項9から11のいずれか1項に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009047024.7 | 2009-11-23 | ||
DE102009047024A DE102009047024A1 (de) | 2009-11-23 | 2009-11-23 | Parallelisierte Programmsteuerung |
PCT/EP2010/066172 WO2011061046A1 (de) | 2009-11-23 | 2010-10-26 | Parallelisierte programmsteuerung |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013511784A JP2013511784A (ja) | 2013-04-04 |
JP5528568B2 true JP5528568B2 (ja) | 2014-06-25 |
Family
ID=43430790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012540344A Active JP5528568B2 (ja) | 2009-11-23 | 2010-10-26 | 並列プログラム制御 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9128475B2 (ja) |
EP (1) | EP2504738B1 (ja) |
JP (1) | JP5528568B2 (ja) |
CN (1) | CN102667648B (ja) |
DE (1) | DE102009047024A1 (ja) |
WO (1) | WO2011061046A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101504137B1 (ko) * | 2011-06-16 | 2015-03-24 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 멀티 코어 환경에서의 프로세스 관리 |
DE102011090177A1 (de) * | 2011-06-24 | 2012-12-27 | Sms Siemag Ag | Metallbearbeitungsanlage, insbesondere Walzwerk |
DE102011107646A1 (de) * | 2011-07-12 | 2013-01-17 | Phoenix Contact Gmbh & Co. Kg | Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen |
CN109634198B (zh) | 2011-10-05 | 2021-06-22 | 奥普唐公司 | 用于监视和/或生成动态环境的方法、装置和系统 |
EP2781977B1 (en) * | 2013-03-20 | 2016-10-12 | Siemens Aktiengesellschaft | Method and system for managing distributed computing in automation systems |
CN105122158B (zh) * | 2013-04-16 | 2017-12-22 | 西门子公司 | 具有短延迟时间的可编程控制装置 |
US9542230B2 (en) * | 2013-05-15 | 2017-01-10 | Apple Inc. | System and method for selective timer coalescing |
US9904575B2 (en) | 2013-05-15 | 2018-02-27 | Apple Inc. | System and method for selective timer rate limiting |
CN104656518A (zh) * | 2015-02-02 | 2015-05-27 | 南阳理工学院 | 一种基于物联网的计算机时限控制器 |
CN105988437A (zh) * | 2015-02-10 | 2016-10-05 | 张家港市宏鑫源科技有限公司 | 一种采用分布式控制系统的多级万能轧机 |
US9958933B2 (en) | 2015-06-04 | 2018-05-01 | Apple Inc. | Opportunistic waking of an application processor |
KR102079499B1 (ko) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
CN105356821B (zh) * | 2015-11-19 | 2018-04-17 | 珠海格力电器股份有限公司 | 空调伺服驱动器的工作方法及伺服驱动器 |
US9910470B2 (en) * | 2015-12-16 | 2018-03-06 | Intel Corporation | Controlling telemetry data communication in a processor |
DE102016121542A1 (de) | 2016-11-10 | 2018-05-17 | Phoenix Contact Gmbh & Co. Kg | Ablaufsteuerung von Programmmodulen |
LU93299B1 (de) | 2016-11-10 | 2018-06-13 | Phoenix Contact Gmbh & Co Kg Intellectual Property Licenses & Standards | Ablaufsteuerung von Programmmodulen |
DE102017100655A1 (de) | 2017-01-13 | 2018-07-19 | Beckhoff Automation Gmbh | Steuerung eines technischen Prozesses auf einer Mehr-Rechenkern-Anlage |
US10947849B2 (en) * | 2017-06-27 | 2021-03-16 | General Electric Company | Systems and methods for recontouring engine components |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2944093B2 (ja) * | 1989-02-10 | 1999-08-30 | 日本電気株式会社 | マルチプロセッサ形情報処理装置 |
JPH0319037A (ja) * | 1989-06-16 | 1991-01-28 | Nec Software Ltd | タスク実行時間制御方式 |
JPH03164966A (ja) * | 1989-11-24 | 1991-07-16 | Nec Software Ltd | 情報処理システム |
JPH1074150A (ja) * | 1996-06-28 | 1998-03-17 | Fujitsu Ltd | プロセススケジューリング方法ならびにそのためのプロセススケジューリング装置およびプログラム記憶媒体 |
DE19648422C2 (de) * | 1996-11-22 | 2000-03-30 | Hans Beckhoff | Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm |
JPH11327928A (ja) * | 1998-05-19 | 1999-11-30 | Mitsubishi Electric Corp | リアルタイムアプリケーション支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびコンピュータシステム |
DE50015549D1 (de) | 1999-07-08 | 2009-03-26 | Siemens Ag | PC-System für Echtzeit- und Nicht-Echtzeitprogramme |
US6957432B2 (en) * | 2000-03-21 | 2005-10-18 | Microsoft Corporation | Real-time scheduler |
US7058838B2 (en) * | 2002-12-17 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | System and method for synchronizing a plurality of processors in a multiprocessor computer platform employing a global clock counter |
US20050210472A1 (en) * | 2004-03-18 | 2005-09-22 | International Business Machines Corporation | Method and data processing system for per-chip thread queuing in a multi-processor system |
WO2005099334A2 (en) * | 2004-03-31 | 2005-10-27 | Intel Corporation | Event handling mechanism |
US7461173B2 (en) * | 2004-06-30 | 2008-12-02 | Intel Corporation | Distributing timers across processors |
US20060004933A1 (en) * | 2004-06-30 | 2006-01-05 | Sujoy Sen | Network interface controller signaling of connection event |
US20060208829A1 (en) * | 2005-03-15 | 2006-09-21 | Microsoft Corporation | System and method for timer windows |
US7647486B2 (en) * | 2006-05-02 | 2010-01-12 | Atmel Corporation | Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode |
TWI324747B (en) * | 2006-06-08 | 2010-05-11 | Wistron Corp | Method for preventing process collision of micro controller |
US20090249343A1 (en) * | 2008-03-25 | 2009-10-01 | Pirasenna Thiyagarajan | System, method, and computer program product for receiving timer objects from local lists in a global list for being used to execute events associated therewith |
US7941688B2 (en) * | 2008-04-09 | 2011-05-10 | Microsoft Corporation | Managing timers in a multiprocessor environment |
US10521265B2 (en) * | 2008-09-19 | 2019-12-31 | Microsoft Technology Licensing, Llc | Coalescing periodic timer expiration in guest operating systems in a virtualized environment |
KR101580897B1 (ko) * | 2008-10-07 | 2015-12-30 | 삼성전자주식회사 | 디스플레이 드라이버, 이의 동작 방법, 및 상기 디스플레이 드라이버를 포함하는 장치 |
-
2009
- 2009-11-23 DE DE102009047024A patent/DE102009047024A1/de not_active Withdrawn
-
2010
- 2010-10-26 JP JP2012540344A patent/JP5528568B2/ja active Active
- 2010-10-26 EP EP10771100.4A patent/EP2504738B1/de active Active
- 2010-10-26 CN CN201080053025.8A patent/CN102667648B/zh active Active
- 2010-10-26 WO PCT/EP2010/066172 patent/WO2011061046A1/de active Application Filing
-
2012
- 2012-05-22 US US13/477,622 patent/US9128475B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2011061046A1 (de) | 2011-05-26 |
EP2504738B1 (de) | 2015-11-04 |
CN102667648B (zh) | 2015-07-29 |
JP2013511784A (ja) | 2013-04-04 |
US9128475B2 (en) | 2015-09-08 |
CN102667648A (zh) | 2012-09-12 |
DE102009047024A1 (de) | 2011-05-26 |
EP2504738A1 (de) | 2012-10-03 |
US20120291035A1 (en) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5528568B2 (ja) | 並列プログラム制御 | |
US9465610B2 (en) | Thread scheduling in a system with multiple virtual machines | |
US8621473B2 (en) | Constrained rate monotonic analysis and scheduling | |
JP2004532444A (ja) | マルチスレッドプロセッサ上の優先順位及び命令速度の制御 | |
US8539203B2 (en) | Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation | |
JP6406466B1 (ja) | 制御装置、制御方法および制御プログラム | |
WO2018186358A1 (ja) | 制御装置、制御方法および制御プログラム | |
US7168075B1 (en) | Automation device and updating method | |
CN111512291A (zh) | 基于服务质量底限调度存储器带宽 | |
JP4836903B2 (ja) | マイクロプロセッサ制御装置並びにその方法およびプログラム | |
US5867383A (en) | Programmable logic controller | |
JP5549455B2 (ja) | プログラマブルコントローラシステムおよびそのプログラム更新方法 | |
EP1594048A2 (en) | Thread selection unit and method for a multithreaded processor | |
WO2012052733A1 (en) | Exception control in a multiprocessor system | |
JP2006059052A (ja) | 仮想計算機システム | |
JP2004171167A (ja) | マルチプロセッサ計算機及びプログラム | |
CN110109743B (zh) | 一种实时进程调度方法 | |
JPH06259115A (ja) | プログラマブルコントローラ | |
JP3763452B2 (ja) | 情報処理システム、オブジェクトの優先度管理方法、オペレーティングシステム、記録媒体 | |
KR100258893B1 (ko) | 단일 중앙처리부를 이용한 수치제어장치의 구현방법 | |
CN105550023B (zh) | 一种定时器事件的处理方法及装置 | |
JP5536864B2 (ja) | マルチスレッドプロセッサ | |
JP2000155694A (ja) | タスクマネージャ | |
JP2010033475A (ja) | 電子制御装置 | |
JPH07175406A (ja) | プログラマブルコントローラのスキャン起動制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140228 |
|
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: 20140401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5528568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |