KR100303136B1 - 디지탈신호처리장치를구비한마이크로프로세서구조 - Google Patents
디지탈신호처리장치를구비한마이크로프로세서구조 Download PDFInfo
- Publication number
- KR100303136B1 KR100303136B1 KR1019970058972A KR19970058972A KR100303136B1 KR 100303136 B1 KR100303136 B1 KR 100303136B1 KR 1019970058972 A KR1019970058972 A KR 1019970058972A KR 19970058972 A KR19970058972 A KR 19970058972A KR 100303136 B1 KR100303136 B1 KR 100303136B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- digital signal
- logic operation
- arithmetic logic
- command
- Prior art date
Links
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 8
- 238000000926 separation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
본 발명은 디지탈신호 처리장치를 구비한 마이크로프로세서에 관한 것으로, 마이크로프로세서의 동작에 필요한 명령어가 저장되는 제 1 메모리와; 상기 제 1 메모리에서 출력되는 명령어를 실행하는데 필요한 데이타 또는 상기 명령어의 실행과정에서 발생하는 데이타가 저장되는 제 2 메모리와; 상기 제 1 메모리에서 명령어를 인출하는데 필요한 명령어 인출신호를 발생시키고, 상기 제 1 메모리에서 출력되는 명령어를 디코딩하여 디지탈신호 처리에 필요한 신호와 산술논리 연산에 필요한 신호를 생성하고, 데이타 어드레스를 생성하여 상기 제 2 메모리에 저장되어 있는 데이타를 인출하는 신호 발생부와; 상기 신호 발생부에서 생성된 명령어 인출신호에 따라 디지탈신호 명령어와 산술논리 연산 명령어가 상기 제 1 메모리에서 상기 신호 발생부로 인출되도록 하는 명령어 인출부와; 상기 신호 발생부에 입력된 명령어를 디지탈신호 처리 명령어와 산술논리 연산 명령어로 각각 분리하는 명령어 분리부와; 상기 명령어 분리부의 분리 동작에 의해 분리된 상기 신호 발생부의 디지탈신호 처리 명령어와 상기 산술논리 연산 명령어의 종속관계에 따라 상기 디지탈신호 처리 명령어의 실행순서와 상기 산술논리 연산 명령어의 실행순서를 결정하는 실행순서 제어부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 디지탈신호 처리 명령어에 따라 디지탈신호 처리 동작이 이루어지는 디지탈신호 처리부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 산술논리 연산 명령어에 따라 산술논리 연산 동작이 이루어지는 산술논리 연산부를 포함하여 이루어져서, 디지탈신호 처리 명령어 발생경로와 산술논리 연산 명령어 발생경로를 분리 운용하여 단일의 동작 사이클 동안에 복수의 명령어 처리가 가능하도록 하는 효과를 제공한다.
Description
본 발명은 디지탈 신호 처리장치를 구비한 마이크로프로세서에 관한 것으로, 특히 디지탈신호 처리 명령어 발생경로와 산술논리 연산 명령어 발생경로를 분리 운용하여 단일의 동작 사이클 동안에 복수의 명령어 처리가 가능하도록 한 마이크로프로세서에 관한 것이다.
일반적으로 마이크로프로세서는 기억장치와 연산장치로 구성되어 소정의 데이타 처리에 의한 일련의 동작을 수행하도록 되어있다. 특히 마이크로프로세서를 통하여 운용하는 프로그램이 대용량화되고, 이와 같은 프로그램 수행과정에서 발생하는 데이타의 크기 또한 크게 증가하는 실정이다. 이와 같은 문제를 해결하기 위하여 데이타(디지탈신호)만을 처리하기 위한 디지탈신호 처리장치를 구비한 마이크로프로세서가 많이 사용되고 있다. 특히 멀티미디어 시스템에서는 화상정보 또는 음악정보를 처리하기 위하여 디지탈신호 처리장치가 매우 큰 역할을 수행하는 것이 사실이다.
도 1은 이와 같은 종래의 디지탈신호 처리장치를 구비한 마이크로프로세서의 구성을 나타낸 블록도이다.
프로그램 메모리(1)는 마이크로프로세서의 동작에 필요한 명령어가 저장되는 곳이다. 이 프로그램 메모리(1)에서는 도면에는 도시하지 않았으나 실제로 프로그램 카운터에서 순차적으로 발생하는 계수값에 따라 여러 가지 명령어를 출력한다.
또다른 저장수단인 데이타 메모리(4)는 프로그램 메모리(1)에서 출력되는 명령어를 실행하는데 필요한 데이타 또는 명령어의 실행과정에서 발생하는 데이타가 저장되는 곳이다.
어드레스 생성부(3)에서는 프로그램 메모리(1)에서 명령어를 인출하도록 명령어 인출신호를 발생시킨다. 또한 프로그램 메모리(1)에서 출력되는 명령어를 디코딩하여 디지탈신호 처리에 필요한 신호와 산술논리 연산에 필요한 신호를 각각 생성하며, 데이타 어드레스를 생성하여 데이타 메모리(4)에 저장되어 있는 데이타를 인출한다.
명령어 인출부(2)는 어드레스 생성부(3)에서 생성된 명령어 인출신호에 따라 디지탈신호 명령어와 산술논리 연산 명령어가 프로그램 메모리(1)에서 어드레스 생성부(3)로 인출되도록 한다.
이와 같이 어드레스 생성부(3)에서 출력되는 디지탈신호 처리 명령어는 디지탈신호 처리부(5)의 동작에 의해 일련의 처리과정을 거치게된다. 또한 산술논리 연산부(6)에서는 어드레스 생성부(3)에서 출력되는 산술논리 연산 명령어를 처리하는 일련의 산술논리 연산동작이 이루어진다.
디지탈신호 처리장치(5)와 산술논리 연산장치(6)는 이때 어드레스 생성부(3)에서 출력되는 명령어는 단일의 경로를 통하여 디지탈신호 처리장치(5) 또는
그러나 디지탈신호 처리장치(5)와 산술논리 연산장치(6)는 도 1에서 알 수 있듯이 병렬로 연결되어 있다. 즉, 어드레스 생성부(3)의 명령어 출력경로는 하나이며, 이 단일의 명령어 출력경로를 통하여 디지탈신호 처리 명령어와 산술논리 연산 명령어가 각각 디지탈신호 처리장치(5)와 산술논리 연산장치(6)로 전달되는 것이다. 디지탈신호 처리장치(5)의 출력 경로와 산술논리 연산장치(6)의 출력 경로 역시 단일의 출력경로를 형성하기 때문에 비록 디지탈신호 처리동작과 산술논리 연산동작이 동시에 수행된다 하더라도 그 입력과 출력은 순차적일 수 밖에 없다.
따라서 어드레스 생성부(3)에서 출력되는 디지탈신호 처리 명령어와 산술논리 연산 명령어가 각각 디지탈신호 처리장치(5)와 산술논리 연산장치(6)에 전달되기 위해서는 적어도 두 번의 동작 사이클이 발생해야 한다. 또한 디지탈신호 처리장치(5)의 출력과 산술논리 연산장치(6)의 출력이 모두 이루어지기 위해서도 역시 두 번의 동작 사이클이 발생해야 하는 것이다.
따라서 본 발명은 디지탈신호 처리 명령어 발생경로와 산술논리 연산 명령어 발생경로를 분리 운용하여 단일의 동작 사이클 동안에 복수의 명령어 처리가 가능하도록 하는 디지탈신호 처리장치를 구비한 마이크로프로세서를 제공하는데 그 목적이 있다.
도 1은 종래의 디지탈신호 처리장치를 구비한 마이크로프로세서의 구조를 나타낸 블록도.
도 2는 본 발명에 따른 디지탈신호 처리장치를 구비한 마이크로프로세서의 구조를 나타낸 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
1 : 프로그램 메모리 2 : 명령어 인출부
3 : 어드레스 생성부 4 : 데이타 메모리
5 : 디지탈신호 처리부 6 : 산술논리 연산장치
7 : 명령어 분리부 8 : 실행순서 제어부
이와 같은 목적의 본 발명에 따른 디지탈신호 처리장치를 구비한 마이크로프로세서는 마이크로프로세서의 동작에 필요한 명령어가 저장되는 제 1 메모리와; 상기 제 1 메모리에서 출력되는 명령어를 실행하는데 필요한 데이타 또는 상기 명령어의 실행과정에서 발생하는 데이타가 저장되는 제 2 메모리와; 상기 제 1 메모리에서 명령어를 인출하는데 필요한 명령어 인출신호를 발생시키고, 상기 제 1 메모리에서 출력되는 명령어를 디코딩하여 디지탈신호 처리에 필요한 신호와 산술논리 연산에 필요한 신호를 생성하고, 데이타 어드레스를 생성하여 상기 제 2 메모리에 저장되어 있는 데이타를 인출하는 신호 발생부와; 상기 신호 발생부에서 생성된 명령어 인출신호에 따라 디지탈신호 명령어와 산술논리 연산 명령어가 상기 제 1 메모리에서 상기 신호 발생부로 인출되도록 하는 명령어 인출부와; 상기 신호 발생부에 입력된 명령어를 디지탈신호 처리 명령어와 산술논리 연산 명령어로 각각 분리하는 명령어 분리부와; 상기 명령어 분리부의 분리 동작에 의해 분리된 상기 신호 발생부의 디지탈신호 처리 명령어와 상기 산술논리 연산 명령어의 종속관계에 따라 상기 디지탈신호 처리 명령어의 실행순서와 상기 산술논리 연산 명령어의 실행순서를 결정하는 실행순서 제어부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 디지탈신호 처리 명령어에 따라 디지탈신호 처리 동작이 이루어지는 디지탈신호 처리부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 산술논리 연산 명령어에 따라 산술논리 연산 동작이 이루어지는 산술논리 연산부를 포함하여 이루어진다.
제 1 메모리인 프로그램 메모리(1)는 마이크로프로세서의 동작에 필요한 명령어가 저장되는 곳이다. 이 프로그램 메모리(1)에서는 도면에는 도시하지 않았으나 실제로 프로그램 카운터에서 순차적으로 발생하는 계수값에 따라 여러 가지 명령어를 출력한다.
제 2 메모리, 즉 또다른 저장수단인 데이타 메모리(4)는 프로그램 메모리(1)에서 출력되는 명령어를 실행하는데 필요한 데이타 또는 명령어의 실행과정에서 발생하는 데이타가 저장되는 곳이다.
신호 발생부인 어드레스 생성부(3)에서는 프로그램 메모리(1)에서 명령어를 인출하도록 명령어 인출신호를 발생시킨다. 또한 프로그램 메모리(1)에서 출력되는 명령어를 디코딩하여 디지탈신호 처리에 필요한 신호와 산술논리 연산에 필요한 신호를 각각 생성하며, 데이타 어드레스를 생성하여 데이타 메모리(4)에 저장되어 있는 데이타를 인출한다.
명령어 인출부(2)는 어드레스 생성부(3)에서 생성된 명령어 인출신호에 따라 디지탈신호 명령어와 산술논리 연산 명령어가 프로그램 메모리(1)에서 어드레스 생성부(3)로 인출되도록 한다.
명령어 분리부(7)는 어드레스 생성부(3)에 입력된 명령어를 디지탈신호 처리 명령어와 산술논리 연산 명령어로 각각 분리한다. 디지탈신호 처리 과정에서는 대개 승산과 가산이 이루어지기 때문에, 명령어 분리부(7)에 의해 분리되는 명령어들은 승산과 가산에 관련된 함수들이지만, 이보다는 실제로 처리되어야 할 디지탈신호들인 경우가 대부분이다. 산술논리 연산 명령어로 분리되는 명령어들은 디지탈신호 처리과정에서 요구되는 연산 관련 명령어인 경우가 대부분이다.
실행순서 제어부(8)는 명령어 분리부(7)의 분리 동작에 의해 분리된 디지탈신호 처리 명령어와 산술논리 연산 명령어의 종속관계(dependancy)에 따라 디지탈신호 처리 명령어의 각각의 실행순서를 결정한다. 이와 함께 산술논리 연산 명령어의 종속관계를 판단하여 이에 따른 실행순서도 결정한다.
프로그램 메모리(1)에서 어드레스 생성부(3)로 인출된 명령어들은 일련의 실행순서를 갖는다. 그러나 상술한 바와 같이 본 발명에 따른 별도의 실행순서 제어부(8)를 통하여 각 명령어의 실행순서를 또 한번 결정하는 것은, 본 발명에 따른 명령어 분리부(7)에 의해 디지탈신호 처리 명령어와 산술논리 연산 명령어가 새롭게 분리되면서 기존의 실행순서는 더 이상 유효하지 않기 때문에 새로운 실행순서를 결정해야 할 필요가 있기 때문이다.
이와 같이 실행순서 제어부(8)에 의해 실행순서가 결정된 디지탈신호 처리 명령어는 디지탈신호 처리부(5)의 동작에 의해 일련의 처리과정을 거치게되며, 산술논리 연산부(6)에서는 실행순서 제어부(8)에 의해 실행순서가 결정된 산술논리 연산 명령어를 처리하는 일련의 산술논리 연산 동작이 이루어진다.
도 2에서 알 수 있듯이, 어드레스 생성부(3)와 디지탈신호 처리장치(5) 사이를 연결하는 디지탈신호 처리 명령어 전달경로와 어드레스 생성부(3)와 산술논리 연산장치(6) 사이의 산술논리 연산 명령어 전달경로는 서로 분리되어 있다. 또한 상술한 바와 같이 본 발명에 따른 명령어 분리부(7)와 실행순서 제어부(8)에 의해 디지탈신호 처리 명령어와 산술논리 연산 명령어가 서로 분리되고 또 독립된 실행순서를 갖기 때문에, 디지탈신호 처리장치(5)와 산술논리 연산장치(6)의 입출력 동작이 단일의 동작 사이클 동안에 이루어지는 것이 가능하다.
따라서 본 발명은 디지탈신호 처리 명령어 발생경로와 산술논리 연산 명령어 발생경로를 분리 운용하여 단일의 동작 사이클 동안에 복수의 명령어 처리가 가능하도록 하는 효과를 제공한다.
Claims (4)
- (정정) 복수의 명령어처리가 가능한 데이터 처리 장치를 구비한 마이크로 프로세서에 있어서, 상기 마이크로프로세서의 동작에 필요한 명령어가 저장되는 제1메모리와; 상기 제1메모리에서 출력되는 명령어를 실행하는데 필요한 데이타 또는 상기 명령어의 실행과정에서 발생하는 데이타가 저장되는 제2메모리와; 상기 제1메모리에서 명령어를 인출하는데 필요한 명령어 인출신호를 발생시키고, 상기 제1메모리에서 출력되는 명령어를 디코딩하여 디지탈신호 처리에 필요한 신호와 산술논리 연산에 필요한 신호를 생성하고, 데이타 어드레스를 생성하여 상기 제2메모리에 저장되어 있는 데이타를 인출하는 신호 발생부와; 상기 신호 발생부에서 생성된 명령이 인출신호에 따라 디지탈신호 명령어와 산술논리 연산 명령어가 상기 제1메모리에서 상기 신호 발생부로 인출되도록 하는 명령어 인출부와; 상기 신호 발생부에 입력된 명령어를 디지탈신호 처리 명령어와 산술논리 연산 명령어로 각각 분리하는 명령어 분리부와; 상기 명령어 분리부의 분리 동작에 의헤 분리된 상기 신호 발생부의 디지탈신호 처리 명령어와 상기 산술논리 연산 명령어의 종속관계에 따라 상기 디지탈신호 처리 명령어의 실행순서와 상기 산술논리 연산 명령어의 실행순서를 결정하는 실행순서 제어부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 디지탈신호 처리 명령어에 따라 디지탈신호 처리 동작이 이루어지는 디지탈신호 처리부와; 상기 실행순서 제어부에 의해 실행순서가 결정된 상기 산술논리 연산 명령어에 따라 산술논리 연산 동작이 이루어지는 산술논리 연산부를 포함하여 구성되어, 상기 신호 발생부와 상기 디지탈신호 처리부 사이의 디지탈신호 처리 명령어 전달경로와 상기 신호 발생부와 상기 산술논리 연산부 사이의 산술논리 연산 명령어 전달경로가 상호 독립된 전달경로를 갖는 것이 특징인 디지털 신호 처리장치를 구비한 마이크로프로세서 구조.
- (정정) 청구항 1에 있어서, 상기 명령어 분리부의 명령어 분리 동작이 상기 신호 발생부의 디코딩 동작 이후 또는 이전에 실시되는 것이 특징인 디지털 신호 처리장치를 구비한 마이크로프로세서 구조.
- (삭제)
- (삭제)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970058972A KR100303136B1 (ko) | 1997-11-10 | 1997-11-10 | 디지탈신호처리장치를구비한마이크로프로세서구조 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970058972A KR100303136B1 (ko) | 1997-11-10 | 1997-11-10 | 디지탈신호처리장치를구비한마이크로프로세서구조 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990039030A KR19990039030A (ko) | 1999-06-05 |
KR100303136B1 true KR100303136B1 (ko) | 2001-11-22 |
Family
ID=37529717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970058972A KR100303136B1 (ko) | 1997-11-10 | 1997-11-10 | 디지탈신호처리장치를구비한마이크로프로세서구조 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100303136B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175863A (en) * | 1989-10-23 | 1992-12-29 | International Business Machines Corporation | Signal data processing system having independently, simultaneously operable alu and macu |
-
1997
- 1997-11-10 KR KR1019970058972A patent/KR100303136B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175863A (en) * | 1989-10-23 | 1992-12-29 | International Business Machines Corporation | Signal data processing system having independently, simultaneously operable alu and macu |
Also Published As
Publication number | Publication date |
---|---|
KR19990039030A (ko) | 1999-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
JP2992223B2 (ja) | コンピュータシステム、命令ビット長圧縮方法、命令発生方法、及びコンピュータシステム動作方法 | |
US5357617A (en) | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor | |
EP0094535B1 (en) | Pipe-line data processing system | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
JP3004108B2 (ja) | 情報処理装置 | |
EP0297943B1 (en) | Microcode reading control system | |
KR930003124B1 (ko) | 파이프라인방식의 분기명령제어장치 | |
US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel | |
KR100303136B1 (ko) | 디지탈신호처리장치를구비한마이크로프로세서구조 | |
JPS62226231A (ja) | プロセツサ | |
US5819081A (en) | Method of executing a branch instruction of jumping to a subroutine in a pipeline control system | |
JPS5991551A (ja) | 分岐先アドレス予測を行なう命令先取り装置 | |
JP3035108B2 (ja) | 並列演算処理装置 | |
JPH0228723A (ja) | ループ命令実行方式 | |
JP2583614B2 (ja) | ベクトル演算装置 | |
JPH0816392A (ja) | コンピュータシステム、コンピュータシステム動作方法、及びコンピュータ命令シーケンス実行方法 | |
KR900002601B1 (ko) | 마이크로 프로그램 제어방식 | |
JPH0248733A (ja) | 情報処理装置 | |
KR900005340B1 (ko) | 파이프라인 제어방식(pipeline control system) | |
JPS638492B2 (ko) | ||
JPH04213727A (ja) | 情報処理装置 | |
JPH06332698A (ja) | 情報処理装置 | |
JPH0348535B2 (ko) | ||
JPS6244663B2 (ko) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050620 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |