KR950007937B1 - 피엘씨 게이트 어레이의 내부 레지스터 운용회로 - Google Patents
피엘씨 게이트 어레이의 내부 레지스터 운용회로 Download PDFInfo
- Publication number
- KR950007937B1 KR950007937B1 KR1019930003349A KR930003349A KR950007937B1 KR 950007937 B1 KR950007937 B1 KR 950007937B1 KR 1019930003349 A KR1019930003349 A KR 1019930003349A KR 930003349 A KR930003349 A KR 930003349A KR 950007937 B1 KR950007937 B1 KR 950007937B1
- Authority
- KR
- South Korea
- Prior art keywords
- register
- interrupt
- counter
- program counter
- call
- Prior art date
Links
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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- 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
-
- 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/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1139—By using software configurable circuit, integrated, pga between cpu and I-O
-
- 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/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14041—Influence of execution of interrupts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
Abstract
내용 없음.
Description
제1도는 일반적인 피엘씨의 내부 구조도.
제2도는 제1도의 게이트 어레이(103)의 상세 블록 구성도.
제3도는 제1도의 피엘씨의 명령어가 램(105)에 저장되는 형태도.
제4도는 본 발명 피엘씨 게이트 어레이의 내부 레지스터 운용회로도.
제5도는 본 발명에 따른 피씨 및 내부 레지스터의 데이타 저장과 복원을 위한 회로도.
* 도면의 주요부분에 대한 부호의 설명
401 : 씨피유 402 : 내부 레지스터
403 : 프로그램 카운터 404 : 레지스터 콘트롤러
405 : 명령어 해독기 406 : 명령어 실행기
407 : 램
본 발명은 피엘씨(PLC) 게이트 어레이의 내부 레지스터에 관한 것으로, 특히 내부 레지스터에 관한 것으로, 특히 내부 레지스터의 내용을 저장할 필요가 있을 때 쉽게 저장하면서 속도를 향상시킬 수 있도록 한 피엘씨 게이트 어레이의 내부 레지스터 운용회로에 관한 것이다.
현재 피엘씨는 명령에 처리를 하는데 있어서, 실시간 처리를 할 수 있도록 명령어 처리 및 시스템의 처리 속도를 향상시키고 있다.
따라서, 명령어 처리를 과거에는 소프트웨어로 하였으나 근래에는 거의 대부분을 하드웨어로 처리하고 있다. 이러한 하드웨어 처리를 하는 소자를 일반적으로 게이트 어레이라고 하면 게이트 어레이는 내부에 여러 가지 레지스터를 가지고 있어서 명령어 수행을 할 때마다 레지스터의 내용을 변화시키면서 필요한 정보를 갖게 된다.
이러한 레지스터의 값들은 정주기 인터럽트나 콜등의 인터럽트나 명령을 수행할 때 일시적으로 다른 메모리에 저장하였다가 수행이 끝나면 되돌려 주어야 한다.
본 발명은 이러한 동작을 빠르게 처리할 수 이싸도록 한 피엘씨 게이트 어레이의 내부 레지스터 운용방법이다.
여기에서 정주기 인터럽트란 지정된 서브루틴을 일정한 간격으로 수행하는 인터럽트로서, 3ms, 5ms, 10ms, 20ms, 40ms 등의 정해진 간격마다 수행하는 인터럽트이다.
일반적인 피엘씨의 내부 구조는 제1도에서 도시한 바와 같이 저장된 프로그램에 다라서 명령을 해석하고 이를 수행하며 주변회로에 대한 각종 제어를 수행하는 씨피유(101)와, 명령어 처리를 빠르게 수행하기 위한 게이트 어레이(103)와, 게이트 어레이 관련 메모리인 램(102)과, 오퍼레이팅 시스템(OS) 프로그램을 내장하고 있는 롬(104)과, 상기 씨피유(101)에서 사용되는 데이타를 저장하는램(105)으로 구성되어 있다.
상기 소자들은 어드레스 버스와 데이타 버스에 의해 상호 결합되며, 제2도는 상기 게이트 어레이(103)와 씨피유(101) 및 램(104)의 상호관계를 보다 상세히 도시한 것이다.
즉, 상기 제2도는 프로그램 카운터(201)와, 게이트 어레이 내부 정보를 보관하기 위한 내부 레지스터(202)와, 램(105)으로부터 명령어를 입력받아 이를 해독하는 명령어 해독기(203)와, 해독된 명령어를 실행하는 명령어 실행기(204)로 구성된다.
상기와 같이 구성된 기존의 피엘씨 회로에 대하여 그 동작과 문제점을 상세히 설명하면 다음과 같다.
제2도에서 먼저, 게이트 어레이(103)가 어드레스 버스와 데이타 버스를 통하여 씨피유(101)로부터 유저프로그램(피엘씨 명령어)를 실행하라는 지시를 받으면, 제3도에서와 같이 피엘시 명령어가 저장되어 있는 램(105)에서 플로그램 카운터(201)가 지시하는 번지에 있는 실행하고자 하는 명령어를 읽어 들인다.
입력된 명령어는 명령어 해동기(203)에서 무슨 명령인지를 판별한 다음 명령어 실행기(204)로 보내 명령을 실행하게 된다.
이때 필요한 내부 플래그나 ARG(현재 입력된 접점이 온인지 오프인지를 가리키는 플래그), MRG(ARG의 전상태)등을 보관하고 있는 것이 내부 레지스터(202)이다.
제3도에서와 같이 유저 프로그램중 콜(call) 명령을 실행하거나 정주기 인터럽트를 수행할 때에는 제6도에서와 같이 내부 레지스터(202)의 내용과 프로그램 카운터(201)의 내용을 다른 메모리인 램(105)에 저장하였다가 콜 서브루틴이나 정주기 인터럽트의 서브루틴을 수행한 다음 상기 램(105)에 저장해 둔 콜이나 정주기 인터럽트 이전의 내부 레지스터(202)의 값과 프로그램 카운터(201)의 값을 다시 원상 복귀시켜 주어야 한다.
그리고 제3도에서 처럼 프로그램 카운터(201)를 1씩 증가시키면서 1스텝씩 명령어를 수행하다가 콜이나 정주기 인터럽트를 만나게 되면, 제3도의 콜 또는 정주기 인터럽트 서브루틴을 그대로 수행하고 난 다음 콜이나 정주기 인터럽트를 만나기 이전에 상태를 그대로 유지하면서 다음 명령어를 수행하여야 하기 때문에 내부 레지스터(202) 및 프로그램 카운터(201)등의 내용을 다른 메모리(105)에 저장해두어야 한다.
그러나, 이러한 장치는 제2도에서와 같이 내부 레지스터(202)와 프로그램 카운터(201)가 하나씩만 존재하기 때문에 콜이나 정주기 인터럽트를 수행할 때 이들 내부 레지스터(202)나 프로그램 카운터(201)들을 메모리(105)에 대피시켰다가 수행이 끝나면 다시 원상복귀시켜야 하므로 수행속도가 느려지고 효율이 떨어질 뿐아니라번거로운 작업을 해야하는 불편한 점이 있게 된다.
특히 정주기 인터럽트는 점차 인터럽트 발생간격이 짧아지는 경향이었어서 인터럽트 루틴을 신속히 수행해야 하는데도 이러한 문제점 때문에 속도가 떨어져서 효율이 급격히 떨어지는 문제점이 있었다.
이에 따라, 본 발명은 내부 레지스터와 피씨 카운터가 하나씩이었던 것을 여러단 설치하여 두고 콜이나 정주기 인터럽트 발생시 레지스터 콘트롤러를 작동시켜 현재의 내부 레지스터와 피씨 카운터를 다음 단에 일시 저장한 다음 콜이나 정주기 인터럽트가 수행되고 나면 레지스터 콘트롤러를 동작시켜 다시 원상복귀시켜 줌으로써 종래 방법의 문제점들을 해소한 피엘씨 게이트 어레이의 내부 레지스터 운용회로를 제공하는데 그 목적이 있다.
제4도는 본 발명의 피엘씨 게이트 어레이에 대한 구성도로서 이에 도시한 바와같이, 기저장된 프로그램에 따라서 시스템 전체를 제어하는 씨피유(40)와, 명령어를 저장하는 메모리에 대한 명령 및 데이타를 리드/라이트할 때 그 번지를 지정하는 프로그램 카운터(403)와, 내부 레지스터(402)가 어드레스 데이타 버스로 연결되어 있다.
그리고 상기 프로그램 카운터(403)에 유저 프로그램이 저장된 램(407)이 연결되어 있고 램(407)으로부터 유저 명령어를 받아들여 명령을 판별하는 명령어 해독기(405)와, 해독된 명령어를 실행하는 명령어 실행기(406)와, 명령어 실행후의 상태를 보관하는 내부 레지스터(402)와, 이들을 제어할 수 있는 레지스터 콘트롤러(404)로 구성된다.
한편, 제5도는 상기 제4도에 대한 상세회로도이다.
상기와 같이 구성된 본 발명의 회로에 대하여 그 작용과 효과를 상세히 설명하면 다음과 같다.
먼저, 제4도에서 프로그램 카운터의 값(403)에 다라서 유저 명령이 해독기(405)에 입력되면 명령어 해독기(405)에서 명령을 번역한 다음 명령어 실행기(406)에서 명령을 실행한다.
이때 해독된 명령어가 콜이나 정주기 인터럽트일 경우에는 명령어 실행기(406)로부터 콘트롤 신호가 발생되어 현재의 내부 레지스터(402-1)나 피씨 카운터(403-1)를 내부 레지스터 2(402-2) 및 피씨 카운터 2(403-2)에 저장하게 한다.
이때 내부 레지스터 2(402-2) 및 피시 카운터 2(403-2)의 내용은 각각 내부 레지스터 3(403-3) 및 피씨 카운터 3-(403-3)에 보관되는 식으로 한 단씩 위로 쉬프트하여 보관된다.
제5도에서 명령어 실행기(406)에서 콜이나 정주기 인터럽트를 인식하게 되면, 콘트롤 신호를 발생하여 레지스터 콘트롤러(501)에 보내게 된다.
레지스터 콘트롤러(501) 내부에는 선택신호 발생기(510)와 클럭 발생기(511)가 있어서 콜이나 정주기 인터럽트 시작시에는 선택신호 발생기(510)에서 데이타 라인 A를 선택하여 클럭신호를 발생하게 되면 피씨 및 내부 레지스터 1(504)→피씨 및 내부 레지스터 2(505)→,…,→피씨 및 내부 레지스터 N(507)으로 내용이 쉬프트되어 보관되고 콜이나 정주기 인터럽트가 종료되면 선택신호 발생기(510)에서 B데이타를 선택하도록 신호 선택기(503)에 신호를 보내고 클럭 발생하면, B데이타는 전단의 피씨 및 내부 레지스터 내용에 연결되고 있기 때문에 피씨 및 내부 레지스터 N(507)→,…,→피씨 및 내부 레지스터 2(505)→피씨 및 내부 레지스터 1(504)등과 같이 이전에 보관해둔 내용을 다시 원상복귀시킬 수 있게 된다.
따라서, 제4도에서와 같이 내부 레지스터와 피씨 카운터를 여러단 설치하여 두고 콜이나 정주기 인터럽트 발생기 레지스터 콘트롤러를 작동시켜 현재의 내부 레지스터와 피씨 카운터를 다음 단에 일시 저장한 다음 콜이나 정주기 인터럽트가 수행되고 나면 레지스터 콘트롤러를 동작시켜 다시 원상복귀시켜 줌으로써 종래 방법의 문제점들을 해소한 피엘씨 게이트 어레이의 내부레지스터 운용방법을 제공할 수 있게 된다.
이상에서와 같이 본 발명은 내부 레지스터의 내용을 저장할 필요가 있을 때 이를 쉽게 저장하면서 속도의 향상을 달성할 수 있는 효과가 있다.
Claims (1)
- 램(407)에 저장된 명령에 따라서 시스템 전체를 제어하는 씨피유(401)와, 상기 램(407)에 저장된 명령을 입력하여 이를 해석하는 명령어 해독기(405)와, 상기 명령어 해독기(405)에 의해 해독된 명령을 수행하는 명령어 실행기(406)와, 상기 램(407)에 저장된 명령의 수행시 콜 또는 정주기 인터럽트시 그때까지 수행되는 각종 데이타를 하위 레지스터에서 상위 레지스터로 쉬프트 저장하고 인터럽트 처리 루틴이 끝났을 때 상위 레지스터의 내용을 하위 레지스터로 쉬프트시키는 내부 레지스터(402)와, 상기 램(407)에 억세스할 때 그 억세스 주소를 지정하며 인터럽트나 콜시에 그때의 카운터값을 상위 프로그램 카운터로 쉬프트시키고 인터럽트 루틴을 수행하고 난 뒤에 상위 프로그램 카운터의 내용을 하위 프로그램 카운터로 쉬프트시키는 프로그램 카운터(403)와, 시스템 내부의 레지스터의 동작을 제어하는 레지스터 콘트롤러(404)로 구성된 것을 특징으로 하는 피엘씨 게이트 어레이의 내부 레지스터 운용회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930003349A KR950007937B1 (ko) | 1993-03-05 | 1993-03-05 | 피엘씨 게이트 어레이의 내부 레지스터 운용회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930003349A KR950007937B1 (ko) | 1993-03-05 | 1993-03-05 | 피엘씨 게이트 어레이의 내부 레지스터 운용회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940022218A KR940022218A (ko) | 1994-10-20 |
KR950007937B1 true KR950007937B1 (ko) | 1995-07-21 |
Family
ID=19351734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930003349A KR950007937B1 (ko) | 1993-03-05 | 1993-03-05 | 피엘씨 게이트 어레이의 내부 레지스터 운용회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950007937B1 (ko) |
-
1993
- 1993-03-05 KR KR1019930003349A patent/KR950007937B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR940022218A (ko) | 1994-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4315314A (en) | Priority vectored interrupt having means to supply branch address directly | |
KR0138468B1 (ko) | 마이크로 컴퓨터 | |
KR920001319A (ko) | 처리기 및 처리기의 처리방법 | |
JPS60159941A (ja) | 多重レベル優先順位マイクロ割込みコントローラ | |
KR960038602A (ko) | 파이프라인 처리기 | |
US4047245A (en) | Indirect memory addressing | |
JPS60117338A (ja) | 割込みベクトリング装置及び方法 | |
JPS63250702A (ja) | シ−ケンスコントロ−ラ | |
KR950007937B1 (ko) | 피엘씨 게이트 어레이의 내부 레지스터 운용회로 | |
KR0161830B1 (ko) | 피엘시의 스캔타임 단축방법 | |
KR100654477B1 (ko) | 프로세서 동작 방법 | |
KR100287891B1 (ko) | 테스트 서브루틴 처리장치 및 처리방법 | |
KR100329780B1 (ko) | 인터럽트 응답 시간을 줄인 인터럽트 처리 장치 | |
KR920003905Y1 (ko) | 피 엘 씨의 명령어에 대한 수행속도 향상회로 | |
JPS6115453B2 (ko) | ||
JPS6218937B2 (ko) | ||
KR100284312B1 (ko) | 8x196마이크로콘트롤러용인터럽트벡터생성장치 | |
JP2544533B2 (ja) | プログラマブルコントロ―ラのシ―ケンス命令処理装置 | |
JPH08297583A (ja) | 割り込み処理装置およびその方法 | |
JPS6232500B2 (ko) | ||
JPS6227830A (ja) | 割込み制御方式 | |
KR19990061576A (ko) | 마이크로프로세서 유니트의 인터럽트 제어장치 및 그 제어방법 | |
JPS6113258B2 (ko) | ||
JPH056280A (ja) | 割り込み制御方式 | |
JPH0883188A (ja) | マルチタスク処理を行う計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20000630 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |