KR940006916B1 - 선택적 캐쉬 메모리를 가진 마이크로프로세서 - Google Patents

선택적 캐쉬 메모리를 가진 마이크로프로세서 Download PDF

Info

Publication number
KR940006916B1
KR940006916B1 KR1019870009855A KR870009855A KR940006916B1 KR 940006916 B1 KR940006916 B1 KR 940006916B1 KR 1019870009855 A KR1019870009855 A KR 1019870009855A KR 870009855 A KR870009855 A KR 870009855A KR 940006916 B1 KR940006916 B1 KR 940006916B1
Authority
KR
South Korea
Prior art keywords
memory
data
cache memory
subset
register
Prior art date
Application number
KR1019870009855A
Other languages
English (en)
Other versions
KR880004371A (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 KR880004371A publication Critical patent/KR880004371A/ko
Application granted granted Critical
Publication of KR940006916B1 publication Critical patent/KR940006916B1/ko

Links

Images

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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

내용 없음.

Description

선택적 캐쉬 메모리를 가진 마이크로프로세서
제1도는 선택적 캐쉬(cache) 메모리를 갖는 DSP의 블럭도.
제2도는 제1도 DSP의 메모리 어드레스 제어회로의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
10 : 디지탈 신호, 프로세싱 시스템 12 : 프로세서
14 : 데이타 메모리 16 : 판독 전용 메모리
18 : 선택적 캐쉬 메모리 20,22,24 : 버스
50 : 어드레스 순차기 52,54,56 : 레지스터
60 : 가산기 62 : 제로 검출 소자
64 : 멀티플렉서
[기술의 분야]
본 발명은 마이크로컴퓨터, 특히 디지탈 신호 처리에 적합한 마이크로컴퓨터에 관한 것이다.
[발명의 배경]
현재의 디지탈 신호 프로세서(DSP)는 통상 디지탈형으로 부호화된 신호의 발생, 여파, 검출 또는 변조용으로 사용되는 프로그램 가능한 집적 회로이다.
통상, DSP는 데이타 처리 장치와 데이타 프로그램용으로 하나 이상의 메인 메모리 및 처리될 데이타로 구성되어 있다. 신호 여파와 같은, 디지탈 신호 처리 기능의 성질은 메모리에서 인출된 피연산함수(operand) 및 명령의 형태로 데이타 서브 세트의 반복이나 되풀이를 자주 요구하는 정도다. 프로세서의 소고 및 성능은 피연산함수와 명령이 인출될 수 있는 비율(rate)로 제한된다. 이러한 제한을 줄이기 위해, 병렬로 연산하는 복수의 주 메모리를 이용하는 구조가 개발되어 왔다. 예컨대, 하나의 메모리가 처리되어야할 데이타 피연산함수를 보유하면, 다른 메모리는 명령(instructions)을 보유한다. DSP는 단지 판독만 하고 연산중에 결코 변경되지 않는 데이타용 피연산함수 기억의 제3의 형태를 요구한다. 이러한 피연산함수를 종종 "계수(coefficient)"라고 말한다. 데이타 피연산함수를 보유하기 위해, 메모리는 등속 호울 메모리(RAM)와, 하나는 계수용이고 다른 하나는 명령요인 2개의 판독 전용 메모리(ROM)로서 구성된다. 그러나 이러한 장치는 개발과 응용 모두에 문제점을 노출한다. 한가지 문제점은 계수와 명령 메모리 사이에 최적의 균형을 결정하는데 있는데 그 이유는 어떤 응용에서는 명령용으로 많은 장소를 필요로 하고 계수용으로 적은 장소를 필요할 수 있기 때문이며, 반면에, 다른 계수용으로 많은 장소를 필요로 하고 명령용으로 적은 장소를 필요로 할 수 있기 때문이다. 다른 문제점은 판독 전용 메모리가 칩 외의 메모리와 치환되어야하는 피로토타입 단계의 경우에 발생한다. 이 모드에서는 칩에 대해서 및 데이타 접속을 행하기 위한 많은수의 외부 접속핀이 사용되어야 한다.
[발명의 개요]
본 발명은 선택적인 "캐쉬" 메모리를 갖는 디지탈 신호 프로세서이다. 주 메모리의 기능은 명령 및 계수를 위한 하나의 판독 전용 메모리와 두개의 등속 호출 메모리로 실시된다. 하나의 등속 호출 메모리는 데이타 피연산함수용이며, 다른 하나는 고성능을 요구하는 명령을 위한 선택적 캐쉬 메모리이다. 이 선택적 캐쉬 메모리는 메인 메모리로부터 부호를 재인출의 필요성 없이 명령을 기억 및 재실행시키는 다중 실행을 갖는 코드 조각(Pieces of code)으로 이것을 가능하게 한다. 이러한 장치는 명령 공간 대신에 계수 공간을 이용하는 경우에 더 많은 융통성이 부여되고, 프로토 타입 과정이 용이하게 되며, 그리고 프로토 타이핑을 위한 외부 저속핀이 거의 불필요하게 된다. 선택적 캐쉬 메모리는 명령, 데이타 및 고정계수의 병렬 억세스를 가능하게 하므로써 처리 능력비(throughput)를 증가시키며, 사용되는 명령 순차를 자주 반복시키기 위한절약 기구 zero overhead)를 제공하므로써 명령 메모리의 요구량이 감소된다.
이하 첨부된 도면을 참조로 하여 상세히 설명한다.
[상세한 설명]
제1도는 프로세서(12) 및 그 관련있는 메모리와 버스로 이루어지는 디지탈 신호 처리 시스템(10)을 도시한다. 프로세서(12)에는, 신호 처리 프로그램에 의해 사용되는 데이타를 기억하기 위한 등속 호출 메모리(14)와 계수 및 명령을 기억하기 위해 사용되는 판독 전용 메모리(16) 및 선택적 캐쉬 메모리(18)가 접속되어 있다. 프로세서(12)는 버스(20)를 통해 판독 전용 메모리(16) 또는 버스(22)를 통하는 선택적 캐쉬 메모리(18)중의 어느 한쪽으로부터 신호 처리를 위한 명령을 수신한다. 프로그레머에 의해 선택된 명령은 판독전용 메모리(16)로부터 최초 호출되는 동안 버스(24)를 통해 선택적 캐쉬 메모리(18)에 기억된다.
명령 세트가 고정 계수를 필요로 하는 경우, 그 명령은 선택적 캐쉬 메모리(l8)내로 기억된다. 명령 세트의 다음 실시는 2배로 실행될 수 있다. 그이유는, 명령이 판독 전용 메모리(16)로부터의 계수의 인출과 나란히 선택적 캐쉬 메모리(18)로부터의 검색되기 때문이다. 이 속도의 개선은 하나의 판독 전용 메모리를 가짐과 동시에 캐쉬 메모리가 없는 프로세싱 시스템 하나의 판독 전용 메모리와 하나의 캐쉬 메모리를 갖는 프로세싱 시스템간의 차이를 도시한 이하 타이밍 도표에 의해 나타난다.
하나의 판독 전용 메모리를 갖고 캐쉬 메모리가 없는 경우:
롬(ROM)
억세스 : I1C1I2C2I3C3
하나의 판독 전용 메모리와 캐쉬 메모리의 경우 :
캐쉬
억세스 : I1I2I3
롬(ROM)
억세스 : C1C2C3
여기에서 IN= 판독 명령 N, CN=판독 계수 N이다.
캐쉬 메모리를 갖는 시스템은 캐쉬 메모리가 없는 시스템에 대해 2배의 속도로 실시할 수 있다. 그 이유는, 계수와 명령이 동시에 억세스될 수 있기 때문이다.
또한, 선택적 캐쉬 메모리(18)는 반복되어야 할 고정 계수를 갖는 복식 명령 순차의 실행 속도를 개선한다. 다음의 타이밍도는 고정계수를 요구하며 여러번 반복될 세개의 명령 순차를 나타낸다. 도표는 우선 반복되는 명령을 기억하여 고속으로 전체 순차를 재실행하기 위한 선택적 캐쉬 메모리(18)를 도시한다.
Figure kpo00001
여기서 <IN>=기억 명령 N이다. 명령이 기억되었을 때의 최초의 반복 후 전체 순차는, 계수와 명령이 동시에 억세스되므로, 원래 속도의 2배로 실행되는 것을 알 수 있다.
프로그래머가 프로그램한 후에 다시 동일 명령을 사용하기 원하는 경우, 그 명령은 다시 기억 순차를 조사하지 않고, 재실행될 수 있다.
제2도에서는, 선택적 캐쉬 메모리(18)내에 기억되는 데이타 세트의 실행을 제어하기 위해 사용되는 어드레스 순차기(50)가 도시되어 있다. 어드레스 순차기(50)는 내장 소거장치(built-in clearing)를 갖는 프로그램 카운터인 레지스터(54)와, 실행되는 데이타 세트를 위한 선택적 캐쉬 메모리에 개시 어드레스를 설정하는 레지스터(54) 및 상기 데이타 세트의 반복 횟수를 계수하기 위한 루프 카운터인 레지스터(56)를 구비하고 있다. 이들 레지스터(52,54,56)로의 클럭 접속은 본 기술분야에 숙련된자라면 쉽게 알 수 있으므로, 필요한 도면의 복잡성를 피하기 위해 생략한다.
레지스터(54)의 값은 프로그램 제어하에서 설정된다. 캐쉬 메모리 어드레스(58)는 레지스터(52)또는 레지스터(54)의 선택으로부터 발생된다. 캐쉬 어드레스를 음의 1에 더한 가산기(60)에 의해 발생되는 레지스터(52)의 값의 제로 검출소자(62)로 보내진다. 레지스터(52) 및 레지스터(54)의 값은 멀티플렉서(64)에 보내지고, 이 멀티플렉서의 출력은 캐쉬 메모리 어드레스(58)이다. 캐쉬 메모리 어드레스(58)는 레지스터(52)의 값이 제로인 경우, 레지스터(54)의 값이고, 캐쉬 메모리 어드레스(58)는 레지스터(52)의 값이 제로가 아닌 경우, 레지스터(52)의 값이다. 캐쉬 메모리의 어드레스(58)인 멀티플렉서(64)의 출력은 레지스터(52)의 제로값을 검출하는 제로 검출 소자(62)의 출력에 의해 제어된다.
레지스터(56)의 원래 값은 프로그램 제어하에서 설정된다. 제로 검출 소자(62)의 출력은 제2가산기(66)에 보내진다. 가산기(66)는 레지스터(56)의 오래된 값에 더해지고, 레지스터(56)에 적재된다. 또한, 가산기(66)의 출력은 제2제로 검출 소자(68)에 보내지고, 이 제2제로 검출 소자(68)는 레지스터(56)의 값이 -1인 경우, 프로그램 제어 신호(70)를 보낸다.
어드레싱 순차는 숫자 M을 레지스터(54)에 적재하고 레지스터(52)를 소거하며 숫자 음의 K를 레지스터(56)에 적재시키므로써 시작된다. 레지스터(52,54 및 56)의 클럭킹(clocking)은 다음의 순차를 발생한다.
Figure kpo00002
Figure kpo00003
상기 논리는 어드레스 순차 M, M-1, M-2… 1을 반복적으로 발생한다. 레지스터(56)는 반복을 계수하며, K-1개의 반복이 완료되었을 때 프로그램 제어기에 알린다. 이에 의해, 디지탈 신호 프로세싱 시스템(10)의 프로그램에서 조건부 가름 명령분(conitional branch statement)을 만든다.
시스템(10)의 캐쉬 메모리(18)는 그 내용이 프로그램 선택적이지만, 그 내용이 다른 기준에 의해 결정되는 것은 본 발명의 범위내에 있다. 예컨대, 그것은 항상 최종 명령 또는 소정수 이전의 명령으로 할 수 있다. 하지만, 이러한 장치에 해 명령 세트이 실행을 반복하기 위한 유리한 점은 삽입 명령이 존재하는 경우에 제거되는데, 이는 캐쉬 메모리에서의 데이타가 변경되기 때문이다.
디지탈 신호 프로세서 시스템(10)은 본 발명의 한 실시예로써 사용되나, 선택적 캐쉬 메모리(18)의 속도 및 효율 개선이 명령 세트의 빈번산 반복을 요하는 용도의 경우, 다른 데이타 프로세서에도 유용하다는 것은 본 기술분야에 숙련자라면 명백히 인지될 것이다.
특히, 상술한 어드레스 순차기(50)는 선택적 캐쉬 메모리(18)에 데이타를 어드레싱하고 실행시키기 위해 미리 조절된 다운카운터를 실행시키는 많은 방식중의 하나이다. 그밖에, 유사한 제어 장치도 이러한 목적에 사용할 수 있다.

Claims (4)

  1. 데이타형으로 명령 및 계수 양자를 기억하기 위한 적어도 하나의 1차 메모리(16)를 갖고, 제1및 제2의 데이타 서브세트를 포함하는 데이타 세트를 상기 1차 메모리로부터 검색하기 위한 수단을 포함하는 데이타 처리 회로에 있어서, 상기 데이타 세트로부터 상기 제1 데이타 서브 세트를 선택하기 위한 수단과, 상기 제 1데이타 서브 세트를 기억하기 위한 2차 메모리(18)와, 상기 2차 메모리로부터 상기 제 1서브 세트를그리고 상기 1차 메모리로부터 직접 상기 제2 서브 세트를 동시에 검색하기 위한 수단(20,22) 및, 상기 제2 데이타 서브 세트를 갖는 상기 제1의 기억된 데이타 서브 세트를 선택적으로 실행하기 위한 제어수단(50)을 구비하는 것을 특징으로 하는 선택적 캐쉬 메모리를 가진 마이크로프로세서.
  2. 제1항에 있어서, 상기 회로가 프로세서(12)를 포함하는 디지탈 신호 프로세서이고, 상기 제1데이타 서브 세트가 명령을 구비하며, 상기 제2 데이타 서브 세트는 계수를 구비하는 것을 특징으로 하는 선택적 캐쉬 메모리를 가진 마이크로프로세서.
  3. 제2항에 있어서, 상기 1차 메모리(16)가 판독 전용 메모리인 것을 특징으로 하는 선택적 캐쉬 메모리를 가진 마이크로프로세서.
  4. 제1항에 있어서, 상기 제어 수단(50)이, 주소들의 순차를 반복적으로 발생하기 위한 수단(52,54,60,62,64)과, 주소들의 상기 순차로 기억되어 소정 횟수로 명령세트를 반복하기 위한 절약 기구를 제공하는 수단과 ; 상기 명령 세트의 반복을 계수하기 위한 수단(56,66) 및 ; 상기 소정의 반복수가 종료되었을 때를그 제어 수단에게 알리기 위한 수단(68)을 구비하는 것을 특징으로 하는 선택적 캐쉬 메모리를 가진 마이크로프로세서.
KR1019870009855A 1986-09-08 1987-09-07 선택적 캐쉬 메모리를 가진 마이크로프로세서 KR940006916B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/904,544 US4896264A (en) 1986-09-08 1986-09-08 Microprocess with selective cache memory
US904,544 1986-09-08
US904544 1986-09-08

Publications (2)

Publication Number Publication Date
KR880004371A KR880004371A (ko) 1988-06-07
KR940006916B1 true KR940006916B1 (ko) 1994-07-29

Family

ID=25419337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870009855A KR940006916B1 (ko) 1986-09-08 1987-09-07 선택적 캐쉬 메모리를 가진 마이크로프로세서

Country Status (7)

Country Link
US (1) US4896264A (ko)
EP (1) EP0260837B1 (ko)
JP (1) JP2567411B2 (ko)
KR (1) KR940006916B1 (ko)
CA (1) CA1289265C (ko)
DE (1) DE3751252T2 (ko)
ES (1) ES2070822T3 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179689A (en) * 1987-03-13 1993-01-12 Texas Instruments Incorporated Dataprocessing device with instruction cache
EP0389175A3 (en) * 1989-03-15 1992-11-19 Fujitsu Limited Data prefetch system
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
GB2273179A (en) * 1992-12-02 1994-06-08 Ibm Cache indexing in interative processes.
US5432804A (en) * 1993-11-16 1995-07-11 At&T Corp. Digital processor and viterbi decoder having shared memory
US5832257A (en) * 1995-12-29 1998-11-03 Atmel Corporation Digital signal processing method and system employing separate program and data memories to store data
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
AUPR881001A0 (en) * 2001-11-12 2001-12-06 Lake Technology Limited Low latency computation in real time utilizing a dsp processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4181935A (en) * 1977-09-02 1980-01-01 Burroughs Corporation Data processor with improved microprogramming
AU518426B2 (en) * 1977-11-22 1981-10-01 Honeywell Information Systems Incorp. Data processing system cache pre-read capability
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
JPS54148335A (en) * 1978-04-20 1979-11-20 Nec Corp Buffer control system
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
EP0062978A3 (en) * 1981-04-06 1982-12-22 Secretary of State for Industry in Her Britannic Majesty's Gov. of the United Kingdom of Great Britain and Northern Ireland Apparatus for assisting fault-finding in data processing systems
DE3138972A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
JPS61220004A (ja) * 1985-03-26 1986-09-30 Fanuc Ltd 数値制御装置の画面表示方式

Also Published As

Publication number Publication date
JP2567411B2 (ja) 1996-12-25
EP0260837A3 (en) 1990-04-11
JPS6368931A (ja) 1988-03-28
US4896264A (en) 1990-01-23
EP0260837A2 (en) 1988-03-23
CA1289265C (en) 1991-09-17
EP0260837B1 (en) 1995-04-19
KR880004371A (ko) 1988-06-07
DE3751252T2 (de) 1995-08-24
ES2070822T3 (es) 1995-06-16
DE3751252D1 (de) 1995-05-24

Similar Documents

Publication Publication Date Title
US5056004A (en) Program control system which simultaneously executes a program to be repeated and decrements repetition numbers
US5235686A (en) Computer system having mixed macrocode and microcode
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0102242B1 (en) Data processing apparatus
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
EP0241946A2 (en) Information processing system
EP0227117A2 (en) Program skip operation control system
KR940006916B1 (ko) 선택적 캐쉬 메모리를 가진 마이크로프로세서
EP0223150B1 (en) Information processing apparatus
US4093983A (en) Fast and normal rate instruction fetching
KR920003180B1 (ko) 바이패스(bypass)회로를 갖는 데이타 처리장치
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
US8200943B2 (en) Microprocessor
JP2916605B2 (ja) コンピュータ用プロセツサ
David et al. Self-timed architecture of a reduced instruction set computer
US5604876A (en) Apparatus for handling differing data length instructions using either directly specified or indirectly specified data lengths
KR920002573B1 (ko) 데이타 처리기
EP0260639A2 (en) Microprogram sequencer
JP2504974B2 (ja) シ−ケンサの高速演算処理方式
JPS6115453B2 (ko)
US5123093A (en) Operational processor for performing a memory access and an operational process in parallel
EP0305530A1 (en) High-speed floating point arithmetic unit
JPH02105936A (ja) データ処理装置
JPH034326A (ja) 命令デコード方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20010711

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee