[go: up one dir, main page]

KR100188374B1 - 연산처리장치 - Google Patents

연산처리장치 Download PDF

Info

Publication number
KR100188374B1
KR100188374B1 KR1019950001819A KR19950001819A KR100188374B1 KR 100188374 B1 KR100188374 B1 KR 100188374B1 KR 1019950001819 A KR1019950001819 A KR 1019950001819A KR 19950001819 A KR19950001819 A KR 19950001819A KR 100188374 B1 KR100188374 B1 KR 100188374B1
Authority
KR
South Korea
Prior art keywords
instruction
group
execution
execution means
command
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.)
Expired - Fee Related
Application number
KR1019950001819A
Other languages
English (en)
Other versions
KR950025532A (ko
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 KR950025532A publication Critical patent/KR950025532A/ko
Application granted granted Critical
Publication of KR100188374B1 publication Critical patent/KR100188374B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

적은 하드웨어 양(저 코스트)으로 연산 처리를 고속으로 행할 수 있는 연산 처리 장치를 제공하는 것을 목적으로 한다.
고속 연산 처리가 요구되는 명령군을 저장한 프로그램 메모리를 구비하고, 그 프로그램 메모리에 저장된 상기 명령군을 순차 해독하여 실행하는 연산 처리 장치에 있어서, 상기 명령군의 스타트 번지가 설정되는 스타트 어드레스 레지스터와, 상기 명령군의엔드 번지가 설정되는 엔드 어드레스 레지스터와, 상기 명령군의 해독 결과를 저장하기 위한 FIFO형 메모리를 설치하고, 명령군 해독 명령에 따라서, 상기 스타트 번지에서 엔드 번지까지의 상기 명령군을 상기 프로그램 메모리로 부터 순차 판독하여 해독함과 동시에 그 해독 결과를 상기 FIFO형 메모리에 격납하고, 명령군 실행 명령에 따라서, 상기 FIFO형 메모리에 격납된 상기 명령군의 해독 결과를 1 클럭마다 실행한다.

Description

연산 처리 장치
제1도는 본 발명을 실시한 연산 처리 장치의 블럭도.
제2도는 고속 명령군 해독 명령의 실행 제어를 나타내는 프로그램의 플로우 차트.
제3도는 고속 명령군 실행 명령의 실행 제어를 나타내는 프로그램의 플로우 차트.
제4도는 고속 명령군 실행 명령의 실행 사이클을 도시한 타이밍도.
제5도는 DSP 기능을 이용한 종래의 전자 계산기 시스템의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
10 : CPU 12 : 마이크로 코드 ROM
13 : FIFO형 RAM 15 : 타이밍 신호 발생 회로
16 : 스타트 어드레스 레지스터 17 : 엔드 어드레스 레지스터
18 : ALU 19 : 내부 레지스터
19a, 19b :임시 레지스터 31 : 외부 프로그램 메모리
본 발명은 디지탈 서보 제어 등에 사용되는 곱셈 합산 연산 처리 등의 특히 고속 처리가 요구되는 소프트웨어를 실행하는 연산 처리 장치에 관한 것으로, 특히 마이크로 컴퓨터로 구성되는 연산 처리 장치에 관한 것이다.
전자 계산기 시스템의 중핵이 되는 중앙 처리 장치(CPU)는 매년 고속 처리의 요구가 증대되고 있다. 그 중에서, 전자 계산기 시스템을 실현하는 소프트웨어중 예를 들면, (A x B +C)와 같이 곱셈하고 그 결과를 가산하는 것과 같은 곱셈 합산 연산 처리 등의 특히 고속 처리가 요구되는 소프트웨어가 일부에 존재한다.
종래, 이와 같은 고속 처리가 요구되는 소프트웨어를 하드웨어로 실현하는 수법의 하나로서 디지탈 시그날 프로세서(Digital Signal Processor : DSP)등의 전용 하드웨어를 이용한 것이 있다.
제5도는 DSP 기능을 이용한 종래의 전자 계산기 시스템의 블럭도이다.
이 전자 계산기 시스템은 CPU(101), 외부 DSP(102) 및 외부 프로그램 메모리(103)으로 구성되고, 이것들이 어드레스 버스(104) 및 데이타 버스(105)를 통하여 접속되어 있다. 또한, CPU(101)로 부터 송출되는 판독신호(RD)의 신호선(106)이 외부 DSP(102) 및 외부 프로그램 메모리(103)에 접속되고, 마찬가지로 CPU(101)에서 송출되는 기록 신호(WR)의 신호선(107)이 외부 DSP(102)에 접속되어 있다.
그리고, CPU(101)이 DSP(102)로 데이타를 보낼 때에는 CPU(101)이 DSP(102)로 신호선(107) 및 어드레스 버스(104)를 통하여 기록 신호(WR)및 어드레스를 각각 송출함으로써, 그 어드레스로 지정된 DSP(102)내의 소정 영역에 데이타가 호출된다. 또한, CPU(101)이 DSP(102)로부터 데이타를 호출할 때에는, CPU(101)가 DSP(102)로 신호선(106) 및 어드레스 버스(104)를 통하여 판독 신호(RD)및 어드레스를 송출함으로써, 그 어드레스로 지정된 DSP(102)내의 소정 영역으로부터 데이타가 판독된다.
이와 같이 구성되는 전자 계산기 시스템에 있어서, 고속 처리가 요구되는 곱셈 합산 연산 등의 특정한 연산 처리 루틴을 실행하려면, 외부 프로그램 메모리(103)으로부터 판독된 그 연산 처리 루틴에 관한 명령 코드를 CPU(101)에 의해 해독하고, CPU(101)내부의 DSP 전용 레지스터를 경유하여 데이타를 DSP(102)로 전송하여 연산 처리시키고 있다. 이와 같은 DSP를 사용하는 연산 처리는 CPU 만에 의한 연산 처리에 비하여 수배의 속도로 실행할 수 있다.
또한, 상술한 고속 처리가 요구되는 소프트웨어에 대처하기 위하여 DSP와 같은 특별한 하드웨어를 사용하지 않는 연산 처리의 수법으로서는, (1) 사용자의 사용 상황을 고려하여 수 종류의 연산 명령을 중첩시켜서 1개로 한 복합 연산 명령(예를 들면 곱셈 합산 연산 명령)등이 준비된 CPU를 이용하는 것, (2) 상기의 특정한 연산 처리 루틴을 종합하여 서브루틴의 형태로 처리하는 것이 있다.
그러나, 상술한 DSP를 사용하는 연산 처리는 다음과 같은 문제가 있었다. 즉, 최근의 마이크로 컴퓨터는 모든 회로를 단일칩 내에 구성하는 경향이지만, DSP를 마이크로컴퓨터에 내장하고자 하는 경우는 하드웨어 양이 극단적으로 많아져서 칩 사이즈가 대형화하여 제품 가격이 극히 고가가 되어버리는 문제가 있었다. 또한, DSP를 사용하는 고속 연산 처리에서는 곱셈 합산 연산이나 곱셈 등 고정된 명령밖에 사용할 수 없다는 문제가 있다.
또한, DSP를 사용하지 않는 수법으로서, 복합 연산 명령을 이용하는 경우는, 단순히 수 종류의 연산 명령을 중첩시킬 뿐이므로, 그다지 고속은 아니며, 게다가 고정 명령 때문에 사용자는 명령을 임으로 정의할 수 없는 사용 제한이 있다는 문제가 있다.
또한, 특정한 연산 처리 루틴을 서브루틴의 형태로 처리하는 경우에는 사용자가 명령군을 임의로 정의할 수 있으므로 사용 제한은 없지만, 서브루틴의 명령군을 매회 해독할 필요가 있고, 게다가 서브루틴 콜(호출)의 실행시나 서브루틴으로부터의 복귀 명령 실행시에 스택 영역과의 프로그램 카운터, 내부 레지스터 등 데이타의 전송 동작 시간을 요한다.
본 발명은 상술한 바와 같이 종래의 문제점을 해결하기 위하여 행해진 것으로, 그 목적은 적은 하드웨어 양(저 코스트)로 연산 처리를 고속으로 행할 수 있는 연산 처리 장치를 제공함에 있다.
또한, 그외의 목적은 사용자가 임의로 정의한 명령을 취급하는 일이 가능한 연산 처리 장치를 제공함에 있다.
상기 목적을 달성하기 위하여, 본 발명의 특징은 고속 연산 처리가 요구되는 명령군을 저장한 프로그램 메모리를 구비하고, 그 프로그램에 저장된 상기 명령군을 순차 해독하여 실행하는 연산 처리 장치에 있어서, 상기 명령군의 스타트 번지가 설정되는 스타트 어드레스 레지스터와, 상기 명령군의 엔드 번지가 설정되는 엔드 어드레스 레지스터와, 상기 명령군의 해독 결과를 저장하기 위한 FIFO형 메모리를 마련하고, 명령군 해독 명령에 따라 상기 스타트 번지에서 엔드 번지까지의 상기 명령군을 상기 프로그램 메모리에서 순차 판독하여 해독함과 동시에 그 해독 결과를 상기 FIFO형 메로리 저장하고, 명령군 실행 명령에 따라 상기 FIFO형 메모리에 저장된 상기 명령군의 해독 결과를 1클럭 마다 실행하는 것이다.
상술한 바와 같은 구성에 의하면, 미리 사용자에 의해 고속 연산 처리가 요구되는 명령군의 스타트 번지와 엔드 번지를 설정하여 스타트 어드레스 레지스터 및 엔드 어드레스 레지스터에 기억하여 둔다. 그리고, 명령군 해독 명령이 실행되었을 때, 상기 스타트 번지에서 엔드 번지까지의 상기 명령군을 프로그램 메모리로 부터 순차 판독하여 해독함과 동시에 그 해독 결과를 FIFO형 RAM에 저장하여 둔다. 그 후, 명령군 실행 명령이 실행 되었을 때에 상기 FIFO형 RAM에 저장된 상기 명령군의 해독 결과를 1클럭 마다 판독하여 실행하여 간다.
이에 따라,적은 하드웨어 양으로 연산 처리를 고속으로 행할 수 있고, 게다가 고정된 명령뿐만아니라 사용자가 임으로 정의한 명령도 취급할 수 있다.
아하, 본 발명의 한 실시예를 도면을 기초로 설명한다. 제1도는 본 발명을 실시한 연산 처리 장치의 블럭도이다.
이 연산 처리 장치는 명령에 따라서 각종 산술 논리 연산 등을 실행하는 CPU(10)과 이 CPU(10)에 어드레스 버스(AB : 24 비트) 및 데이타 버스(DB : 16 비트)를 통하여 접속된 외부 메모리부(30)을 갖고, 그 외부 메모리부(30)에는 외부 프로그램 메모리(31)이 설치되어 있다.
외부 프로그램 메모리(31)에는 통상의 처리를 행하기 위한 명령군(이하, 통상 명령군이라 한다)외에 곱셈 합산 연산 처리 등 특히 고속 처리가 요구되는 연산 처리를 행하기 위한 명령군(이하, 고속 명령군이라 한다)와, 그 고속 명령군의 해독을 지시하는 명령군 해독 명령(이하, 고속 명령군 해독 명령이라 한다)와, 이 고속 명령군의 실행을 지시하는 명령군 실행 명령(이하, 고속 명령군 실행 명령이라 한다)이 저장되어 있다.
CPU(10)은 외부 프로그램 메모리(31)에서 판독된 데이타 버스(DB) 상의 명령 코드를 래치하는 인스트럭션 레지스터(IR : 11)를 갖고, 이 인스트럭션 레지스터(11)의 출력측에는 마이크로 코드 ROM(12)가 접속되어 있다.
여기에서, 마이크로 코드 ROM(12)는 장치 전체의 동작을 제어하기 위한 프로그램을 마이크로 코드로서 저장하고 있고, 그 중에는 통상 명령군을 실행 제어하는 것 외에, 상기 고속 명령군 해독 명령 및 상기 고속 명령군 실행 명령을 실행 제어하기 위한 프로그램(제2도 및 제3도에 도시하였다)도 포함되어 있다. 그리고, 마이크로 코드 ROM(12)는 인스트럭션 레지스터(11)의 출력에 따라 어드레스 지정된 영역의 마이크로 코드를 판독한다.
또한, 마이크로 코드 ROM(12)의 출력측에는 그 마이크로 코드 ROM(12)으로부터 판독된 마이크로 코드를 상기 고속 명령군 해독 명령의 실행시에 저장하는 FIFO(First In·First Out)형 RAM(13)과, 마이크로 코드 ROM(12) 및 FIFO형 RAM(13)의 출력을 입력으로 하고, 상기 고속 명령군 실행 명령의 실행시/비실행시를 가리키는 선택 신호(S)에 따라서 그중 어느 한쪽의 출력을 선택하는 셀렉터(14)가 접속되어 있다.
셀렉터(14)의 출력측에는 그 셀렉터(14)의 출력인 마이크로 코드를 기초로 CPU(10)의 각 부분을 제어하기 위한 타이밍 신호를 발생하는 타이밍 신호 발생 회로(15)가 접속되어 있다. 이 타이밍 신호에는 외부 프로그램 메모리(31)에 대하여 송출되는 판독 신호(RD)나, 상기 FIFO형 FAM(13)에 대하여 송출되는 기록 신호(FWR) 및 판독 신호(FRD), 스타트 어드레스 레지스터(16) 및 엔드 어드레스 레지스터(17)에 대하여 송출되는 판독 요구 신호(RRD)등이 있다.
여기에서, 스타트 어드레스 레지스터(16) 및 엔드 어드레스 레지스터(17)은 고속 처리가 요구되는 상기 고속 명령군의 확장 유닛의 저장 장소를 가리키는 레지스터이고, 스타트 어드레스 레지스터(16) 및 어드레스 레지스터(17)의 내용은 그 스타트 번지 및 엔드 번지를 각각 가리키고, 이것은 사용자가 설정하도록 되어 있다.
그리고, ALU(18)에는 내부 레지스터(19)를 통하여 상기 외부 프로그램 메모리(31)이 접속되어 있다. 이 내부 레지스터(19)는 상기 스타트 어드레스 레지스터(16) 및 엔드 어드레스 레지스터(17) 중의 스타트 번지 및 엔드 번지를 각각 저장하는 임시 레지스터(19a, 19b)나, 특히 판독해야 할 명령의 소재를 기억하는 프로그램 카운터(도시되지 않음) 및 장치가 어떤 상태에 있는지를 기억하는 스테이터스 레지스터(도시되지 않음) 등의 각종 카운터 및 레지스터로 이루어지고, 상기 고속 명령군 해독 명령의 실행이 종료하였을 때에는 이런 것을 가리키는 해독 명령 실행 종료 신호(FWREND)를 타이밍 발생 회로(15)에 대하여 송출한다.
다음에, 이상과 같이 구성된 연산 처리 장치의 동작을 제2도 ~ 제4도를 참조하면서 설명한다.
제2도는 상기 고속 명령군 해독 명령의 실행 제어를 나타내는 프로그램의 플로우차트, 제3도는 상기 고속 명령군 실행 명령의 실행 제어를 나타내는 플로우차트 및 제4도는 상기 고속 명령군 실행 명령의 실행 사이클을 나타내는 타이밍도이다.
외부 프로그램 메모리(31)로부터의 고속 명령군 해독 명령을 마이크로 코드 ROM(12)가 접수하면, 마이크로 코드 ROM(12)는 그 고속 명령군 해독 명령에 따라 어드레스 지정된 영역의 마이크로 코드를 출력한다. 이 마이크로 코드는 고속 명령군 해독 명령의 실행 제어를 행하는 프로그램(제2도에 도시하였다)을 나타낸 것이다.이 때, 선택 신호(S)가 0이고, 셀렉터(14)는 마이크로 코드 ROM(12)의 출력을 선택하고 있다. 그 때문에, 마이크로 코드 ROM(12)으로부터 출력된 상기 마이크로 코드는 셀렉터(14)를 경유하여 타이밍 신호 발생 회로(15)로 보내진다. 이 후 부터 CPU(10)은 제2도에 도시한 프로그램에 따르는 처리를 행한다.
즉, 상기 마이크로 코드를 받아들였던 타이밍 신호 발생 회로(15)는 스타트 어드레스 레지스터(16) 및 엔드 어드레스 레지스터(17)에 대하여 판독 요구 신호(RRD)를 출력한다. 그 결과, 스타트 어드레스 레지스터(16)및 엔드 어드레스 레지스터(17)은 사용자가 미리 설정한 스타트 번지 및 엔드 번지의 내용을 내부 레지스터(19)로 출력하고, 그 내용은 각각 TMP1, TMP2로서 내부 레지스터(19)내의 임시 레지스터(19a, 19b)에 각각 기억된다(스텝 S1).
그 후, 타이밍 신호 발생 회로(15)는 외부 프로그램 메모리(31)로 판독 신호(RD)를 출력함과 동시에, 임시 레지스터(19a)의 내용인 TMP1을 어드레스 버스(AB)를 경유하여 외부 프로그램 메모리(31)로 출력하고, 이 TMP1에 해당하는 외부 프로그램 메모리(31) 중의 명령 코드(고속 명령군의 선두)를 판독한다(스텝 S2).
판독된 명령 코드를 인스트럭션 레지스터(11)에 래치하고(스텝 S3), 마이크로 코드 ROM(12)는 이 명령 코드에 따라서 어드레스 지정된 영역의 마이크로 코드를 출력한다(결국, 그 명령 코드를 해독한다)(스텝 S4).
계속하여, 마이크로 코드 ROM(12)으로부터 출력된 그 마이크로 코드는 셀렉터(14)를 통하여 타이밍 발생 회로(15)로 보내지고, 이것을 받아서 타이밍 발생 회로(15)는 FIFO형 RAM(13)으로 기록 신호(FWR)를 출력한다. 이 기록 신호(FWR)에 따라서 FIFO형 RAM(13)은 마이크로 코드 ROM(12)로부터 출력된 그 마이크로 코드를 저장한다(스텝 S5).
그리고, 임시 레지스터(19a)의 내용인 TMP1을 인크리먼트(increment)한 후(스텝 S6), 그 때의 TMP1의 값이 상기 엔드 번지의 내용인 TMP2의 값과 같은 지의 여부를 판별한다(스텝 S7), 최초는 그 판정이 부정(아니오)으로 되기 때문에 상기 스텝(S2)로 되돌아 가고, 상기 스텝(S2) ~ 스텝(S7)의 처리를 반복 실행한다.
이와 같이 하여 CPU(10)은 통상의 버스 사이클로 스타트 번지에서 엔드 번지까지으 고속 명령군을 순차 독해하여 FIFO형 RAM(13)에 저장하여 간다. 그리고, 상기 TMP1과 상기 TMP2의 값이 같아지고 상기 스텝 S7의 판정이 긍정(예)로 되었을 때, 내부 레지스터(19)로 부터 타이밍 발생 회로(15)에 대하여 해독 명령 실행 종료 신호(FWREND)가 보내지고, 이에 따라 고속 명령군 해독 명령의 실행이 종료한다. 그 후, CPU(10)은 다음의 사이클부터 통상 명령군으로 옮기고, 통상의 처리로 실행을 재(再) 스타한다.
통상 명령군의 실행이 진행하여 제4도에 도시한 시각(T1)에 이르는 마이크로 코드 ROM(12)가 고속 명령군 실행 명령을 접수하면, 고속 명령군 실행 명령의 실행제어를 나타내는 제3도의 프로그램이 실행된다.
우선, 마이크로 코드 ROM(12)는 셀렉터(14)에 대하여 선택 신호(S)를 1로 세트하고, 타이밍 신호 발생 회로(15)에 대한 입력 신호를 FIFO형 RAM(13)의 출력으로 전환한다(스텝 S11).
그리고, 선택 신호(S)가 1이 되는 타이밍(시각 T1)에서 1/2클럭 경과한 시각 T2부터, 타이밍 신호 발생 회로(15)는 FIFO형 RAM(13)에 대하여 1클럭 마다 1 인 판독 신호(FRD)를 출력하고, 상기 고속 명령군 해독 명령의 실행시에 저장된 FIFO형 RAM(13)중 n개의 마이크로 코드를 셀렉터(14)를 경유하여 순차 판독하여 접수함과 동시에(스텝 S12), 이것과 같은 주기로 ALU(18)에 대하여 고속 명령군의 실행 지정 신호를 순차 출력한다. 이에 따라 ALU(18)은 고속 명령군을 순차 실행 하여 간다(스텝 S13). 그 때, 1회의 실행마다 FIFO형 RAM(13)중 마이크로 코드가 비어있는지의 여부가 판별되고(스텝 S14), 상기 스텝(S12) ~ 스텝(S14)의 처리가 반복 실행된다.
FIFO형 RAM(13) 중 마이크로 코드가 텅비게 되어 상기 스텝 S14의 판별 결과가 긍정(예)으로 되면, FIFO형 RAM(13)은 마이크로 코드 ROM(12)에 대하여 고속 명령군 실행 명령을 종료한 것을 1로 표시하는 종료 신호(EMPTY)를 출력한다(시각 T3). 이에 따라, 마이크로 코드 ROM(12)는 선택 신호(S)를 0로 리셋 한 결과, 셀렉터 (14)의 출력은 마이크로 코드 ROM(12) 측으로 전환되고, 다음의 명령 부터 통상 명령군의 실행이 재스타트된다(시각 T4).
또, 종료 신호(EMPTY)는 다음 명령이 실행되면 0으로 리셋되어 실행전과 같은 상태로 되돌아가기 때문에, 상기 고속 명령군 해독 명령을 1회 실행하는 것 만으로 고속 명령군 실행 명령을 몇번이고 실행 할 수 있다.
본 실시예는 다음과 같은 이점을 갖는다.
종래의 DSP를 사용하지 않고 특정의 연산 처리 루틴을 서브 루틴 형태로 처리하는 수법은, (1) 연산 처리 루틴의 명령 코드의 접수, (2) 접수된 명령 코드의 해독, (3) 서브루틴으로의 콜 및 서브루틴으로부터의 복귀 명령의 실행의 각 처리에 대하여 각각 매회 실행할 필요가 있다. 이에 대하여, 본 실시예에서는 상기 (1), (2)의 처리에 대해서는 고속 명령군 해독 명령의 실행시에만 행하면 그 후에는 실행이 불필요해지고, 또한 상기 (3)의 처리에 대해서는 실행할 필요가 전혀 없어진다.
이에 따라, 종래보다도 적은 하드웨어 양(저 코스트)으로 연산 처리를 고속으로 행할 수 있고, 게다가 고정된 명령 뿐만아니라 사용자가 임의로 정의한 명령을 취급할 수도 있다.
이상 상세히 설명한 바와 같이 본 발명에 따르면, 명령군 해독 명령에 따라 스타트 번지에서 엔드 번지까지의 고속 연산 처리가 요구되는 명령군을 프로그램 메모리로부터 순차 판독하여 해독함과 동시에 그 해독 결과를 FIFO형 RAM에 저장하고, 명령군 실행 명령에 따라 상기 FIFO형 RAM에 저장된 상기 명령군의 해독 결과를 1 클럭마다 실행하도록 하였기 때문에, 적은 하드웨어 양(저 코스트)으로 연산 처리를 고속으로 행할 수 있고, 그리고도 사용자가 임의로 정의한 명령도 취급할 수 있게 된다.

Claims (3)

  1. 고속 연산 처리가 요구되는 명령군을 저장한 프로그램 메모리를 구비하고, 그 프로그램 메모리에 저장된 상기 명령군을 순차 해독하여 실행하는 연산 처리 장치에 있어서, 상기 명령군의 스타트 번지가 설정되는 스타트 어드레스 레지스터와, 상기 명령군의 엔드 번지가 설정되는 엔드 어드레스 레지스터와, 상기 명령군의 해독 결과를 저장하기 위한 FIFO형 메모리를 설치함과 동시에, 명령군 해독 명령에 따라서 상기 스타트 번지에서 엔드 번지까지의 상기 명령군을 상기 프로그램 메모리부터 순차 판독하여 해독함과 동시에 그 해독 결과를 상기 FIFO형 메모리에 저장하는 제1명령 실행 제어 수단과, 명령군 실행 명령에 따라서 상기 FIFO형 메모리에 저장된 상기 명령군의 해독 결과를 1클럭 마다 실행하는 제2 명령 실행 제어수단을 설치하는 것을 특징으로 하는 연산 처리 장치.
  2. 제1항에 있어서, 상기 제1 명령 실행 제어 수단은, 상기 명령군 해독 명령에 따라서 상기 스타트 어드레스 레지스터 및 상기 엔드 어드레스 레지스터 중의 스타트 번지 및 엔드 번지를 각각 상기 제1및 제2임시 레지스터에 각각 일시 보유하는 보유 실행 수단과, 상기 보유 실행 수단에 의한 상기 스타트 번지 및 엔드 번지의 일시 보유 후에 상기 제1임시 레지스터의 내용으로 지정되는 상기 프로그램 메모리 중의 상기 명령군의 명령 코드를 판독하는제1 판독 실행 수단과, 상기 제1판독 실행 수단에 의해 판독된 명령 코드를 해독하는 해독 실행 수단과, 상기 해독 실행 수단에 의한 해독 결과를 상기 FIFO형 메모리에 저장하는 저장 실행 수단과, 상기 해독 결과의 상기 FIFO형 메모리로의 저장 후에 상기 제1 임시 레지스터의 내용을 갱신하는 갱신 실행 수단과, 상기 제1 임시 레지스터의 내용과 상기 제2 임시 레지스터 중의 상기 엔드번지와의 일치, 불일치를 판정하고, 그 판정 결과가 불일치한 경우만 상기 제1 판독 실행 수단, 상기 해독 실행 수단, 상기 저장 실행 수단 및 상기 갱신 실행 수단을 반복 실행하는 제1 판정 실행 수단을 구비하는 것을 특징으로 하는 연산 처리 장치.
  3. 제1또는 제2항에 있어서, 상기 제2명령 실행 제어 수단은 상기 명령군 실행 명령에 따라서, 상기 FIFO형 메모리 중의 내용을 1 클럭 마다 판독하는 제2 판독 실행 수단과, 상기 제 2판독 실행 수단에 의해 판독된 FIFO형 메모리 중의 내용을 실행하는 명령 실행 수단과, 상기 명령 실행 수단의 실행 후에 상기 FIFO형 메모리 중의 데이타의 존재 여부를 판정하고, 상기 FIFO형 메모리 중에 데이타가 존재하고 있는 경우만 상기 제2 판독 실행 수단 및 상기 명령 실행 수단을 반복 실행하는 제2 판정 실행 수단을 구비하는 것을 특징으로 하는 연산 처리 장치.
KR1019950001819A 1994-02-02 1995-02-02 연산처리장치 Expired - Fee Related KR100188374B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP6010847A JPH07219766A (ja) 1994-02-02 1994-02-02 演算処理装置
JP94-010847 1994-02-02

Publications (2)

Publication Number Publication Date
KR950025532A KR950025532A (ko) 1995-09-18
KR100188374B1 true KR100188374B1 (ko) 1999-06-01

Family

ID=11761753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950001819A Expired - Fee Related KR100188374B1 (ko) 1994-02-02 1995-02-02 연산처리장치

Country Status (3)

Country Link
US (1) US5677859A (ko)
JP (1) JPH07219766A (ko)
KR (1) KR100188374B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864689A (en) * 1995-12-05 1999-01-26 Advanced Micro Devices, Inc. Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction
JP3344316B2 (ja) 1998-05-01 2002-11-11 ヤマハ株式会社 ディジタル信号処理装置及び信号処理システム
KR20040081030A (ko) * 2003-03-07 2004-09-20 마츠시타 덴끼 산교 가부시키가이샤 마이크로컴퓨터 응용시스템, 마이크로컴퓨터,신호처리시스템 및 신호처리lsi
US7577824B2 (en) * 2003-09-08 2009-08-18 Altera Corporation Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution
CN1302377C (zh) * 2003-10-24 2007-02-28 合邦电子股份有限公司 数字信号处理器的存储器程序修补及扩充方法
US7548942B2 (en) * 2004-09-20 2009-06-16 Robert S. Turner Base four processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038312A (en) * 1988-11-14 1991-08-06 Nec Corporation Data processing system capable of performing vector/matrix processing and arithmetic processing unit incorporated therein
EP0457403B1 (en) * 1990-05-18 1998-01-21 Koninklijke Philips Electronics N.V. Multilevel instruction cache and method for using said cache
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
JP3055999B2 (ja) * 1992-03-16 2000-06-26 日本電気株式会社 マイクロプログラム制御装置群
US5473557A (en) * 1994-06-09 1995-12-05 Motorola, Inc. Complex arithmetic processor and method

Also Published As

Publication number Publication date
KR950025532A (ko) 1995-09-18
JPH07219766A (ja) 1995-08-18
US5677859A (en) 1997-10-14

Similar Documents

Publication Publication Date Title
JP4750865B2 (ja) デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
US20230084523A1 (en) Data Processing Method and Device, and Storage Medium
KR100188374B1 (ko) 연산처리장치
JPS62115542A (ja) 情報処理装置
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
JPH0560629B2 (ko)
JP2553200B2 (ja) 情報処理装置
JP3619343B2 (ja) データ処理装置と方法
EP0573071A2 (en) A microprocessor
JP2906792B2 (ja) ディジタルプロセッサ及びその制御方法
JPH0222413B2 (ko)
JP3062892B2 (ja) 演算処理装置
JP2654451B2 (ja) データ出力方法
JPS6242301B2 (ko)
JP2925842B2 (ja) パイプライン処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2002182900A (ja) ブロックデータ転送装置およびその方法
JPH0353322A (ja) 情報処理装置
JPH06324884A (ja) データ処理装置
JP2020140290A (ja) 中央演算処理装置
JP2001034603A (ja) 積和演算処理装置
JPS6149695B2 (ko)
JPH0222417B2 (ko)
JPS5896346A (ja) 階層型演算方式
JPH08297583A (ja) 割り込み処理装置およびその方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19950202

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19950202

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19980526

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19981030

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19990112

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19990113

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20011231

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20021231

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20021231

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20041009