KR20050123087A - 반도체 장치 - Google Patents
반도체 장치 Download PDFInfo
- Publication number
- KR20050123087A KR20050123087A KR1020057006286A KR20057006286A KR20050123087A KR 20050123087 A KR20050123087 A KR 20050123087A KR 1020057006286 A KR1020057006286 A KR 1020057006286A KR 20057006286 A KR20057006286 A KR 20057006286A KR 20050123087 A KR20050123087 A KR 20050123087A
- Authority
- KR
- South Korea
- Prior art keywords
- setting
- address
- function
- processor
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
Abstract
명령 메모리(2)를 갖는 프로세서(1)로부터 어드레스 지정 정보와 레지스터(REGA∼REGD)에 설정하기 위한 설정치를 설정 인터페이스부(3)에 공급하고, 어드레스 지정 정보를 바탕으로 레지스터의 어드레스치를 어드레스 출력부(5)로부터 출력하며, 출력된 어드레스치 및 설정치를 각각 레지스터에 출력하여 설정치를 설정하도록 함으로써, 프로세서가 레지스터의 어드레스를 의식하지 않고서 설정치를 레지스터에 설정할 수 있도록 하여, 명령 코드에 있어서의 각 레지스터의 어드레스 지정 부분을 삭감하여 명령 코드량을 삭감할 수 있도록 하는 동시에, 명령 코드의 코딩을 용이하게 실행할 수 있도록 한다.
Description
본 발명은 반도체 장치에 관한 것으로, 특히, 레지스터의 설정치에 따라서 다른 기능이 실현되는 다기능 반도체 집적 회로에 이용하기에 적합한 것이다.
LSI 등의 반도체 집적 회로에 있어서는, 레지스터에 설정된 값(데이터)에 따라서 다른 기능을 실현하는 다기능 반도체 집적 회로(다기능 LSI)가 있다. 최근, 다기능 LSI는 고기능화 및 다기능화에 따라, LSI 내에서의 데이터 처리량이 증대되고 있는 동시에, 원하는 기능을 실현시키기 위한 동작 모드나 각종 파라메터 등을 설정하는 레지스터량도 증대되고 있다. 이들 레지스터에의 설정치의 설정은 주로 프로세서(예컨대 CPU 또는 DSP)의 소프트웨어, 펌웨어에 의해 행하고 있지만, 레지스터량의 증대에 따라 설정에 많은 시간이 필요하게 되고 있다.
도 7은 종래의 다기능 LSI의 구성예를 도시하는 블럭도이다. 한편, 도 7에서, 기능 블럭은 설명을 간단하게 하기 위해서 4개의 기능 블럭(73∼76)만을 나타내고 있다.
도 7에서, 프로세서(71)는 명령 RAM(Random Access Memory)(72)을 갖도록 구성되며, 연산 처리, 레지스터 설정 처리 및 각종 제어 처리 등을 실행한다. 명령 RAM(72)은 프로세서(71)가 실행하는 명령의 명령 코드 등을 기억하기 위한 것이다.
기능 블럭 A(73)는 하드웨어로 구성된 기능부이며, 복수의 레지스터(REGA)를 갖는다. 기능 블럭 A(73)는 레지스터(REGA)에 설정되는 값에 따라서 소정의 기능을 실현한다. 기능 블럭 B(74)∼기능 블럭 D(76)는 기능 블럭 A(73)와 같은 식으로 구성되며, 각각이 갖는 복수의 레지스터(REGB∼REGD)에 설정되는 값에 따라서 소정의 기능을 실현한다.
또한, 각 기능 블럭(73∼76)은 프로세서(71)의 프로세서 버스(PBUS)에 각각 접속되고, 각 기능 블럭(73∼76)이 각각 갖는 레지스터(REGA∼REGD)는 프로세서(71)의 외부 메모리 공간에 맵핑된다. 이하의 설명에서는, 레지스터(REGA)는 외부 메모리 공간 상의 어드레스치 F000∼F0FF의 영역에 맵핑되고, 레지스터(REGB, REGC, REGD)는 외부 메모리 공간 상의 어드레스치 F100∼F1FF, F200∼21FF, F300∼F3FF의 영역에 각각 맵핑되어 있는 것으로 한다.
도 8은 도 7에 도시한 다기능 LSI에 있어서의 레지스터(REGA∼REGD)에 설정하기 위한 설정치의 일례를 도시한 도면이다. 한편, 레지스터(REGA∼REGD)를 구성하는 하나의 레지스터는 16비트의 레지스터로 한다.
예컨대, 제1 기능(function 1 : FUNC1)을 실현하기 위해서는, 기능 블럭 A(73)의 F000번지의 레지스터에 "0001h"(h는 16진수 표기임을 나타냄), F008번지의 레지스터에 "F000h", …, 를 설정한다. 마찬가지로, 기능 블럭 B(74)의 F100번지에 "0001h", F101번지에 "0011h", …, 기능 블럭 C(75)의 F200번지에 "0001h", F2F0번지에 "FFFFh", …, 기능 블럭 D(76)의 F300번지에 "0001h", F330번지에 "4002h", …, 를 설정한다.
또한, 예컨대, 제1 기능과는 다른 제2 기능(function 2 : FUNC2)을 실현하기 위해서는, 기능 블럭 A(73)의 F000번지에 "0002h", F008번지의 레지스터에 "F0F0h", …, 기능 블럭 B(74)의 F100번지에 "0002h", F101번지에 "0001h", …, 기능 블럭 C(75)의 F200번지에 "0002h", F2F0번지에 "000Fh", …, 기능 블럭 D(76)의 F300번지에 "0002h", F330번지에 "0002h", …, 를 설정한다.
즉, 도 8에 도시한 바와 같이 다기능 LSI에서는, 실현하는 기능(function)에 따라서, 설정하여야 할 레지스터의 수 및 그 어드레스가 다르고, 또한 동일한 레지스터라도 기능에 따라서 설정하여야 할 설정치가 다르다. 따라서, 프로세서(71)가 갖는 명령 RAM(72)에는 도 9에 도시한 바와 같이 레지스터 설정에 관한 프로세서(71)의 명령 코드가 기능마다 기록되고 있으며, 레지스터를 액세스하는 명령이 반복하여 용장적으로 저장되어 있다.
도 9는 명령 RAM(72)에 저장되는 레지스터 설정에 관한 프로세서(71)의 명령 코드의 일례를 도시한 도면이다. 명령 코드(91)는 전술한 제1 기능(function 1)을 실현하기 위한 것이다. 설정하는 레지스터를 나타내는 어드레스를 변수에 대입하고(예컨대, "MOV X=F000"), 이어서 변수에 대입된 어드레스에 설정치를 기록한다(예컨대, "M0V (X++0), 0001h"). 즉, 2개의 커맨드로 하나의 레지스터에 값을 설정하고, 이것을 설정하여야 할 레지스터만큼 기록한다. 한편, 제2 기능(function 2), 제3 기능(function 3), …을 실현하기 위한 명령 코드(92, 93, …)도 마찬가지로 저장되고 있다.
그러나, 최근의 고기능화 및 다기능화에 의해 실행할 수 있는 기능의 종류가 많은 다기능 LSI에서는, 프로세서(71)의 명령 RAM(72)에 저장되는 명령 코드의 양이 비약적으로 증대되어, 명령 RAM(72)에 요구되는 기억 용량이 커진다고 하는 문제가 있었다. 또한, 명령 RAM(72)에 저장하는 명령 코드의 코딩도 매우 곤란하게 된다고 하는 문제가 있었다.
예컨대, 휴대 전화에 이용되는 다기능 LSI에서는, 전체 기능 블럭의 레지스터수의 총화는 2000개 정도이며, 기능의 종류(전원 투입 후의 초기 기지국 서치, 통화, 간헐 수신 등)는 수백개이다. 따라서, 하나의 기능으로 수백개의 레지스터에만 값을 설정한다고 가정하더라도, 명령 RAM(72)에는 104개 이상의 명령(커맨드수는 그 2배)이 저장된다. 또한, 휴대 전화의 방식이 PDC(Personal Digital Cellular) 방식에서 CDMA(Code Division Multiple Access) 방식으로 됨에 따라서도, 다기능 LSI에 있어서 실행 가능한 기능의 종류가 증가하여, 더욱 기능 블럭수가 증가하는 동시에, 이들이 갖는 레지스터의 수도 증가하고 있다.
또한, 다기능 LSI에서는, 전술한 바와 같이 명령 RAM(72)의 용량이 커져, 프로세서(71)에서 명령 RAM(72)이 차지하는 면적이 커지면, 프로세서(71)에 있어서의 논리 부분이 작아져 버린다. 또한, 프로세서(71)의 처리에서 레지스터 설정 처리(레지스터에 대한 기록이나 독출)가 차지하는 비율이 커져, 프로세서(71) 본래의 처리 능력(연산 성능, 예컨대 휴대 전화라면 전계 강도의 계산 등)을 유효하게 활용할 수 없게 되어 버린다고 하는 문제가 있었다.
또한, 저장하는 명령 코드에 의한 명령 RAM(72)의 압박을 방지하여, 복수 레지스터를 초기화하는 방법이 특허 문헌 1에 개시되어 있다.
특허 문헌 1 : 일본 특허 공개 평8-153001호 공보
도 1은 본 발명의 실시 형태에 따른 반도체 장치를 적용한 다기능 반도체 집적 회로의 구성예를 도시하는 블럭도이다.
도 2는 설정 인터페이스부가 구비하는 메모리부의 구성예를 도시하는 도면이다.
도 3은 어드레스 제어부가 갖는 테이블의 일례를 도시한 도면이다.
도 4는 본 실시 형태에 있어서의 기능 번호-로컬 어드레스의 변환예를 설명하기 위한 도면이다.
도 5는 본 실시 형태에 있어서의 명령 RAM의 구성을 도시한 도면이다.
도 6은 본 실시 형태를 적용한 휴대 전화에서의 간헐 수신 처리 동작을 설명하기 위한 도면이다.
도 7은 종래의 다기능 LSI의 구성예를 도시하는 블럭도이다.
도 8은 레지스터에 설정하기 위한 설정치의 일례를 도시한 도면이다.
도 9는 도 7에 도시한 명령 RAM에 기록되는 레지스터 설정에 관한 명령 코드의 일례의 구성을 도시한 도면이다.
본 발명은 이러한 문제를 해결하기 위해서 이루어진 것으로, 레지스터 설정에 관한 명령 코드량을 삭감하여, 프로세서가 갖는 명령 RAM의 기억 용량을 삭감할 수 있도록 하는 것을 목적으로 한다. 또한, 명령 RAM에 저장하는 프로세서의 명령 코드의 코딩도 용이하게 실행할 수 있도록 하는 것을 목적으로 한다.
본 발명은, 실행하는 명령이 저장된 명령 메모리를 갖는 프로세서와, 프로세서로부터 하나의 어드레스 지정 정보와 복수의 레지스터에 설정하기 위한 설정치가 공급되는 설정 인터페이스부와, 어드레스 지정 정보를 바탕으로 복수의 레지스터의 어드레스치를 출력하는 어드레스 출력부를 구비하며, 어드레스 출력부 및 설정 인터페이스부로부터 어드레스치 및 설정치를 각각 출력하여, 레지스터에 설정치를 설정한다.
본 발명에 따르면, 레지스터에 설정치를 설정할 때, 프로세서는 어드레스 지정 정보와 레지스터에 설정하기 위한 설정치를 설정 인터페이스부에 공급하는 것만으로, 레지스터의 어드레스를 의식하지 않고, 레지스터에 설정치를 설정할 수 있게 된다. 따라서, 명령 메모리에 저장하는 명령 코드로 각 레지스터의 어드레스를 지정할 필요가 없어, 명령 코드량을 삭감할 수 있게 되는 동시에, 명령 코드의 코딩을 용이하게 행할 수 있게 된다.
이하, 본 발명의 실시 형태를 도면에 기초하여 설명한다.
도 1은 본 발명의 실시 형태에 의한 반도체 장치를 적용한 다기능 반도체 집적 회로(다기능 LSI)의 구성예를 도시하는 블럭도이다.
본 실시 형태에 있어서의 다기능 LSI는 프로세서(1), 설정 인터페이스부(3), 어드레스 제어부(5), 기능 블럭(6∼9)을 구비하도록 구성된다. 한편, 도 1에서는, 설명을 간단하게 하기 위해서 4개의 기능 블럭(6∼9)을 나타내고 있지만, 본 실시 형태에 있어서의 다기능 LSI가 구비하는 기능 블럭의 수는 임의적이다.
본 실시 형태에 있어서의 다기능 LSI에서는, 설정 인터페이스부(3)는 프로세서(1)의 외부 메모리 공간에 배치(맵핑)되고, 후술하는 기능 블럭(6∼9)이 갖는 레지스터(REGA∼REGD)는 그 외부 메모리 공간과는 다른 로컬 어드레스 공간에 배치된다.
프로세서(1)는 프로세서(1)가 실행하는 명령의 명령 코드 등이 저장되는 명령 RAM(2)을 갖고, 그 명령 코드에 따라서 연산 처리, 레지스터 설정 처리 및 각종 제어 처리 등을 실행한다.
설정 인터페이스부(3)는 실현하는 기능의 종류를 나타내는 기능 번호 및 그 기능을 실현하기 위한 설정치가, 프로세서(1)에 의해 프로세서 버스(PBUS)를 통해 내부에 구비하는 메모리부(4)에 기록된다. 또한, 설정 인터페이스부(3)는 메모리부(4)에 유지한 기능 번호(FN)를 어드레스 제어부(5)에 공급하는 동시에, 설정치(STV)를 기능 블럭(6∼9)에 공급한다. 한편, 메모리부(4)에 대해서는 후술한다.
어드레스 제어부(5)는 기능 번호와 설정하여야 할 레지스터의 로컬 어드레스를 관련지은 테이블이 저장된 ROM을 갖는다. 어드레스 제어부(5)는 설정 인터페이스부(3)로부터 공급되는 기능 번호(FN)에 기초하여, 그 기능 번호(FN)에 대응하는 로컬 어드레스(LAD)를 기능 블럭(6∼9)에 공급한다. 한편, 어드레스 제어부(5)에 RAM 등의 재기록 가능한 메모리를 이용하는 동시에, 그것을 프로세서 버스(PBUS)에 접속하여 프로세서(1)의 외부 메모리 공간에 배치함으로써, 프로세서(1)가 임의의 시점에서 테이블을 재기록할 수 있도록 하더라도 좋다.
기능 블럭(A6)은 복수의 레지스터(REGA)를 갖고, 레지스터(REGA)에 설정된 값에 따라서 소정의 기능을 실현하는 하드웨어로 구성되는 기능부이다. 기능 블럭 B(7)∼기능 블럭 D(9)는 기능 블럭 A(6)와 같은 식으로 구성되며, 각각이 갖는 복수의 레지스터(REGB∼REGD)에 설정되는 값에 따라서 소정의 기능을 실현한다. 예컨대, 본 실시 형태에 있어서의 다기능 LSI를 휴대 전화에 이용하는 경우에는, 기능 블럭(6∼9)은 변조 기능, 복조 기능, 오류 정정 기능, 채널 코딩(디코드) 기능 등을 각각 실현한다.
한편, 이하의 설명에서는, 레지스터(REGA, REGB, REGC, REGD)는 로컬 어드레스 공간 상의 어드레스치 F000∼F0FF, F100∼F1FF, F200∼21FF, F300∼F3FF의 영역에 각각 맵핑되어 있는 것으로 한다. 또한, 레지스터(REGA∼REGD)를 구성하는 하나의 레지스터는 16비트의 레지스터로 한다.
도 2는 설정 인터페이스부(3)가 구비하는 메모리부(4)의 구성예를 도시하는 도면이다. 메모리부(4)는 본 실시 형태의 다기능 LSI에서 실현하는 기능 중에서 설정치를 설정하는 레지스터수가 최대인 것에 맞춰 설치된다. 도 2에서는, 프로세서(1)의 외부 메모리 공간 상의 어드레스치 F000∼F016의 영역에 배치된 메모리부(4)를 일례로서 나타내고 있다. 즉, 다기능 LSI에 있어서, 어떤 기능을 실현할 때에 설정치를 설정하는 레지스터수가 최대 22개인 경우를 나타내고 있다.
도 2에 도시한 바와 같이, 메모리부(4)에서 선두의 F000번지의 영역에는 기능 번호를 기록하고, F001번지∼F016번지의 영역에는 기능을 실현하는 데에 있어서 레지스터에 설정하여야 할 설정치를 기록한다. F001번지∼F016번지의 영역에 설정치를 기록할 때는, 설정치가 존재하는 레지스터의 로컬 어드레스의 올림차순 또는 내림차순으로 설정치만을 연속하여 기록한다. 전술한 바와 같이 F000번지의 영역에 기록된 기능 번호는 어드레스 제어부(5)에 공급되고, F001번지∼F014번지에 기록된 설정치는 기능 블럭(6∼9)에 공급된다.
예컨대, 도 2에 도시한 바와 같이, 도 8에 도시한 제1 기능(function 1 : FUNC1)의 설정치를 기록하는 경우에는, F000번지의 영역에 "0001h"를 기록하고, 이하 F001번지에서 F014번지까지 순서대로 "0001h", "F000h", …, "0100h", "0001h"를 기록한다. 또한, 기록하는 설정치가 없는 F015번지, F016번지의 영역에는 기록은 하지 않는다(혹은, 임의의 값을 기록하고, 이후의 동작에서 무시함).
한편, 전술한 설명에서는, 기능 번호는 F000번지의 영역에 기록하도록 하고 있지만, 본 발명은 이것에 한정되는 것이 아니라, 기능 번호를 기록하는 임의의 영역(번지)을 미리 정하여 두면 좋다. 그리고, 그 영역에 기록된 값을 기능 번호(FN)로서 어드레스 제어부(5)에 공급하면 좋다.
또한, 레지스터의 로컬 어드레스의 올림차순 또는 내림차순으로 F001번지∼F016번지의 영역에 설정치를 연속하여 기록하도록 하고 있지만, 설정치의 기록순과 후술하는 테이블에서의 로컬 어드레스의 기록순과의 정합이 유지되면, 레지스터의 로컬 어드레스에 관계없이 임의의 순서로 설정치를 연속하여 기록하도록 하더라도 좋다.
도 3은 어드레스 제어부(5)가 갖는 테이블의 일례를 도시한 도면이다. 도 3에서는, 도 8에 일례를 도시한 기능 1∼3(FUNC 1∼3)에서의 테이블을 나타내고 있다.
도 3에 도시한 바와 같이 테이블에는 기능 번호에 대응하여 설정치를 설정하여야 할 레지스터의 로컬 어드레스가 기능 번호마다 나타내어져 있고, 이에 따라 기능 번호(FN)를 바탕으로 로컬 어드레스(LAD)가 출력된다. 예컨대, 기능 1(FUNC1)에 대해서는, 설정하여야 할 레지스터의 로컬 어드레스로서, F000, F008, F009, …, F380, F381이 나타내어져 있으며, 기능 번호(FN)로서 "0001h"가 공급되면, 어드레스 제어부(5)는 기능 블럭(6∼9)에 로컬 어드레스로서 F000, F008, F009, …, F380, F381을 순차적으로 공급한다.
이상과 같이 구성한 다기능 LSI에 있어서, 기능 번호 및 레지스터(REGA∼REGD)에 설정하기 위한 설정치가 프로세서(1)로부터 설정 인터페이스부(3)에 공급되면, 그것이 설정 인터페이스부(3) 내의 메모리부(4)에 순차적으로 기록된다. 상기 처리로 프로세서(1)가 관계되는 레지스터 설정 처리는 완료된다. 계속해서, 메모리부(4)에 기록된 기능 번호(FN)가 설정 인터페이스부(3)로부터 어드레스 제어부(5)에 공급되어, 기능 번호(FN)에 따라서 로컬 어드레스(LAD)가 어드레스 제어부(5)로부터 출력된다.
이와 같이 하여, 어드레스 제어부(5)로부터 출력되는 로컬 어드레스와, 그 로컬 어드레스에 대응하여 설정 인터페이스부(3)로부터 출력되는 설정치가 소정의 기록 타이밍에 기능 블럭(6∼9)에 공급되어, 각 기능 블럭(6∼9)의 레지스터(REGA∼REGD)에 설정치가 설정된다.
예컨대, 기능 1(기능 번호(FN)가 "0001h")의 경우에는 도 4에 도시한 바와 같이 어드레스가 출력되어, 설정 인터페이스부(3)의 F001번지의 영역에 기록된 설정치가, 로컬 어드레스로 F000번지의 레지스터에 기록된다. 마찬가지로, 설정 인터페이스부(3)의 F002번지, F003번지, …, F014번지의 영역에 각각 기록된 설정치가, 로컬 어드레스로 F008번지, F009번지, …, F381번지의 레지스터에 각각 기록된다.
이 때, 어드레스 제어부(5)는 예컨대 라이트 펄스 등을 출력하여, 각 기능 블럭(6∼9)의 레지스터(REGA∼REGD)에의 설정치의 기록 동작을 제어한다.
전술한 바와 같이 구성으로 함으로써, 본 실시 형태에서는 도 5에 도시한 바와 같은 프로세서(1)의 명령 코드의 코딩이 가능하게 된다. 도 5는 본 실시 형태에 있어서 명령 RAM(2)에 저장되는 레지스터 설정 처리에 관한 명령 코드 등의 일례를 도시한 도면이다. 도 5에서, 명령 코드(51)는 전술한 제1 기능(function 1 : FUNC1)을 실현하기 위한 명령 코드이다.
우선, 설정 인터페이스부(3)가 구비하는 메모리부(4)의 선두 어드레스(F000)를 변수 X에 대입하고(MOV X=A), 이어서 설정치만이 배열되어 있는 명령 RAM(2) 내의 데이터 테이블(TBL_DTA)(54)의 데이터를 취득하여 변수 Y에 대입한다(MOV Y=TBL_DTA). 그리고, 설정 인터페이스부(3)에 변수 X에 대입된 어드레스에 대하여 변수 Y에 대입된 값을 기록한다. 즉 설정 인터페이스부(3)에 설정치를 기록한다(MOV (X++), (Y++)h).
이것을 LOOP 형식 등에 의해 변수 X(어드레스)를 순차적으로 인크리멘트함으로써, 최종적으로 설정하여야 할 설정치를 레지스터(REGA∼REGD)에 설정할 수 있다. 따라서, 종래 프로세서는 어드레스치→설정치→어드레스치→설정치→ …로 교대로 어드레스치와 설정치에 관한 처리를 실행하고 있었지만, 본 실시 형태에서는 명령 코드에 있어서의 레지스터의 어드레스 지정 부분이 삭제되어, 프로세서는 기능 번호→설정치→설정치→ …로 거의 설정치에만 관한 처리만을 실행한다. 즉 거의 1/2의 프로세서의 처리량으로 설정하여야 할 설정치를 레지스터(REGA∼REGD)에 설정할 수 있다.
한편, 제2 기능(function 2 : FUNC2) 및 제3 기능(fucntion 3 : FUNC1)에 대해서도, 명령 코드(52, 53) 및 데이터 테이블(55, 56)을 각각 명령 RAM(2)에 저장함으로써, 설정하여야 할 설정치를 레지스터(REGA∼REGD)에 설정할 수 있다. 또한, 데이터 테이블(54, 55, 56)은 프로세서(1)에서의 연산 결과 등에 기초하여 값이 갱신되는 경우가 있기 때문에, 명령 RAM(2)에 두고 있다.
이상, 상세히 설명한 바와 같이 본 실시 형태에 따르면, 실현하는 기능에 따른 설정치를 레지스터(REGA∼REGD)에 설정할 때, 프로세서(1)는 설정치를 설정하는 다수의 레지스터(REGA∼REGD)의 어드레스를 의식하지 않고, 설정 인터페이스부(3)에 기능 번호와 설정치를 순차적으로 공급하는 것만으로 레지스터(REGA∼REGD)에 설정치를 설정할 수 있다.
따라서, 명령 RAM(2)에 저장하는 레지스터 설정에 관한 명령 코드에 어드레스 지정 부분을 포함시킬 필요가 없어져, 도 5에 도시한 본 실시 형태에서의 명령 코드와, 도 9에 도시한 종래의 명령 코드를 비교하면 알 수 있듯이, 명령 코드량을 삭감하여 명령 RAM(2)이 구비해야 하는 기억 용량을 삭감할 수 있는 동시에, 명령 코드의 코딩을 용이하게 실행할 수 있다. 또한, 설정치의 일부를 변경하거나 하는 경우에는, 종래에는 어드레스치와 설정치가 명령 코드 내에 혼재하고 있기 때문에, 변경 오류 등을 발생할 우려가 높았지만, 본 실시 형태에서는 명령 코드에는 설정치만이 나타내어지기 때문에 변경 오류 등의 발생 확률을 저하시킬 수 있다.
또한, 프로세서(1)가 실행하는 레지스터 설정 처리는 기능 번호 및 레지스터(REGA∼REGD)에 설정하기 위한 설정치를 설정 인터페이스부(3)에 공급하는 것만으로도 좋기 때문에, 프로세서(1)가 레지스터 설정 처리에 요하는 처리 시간을 종래와 비교하여 단축할 수 있다. 이에 따라, 프로세서(1)의 본래의 처리 능력을 유효하게 활용할 수 있거나, 혹은 처리 능력(MIPS치)이 낮은 프로세서(1)를 이용하여 비용을 삭감할 수 있다.
이하에, 전술한 본 실시 형태에 있어서의 다기능 LSI를 휴대 전화에 적용한 구체예를 설명한다.
도 6은 본 실시 형태에 있어서의 다기능 LSI를 적용한 휴대 전화에서의 간헐 수신 처리의 동작을 설명하기 위한 도면이다. 간헐 수신 처리란, 일제 호출 채널 (Paging Channel, 이하 「PCH」라 함)을 일정한 시간 간격(도 6에 나타내는 예에서는 간헐 수신 주기에 의해 나타내어지는 2.56초)으로 모니터하여, 전화가 걸려 오고 있지 않은지를 확인(착호 확인)하기 위한 처리(P1)이다(처리 1).
확인 결과, 전화가 걸려 오고 있지 않는 경우에는, 간헐 제어 블록만을 동작시키고 다른 기능 블럭의 전원 공급을 차단하는 파워 다운 상태(저소비 전력 동작 상태)로 천이하고, 전화가 걸려 오고 있는 경우에는, 통화하기 위한 처리가 이루어진다. 여기서, 간헐 제어 블록은 레지스터 및 타이머로 이루어지며, 낮은 주파수의 클록 신호로 동작한다.
상기 PCH를 수신할 때에 필요한 레지스터(REGA∼REGD)에 설정하기 위한 설정치를 기능의 하나로서 정의해 두고, 간헐 수신 처리를 할 때, 프로세서(1)는 PCH 수신용 기능 번호 및 레지스터(REGA∼REGD)에 설정하기 위한 설정치를 설정 인터페이스부(3)에 공급한다. 이에 따라, PCH를 수신하기 위한 설정치가 레지스터(REGA∼REGD)에 설정되어(처리 P2), PCH 수신 동작(처리 P3)으로 이행한다(처리 2).
여기서, 다기능 LSI는 파워 다운 상태로 프로세서(1) 내의 명령 RAM(2)에 대한 전원 공급을 차단하여 버리면 간헐 수신 처리 시에 부팅 동작이 필요하게 되기 때문에, 전술한 간헐 수신 처리 및 파워 다운 상태 중 어디에 있어서도, 명령 RAM(2)에는 전원이 공급되고 있다. 그 때문에, 종래와 같이 명령 RAM(2)의 용량이 크면 누설 전류에 의해 소비되는 전력도 커, 휴대 전화와 같은 배터리로 동작하는 기기에 있어서는 중요한 문제이다. 한편, 본 실시 형태에 따르면, 전술한 바와 같이 명령 RAM(2)이 구비해야 하는 기억 용량을 크게 삭감할 수 있기 때문에, 명령 RAM(2)의 용량을 대폭 작게 할 수 있고, 명령 RAM(2)에서의 누설 전류에 의한 소비 전력도 대폭 삭감할 수 있다.
한편, 본 실시 형태에 있어서의 다기능 LSI를 휴대 전화에 적용했을 때의 기능의 다른 예로서는, 전원 투입 후의 초기 기지국 서치, 통화 등이 있다.
한편, 상기 실시 형태에서는, 실현하는 기능의 종류를 나타내는 것으로서 기능 번호를 일례로 나타냈지만, 이것에 한하지 않고 기능의 종류를 나타내는 임의의 정보라도 좋다. 또한, 기능의 종류를 나타내는 것에 한하지 않고, 복수의 레지스터의 어드레스치를 출력시키기 위한 임의의 정보라도 좋다.
또한, 상기 실시 형태는 모두 단지 본 발명을 실시하는 데 있어서의 구체화의 일례를 나타낸 것에 지나지 않으며, 이들에 의해서 본 발명의 기술적 범위가 한정적으로 해석되어서는 안 된다. 즉, 본 발명은 그 기술 사상 또는 그 주요한 특징으로부터 일탈하지 않고서, 여러 가지 형태로 실시할 수 있다.
이상과 같이, 본 발명에 의하면, 명령 메모리를 갖는 프로세서로부터 하나의 어드레스 지정 정보와 복수의 레지스터에 설정하기 위한 설정치를 설정 인터페이스부에 공급하고, 또한 어드레스 지정 정보를 바탕으로 복수의 레지스터의 어드레스치를 어드레스 출력부로부터 출력하며, 출력된 어드레스치 및 설정치를 각각 레지스터에 출력하여 설정치를 설정한다.
이에 따라, 프로세서는, 어드레스 지정 정보와 레지스터에 설정하기 위한 설정치를 공급하는 것만으로 레지스터에 설정치를 설정할 수 있어, 레지스터의 어드레스를 의식하지 않아도 되기 때문에, 명령 코드에 의한 어드레스 지정 부분을 삭감하여 명령 코드량을 삭감함으로써, 프로세서가 갖는 명령 메모리의 기억 용량을 삭감할 수 있다. 또한, 종래와 비교하여 명령이 매우 단순하게 되기 때문에, 명령 코드의 코딩을 용이하게 실행할 수 있다.
Claims (16)
- 실행하는 명령이 저장된 명령 메모리를 갖고, 제1 버스에 접속되는 프로세서와,상기 제1 버스에 접속되어, 상기 프로세서로부터 하나의 어드레스 지정 정보와 복수의 레지스터에 설정하기 위한 설정치가 공급되는 설정 인터페이스부와,상기 설정 인터페이스부로부터 공급되는 상기 어드레스 지정 정보를 바탕으로 상기 복수의 레지스터의 어드레스치를 출력하는 어드레스 출력부를 구비하며,상기 어드레스 출력부가 출력하는 상기 어드레스치를 이용하여, 상기 설정 인터페이스부가 출력하는 상기 설정치를 상기 레지스터에 설정하는 것을 특징으로 하는 반도체 장치.
- 제1항에 있어서, 상기 어드레스 출력부는 상기 어드레스 지정 정보와 그 어드레스 지정 정보에 대응하는 상기 복수의 레지스터의 어드레스치를 관련지은 테이블을 갖는 것을 특징으로 하는 반도체 장치.
- 제2항에 있어서, 상기 테이블을 리드-온리-메모리(ROM)에 유지하고 있는 것을 특징으로 하는 반도체 장치.
- 제2항에 있어서, 상기 테이블을 상기 제1 버스에 접속된 재기록 가능한 메모리에 유지하고 있는 것을 특징으로 하는 반도체 장치.
- 제1항에 있어서, 상기 설정 인터페이스부는 상기 어드레스 지정 정보 및 상기 레지스터에 설정하기 위한 설정치를 유지하는 기억부를 갖는 것을 특징으로 하는 반도체 장치.
- 제5항에 있어서, 상기 기억부는 상기 프로세서로부터 공급될 수 있는 레지스터에 설정하기 위한 설정치의 수의 최대수에 따른 기억 용량을 갖는 것을 특징으로 하는 반도체 장치.
- 제5항에 있어서, 상기 프로세서로부터 공급되는 상기 복수의 레지스터에 설정하기 위한 설정치가 상기 기억부의 연속된 영역에 기록되는 것을 특징으로 하는 반도체 장치.
- 레지스터에 설정된 설정치에 따라서 다른 기능을 실현할 수 있는 기능부를 갖는 반도체 장치로서,실행하는 명령이 저장된 명령 메모리를 갖고, 제1 버스에 접속되는 프로세서와,상기 제1 버스에 접속되어, 실현하는 기능을 나타내는 하나의 기능 정보와 그 기능을 실현하기 위한 복수의 레지스터에 설정하기 위한 설정치가 상기 프로세서로부터 공급되는 설정 인터페이스부와,상기 설정 인터페이스부로부터 공급되는 상기 기능 정보를 바탕으로 상기 복수의 레지스터의 어드레스치를 출력하는 어드레스 출력부를 구비하며,상기 어드레스 출력부가 출력하는 상기 어드레스치를 이용하여, 상기 설정 인터페이스부가 출력하는 상기 설정치를 상기 레지스터에 설정하는 것을 특징으로 하는 반도체 장치.
- 제8항에 있어서, 상기 어드레스 출력부는 상기 기능 정보와 그 기능 정보에 대응하는 상기 복수의 레지스터의 어드레스치를 관련지은 테이블을 갖는 것을 특징으로 하는 반도체 장치.
- 제8항에 있어서, 상기 설정 인터페이스부는 상기 프로세서로부터 공급될 수 있는 레지스터에 설정하기 위한 설정치의 수의 최대수에 따른 기억 용량을 갖고, 상기 기능 정보 및 상기 레지스터에 설정하기 위한 설정치를 유지하는 기억부를 갖는 것을 특징으로 하는 반도체 장치.
- 제8항에 있어서, 일정한 시간 간격으로 다른 기능부로 하여금 간헐 처리를 실행하게 하는 간헐 제어 기능부를 포함하는 복수의 상기 기능부를 갖고,상기 간헐 처리의 실행 결과에 따라서, 상기 간헐 제어 기능부와는 상이한 다른 기능부에 대한 전원 공급을 정지하는 것을 특징으로 하는 반도체 장치.
- 제11항에 있어서, 상기 간헐 처리는 착호 확인을 실행하는 간헐 수신 처리인 것을 특징으로 하는 반도체 장치.
- 실행하는 명령이 저장된 명령 메모리를 갖는 프로세서와,상기 프로세서의 어드레스 공간과는 다른 로컬 어드레스 공간에 배치된 복수의 레지스터와,상기 프로세서의 어드레스 공간에 배치되어, 상기 프로세서로부터 하나의 어드레스 지정 정보와 상기 복수의 레지스터에 설정하기 위한 설정치가 공급되는 설정 인터페이스부와,상기 설정 인터페이스부로부터 공급되는 상기 어드레스 지정 정보를 바탕으로 상기 복수의 레지스터의 로컬 어드레스치를 출력하는 어드레스 출력부를 구비하며,상기 어드레스 출력부가 출력하는 상기 로컬 어드레스치를 이용하여, 상기 설정 인터페이스부가 출력하는 상기 설정치를 상기 레지스터에 설정하는 것을 특징으로 하는 반도체 장치.
- 제13항에 있어서, 상기 어드레스 출력부는 상기 어드레스 지정 정보와 상기 복수의 레지스터의 로컬 어드레스치를 관련지은 테이블을 갖는 것을 특징으로 하는 반도체 장치.
- 제13항에 있어서, 상기 설정 인터페이스부는 상기 프로세서로부터 공급될 수 있는 레지스터에 설정하기 위한 설정치의 수의 최대수에 따른 기억 용량을 갖고, 상기 어드레스 지정 정보 및 상기 레지스터에 설정하기 위한 설정치를 유지하는 기억부를 갖는 것을 특징으로 하는 반도체 장치.
- 제13항에 있어서, 상기 레지스터는 설정치에 따라서 다른 기능을 실현하는 기능부에 설치된 레지스터인 것을 특징으로 하는 반도체 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020057006286A KR100773800B1 (ko) | 2005-04-12 | 2003-03-31 | 반도체 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020057006286A KR100773800B1 (ko) | 2005-04-12 | 2003-03-31 | 반도체 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050123087A true KR20050123087A (ko) | 2005-12-29 |
KR100773800B1 KR100773800B1 (ko) | 2007-11-08 |
Family
ID=37294811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057006286A KR100773800B1 (ko) | 2005-04-12 | 2003-03-31 | 반도체 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100773800B1 (ko) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH025115A (ja) * | 1988-06-24 | 1990-01-10 | Hitachi Ltd | レジスタの初期設定方式 |
JPH096483A (ja) * | 1995-06-20 | 1997-01-10 | Hitachi Ltd | マイクロコンピュータ、及び携帯電話機 |
JP2001022685A (ja) * | 1999-07-13 | 2001-01-26 | Mitsubishi Electric Corp | データ転送装置及びデータ転送方法 |
-
2003
- 2003-03-31 KR KR1020057006286A patent/KR100773800B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR100773800B1 (ko) | 2007-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5318873B2 (ja) | マルチステージデータ処理パイプラインにおける命令実行システム及び方法 | |
US20050138330A1 (en) | MAXQ microcontroller | |
US20050198471A1 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
EP0809180A2 (en) | Data processing circuit, microcomputer, and electronic equipment | |
JPH09231070A (ja) | 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器 | |
EP2734918B1 (en) | Table call instruction for frequently called functions | |
US7287149B2 (en) | Inserting decoder reconfiguration instruction for routine with limited number of instruction types recoded for reduced bit changes | |
JPH09231071A (ja) | コンピュータ装置 | |
CN101911011A (zh) | 确定表内的元素的地址的系统和方法 | |
US7260710B2 (en) | Initializing function block registers using value supplying setting interface coupled to table linking block identifier to multiple register address set | |
KR100773800B1 (ko) | 반도체 장치 | |
JP5186802B2 (ja) | マイクロプロセッサ | |
JP2826309B2 (ja) | 情報処理装置 | |
US20030005269A1 (en) | Multi-precision barrel shifting | |
JP2000284962A (ja) | マイクロコンピュータ | |
CN112463327B (zh) | 逻辑线程快速切换的方法、装置、cpu芯片及服务器 | |
US20100125720A1 (en) | Instruction mode identification apparatus and method | |
JP3792633B2 (ja) | マイクロコントローラ、及びマイクロコントローラ装置 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
CN108509013B (zh) | 一种处理指令的方法及装置 | |
JPH06149563A (ja) | データ処理装置 | |
JP2004151915A (ja) | データ処理装置 | |
JPH0315770B2 (ko) | ||
JPWO2004023291A1 (ja) | 情報処理装置 | |
JP2002140192A (ja) | 演算処理装置 |
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 | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20121002 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131001 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141007 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151002 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160929 Year of fee payment: 10 |