KR930009666B1 - 기억장치 액세스기구 - Google Patents

기억장치 액세스기구 Download PDF

Info

Publication number
KR930009666B1
KR930009666B1 KR1019870005090A KR870005090A KR930009666B1 KR 930009666 B1 KR930009666 B1 KR 930009666B1 KR 1019870005090 A KR1019870005090 A KR 1019870005090A KR 870005090 A KR870005090 A KR 870005090A KR 930009666 B1 KR930009666 B1 KR 930009666B1
Authority
KR
South Korea
Prior art keywords
information
register
pointer
invalid
bits
Prior art date
Application number
KR1019870005090A
Other languages
English (en)
Other versions
KR870011535A (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 KR870011535A publication Critical patent/KR870011535A/ko
Application granted granted Critical
Publication of KR930009666B1 publication Critical patent/KR930009666B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

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)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

기억장치 액세스기구
제 1 도는 본 발명의 개념을 도시한 도면.
제 2a∼c 도는 포인터 (어드레스) 생성회로의 구성방법을 도시한 개념도.
제 3 도는 본 발명의 실시예로서의 기억장치의 구성도.
제 4 도는 본 발명의 다른 실시예의 주요부를 도시한 구성도.
제 5 도는 본 발명의 또 다른 실시예의 주요부를 도시한 구성도.
본 발명은 대용량 레지스터화일등의 기억장치에 대해서 포인터를 사용해서 액세스하는 액세스기구에 관한 것으로, 특히 포인터 (어드레스) 생성회로의 간소화, 고속화 및 액세스방법의 범용화에 적함한 기억장치의 액세스방법 및 장치에 관한 것이다.
종래, Sword 32와 같은 장치에서는, 예를 들면 Proceeding of the Internati-onal Conference on Fifth Generation Computer Systems, (1984년) 제 389 페이지∼제 397 페이지에 기재되어 있는 바와 같이, 액세스 빈도가 높은 데이타로서의 액티베이션 레코드(context)를 고속액세스가 가능한 레지스터화일에 할당하고 있다.
그런데, 통상의 소프트웨어에 의한 액티베이션 레코드의 유지방법에서는 하나의 스택상에 그들을 리니어로 할당해서 액티베이션 레코드내의 모든 데이타를 포인터에 대응해서 액세스하고 있었다. 그러나, 액티베이션 레코드는 각각이 동일한 크기를 갖는 순서실행을 위한 제어정보를 포함하는 영역과 코기가 반드시 일정하지 않은 스택영역으로 이루어져 있다.
상술한 Sword 32에 있어서는 레지스터화일의 일부를 뱅크레지스터로서 사용할 수 있는 기능을 가지며, 각 뱅크에 액티베이션 레코드마다 순서실행용 제어정보를 포함하는 영역을 할당한다. 또한, 현재 활성화하고 있는 액티베이션 레코드에 대응하는 순서실행용 제어정보를 뱅크내 어드레스에서의 데이타의 액세스를 가능하게 하는 하드웨어를 구비하여 고속화를 도모하고 있다.
또, 상기 Sword 32는 Smalltalk-80언어로 쓰여진 프로그램을 특히 효율좋게 실행하도록 설계되어 있다. 그러나, 이 Smalltalk-80언어의 프로그램에 있어서는 단순히 스택을 푸시 또는 팝(pop)하는 한계에 있어서는 스택 오버플로우가 발생하지 않는 것이 컴파일러에 의해서 보장되어 있다. 그 때문에, 상기 Sword 32는 스택 오버플로우를 체크하는 하드웨어를 특별히 구비하고 있지 않다.
상술한 종래기술에 있어서는 레지스터 화일에 할당되는 액티베이션 레코드의 수와 각 레지스터의 특수 레지스터의 수가 고정되머 있으므로, 레지스터 화일내의 데이타의 최적인 수의 비는 적용된 프로그래밍언어나 어플리케이션 프로그램에 의해서 다르게 되는 점에 대해서 배려가 되어 있지 않았다. 이 때문에, 마이크로프로세서의 범용성에 대해서 문제가 있었다.
또, 통상의 프로그래밍언어로 쓰여진 프로그램은 스택 푸시 및 팝의 동작에 대해서 실행중에 스택 오버플로우를 검출하지 않으면 안되므로, 이러한 검출기구가 없는 마이크로프로세서에 있어서는 그 검출을 소프트웨어로 실현하지 않으면 안되어 실행효율이 저하한다는 문제가 있었다.
또, 상술한 종래기술에 있어서는 여러개의 스택을 효율좋게 처리하기 위한 기구가 준비되어 있지 않으므로, 타스크 스위치마다 대용량 레지스터 화일의 전체내용의 세이브 및 복귀처리가 필요하게 되어 실행효율이 더욱 저하한다는 문제도 있었다.
한편 어플리케이션 프로그램에 의해서는 고속 액세스가 가능한 레지스터 화일을 사용해서 독립적인 데이타 관리를 위한 여러개의 스택 또는 큐를 실현하는 것에 의해, 고속실행을 달성할 수 있다. 그러나, 상기 종래기술에서는 1차원적으로 번지가 붙여진 레지스터 화일 등의 기억장치를 사용해서 소프트웨어로 바라는 크기를 지정할 수 있는 자유도를 가지며 또한 오버플로우의 검출기구를 효율좋게 실현할 수 있는 스택 등의 포인터에 의해 데이타취급을 관리하는 여러개의 독립적인 기억영역을 실현하는 방법은 여전히 개발되지 않았다.
본 발명은 상기 종래기술의 문제점을 해결하기 위해서 이루어진 것으로, 본 발명의 제 1의 목적은 1차원적으로 번지가 붙여진 레지스터 화일 등의 기억장치를 몇개인가의 기억영역으로 분할하는 것에 의해 관리할 수 있는 기억장치 액세스기구를 제공하는 것이다.
본 발명의 제 2의 목적은 상기 기억영역의 크기와 수를 소프트웨어에 의해 지정할 수 있는 기억장치 액세스기구를 제공하는 것이다.
본 발명의 제 3의 목적은 오버플로우 검출기구를 갖는 스택 등의 포인터에 의해 데이타의 취급을 독립적으로 관리할 수 있는 여러개의 기억영역을 효율좋게 액세스하는 기억장치 액세스기구를 제공하는 것이다.
본 발명의 제 4의 목적은 여러개의 타스크를 효율좋게 처리하기 위해 각각의 타스크에 대응하는 기억영역의 관리를 효율좋게 실현할 수 있는 기억장치 액세스기구를 제공하는 것이다.
본 발명의 제 1의 목적에 대해서는 1차원적으로 번지가 붙여진 기억영역을 여러개의 기억영역으로 분할해서 관리하는 기억장치 액세스기구에 있어서, 상기 여러개의 분할된 기억영역중의 기억영역을 지정하는 제 1의 지정포인터의 값과 지정된 기억영역내의 상대 어드레스를 지정하는 제 2의 지정포인터의 값을 사용해서 액세스되어야 할 기억영역의 어드레스를 지정하는 액세스 포인터의 값을 결정하는 포인터 (어드레스) 생성수단을 포함하는 기억장치 액세스기구에 의해서 달성된다.
본 발명의 제 2의 목적에 대해서는 N비트의 제 1의 지정포인터중의 임의의 n비트를 유효비트로 하고, 그 이외의 N-n비트를 무효비트로 하고, 제 1의 지정포인터의 무효비트의 위치에 대응하는 N비트의 제 2의 지정포인터의 N-n비트를 유효비트로 하고, 그 이외의 n비트를 무효비트로 하며, 이들 포인터의 유효비트를 사용해서 N비트의 액세스 포인터를 생성하는 포인터 생성수단을 마련하고, 또 이들 2개의 지정포인터의 유효비트의 비트수와 위치를 프로그램에 의해 지정하는 것을 가능하게 하는 것에 의해 달성된다.
또, 본 발명의 제 3의 목적에 대해서는 1차원적으로 번지가 붙여진 기억장치의 액세스해야 할 어드레스를 지정하는데 필요한 2개의 지정포인터중의 한쪽을 독립적으로 데이타의 취급을 관리하는 여러개의 데이타 기억영역 중에서 하나의 기억영역을 선택하는 값으로 하고, 다른쪽을 데이타의 취급을 관리하기 위한 포인터로 하는 것에 의해서 달성된다.
또, 스택포인터등의 데이타의 취급을 관리하기 위한 포인터의 오버플로우는 그 포인터조작에 있어서의 연산의 실행시에 캐리의 전파를 체크하는 것에 의해 검출할 수 있다.
또, 본 발명의 제 4의 목적에 대해서는 1차원적으로 번지가 붙여진 기억영역을 여러개의 기억영역으로 나누어서 관리하는 기억장치 액세스기구에 있어서, 몇개인가의 부분영역으로 이루어지는 타스크전용 기억영역군을 지정하는 제 1의 지정포인터의 값, 지정된 타스크전용 기억영역군내의 기억영역을 지정하는 제 2의 지정포인터의 값 및 지정된 기억영역내의 상대 어드레스를 지정하는 제 3의 지정포인터의 값을 사용해서 액세스할 기억영역의 어드레스를 지정하는 포인터(어드레스) 생성수단이 마련된 기억장치 액세스기구에 의해서 달성된다.
먼저, 뱅크구성의 기억장치 어드레스지정을 예로 해서 본 발명의 원리를 설명한다.
2N워드로 이루어지는 기억장치를 이용해서 27N-n워드로 이루어지는 제 0뱅크에서 제2N-1뱅크까지의 2n개의 기억영역을 관리하는 기억장치 액세스기구에 있어서, 액세스 어드레스를 지정하는데 사용하는 2개의 N비트폭의 포인터중, 각각 한쪽을 뱅크지정 포인터, 다른쪽을 오프셋 지정포인터라고 한다.
이 경우, 뱅크지정 포인터의 하위 N-n비트를 무효비트로 해서 항상 "0"으로 하고, 상위 n비트를 유효비트로 해서 액세스된 뱅크의 순서번호를 지정한다. 한편, 오프셋 지정포인터의 상위 n비트를 무효비트로 해서 항상 "0"으로 하고, 하위 N-n비트를 유효비트로 해서 액세스할 워드의 뱅크내에 있어서의 오프셋을 지정하도록 한다.
따라서, 뱅크 지정포인터의 값은 제a뱅크를 지정하는 경우, a×2N-n으로 되고, 오프셋 지정포인터의 값은 액세스될 워드의 뱅크내의 오프셋값으로 된다.
이와 같이, 2개의 포인터의 값을 관리하고, 그들의 대응하는 비트마다 논리 OR을 산출하는 것에 의해 기억장치중에서 실제로 액세스될 어드레스를 지정하는 액세스 포인터의 값이 생성된다.
여기서, 액세스 포인터의 하위 N-n비트 필드는 오프셋 지정포인터의 하위 N-n비트 필드, 즉 뱅크내의 오프셋의 값으로 되고, 상위 n비트 필드는 뱅크지정 포인터의 상위 n비트 필드, 즉 뱅크의 순서번호로 되므로, 상기 2개의 포인터를 조합해서 얻어진 값과 액세스 포인터의 값은 1대 1의 관계에 있게 되므로, 오동작이 발생하지 않는다.
상술한 동작을 실현하는 2N워드의 기억장치를 사용해서 스택이나 큐등의 포인터에 의해서 데이타의 취급을 관리하는 2N-n워드의 기억영역을 2n개 실현하기 위하여, 뱅크 지정포인터는 여러개의 독립적으로 관리된 기억영역 중에서 액세스의 대상으로 되는 하나의 영역을 선택하는 기능을 하고, 오프셋 지정포인터는 그 기억영역 중에서 하나의 워드를 선택하는 포인터로서 동작한다.
따라서, 오프셋 지정포인터의 유효비트 필드가 하위 N-n비트인 경우는 하나의 워드를 선택하는 포인터의 갱신조작은 1마다 인크리멘트 또는 디크리멘트이지만, 유효비트 필드가 상위 N-n비트인 경우는 2n마다 인크리멘트 또는 디크리멘트를 실행하는 것에 의해서 오동작을 방지하는 것이 가능하다.
또, 스택등의 포인터에 의해서 하나의 워드를 선택하는 기억장치의 오버플로우는 다음과 같은 경우에 발생한다. 오프셋 지정포인터의 유효비트 필드가 상위 N-n비트인 경우는 하나의 워드를 선택하는 포인터가 "0"일때에 디크리멘트, 또는 그 포인터가(2N-n-1)×2n일때에 인크리멘트로 되었을 때 오버플로우가 발생하고, 한편 오프셋 지정포인터의 유효비트 필드가 하위 N-n비트인 경우는 하나의 워드를 선택하는 포인터가 "0"일때에 디크리멘트, 또는 그 포인터가 2N-n-1일때에 인크리멘트로 되었을 때 오버플로우가 발생한다.
따라서, 전자의 경우에는 포인터를 갱신하는 N비트의 연산기의 최상위 비트에서의 캐리신호에서, 후자의 경우에는 LSB를 제 0 비트로 설정하였을때의 제N-n비트에서의 캐리신호에서 이상을 검출하는 것에 의해 오동작을 방지할 수 있다.
이하, 본 발명의 실시예를 도면에 따라서 상세하게 설명한다.
제 1 도는 1차원적으로 번지가 붙여진 2N워드의 기억장치의 액세스기구에 관한 개념도이다. 제 1 도에 있어서는 기억장치를 사용해서 2N-n워드 기억영역으로 각각 이루어지는 2n개 뱅크를 실현하고 있다. 도면중, 2개의 N비트폭 포인터, 즉 뱅크 지정포인터(3)과 오프셋 지정포인터(4)는 기억장치(1)내의 액세스될 어드레스를 지정하기 위해 배치되어 있다.
포인터(어드레스) 생성회로(5)는 OR회로에 의해 구성되어 뱅크 지정포인터(3)과 오프셋 지정포인터(4)와의 조합에서 대응하는 비트사이의 논리 OR을 산출하는 것에 의해 기억장치(1)내의 액세스 워드를 지정하는 액세스 포인터 (어드레스) (6)을 생성한다.
뱅크 지정포인터 (3)의 상위 n비트필드가 유효비트로서 액세스할 뱅크(2)의 순서번호를 나타내고, 하위N-n비트가 무효비트로서 항상 "0"으로 되도록, 소프트웨어에 의해 관리가 이루어진다. 마찬가지로, 오프셋 지정포인터 (4)의 하위 N-n비트가 뱅크 지정포인터에 의해 지정된 뱅크(2)내에서 실제로 액세스될 워드의 오프셋값을 나타내고, 상위 n비트가 무효비트로서 항상 "0"으로 되도록, 소프트웨어에 의해 관리가 이루어 진다.
따라서, 뱅크 지정포인터(3)과 오프셋 지정포인터(4)를 입력으로 하는 포인터(어드레스) 생성회로(5)에 의해 생성된 액세스 포인터 (어드레스) (6)은 그 상위 n비트가 뱅크 지정포인터(3)의 상위 n비트, 그의 하위 N-n비트가 오프셋 지정포인터(4)의 하위 N-n비트를 각각 값으로서 갖게 된다.
물론, 뱅크 지정포인터(3)의 유효비트 필드를 하위 N-n비트로, 오프셋 지정포인터(4)의 유효비트 필드를 상위 n비트로 변경하는 것도 가능하다. 이 경우에는 하나의 뱅크(2)에 포함된 워드의 어드레스는 2N-n마다로 된다.
또, 뱅크 지정포인터(3) 또는 오프셋 지정포인터(4) 대신에, 본 실시예에 있어서의 기억장치(1)을 액세스하는 명령처리장치의 명령에 포함되는 값에 의해서 액세스될 뱅크(2)의 순서번호 또는 뱅크내의 액세스될 워드의 오프셋값을 지정하는 것도 가능하다.
또, 본 실시예의 특수한 경우로서, 기억장치(1)와 명령처리장치를 하나의 LSI칩으로서 구성한 마이크로프로세서를 실현하는 것도 가능하다.
상기 실시예에 의하면, 소프트웨어로 뱅크 지정포인터(3)와 오프셋 지정포인터 (4)의 무효비트 필드를 지정하고 관리하는 것에 의해, 실제로 실행될 프로그램의 특성에 따라서 뱅크(2)의 워드수를 동적으로 결정할 수 있는 효과가 있다.
또, 뱅크 지정포인터(3)와 오프셋 지정포인터(4)에 의해 지정된 워드의 위치를 나타내는 액세스 포인터(어드레스)(6)를 생성하는 포인터(어드레스) 생성회로(5)를 단순한 OR회로만으로 구성할 수 있다는 효과도 있다.
제 2 도는 제 1 도에 도시한 것 이외의 포인터 생성회로의 기구에 관한 개념을 도시한 것이다 제 2a 도에 있어서, 뱅크 지정포인터(3A)의 비트폭은 n+m이고, 오프셋 지정포인터(4A)의 비트폭은 m이며, 이들은 m+n비트의 액세스 포인터(어드레스) (6A)를 생성하기 위해 사용된다.
액세스 포인터 (6A)의 상의 n비트의 값은 뱅크 지정포인터 (3A)의 상위 n비트의 값을 직접 취하고, 또 하위 m비트의 같은 뱅크지정포인터 (3A)의 하위 m비트와 오프셋 지정포인터(4A) 사이의 각 비트마다 OR회로로 구성되는 포인터 생성회로(5)에 의해 논리 OR을 산출하는 것에 의해 얻어진 값으로 되어 있다.
여기서, 뱅크 지정포인터 (3A)와 오프셋 지정포인터(4A)를 서로 교체하여도 아무 문제없이 동작을 원활하게 실행할 수 있는 것은 용이하게 유추할 수 있다.
제 2b 도에 있어서, 뱅크 지정포인터 (3B)의 비트폭은 n이고, 오프셋 지정포인터(4B)의 비트폭은 m+n이며. 이들은 m+n비트의 액세스 포인터 (6B)를 생성하는데 사용된다. 액세스 포인터(6B)의 하위 m비트의 값은 오프셋 지정포인터 (4B)의 하위 m비트의 값을 직접 취하고, 또 상위 n비트의 값은 뱅크 지정포인터 (3B)와 오프셋 지정포인터(4B)의 상위 n비트사이의 비트마다 OR회로로 구성되는 포인터 생성회로(5)에 의해 논리 OR를 산출하는 것에 의해 얻어진 값으로 되어 있다.
여기서, 뱅크 지정포인터(3B)와 오프셋 지점포인터(4B)를 서로 교체하여도 아무 문제없이 동작을 원활하게 실행할 수 있는 것은 용이하게 유추할 수 있다.
제 2c 도에 있어서, 뱅크 지정포인터 (3C)의 비트폭은 n1+m이고, 오프셋 지정포인터 (4C)의 비트폭은 m+n2이고, 이들은 n1+m+n2비트의 액세스 포인터 (6C)를 생성하는데 사용된다. 액세스 포인터 (6C)의 상위 n1비트는 뱅크 지정포인터 (3C)의 상위 n1비트의 값을 직접 취하고, 또 하위 n2비트는 오프셋 지정포인터 (4C)의 하위 n2비트의 값을 직접 취한다. 액세스 포인터 (6C)의 나머지 m비트는 뱅크 지정포인터 (3C)의 하위 m비트와 오프셋 지정포인터 (4C)의 상위 m비트 사이의 비트마다 OR회로로 구성되는 포인터 생성회로(5)에서 논리 OR을 산출하는 것에 의해 얻어진 값을 취한다.
여기서, 뱅크 지정포인터 (3C)와 오프셋 지정포인터 (4C)를 서로 교체하여도 아무 문제없이 동작을 원활하게 실행할 수 있는 것은 용이하게 유추할 수 있다.
제 3 도는 상기에서 설명한 본 발명의 개념을 이용해서 27N-n워드로 각각 구성되어 스택 또는 큐등의 독립적으로 관리되는 2n개의 기억영역(2A)을 실현한 실시예를 도시한 도면이다.
기억영역 지정포인터 (3D)는 2N개의 기억영역중에서 하나의 기억영역을 선택하는 것으로, 그 하위 n비트필드의 값이 지정된 기억 영역의 순서번호를 나타내고, 그 상위 N-n비트필드가 무효비트로서 항상"0"으로 되도록 소프트웨어에 의해 관리된다.
포인터 레지스터군(4D)는 포인터에 의해서 데이타의 취급이 관리되는 2N개의 기억영역에 대응하는 포인터의 군으로 이루어진다. 상기 포인터 레지스터군(4D)내의 각각의 포인터는 대응하는 기억장치 (1)의 데이타의 입력 또는 출력, 또는 입출력을 관리한다. 포인터의 상위 N-n비트의 값이 대응하는 기억영역내의 워드번호를 나타내고, 그 하위 n비트가 무효비트로서 항상 "0"으로 되도록, 소프트웨어에 의해 관리가 실행된다.
따라서, 포인터 레지스터군(4D)내의 모든 포인터는 항상 2n의 배수의 값을 취한다. 실제로 액세스할 워드를 선택하는 액세스 포인터 (6D)는 기억영역 지정포인터 (3D)와 기억영역 지정포인터 (3D)에 의해서 지정된 기억영역에 대해서 처리를 실행하는 포인터 레지스터군(4D)의 대응하는 포인터를 입력으로 하는 포인터생성회로(5)에 의해서 생성된다.
상술한 액세스 포인터 (6D)의 하위 n비트의 값은 기억영역 지정포인터 (3D)의 하위 n비트의 값이고, 액세스 포인터 (6D)의 상위 N-n비트의 값은 그때 포인터 생성회로(5)에 입력된 포인터 레지스터군(4D)의 포인터의 상위 N-n비트의 값이다. 또, 모든 기억영역의 제i번째의 워드는 제i번째의 필드군(2A)에 할당되어 있다.
가산기(7)은 데이타 취급을 관리하는 포인터의 값을 갱신하는 기능을 갖는 것이다. 정수입력(9)는 가산기(7)이 포인터의 값을 인크리멘트 또는 디크리메트할 때에 그 증감폭을 지정하는 것이다.
통상, 정수입력(9)에는 2n이 값으로서 입력된다. 캐리(8)은 N비트 가산기(7)의 최상위 비트인 제 N-1 비트에서의 캐리의 전파로서, 스택 오버플로우, 스택 언더플로우, 링버퍼의 랩어라운드(lap-around)를 검출하는데 사용된다.
본 실시예에 의하면, 소프트웨어가 기억영역 지정포인터 (3D)와 포인터 레지스터군(4D)의 각각의 무효비트 필드를 결정할 때에 독립적으로 데이타의 취급이 관리되는 기억영역의 수와 각각의 기억영역의 워드수의 비를 실행할 프로그램의 특성에 따라서 결정할 수 있다는 효과가 있다.
또, 기억영역에 대해서 실행하는 데이타의 취급시에 발생할 가능성이 있는 모든 오버플로우는 모든 기억영역에 대해서 동일한 방법으로 포인터연산의 최상위 비트에서의 캐리의 전파에 의해서 감지할 수 있다는 또 다른 효과도 있다.
제 4 도는 뱅크 지정포인터(3E)와 오프셋 지정포인터(4E)의 무효비트의 관리를 지원하는 하드웨어의 개념도이다.
(12)는 마스크회로로서, 뱅크 지정포인터(3E)와 오프셋 지정포인터(4E)의 무효비트 필드를 사전에 포인터 필드지정(10)에 의해 지정된 마스크패턴에 따라서 강제적으로 "0"으로 설정한다.
뱅크 지정포인터(3E)는 선택될 뱅크의 순서번호를 그대로 유지하고 있다. 포인터 필드지정(10)의 N비트폭에서 상위 n비트가 유효비트 필드인 것을 지시하고 있는 경우, 시프터회로(11)은 뱅크 지정포인터(3E)의 값을 MSB방향으로 N-n비트 시프트한다.
여기서, 뱅크 지정포인터(3E)와 오프셋 지정포인터(4E)를 서로 교체하여도 아무 문제없이 동작을 실행할 수 있는 것은 용이하게 유추할 수 있다.
본 실시예에 의하면, 마스크회로(12)를 부가하는 것에 의해 뱅크 지정포인터(3E)와 오프셋 지정포인터(4E)의 무효비트 필드를 항상 "0"으로 하도록, 소프트웨어에 의해 관리할 필요가 없고, 또 무효비트 필드를 사용해서 다른 정보를 실현하는 것이 가능하게 된다는 효과가 있다.
한편, 시프터회로(11)을 부가하여 포인터 필드지정 (10)을 변경하는 것만에 의해 뱅크의 수와 뱅크를 구성하는 레지스터의 수의 비가 여러가지 경우에 대해서 하나의 프로그램에 의해서 대처할 수 있도록 프로그램의 모듈성을 향상할 수 있다는 또 다른 효과가 있다.
제 5 도는 여러개의 뱅크 지정포인터를 사용하여 액세스할 기억영역을 지정하는 방식의 1실시예로서, 2개의 뱅크 지정포인터를 마련하고, 한쪽을 타스크전용 뱅크군 지정포인터(13), 다른쪽을 타스크내 뱅크 지정포인터(14)로서 사용한 것의 개념도이다.
상기 타스크전용 뱅크군 지정포인터(13), 타스크내 뱅크 지정포인터(14), 오프셋 지정포인터(4F) 및 엑세스 포인터(6F)의 각각의 비트폭은 n1+n2+n3이다. 상기 액세스 포인터(6F)는 타스크전용 뱅크군 지정포인터(13)타스크내 뱅크 지정포인터(14) 및 오프셋 지정포인터(4F)의 대응하는 비트마다 포인더 생성회로(5A)가 논리 OR을 산출할 때에 3입력 OR회로로 구성되는 포인터 생성회로(5A)에 의해 생성된다.
상기 타스크전용 뱅크군 지정포인터(13)은 상위 n1트를 유효비트필드로 해서 타스크마다 전용으로 할당된 뱅크군의 순서번호를 나타내고, 다른 비트를 무효비트로 해서 항상 "0"으로 하도록, 소프트웨어에 의해 관리된다.
또, 타스크내 뱅크 지정포인터(14)는 상위 n1비트 다음의 n2비트를 유효비트 필드로 해서 타스크마다 할당된 뱅크군내의 액세스할 뱅크의 순서번호를 나타내고, 다른 비트를 무효비트로 해서 항상 "0"으로 하도록, 소프트웨어에 의해 관리된다.
오프셋 지정포인터(4F)는 하위 n3비트를 유효비트 필드로 해서 뱅크내의 액세스될 워드의 오프셋값을 나타내고, 다른 비트를 무효비트로 해서 항상 "0"으로 하도록, 소프트웨어에 의해 관리된다.
이상 기술한 바와 같이, 액세스 포인터(6F)의 상위 n1비트는 타스크전용 뱅크군 지정포인터(13)의 유효비트의 값을 나타내고, 액세스 포인터(6F)의 다음의 n2비트는 타스크내 뱅크 지정포인터(14)의 유효비트의 값을 나타내며, 액세스 포인터(6F)의 하위 n3비트는 오프셋 지정포인터(4F)의 유효비트의 값을 나타낸다.
본 실시예에 의하면, 여러개의 타스크의 실행을 동시에 관리하는 경우, 타스크 스위치시에 필요하게 되는 레지스터의 세이브, 복귀처리를 실행하는 대신에, 타스크전용 뱅크군 지정포인터(13)의 값을 변경하는 것만으로 좋으므로, 실행효율을 높일 수 있다는 효과가 있다.
본 발명의 바람직한 실시형태를 다음에 기술한다.
(1) 1차원적으로 번지가 붙여진 기억장치를 여러개의 기억영역으로 분할한 기억장치의 액세스기구에 있어서, 상기 여러개의 분할된 기억영역을 지정하는 뱅크 지정포인터의 값과 이 기억영역내의 상대 어드레스를 지정하는 오프셋 지정포인터의 값을 사용해서 액세스할 기억영역의 어드레스를 지정하는 액세스 포인터의 값을 결정하는 포인터 생성회로를 포함하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(2) 상기 제 1 항 기재의 기억장치 액세스기구에 있어서, 뱅크 지정포인터의 값을 2진 표현한 비트필드의 일부 또는 전부와 오프셋 지정포인터의 값을 2진 표현한 비트필드의 일부 또는 전부를 상기 포인터 생성회로에 입력하고, 그 출력을 액세스 포인터의 값으로 사용하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(3) 상기 제 2 항 기재의 기억장치 액세스기구에 있어서, 액세스 포인터의 2진 표현한 비트필드를 상기 포인터 생성회로의 출력으로 하는 부분과 뱅크 지정포인터의 비트필드의 일부 또는 전부의 값으로 부분 또는 오프셋 지정포인터의 비트필드의 일부 또는 전부의 값으로 하는 부분으로 나눈 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(4) 상기 제 3 항 기재의 기억장치 액세스기구에 있어서, 액세스 포인터의 비트필드를 상기 포인터 생성회로의 출력으로 하는 부분과 오프셋 지정포인터의 비트필드의 일부 또는 전부의 값으로 하는 부분 및 뱅크지정포인터의 비트필드의 일부 또는 전부로 하는 부분으로 나눈 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(5) 상기 제 1 항부터 제 4 항까지의 기재의 기억장치 액세스기구에 있어서, 액세스할 기억영역을 여러개의 뱅크 지정포인터를 사용해서 지정하고, 이들 포인터의 값과 오프셋 지정포인터의 값을 사용해서 액세스할 기억장치의 어드레스를 지정하는 액세스 포인터의 값을 결정하는 포인터 생성회로를 다입력 OR회로에 의해서 구성한 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(6) 상기 제 5 항 기재의 기억장치 액세스기구에 있어서, 2개의 뱅크 지정포인터를 배치하고, 하나를 타스크전용 뱅크군 지정포인터로 사용하고, 다른 하나를 타스크내 뱅크 지정포인터로 사용하고, 상기 포인터생성회로를 3입력 OR회로에 의해서 구성한 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(7) 상기 제 1 항부터 제 6 항까지의 기재의 기억장치 액세스기구에 있어서, 각 포인터의 출력단을 오픈콜렉터출력으로 하는 것에 의해, 여러개의 입력선을 하나의 출력선에 접속한 와이어드 OR회로로서 포인터생성회로를 실현한 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(8) 상기 제 1 항부터 제 7 항까지의 기재의 기억장치 액세스기구에 있어서, 뱅크 지정포인터를 여러단 배치하고 그 중에서 실제로 액세스될 기억영역을 지정하는데 사용하는 뱅크 지정포인터를 선택하는 기능 또는 오프셋 지정포인터를 여러단 배치하고 그 중에서 실제로 액세스될 기억영역의 어드레스를 지정하는데 사용하는 오프셋 지정포인터를 선택하는 기능을 갖던가 또는 이들의 양 기능을 갖는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(9) 상기 제 1 항부터 제 8 항까지의 기재의 기억장치 액세스기구에 있어서, 상기 기억영역을 명령처리장치에 포함되는 레지스터군으로 하고, 상기 뱅크 지정포인터, 오프셋 지정포인터 및 액세스 포인터를 레지스터 뱅크 지정포인터, 레지스터 오프셋 지정포인터 및 레지스터 액세스포인터로 각각 실현한 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(10) 상기 제 1 항부터 제 9 항까지의 기재의 기억장치 액세스기구에 있어서, N비트폭의 레지스터 뱅크지정포인터의 상위 n비트를 유효비트로 해서 레지스터군상의 뱅크를 지정하고, N비트폭의 레지스터 오프셋 지정포인터의 하위 N-n비트를 유효비트로 해서 레지스터 뱅크내의 오프셋을 지정하고, 상기 유효비트 이외를 "0"비트로 하도록, 소프트웨어에 의해 관리하고, 이들 2개의 포인터의 논리 OR한 값을 레지스터 액세스 포인터의 값으로 사용하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(11) 상기 제 10 항 기재의 기억장치 액세스기구에 있어서, 레지스터 뱅크 지정포인터의 유효비트를 하위 n비트로 하고, 레지스터 오프셋 지정포인터의 유효비트를 상위 N-n비트로 하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(12) 상기 제 10 항 및 제 11 항 기재의 기억장치 액세스기구를 사용해서, 각 레지스터 뱅크마다 스택등의 포인터에 의해서 데이타의 취급을 관리하는 기억영역을 실현하고, 각각의 기억영역에 대해서 데이터의 취급을 관리하는 포인터를 배치하고, 상기 레지스터 뱅크 지정포인터의 값에 따라서 액세스될 기억영역에 대응하는 포인터를 선택하고, 이 포인터를 레지스터 오프셋 지정포인터로 해서 상기 레지스터 뱅크 지정포인터와 함께 상기 포인터 생성회로에 입력하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
(13) 상기 제(12)항 기재의 기억장치 액세스기구에 있어서, 포인터에 의해서 데이타의 취급을 관리하는 각각의 기억영역의 오버플로우를 뱅크내 오프셋으로서 포인터 생성회로에 입력된 포인터의 연산시에 캐리의 전파에 의해서 검출하는 것을 특징으로 하는 기억장치 액세스기구를 마련하는 것이다.
이상 기술한 바와 같이 본 발명에 의하면, 1차원적으로 번지가 붙여진 기억영역을 여러개의 영역으로 분할한 기억장치의 액세스기구에 있어서, 상기 분할된 기억영역중에서 기억영역을 지정하는 제 1의 지정포인터의 값과 상기 기억영역내의 상대 어드레스를 지정하는 제 2의 지정포인터의 값을 사용해서 액세스할 기억영역의 어드레스를 지정하는 액세스 포인터 생성수단을 마련하였으므로, 상기 여러개의 영역중에서 기억영역의 액세스에 유효한 액세스기구를 실현할 구 있다는 효과를 얻는 것이다.
또, 본 발명에 의하면, 상기 기억영역의 크기와 수를 소프트웨어에 의해 지정하는 것을 가능하게 하고, 또한 각각의 이들 기억영역을 사용해서 오버플로우 검출기구를 갖는 스택등의 포인터에 의해 데이타의 취급을 관리하는 여러개의 기억장치를 효율좋게 실현할 수 있다는 현저한 효과를 얻는 것이다.

Claims (13)

  1. 제 1의 정보를 기억하는 여러개의 레지스터군을 갖고, 각각의 레지스터군이 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 레지스터 어드레스에 의해 선택적으로 어드레스할 수 있는 여러개의 레지스터를 포함하는 데이타 처리장치의 레지스터 액세스기구에 있어서, 명령에 의해 부여되고 상기 여러개의 레지스터군중의 하나의 레지스터군을 나타내는 제 2의 정보를 기억하는 제 1의 기억수단, 상기 명령에 의해 부여되고 상기 명령의 상기 제 2의 정보에 의해 나타내어진 상기 하나의 레지스터군중의 하나의 레지스터를 나타내는 제 3의 정보를 기억하는 제 2의 기억수단, 상기 제 1 및 제 2의 기억수단에 결합되고, 상기 제 2 및 제 3의 정보의 각 비트에 대한 OR동작을 실행하여 상기 제 2 및 제 3의 정보에 의해 나타내어진 상기 하나의 레지스터군중의 상기 하나의 레지스터의 레지스터 어드레스로서의 OR값을 생성하고, 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 상기 하나의 레지스터군중의 상기 하나의 레지스터의 레지스터 어드레스를 상기 하나의 레지스터로 출력하는 논리 OR회로를 포함하고, 상기 제 2의 정보 및 상기 제 3의 정보는 상기 명령에 의해 규정된 유효부분과 무효부분을 각각 포함하며, 상기 제 2의 정보의 유효부분은 상기 제 3의 정보의 무효부분에 대응하는 비트위치이고, 그 반대의 비트위치도 마찬가지이며, 상기 제 2의 정보 및 상기 제 3의 정보의 상기 무효부분의 비트위치는 상기 명령에 의해 항상 0으로 설정되며, 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 무효부분 및 상기 제 2의 정보의 무효부분과 상기 제 3의 정보의 유효부분은 상기 논리 OR회로에 의해 논리합으로 되었을 때, 상기 논리OR회로가 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 유효부분을 갖는 OR값을 생성하는 레지스터 액세스기구.
  2. 제 1 항에 있어서, 상기 제 3의 정보의 유효부분은 상기 제 2의 기억수단의 하위 n비트에 할당되고, 상기 제 2의 정보의 무효부분은 상기 제 1의 기억 수단의 하위 n비트에 할당되는 레지스터 액세스기구
  3. 제 1 항에 있어서, 상기 제 2 의 정보의 유효부분은 상기 제 1의 기억수단의 하위 n비트에 할당되고, 상기 제 3의 정보의 무효부분은 상기 제 2의 기억수단의 하위 n비트에 할당되는 레지스터 액세스기구.
  4. 제 1의 정보를 기억하는 여러개의 레지스터군을 갖고, 각각의 레지스터군이 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트할 수 있도록 레지스터 어드레스에 의해 선택적으로 어드레스할 수 있는 여러개의 레지스터를 포함하는 데이타 처리장치와 레지스터 액세스기구에 있어서, 명령에 의해 부여되고 상기 여러개의 레지스터군중의 하나의 레지스터군을 나타내는 제 2의 정보를 기억하는 제 1의 기억수단, 상기 명령에 의해 부여되고 상기 명령의 상기 제 2의 정보에 의해 나타내어진 상기 하나의 레지스터군중의 하나의 레지스터를 나타내는 제 3의 정보를 기억하는 제 2의 기억수단, 소정의 값으로 상기 제 1의 기억수단에 기억된 상기 제 2의 정보에 대한 변경조작을 실행하여 변경된 제 2의 정보를 생성하고, 상기 변경조작에 따라서 스택 오버플로우 지시신호 또는 스택 언더플로우 지시신호를 생성하여 스택 오버플로우 또는 스택 언더플로우 상태를 지시하고, 상기 신호를 상기 데이타처리회로 출력하는 변경수단, 상기 변경된 제 2의 정보 및 상기 제 3의 정보의 각 비트에 대한 OR동작을 실행하여 상기 제 2의 정보 및 상기 제 3의 정보에 의해 나타내어진 상기 하나의 레지스터군의 상기 하나의 레지스터의 레지스터 어드레스로서의 OR값을 생성하고, 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 상기 하나외 레지스터군중의 상기 하나의 레지스터의 레지스터 어드레스를 상기 하나의 레지스터로 출력하는 논리 OR회로를 포함하고, 상기 변경조작은 스택 푸시조작 또는 스택 팝조작중의 어느 것인가 하나이고, 상기 제 2의 정보 및 상기 제 3의 정보는 상기 명령에 의해 규정된 유효부분과 무효부분을 각각 포함하며, 상기 제 2의 정보의 유효부분은 상기 제 3의 정보의 무효부분에 대응하는 비트위치이고, 그 반대의 비트위치도 마찬가지이며, 상기 제 2의 정보 및 상기 제 3의 정보의 상기 무효부분의 비트위치는 상기 명령에 의해 항상 0으로 설정되며, 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 무효부분 및 상기 제 2의 정보의 무효부분과 상기 제 3의 정보의 유효부분은 상기 논리 OR회로에 의해 논리합으로 되었을 때, 상기 논리 OR회로가 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 유효부분을 갖는 OR값을 생성하는 레지스터 액세스기구.
  5. 제 4 항에 있어서, 상기 변경수단은 상기 제 2의 정보에 상기 소정의 값을 가산하는 가산기인 레지스터 액세스기구.
  6. 제 4 항에 있어서, 상기 변경수단은 상기 제 2의 정보에서 상기 소정의 값을 감산하는 감산기인 레지스터 액세스기구.
  7. 제 4 항에 있어서, 상기 제 3의 정보의 유효부분은 상기 제 2의 기억수단의 하위 n비트에 할당되고, 상기 제 2의 정보의 무효부분은 상기 제 1의 기억 수단의 하위 n비트에 할당되며, 상기 소정의 값은 2n인 레지스터 액세스기구.
  8. 제 4 항에 있어서, 상기 제 1의 기억수단은 레지스터군에 각각 대응하며 또한 명령에 의해 선택적으로 액세스되는 여러개의 레지스터를 포함하는 레지스틱 액세스기구.
  9. 제 1의 정보를 기억하는 여러개의 레지스터군을 갖고 각각의 레지스터군이 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 선택적으로 어드레스할 수 있는 여러개의 레지스터를 포함하며, 명령에 의해 부여된 지정정보를 각각 유지하는 제 1 및 제 2의 지정포인터, 레지스터를 갖는 데이타 처리장치의 레지스터 액세스기구에 있어서, 상기 명령중의 하나에 의해 부여되고 상기 제 1의 지정포인터 레지스터내의 지정정보로 이루어지는 제 2의 정보를 입력하는 것에 의해 상기 여러개의 레지스터군중의 하나의 레지스터군을 지정하는 제 1의 어드레싱수단, 상기 명령중의 하나에 의해 부여되고 상기 제 2의 지정포인터 레지스터내의 지정정보로 이루어지는 제 3의 정보를 입력하는 것에 의해 상기 제 1의 어드레싱수단에 의해 지정된 상기 하나의 레지스터군내의 여러개의 레지스터중의 하나의 레지스터를 지정하는 제 2의 어드레싱수단, 상기 제 1 및 제 2의 어드레싱수단에 결합되고, 상기 제 1의 지정포인터 레지스터내에 유지된 상기 제 2의 정보와 상기 제 2의 지정포인터 레지스터내에 유지된 상기 제 3의 정보의 각 비트에 대한 OR동작을 실행하여 상기 제 2의 정보 및 상기 제 3의 정보에 의해 나타내어진 상기 하나의 레지스터군의 상기 하나의 레지스터의 레지스터 어드레스로서의 OR값을 생성하고, 상기 제 1의 정보를 리드하거나 또는 상기제 1의 정보를 라이트하도록 상기 하나의 레지스터군의 상기 하나의 레지스터의 레지스터 어드레스를 상기 하나의 레지스터에 출력하는 논리 OR회로를 포함하고, 상기 제 2의 정보 및 상기 제 3의 정보는 상기 명령에 의해 규정된 유효부분과 무효부분을 각각 포함하며, 상기 제 2의 정보 및 상기 제 3의 정보는 N비트 길이이며, 상기 제 2의 정보의 유효부분은 그의 상위 n비트이고, 상기 제 2의 정보의 무효부분은 그의 하위(N-n)비트이며, 상기 제 3의 정보의 무효부분은 그의 상위 n비트이고, 상기 제 3의 정보의 유효부분은 그의 하위 (N-n)비트이며, 상기 제 2의 정보 및 상기 제 3의 정보의 무효부분의 각 비트는 상기 명령에 의해 항상 0으로 설정되고, 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 무효부분 및 상기 제 2의 정보의 무효부분과 상기 제 3의 정보의 유효부분은 상기 논리 OR회로에 의해 논리합으로 되었을 때, 상기 논리 OR회로가 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 유효부분을 갖는 OR값을 생성하는 레지스터액세스기구.
  10. 제 1의 정보를 기억하는 여러개의 레지스터군을 갖고, 각가의 레지스터군이 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 레지스터 어드레스에 의해 선택적으로 어드레스할 수 있는 여러개의 레지스터를 포함하며, 명령에 의해 부여된 지정정보를 유지하는 제 1 및 제 2의 지정포인터 레지스터를 갖는 데이타 처리장치의 레지스터 액세스기구에 있어서, 상기 명령중의 하나에 의해 부여되고 상기 제 1의 지정포인터 레지스터내의 지정정보로 이루어지는 제 2의 정보를 입력하는 것에 의해 상기 여러개의 레지스터군중의 하나의 레지스터군을 지정하는 제 1의 어드레싱수단, 상기 명령중의 하나에 의해 부여되고 상기 제 2의 지정포인터 레지스터내의 지정정보로 이루어지는 제 3의 정보를 입력하는 것에 의해 상기 제 1의 어드레싱수단에 의해 지정된 상기 하나의 레지스터군내의 여러개의 레지스터중의 하나의 레지스터를 지정하는 제 2의 어드레싱수단, 소정의 값으로 상기 제 1의 지정포인터 레지스터내에 기억된 상기 제 2의 정보에 대한 변경조작을 실행하여 변경된 상기 제 2의 정보를 생성하고, 상기 변경조작에 따라서 스택 오버플로우지시신호 또는 스택 언더플로우 지시신호를 생성하여 레지스터 오버플로우 또는 레지스터 언더플로우 상태를 지시하고, 상기 신호를 상기 데이타처리장치로 출력하는 변경수단, 상기 제 1 및 제 2의 어드레싱수단에 결합되고, 상기 제 1의 지정포인터 레지스터내에 기억된 상기 변경된 제 2의 정보 및 상기 제 2의 지정포인터 레지스터내에 기억된 상기 제 3의 정보의 각 비트에 대한 OR동작을 실행하여 상기 제 2의 정보 및 상기 제 3의 정보에 의해 나타내어진 상기 하나의 레지스터군의 상기 하나의 레지스터의 레지스터 어드레스로서의 OR값을 생성하고, 상기 제 1의 정보를 리드하거나 또는 상기 제 1의 정보를 라이트하도록 상기 하나의 레지스터군중의 상기 하나의 레지스터의 레지스터 어드레스를 상기 하나의 레지스터로 출력하는 논리 OR회로를 포함하고, 상기 변경조작은 스택 푸시조작 또는 스택 팝조작중의 어느것인가 하나이고, 상기 제 2의 정보 및 상기 제 3의 정보는 상기 명령에 의해 규정된 유효부분과 무효부분을 각각 포함하며, 상기 제 2의 정보 및 상기 제 3의 정보는 N비트 길이이고, 상기 제 2의 정보의 유효부분은 그의 상위 n비트이고, 상기 제 2의 정보의 무효부분은 그의 하위 (N-n)비트이며, 상기 제 3의 정보의 무효부분은 그의 상위 n비트이고, 상기 제 3의 정보의 유효부분은 그의 하위 (N-n)비트이며, 상기 제 2의 정보 및 상기 제 3의 정보의 무효부분의 각 비트는 상기 명령에 의해 항상 0으로 설정되고, 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 무효부분 및 상기 제 2의 정보의 무효부분과 상기 제 3의 정보의 유효부분은 상기 논리 OR회로에 의해 논리합으로 되었을 때, 상기 논리 OR회로가 상기 제 2의 정보의 유효부분과 상기 제 3의 정보의 유효부분을 갖는 OR값을 생성하는 레지스터 액세스기구.
  11. 제 10 항에 있어서, 상기 변경수단은 상기 제 2의 정보에 상기 소정의 같을 가산하는 가산기인 레지스터 액세스기구.
  12. 제 10 항에 있어서, 상기 변경수단은 상기 제 2의 정보에서 상기 소정의 값을 가산하는 감산기인 레지스터 액세스기구.
  13. 제 10 항에 있어서, 상기 제 1의 어드레싱수단은 레지스터군에 각각 대응하며 또한 명령에 의해 선택적으로 액세스되는 여러개의 레지스터를 포함하는 레지스터 액세스기구.
KR1019870005090A 1986-05-24 1987-05-22 기억장치 액세스기구 KR930009666B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61119803A JP2522248B2 (ja) 1986-05-24 1986-05-24 記憶装置アクセス機構
JP119803 1986-05-24

Publications (2)

Publication Number Publication Date
KR870011535A KR870011535A (ko) 1987-12-24
KR930009666B1 true KR930009666B1 (ko) 1993-10-08

Family

ID=14770609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870005090A KR930009666B1 (ko) 1986-05-24 1987-05-22 기억장치 액세스기구

Country Status (3)

Country Link
JP (1) JP2522248B2 (ko)
KR (1) KR930009666B1 (ko)
GB (1) GB2191317B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2488980B (en) 2011-03-07 2020-02-19 Advanced Risc Mach Ltd Address generation in a data processing apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389380A (en) * 1965-10-05 1968-06-18 Sperry Rand Corp Signal responsive apparatus
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
GB2008821B (en) * 1977-11-04 1982-01-13 Sperry Rand Corp Digital computers
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
JPS6158043A (ja) * 1984-07-28 1986-03-25 Fujitsu Ltd レジスタアドレス変換回路
US4704679A (en) * 1985-06-11 1987-11-03 Burroughs Corporation Addressing environment storage for accessing a stack-oriented memory

Also Published As

Publication number Publication date
GB8712079D0 (en) 1987-06-24
KR870011535A (ko) 1987-12-24
GB2191317A (en) 1987-12-09
GB2191317B (en) 1990-05-16
JPS62276633A (ja) 1987-12-01
JP2522248B2 (ja) 1996-08-07

Similar Documents

Publication Publication Date Title
US3786432A (en) Push-pop memory stack having reach down mode and improved means for processing double-word items
US4375678A (en) Redundant memory arrangement providing simultaneous access
US4809156A (en) Address generator circuit
EP0011442B1 (en) Data processing system having an integrated stack and register machine architecture
US4320455A (en) Queue structure for a data processing system
US4258419A (en) Data processing apparatus providing variable operand width operation
JPS6027964A (ja) メモリアクセス制御回路
US5249148A (en) Method and apparatus for performing restricted modulo arithmetic
EP0543366B1 (en) Data processing method and apparatus
US4240142A (en) Data processing apparatus providing autoincrementing of memory pointer registers
EP0167959B1 (en) Computer vector register processing
US5293594A (en) Data processing system having a plurality of register groups and a logical or circuit for addressing one register of one of the register groups
US3737871A (en) Stack register renamer
CA2000145C (en) Data transfer controller
US4250545A (en) Data processing apparatus providing autoloading of memory pointer registers
KR930009666B1 (ko) 기억장치 액세스기구
US5179681A (en) Method and apparatus for current window cache with switchable address and out cache registers
EP0180157A2 (en) Information processing unit
US5179682A (en) Method and apparatus for improved current window cache with switchable address in, out, and local cache registers
US4301514A (en) Data processor for processing at one time data including X bytes and Y bits
EP0234187B1 (en) Programmably controlled shifting mechanism in a programmable unit having variable data path widths
JPH05143451A (ja) データ処理装置
EP0888586A1 (en) Array indexing
US3516070A (en) Storage addressing
JP2716563B2 (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: 20021002

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee