JP5292831B2 - Programmable controller - Google Patents
Programmable controller Download PDFInfo
- Publication number
- JP5292831B2 JP5292831B2 JP2008015801A JP2008015801A JP5292831B2 JP 5292831 B2 JP5292831 B2 JP 5292831B2 JP 2008015801 A JP2008015801 A JP 2008015801A JP 2008015801 A JP2008015801 A JP 2008015801A JP 5292831 B2 JP5292831 B2 JP 5292831B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- stack
- programmable controller
- pointer
- 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
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
本発明は、プログラマブルコントローラに係り、特にアプリケーションデータ格納メモリ(データメモリ)のアクセス制御に関する。 The present invention relates to a programmable controller, and more particularly to access control of an application data storage memory (data memory).
一般に、プログラマブルコントローラの演算回路は、図2のように、アプリケーションプログラムを格納するプログラムメモリ(PM)1、アプリケーションデータを格納するデータメモリ(DM)2、演算用LSI3、管理用CPU4で構成されている。
In general, as shown in FIG. 2, an arithmetic circuit of a programmable controller is composed of a program memory (PM) 1 for storing an application program, a data memory (DM) 2 for storing application data, an
図3はプログラマブルコントローラのブロック構成を示す。演算用LSI3は、PC(プログラムカウンタ)11の値をアドレスとして、PM1に格納されているアプリケーションプログラムをフェッチしてプログラムを順次実行していく。演算速度を向上させるために、演算用LSI3はインストラクションレジスタ12,13,14によるアプリケーションプログラムの順次転送でアプリケーションプログラムのプリフェッチ処理、アプリケーションデータのプリリード処理を並列して順次実行するパイプライン方式を採用している(例えば特許文献1参照)。例えば、図3のT2はアプリケーションデータのプリリード時のDM2へのアドレスがオペランドになる。
FIG. 3 shows a block configuration of the programmable controller. The
また、演算用LSI3は、内部にマイクロコードを搭載して、マイクロコード方式を採用している。マイクロコードとはアプリケーションプログラムを実行する為の演算用LSI内部プログラムのことであり、図3ではレジスタ12に読み出されたオペコードをマッピングRAM15,マップレジスタ16,マイクロコードRAM17,マイクロコードレジスタ18およびデコーダ19によって複数のマイクロコード命令を逐次発生する。
The
また、プログラマブルコントローラがマルチタスク機能を有している場合、アプリケーションデータ格納用メモリ(DM)2にスタック領域を持たせて、そのスタック領域をアクセスするためのスタックポインタ(SP)20を演算用LSI内部に有している。アプリケーションデータ領域をアクセスする場合は、インストラクションコードのオペランドをアドレスとして、オペランドをマルチプレクサ21を介してDMアドレスポインタ(DP)22に格納し、DM2へのアクセスを行っている。この処理はパイプライン処理(プリリード)の中で行われるため、高速に実行されている。
When the programmable controller has a multitask function, the application data storage memory (DM) 2 has a stack area, and a stack pointer (SP) 20 for accessing the stack area is used as an arithmetic LSI. Has inside. When accessing the application data area, the operand of the instruction code is used as an address, and the operand is stored in the DM address pointer (DP) 22 via the
23はインストラクションスタック、24はマルチプレクサ、25は演算器(ALU)、26は汎用レジスタ、27はデータスタックである。
前記のように、アプリケーションデータ格納用メモリ(DM)2にスタック領域を持たせて、そのスタック領域をアクセスする場合、マイクロコードにてスタックポインタ(SP)20をDMアドレスポインタ(DP)22にロードしてから、スタック領域をアクセスする構造となっている。その後にマイクロコードからDM2へのリードコマンドが発行されてスタック領域へのアクセス処理が行われる。 As described above, when the application data storage memory (DM) 2 has a stack area and the stack area is accessed, the stack pointer (SP) 20 is loaded into the DM address pointer (DP) 22 by microcode. After that, the stack area is accessed. Thereafter, a read command from the microcode to DM2 is issued, and an access process to the stack area is performed.
この場合、スタック領域にアクセスするたびにマイクロコードによりスタックポインタSP20からDP22にロードする必要がある為、スタック領域へのアクセスが遅くなる。
In this case, every time the stack area is accessed, it is necessary to load the stack pointer SP20 to the
本発明の目的は、データメモリのスタック領域への高速アクセスができるプログラマブルコントローラを提供することにある。 An object of the present invention is to provide a programmable controller capable of high-speed access to a stack area of a data memory.
本発明は、アプリケーションデータ格納メモリ(DM)に対するアドレス制御は、アドレスポインタとスタックポインタ(SP)をマルチプレクサで選択し、メモリ(DM)のスタック領域に、マイクロコードからDMアドレス選択コマンドとDMリードコマンドを同時に出力することでスタック領域へのアクセスの高速化を可能とするもので、以下の構成を特徴とする。 In the present invention, address control for an application data storage memory (DM) is performed by selecting an address pointer and a stack pointer (SP) with a multiplexer, and a DM address selection command and a DM read command from a microcode to a stack area of the memory (DM). At the same time, the access to the stack area can be accelerated.
(1)マルチタスク機能を有し、アプリケーションデータ格納用メモリ(DM)にスタック領域を持たせ、このスタック領域をアクセスするためのスタックポインタ(SP)を演算用LSI内部に備えたプログラマブルコントローラにおいて、
前記演算用LSIは、第1のインストラクションレジスタ、第2のインストラクションレジスタ、第3のインストラクションレジスタによるアプリケーションプログラムの順次転送で、アプリケーションプログラム格納用プログラムメモリ(PM)からのアプリケーションプログラムのプリフェッチ処理と、アプリケーションデータ格納用メモリ(DM)からのアプリケーションデータのプリリード処理を並列して順次実行するパイプライン方式を採用し、
前記メモリ(DM)に対してアドレスを与えるために、アドレスポインタとスタックポインタ(SP)をマルチプレクサで選択するものであり、かつ、前記マルチプレクサを制御するためのアドレス選択コマンドと、前記メモリ(DM)へのリードコマンドをマイクロコードの解析結果から同時に出力するものであることを特徴とする。
(1) In a programmable controller having a multitasking function, having a stack area in an application data storage memory (DM), and having a stack pointer (SP) for accessing the stack area inside an arithmetic LSI,
The arithmetic LSI includes a first instruction register, the second instruction register, in sequential transfer of the application program according to the third instruction register, and prefetch process of the application program from the program memory for storing application program (PM), the application Employs a pipeline system that sequentially executes pre-read processing of application data from the data storage memory (DM) in parallel,
In order to give an address to the memory (DM), an address pointer and a stack pointer (SP) are selected by a multiplexer, an address selection command for controlling the multiplexer, and the memory (DM) A read command is output simultaneously from the analysis result of the microcode.
以上のとおり、本発明によれば、アプリケーションデータ格納メモリ(DM)に対するアドレス制御は、アドレスポインタとスタックポインタ(SP)をマルチプレクサで選択し、この選択にはメモリ(DM)のスタック領域に、マイクロコードからDMアドレス選択コマンドとDMリードコマンドを同時に出力するため、スタック領域へのアクセスの高速化が可能となる。 As described above, according to the present invention, in the address control for the application data storage memory (DM), the address pointer and the stack pointer (SP) are selected by the multiplexer. Since the DM address selection command and the DM read command are simultaneously output from the code, the access to the stack area can be speeded up.
図1は、本発明の実施形態を示すプログラマブルコントローラのブロック構成である。同図が図3と異なる部分は、データメモリ(DM)2へのアクセス制御にある。 FIG. 1 is a block configuration of a programmable controller showing an embodiment of the present invention. 3 is different from FIG. 3 in the access control to the data memory (DM) 2.
図1において、データメモリ(DM)2に対するアドレス制御は、DMアドレスポインタ22とスタックポインタ20をマルチプレクサ21で選択とする。DMアドレスポインタ22はインストラクションレジスタ13と14のいずれか一方のオペランドがセットされる。
In FIG. 1, in address control for the data memory (DM) 2, the
マルチプレクサ21の選択信号は、デコーダ19によるマイクロコードの解読結果から選択できるようにする。このとき、DMアドレスの選択コマンドとDMへのリードコマンドを同時に出力できるようにする。これにより、データメモリ(DM)2のスタック領域へのアクセスは1マイクロコードサイクルで実行できる。
The selection signal of the
1 プログラムメモリ
2 データメモリ
3 演算用LSI
4 管理用CPU
20 スタックポインタ
21 マルチプレクサ
22 DMアドレスポインタ
1
4 Management CPU
20
Claims (1)
前記演算用LSIは、第1のインストラクションレジスタ、第2のインストラクションレジスタ、第3のインストラクションレジスタによるアプリケーションプログラムの順次転送で、アプリケーションプログラム格納用プログラムメモリ(PM)からのアプリケーションプログラムのプリフェッチ処理と、アプリケーションデータ格納用メモリ(DM)からのアプリケーションデータのプリリード処理を並列して順次実行するパイプライン方式を採用し、
前記メモリ(DM)に対してアドレスを与えるために、アドレスポインタとスタックポインタ(SP)をマルチプレクサで選択するものであり、かつ、前記マルチプレクサを制御するためのアドレス選択コマンドと、前記メモリ(DM)へのリードコマンドをマイクロコードの解析結果から同時に出力するものであること
を特徴とするプログラマブルコントローラ。 In a programmable controller having a multitask function, having a stack area in an application data storage memory (DM), and having a stack pointer (SP) for accessing the stack area inside the operation LSI,
The arithmetic LSI includes a first instruction register, the second instruction register, in sequential transfer of the application program according to the third instruction register, and prefetch process of the application program from the program memory for storing application program (PM), the application Employs a pipeline system that sequentially executes pre-read processing of application data from the data storage memory (DM) in parallel,
In order to give an address to the memory (DM), an address pointer and a stack pointer (SP) are selected by a multiplexer, an address selection command for controlling the multiplexer, and the memory (DM) A programmable controller characterized by simultaneously outputting a read command to a microcode analysis result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008015801A JP5292831B2 (en) | 2008-01-28 | 2008-01-28 | Programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008015801A JP5292831B2 (en) | 2008-01-28 | 2008-01-28 | Programmable controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009176177A JP2009176177A (en) | 2009-08-06 |
JP5292831B2 true JP5292831B2 (en) | 2013-09-18 |
Family
ID=41031168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008015801A Active JP5292831B2 (en) | 2008-01-28 | 2008-01-28 | Programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5292831B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9371187B2 (en) | 2013-07-24 | 2016-06-21 | Cnh Industrial America Llc | Supercharging feed system and method for a belt in tube conveyor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6039246A (en) * | 1983-08-12 | 1985-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Sequence control circuit |
JPS62226234A (en) * | 1986-03-28 | 1987-10-05 | Toshiba Corp | Stack pointer control circuit |
JPH079280Y2 (en) * | 1988-07-04 | 1995-03-06 | 横河電機株式会社 | Stack circuit |
JPH04338825A (en) * | 1991-05-16 | 1992-11-26 | Fuji Electric Co Ltd | Arithmetic processor |
JP2929853B2 (en) * | 1992-08-11 | 1999-08-03 | 日本電気株式会社 | Information processing apparatus having branch history table |
JP3723020B2 (en) * | 1999-09-30 | 2005-12-07 | 富士通株式会社 | Branch history information writing control apparatus and method |
JP2002297376A (en) * | 2001-03-29 | 2002-10-11 | Meidensha Corp | Programmable controller |
JP2004280631A (en) * | 2003-03-18 | 2004-10-07 | Meidensha Corp | Stack circuit of computer |
-
2008
- 2008-01-28 JP JP2008015801A patent/JP5292831B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9371187B2 (en) | 2013-07-24 | 2016-06-21 | Cnh Industrial America Llc | Supercharging feed system and method for a belt in tube conveyor |
Also Published As
Publication number | Publication date |
---|---|
JP2009176177A (en) | 2009-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101597774B1 (en) | Processors, methods, and systems to implement partial register accesses with masked full register accesses | |
JP2021077408A (en) | Backward compatibility by algorithm matching, disabling features, or performance limitation | |
JP2007094813A (en) | Processor | |
JP2011028540A (en) | Information processing system, method for controlling cache memory, program and compiler | |
TWI515652B (en) | Instruction-optimizing processor with branch-count table in hardware | |
US10303399B2 (en) | Data processing apparatus and method for controlling vector memory accesses | |
JP2018500630A (en) | 4D Morton coordinate transformation processor, method, system, and instructions | |
JP2017534981A (en) | Three-dimensional Morton coordinate transformation processor, method, system, and instructions | |
JP2005182659A (en) | Vliw type dsp and its operation method | |
JP2009059246A (en) | Microprocessor | |
WO2018059337A1 (en) | Apparatus and method for processing data | |
WO2012061416A1 (en) | Methods and apparatus for a read, merge, and write register file | |
JP3811140B2 (en) | Information processing device | |
JP5292831B2 (en) | Programmable controller | |
EP3559803B1 (en) | Vector generating instruction | |
JP2008071061A (en) | Information processor | |
US7290120B2 (en) | Microprocessor having a power-saving fetch and decoding unit for fetching and decoding compressed program instructions and having a program instruction sequencer | |
JP4002288B2 (en) | Information processing device | |
JP2006331415A (en) | Data processor and data processing method | |
JP5679263B2 (en) | Information processing apparatus and microinstruction processing method | |
KR20140113579A (en) | Systems, apparatuses, and methods for zeroing of bits in a data element | |
US20100185834A1 (en) | Data Storing Method and Processor Using the Same | |
JP5263497B2 (en) | Signal processor and semiconductor device | |
JP5263498B2 (en) | Signal processor and semiconductor device | |
KR20140134421A (en) | Dual instruction fetch apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130218 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130424 |
|
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: 20130514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5292831 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |