KR20000008364A - 전력소모가 적은 하드웨어 스택 및 스택 제어방법 - Google Patents
전력소모가 적은 하드웨어 스택 및 스택 제어방법 Download PDFInfo
- Publication number
- KR20000008364A KR20000008364A KR1019980028152A KR19980028152A KR20000008364A KR 20000008364 A KR20000008364 A KR 20000008364A KR 1019980028152 A KR1019980028152 A KR 1019980028152A KR 19980028152 A KR19980028152 A KR 19980028152A KR 20000008364 A KR20000008364 A KR 20000008364A
- Authority
- KR
- South Korea
- Prior art keywords
- stack
- signals
- pop
- control signal
- push
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
스택의 레벨이 증가하더라도 전력소모가 적은 하드웨어 스택 및 스택 제어방법이 개시된다. 상기 스택 제어방법에 따라 동작되는 상기 하드웨어 스택은, 항상 어느 하나가 엑티브되는 스택 지정신호들을 발생하는 스택 포인터를 구비하는 것을 특징으로 한다. 상기 하드웨어 스택은, 푸쉬 동작 및 팝 동작시 상기 스택 포인터에 저장된 데이터를 이동시킴으로써 복수개의 스택셀중 하나씩을 지정하고, 지정된 스택셀에 푸쉬 데이터를 저장하거나 지정된 스택셀의 출력을 팝 데이터로서 독출한다. 따라서 푸쉬 동작 및 팝 동작시 지정된 스택셀에 저장된 데이터만이 이동되므로, 스택의 레벨이 증가하더라도 IC로 구현될 때 전력소모가 감소되는 장점이 있다.
Description
본 발명은 하드웨어 스택에 관한 것으로, 특히 전력소모가 적은 하드웨어 스택 및 스택 제어방법에 관한 것이다.
마이크로 프로세서, 마이크로 콘트롤러, 및 디지털 신호처리 IC등 제어 및 연산을 목적으로 하는 IC는 일반적으로 하드웨어 스택(Stack)을 포함하고 있다.
도 1은 종래의 하드웨어 스택의 구조를 나타내는 도면이다.
도 1을 참조하면, 종래의 하드웨어 스택은 여러 레벨의 스택셀(11, 13, 15, 17)로 구성되고, 푸쉬(Push) 동작시에는 각 스택셀에 저장된 데이터는 그 하위 레벨의 스택셀로 이동된다. 즉 데이터 버스를 통해 전달된 푸쉬 데이터(DIN[0:n])이 최상위 레벨의 스택셀(S[1])(11)에 저장되고, 상기 최상위 레벨의 스택셀(S[1])(11)에 저장된 데이터는 그 하위 레벨의 스택셀(S[2])(13)으로 이동되며, 또한 스택셀(S[n-1])(15)에 저장된 데이터는 그 하위 레벨의 스택셀, 즉 최하위 레벨의 스택셀(S[n])(17)로 이동된다.
또한 팝(Pop) 동작시에는 각 스택셀에 저장된 데이터는 그 상위 레벨의 스택셀로 이동된다. 즉 상기 최상위 레벨의 스택셀(S[1])(11)에 저장된 데이터는 팝 데이터(DOUT[0:n])로서 상기 데이터 버스로 출력되고, 상기 스택셀(S[2])(13)에 저장된 데이터는 그 상위 레벨의 스택셀, 즉 상기 최상위 레벨의 스택셀(S[1])(11)로 이동되며, 상기 최하위 레벨의 스택셀(S[n])(17)에 저장된 데이터는 그 상위 레벨의 스택셀, 즉 상기 스택셀(S[n-1])(15)로 이동된다.
따라서 상기 종래의 하드웨어 스택에서는 푸쉬 동작 및 팝 동작시 모든 스택셀에 저장된 데이터가 동시에 이동되므로, 스택의 레벨이 증가하는 경우 즉 스택셀의 수가 증가하는 경우 IC로 구현될 때 전력소모가 증가하는 단점이 있다.
따라서 본 발명이 이루고자하는 기술적 과제는, 스택의 레벨이 증가하더라도 전력소모가 적은 하드웨어 스택을 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 스택의 레벨이 증가하더라도 전력소모를 감소시킬 수 있는 하드웨어 스택 제어방법을 제공하는 데 있다.
도 1은 종래의 하드웨어 스택의 구조를 나타내는 도면
도 2는 본 발명에 따른 하드웨어 스택의 블락도
도 3은 도 2에 도시된 푸쉬 제어부의 회로도
도 4는 도 2에 도시된 팝 제어부의 회로도
상기 기술적 과제를 달성하기 위한 본 발명에 따른 하드웨어 스택은, 푸쉬 제어신호 및 팝 제어신호에 응답하여 항상 어느 하나가 엑티브되는 복수개의 스택 지정신호를 발생하는 스택 포인터, 상기 푸쉬 제어신호에 응답하여 상기 복수개의 스택 지정신호를 복수개의 기입신호로서 출력하는 푸쉬 제어부, 상기 복수개의 기입신호중 대응되는 기입신호가 엑티브될 때 데이터 버스를 통해 전달되는 푸쉬 데이터를 저장하는 복수개의 스택셀로 구성되는 스택, 및 상기 팝 제어신호에 응답하여 상기 복수개의 스택 지정신호를 복수개의 독출신호로서 출력하고, 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀중 대응되는 스택셀의 출력을 팝 데이터로서 상기 데이터 버스로 전달하는 팝 제어부를 구비하는 것을 특징으로 한다.
상기 스택 포인터는 항상 어느 한 비트가 논리"하이"인 저장 데이터를 상기 복수개의 스택 지정신호로서 출력하는 쉬프트 레지스터로 구성되는 것이 바람직하고, 상기 저장 데이터는 상기 푸쉬 제어신호 또는 상기 팝 제어신호에 응답하여 1비트씩 쉬프트된다.
상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 하드웨어 스택 제어방법은, 복수개의 스택셀로 구성되는 하드웨어 스택의 제어방법에 있어서, (a) 푸쉬 제어신호 및 팝 제어신호에 응답하여 항상 어느 한 비트가 논리"하이"가 되는 복수개의 스택 지정비트를 발생하는 단계, (b) 상기 푸쉬 제어신호에 응답하여 상기 복수개의 스택 지정비트를 복수개의 기입신호로서 출력하는 단계, (c) 상기 복수개의 기입신호중 대응되는 기입신호가 엑티브될 때 데이터 버스를 통해 전달되는 푸쉬 데이터를 상기 복수개의 스택셀중 대응되는 스택셀에 저장하는 단계, (d) 상기 팝 제어신호에 응답하여 상기 복수개의 스택 지정비트를 복수개의 독출신호로서 출력하는 단계, 및 (e) 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀중 대응되는 스택셀의 출력을 팝 데이터로서 상기 데이터 버스로 전달하는 단계로 이루어지는 것을 특징으로 한다.
상기 (a) 단계에서, 상기 복수개의 스택 지정비트는 상기 푸쉬 제어신호에 응답하여 상위 레벨에서 하위 레벨로 1비트씩 쉬프트되고, 상기 팝 제어신호에 응답하여 하위 레벨에서 상위 레벨로 1비트씩 쉬프트된다.
이하 본 발명에 따른 하드웨어 스택의 구성 및 동작과 그 회로에서 수행되는 하드웨어 스택 제어방법을 첨부도면을 참조하여 상세히 설명하겠다.
도 2는 본 발명에 따른 하드웨어 스택의 블락도로서, 이는 본 발명에 따른 하드웨어 스택 제어방법에 따라 동작된다. 여기에서는 5 레벨의 스택 레벨을 갖는 경우가 도시되어 있다.
도 2를 참조하면, 상기 본 발명에 따른 하드웨어 스택은, 스택 포인터(21), 푸쉬 제어부(23), 스택(25), 및 팝 제어부(27)을 구비한다.
상기 스택 포인터(21)은 푸쉬 제어신호(PUSH) 및 팝 제어신호(POP)에 응답하여 항상 어느 하나가 엑티브되는 복수개의 스택 지정신호(S1 내지 S5)를 발생한다. 상기 푸쉬 제어부(23)은 상기 푸쉬 제어신호(PUSH)에 응답하여 상기 복수개의 스택 지정신호(S1 내지 S5)를 복수개의 기입신호(W1 내지 W5)로서 출력한다. 상기 스택(25)는 상기 복수개의 기입신호(W1 내지 W5)중 대응되는 기입신호가 엑티브될 때 데이터 버스(DB[0:n])을 통해 전달되는 푸쉬 데이터(PSD[0:n])을 저장하는 복수개의 스택셀로 구성된다. 여기에서는 5개의 스택셀(S[1] 내지 S[5]), 즉 5 레벨의 스택 레벨을 갖는 경우가 도시되어 있다. 상기 팝 제어부(27)은 상기 팝 제어신호(POP)에 응답하여 상기 복수개의 스택 지정신호(S1 내지 S5)를 복수개의 독출신호(도 4의 R1 내지 R5)로서 출력하고, 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀(S[1] 내지 S[5])의 출력(D1[0:n] 내지D5[0:n])중 대응되는 스택셀의 출력을 팝 데이터(PPD[0:n])으로서 상기 데이터 버스(DB[0:n])으로 전달한다.
좀더 설명하면, 상기 스택 포인터(21)은 복수비트(B1 내지 B5)의 쉬프트 레지스터로 구성되고, 항상 어느 한 비트가 논리"하이"인 저장 데이터를 상기 복수개의 스택 지정신호(S1 내지 S5)로서 출력한다. 예컨데 첫 번째 푸쉬동작에서 상기 스택 포인터(21)에 저장된 데이터, 즉 상기 복수비트(B1 내지 B5)가 (1,0,0,0,0)이라면 상기 스택 지정신호(S1 내지 S5)는 (1,0,0,0,0)이 된다. 즉 스택 지정신호(S1)이 "1"로 엑티브되고, 이에 따라 상기 푸쉬 제어신호(PUSH)가 엑티브될 때 상기 복수개의 기입신호(W1 내지 W5)중 기입신호(W1)만이 엑티브되고 나머지 기입신호(W2 내지 W5)는 넌엑티브된다. 따라서 상기 엑티브되는 기입신호(W1)에 응답하여 상기 데이터 버스(DB[0:n])을 통해 전달되는 상기 푸쉬 데이터(PSD[0:n])가 상기 최상위 스택셀(S[1])에 저장된다.
다음에 두 번째 푸쉬동작에서 상기 스택 포인터(21)에 저장된 데이터, 즉 상기 복수비트(B1 내지 B5)는 상기 푸쉬 제어신호(PUSH)에 응답하여 상위 레벨에서 하위 레벨로 1비트씩 이동되고, 이에 따라 상기 스택 지정신호(S1 내지 S5)는 (0,1,0,0,0)이 된다. 즉 스택 지정신호(S2)만이 "1"로 엑티브되고, 이에 따라 상기 푸쉬 제어신호(PUSH)가 엑티브될 때 상기 복수개의 기입신호(W1 내지 W5)중 기입신호(W2)만이 엑티브되고 나머지 기입신호는 넌엑티브된다. 따라서 상기 엑티브되는 기입신호(W2)에 응답하여 상기 데이터 버스(DB[0:n])을 통해 전달되는 상기 푸쉬 데이터(PSD[0:n])가 상기 스택셀(S[2])에 저장된다.
마찬가지로 상기와 같은 동작에 의하여 순차적인 푸쉬동작에서 상기 스택셀(S[3],S[4],S[5])에 푸쉬 데이터가 저장된다. 결론적으로 상기 스택 포인터(21)의 초기 데이터, 즉 (1,0,0,0,0)의 상기 복수비트(B1 내지 B5)를 순차적으로 이동시켜 상기 복수개의 스택셀(S[1] 내지 S[5])중 푸시 데이터를 저장할 스택셀을 하나씩을 지정함으로써, 지정된 스택셀에 푸쉬 데이터(PSD[0:n])이 저장되게 된다.
한편 팝 동작에서도 상기 스택 포인터(21)의 초기 데이터, 즉 상기 복수비트(B1 내지 B5)를 순차적으로 이동시켜 상기 스택 지정신호(S1 내지 S5)중 어느 하나가 "1"로 엑티브되고, 이에 따라 복수개의 독출신호(도 4의 R1 내지 R5)중 어느 하나가 엑티브될 때 상기 복수개의 스택셀(S[1] 내지 S[5])의 출력(D1[0:n] 내지D5[0:n])중 대응되는 스택셀의 출력이 팝 데이터(PPD[0:n])으로서 상기 데이터 버스(DB[0:n])으로 전달되게 된다.
도 3은 도 2에 도시된 푸쉬 제어부의 회로도이다.
도 3을 참조하면, 상기 푸쉬 제어부는 복수개의 논리곱 수단(31, 33, 35, 37, 39)를 구비하고, 상기 각 논리곱 수단은 상기 푸쉬 제어신호(PUSH) 및 상기 복수개의 스택 지정신호(S1 내지 S5)중 대응되는 스택 지정신호를 입력으로 하여 상기 복수개의 기입신호(W1 내지 W5)중 대응되는 기입신호를 각각 출력한다. 즉 상기 푸쉬 제어부는 상기 푸쉬 제어신호(PUSH)가 논리"하이"로 엑티브될 때 상기 복수개의 스택 지정신호(S1 내지 S5)를 상기 복수개의 기입신호(W1 내지 W5)로서 출력한다.
도 4는 도 2에 도시된 팝 제어부의 회로도이다.
도 4를 참조하면, 상기 팝 제어부는 독출신호 발생부(40)과 선택부(50)을 구비한다.
상기 독출신호 발생부(40)은 상기 팝 제어신호(POP)이 논리"하이"로 엑티브될 때 상기 복수개의 스택 지정신호(S1 내지 S5)를 상기 복수개의 독출신호(R1 내지 R5)로서 출력한다. 다시말해 상기 독출신호 발생부(40)은 복수개의 논리곱 수단(41, 43, 45, 47, 49)를 구비하고, 상기 각 논리곱 수단은 상기 팝 제어신호(POP) 및 상기 복수개의 스택 지정신호(S1 내지 S5)중 대응되는 스택 지정신호를 입력으로 하여 상기 복수개의 독출신호(R1 내지 R5)중 대응되는 독출신호를 각각 출력한다.
상기 선택부(50)은 상기 복수개의 독출신호(R1 내지 R5)중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀의 출력(D1[0:n] 내지D5[0:n])중 대응되는 스택셀의 출력을 상기 팝 데이터(PPD[0:n])으로서 상기 데이터 버스(DB[0:n])으로 전달한다. 다시말해 상기 선택부(50)은 복수개의 버퍼(51, 53, 55, 57, 59)를 구비하고, 상기 각 버퍼는 상기 복수개의 독출신호(R1 내지 R5)중 대응되는 독출신호가 엑티브될 때 상기 대응되는 스택셀의 출력을 버퍼링하여 상기 팝 데이터(PPD[0:n])로서 상기 데이터 버스(DB[0:n])으로 전달한다.
결론적으로 상술한 본 발명에 따른 하드웨어 스택 및 스택 제어방법에서는, 푸쉬 동작 및 팝 동작시 스택 포인터에 저장된 데이터를 이동시킴으로써 복수개의 스택셀중 하나씩을 지정하고, 지정된 스택셀에 푸쉬 데이터를 저장하거나 지정된 스택셀의 출력을 팝 데이터로서 독출한다. 따라서 푸쉬 동작 및 팝 동작시 지정된 스택셀에 저장된 데이터만이 이동되므로, 스택의 레벨이 증가하더라도 IC로 구현될 때 전력소모가 감소된다.
이상과 같이, 본 발명을 일실시예를 들어 한정적으로 설명하였으나 이에 한정되지 않으며 본 발명의 사상의 범위 내에서 당해 분야의 통상의 지식을 가진 자에 의해 본원 발명에 대한 각종 변형이 가능함은 자명하다.
상술한 바와 같이 본 발명에 따른 스택 제어방법에 따라 동작되는 본 발명에 따른 하드웨어 스택은, 스택의 레벨이 증가하더라도 전력소모가 적은 장점이 있다.
Claims (8)
- 푸쉬 제어신호 및 팝 제어신호에 응답하여 항상 어느 하나가 엑티브되는 복수개의 스택 지정신호를 발생하는 스택 포인터;상기 푸쉬 제어신호에 응답하여 상기 복수개의 스택 지정신호를 복수개의 기입신호로서 출력하는 푸쉬 제어부;상기 복수개의 기입신호중 대응되는 기입신호가 엑티브될 때 데이터 버스를 통해 전달되는 푸쉬 데이터를 저장하는 복수개의 스택셀로 구성되는 스택; 및상기 팝 제어신호에 응답하여 상기 복수개의 스택 지정신호를 복수개의 독출신호로서 출력하고, 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀중 대응되는 스택셀의 출력을 팝 데이터로서 상기 데이터 버스로 전달하는 팝 제어부를 구비하는 것을 특징으로 하는 하드웨어 스택.
- 제1항에 있어서, 상기 스택 포인터는 항상 어느 한 비트가 논리"하이"인 저장 데이터를 상기 복수개의 스택 지정신호로서 출력하는 쉬프트 레지스터로 구성되고, 상기 저장 데이터는 상기 푸쉬 제어신호 또는 팝 제어신호에 응답하여 1비트씩 쉬프트되는 것을 특징으로 하는 하드웨어 스택.
- 제1항에 있어서, 상기 푸쉬 제어부는, 상기 푸쉬 제어신호 및 상기 복수개의 스택 지정신호중 대응되는 스택 지정신호를 입력으로 하여 상기 복수개의 기입신호중 대응되는 기입신호를 각각 출력하는 복수개의 논리곱 수단을 구비하는 것을 특징으로 하는 하드웨어 스택.
- 제1항에 있어서, 상기 팝 제어부는,상기 팝 제어신호에 응답하여 상기 복수개의 스택 지정신호를 상기 복수개의 독출신호로서 출력하는 독출신호 발생부, 및상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀중 대응되는 스택셀의 출력을 상기 팝 데이터로서 상기 데이터 버스로 전달하는 선택부를 구비하는 것을 특징으로 하는 하드웨어 스택.
- 제4항에 있어서, 상기 독출신호 발생부는, 상기 팝 제어신호 및 상기 복수개의 스택 지정신호중 대응되는 스택 지정신호를 입력으로 하여 상기 복수개의 독출신호중 대응되는 독출신호를 각각 출력하는 복수개의 논리곱 수단을 구비하는 것을 특징으로 하는 하드웨어 스택.
- 제4항에 있어서, 상기 선택부는, 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 대응되는 스택셀의 출력을 버퍼링하여 상기 팝 데이터로서 상기 데이터 버스로 전달하는 복수개의 버퍼를 구비하는 것을 특징으로 하는 하드웨어 스택.
- 복수개의 스택셀로 구성되는 스택의 제어방법에 있어서,(a) 푸쉬 제어신호 및 팝 제어신호에 응답하여 항상 어느 한 비트가 논리"하이"가 되는 복수개의 스택 지정비트를 발생하는 단계;(b) 상기 푸쉬 제어신호에 응답하여 상기 복수개의 스택 지정비트를 복수개의 기입신호로서 출력하는 단계;(c) 상기 복수개의 기입신호중 대응되는 기입신호가 엑티브될 때 데이터 버스를 통해 전달되는 푸쉬 데이터를 상기 복수개의 스택셀중 대응되는 스택셀에 저장하는 단계;(d) 상기 팝 제어신호에 응답하여 상기 복수개의 스택 지정비트를 복수개의 독출신호로서 출력하는 단계; 및(e) 상기 복수개의 독출신호중 대응되는 독출신호가 엑티브될 때 상기 복수개의 스택셀중 대응되는 스택셀의 출력을 팝 데이터로서 상기 데이터 버스로 전달하는 단계로 이루어지는 것을 특징으로 하는 스택 제어방법.
- 제7항에 있어서, 상기 (a) 단계에서, 상기 복수개의 스택 지정비트는 상기 푸쉬 제어신호 또는 상기 팝 제어신호에 응답하여 1비트씩 쉬프트되는 것을 특징으로 하는 스택 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980028152A KR20000008364A (ko) | 1998-07-13 | 1998-07-13 | 전력소모가 적은 하드웨어 스택 및 스택 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980028152A KR20000008364A (ko) | 1998-07-13 | 1998-07-13 | 전력소모가 적은 하드웨어 스택 및 스택 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000008364A true KR20000008364A (ko) | 2000-02-07 |
Family
ID=19543956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980028152A KR20000008364A (ko) | 1998-07-13 | 1998-07-13 | 전력소모가 적은 하드웨어 스택 및 스택 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000008364A (ko) |
-
1998
- 1998-07-13 KR KR1019980028152A patent/KR20000008364A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070216553A1 (en) | Memory device | |
KR910017300A (ko) | 데이타 통신 인터페이스 및 이의 통신 방법 | |
JP2007128633A (ja) | 半導体記憶装置及びこれを備えた送受信システム | |
JPH03147037A (ja) | 記憶装置 | |
JP2005353168A (ja) | メモリインターフェース回路及びメモリインターフェース方法 | |
EP0167140B1 (en) | Interruption control circuit | |
CA2000145C (en) | Data transfer controller | |
US4992979A (en) | Memory structure for nonsequential storage of block bytes in multi bit chips | |
KR20010065770A (ko) | 메모리 소자의 데이터 기입 및 독출 제어방법 및 회로 | |
US7742469B2 (en) | Data input circuit and semiconductor device utilizing data input circuit | |
KR20000008364A (ko) | 전력소모가 적은 하드웨어 스택 및 스택 제어방법 | |
US20080028110A1 (en) | Peripheral Supplied Addressing In A Simple DMA | |
CN113157632B (zh) | 存储器内处理器件 | |
US11803323B2 (en) | Cascaded memory system | |
US4455608A (en) | Information transferring apparatus | |
US7000139B2 (en) | Interface circuit for selectively latching between different sets of address and data registers based on the transitions of a frequency-divided clock | |
JP2751857B2 (ja) | 半導体装置 | |
JP3909509B2 (ja) | シリアルインタフェース回路 | |
US6353864B1 (en) | System LSI having communication function | |
JPS5992483A (ja) | 半導体記憶装置 | |
US7729198B2 (en) | Synchronous memory circuit | |
JP2002300021A (ja) | 集積回路装置 | |
JP2971006B2 (ja) | シリアル通信方法およびシリアル通信コントローラ | |
US6252815B1 (en) | First in first out memory circuit | |
JPH04360425A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |