KR940009097B1 - 암시영역 어드레싱 - Google Patents

암시영역 어드레싱 Download PDF

Info

Publication number
KR940009097B1
KR940009097B1 KR1019870011353A KR870011353A KR940009097B1 KR 940009097 B1 KR940009097 B1 KR 940009097B1 KR 1019870011353 A KR1019870011353 A KR 1019870011353A KR 870011353 A KR870011353 A KR 870011353A KR 940009097 B1 KR940009097 B1 KR 940009097B1
Authority
KR
South Korea
Prior art keywords
area
state
program
address
signal
Prior art date
Application number
KR1019870011353A
Other languages
English (en)
Other versions
KR880005517A (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 KR880005517A publication Critical patent/KR880005517A/ko
Application granted granted Critical
Publication of KR940009097B1 publication Critical patent/KR940009097B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

내용 없음.

Description

암시영역 어드레싱
제1도는 본 발명을 실시하는 데이터 처리기의 블록다이아그램 개관도.
제2도는 에뮬레이션 프로그램으로의 엔트리중 데이터의 진행순서를 도시한 블록다이어그램 약도.
제3도는 기억 억세스중 데이터의 진행순서를 도시한 블록다이아그램 약도.
제4도는 암시영역 기억 억세스를 실시하는 논리의 상세한 다이아그램.
제5도는 영역 기억 억세스를 명령장치-기억장치 인터페이스의 논리다이아그램.
제6도는 에뮬레이션 프로그램에로의 엔트리중 수행되는 시험들을 도시한 다이아그램 약도.
제7도는 에뮬레이션 프로그램에로의 엔트리중 수행되는 시험들의 실시를 도시한 논리다이아그램.
* 도면의 주요부분에 대한 부호의 설명
2 : 영역 3 : 영역 기억장치
10 : 실행장치 11 : 은익 기억장치
12 : 주기억장치 17 : 회선
20 : 모선 211 : 제어 기억장치
216 : 레지스터 334 : 인터페이스 논리
351 : 비교기 702 : 블록
704 : 해독기 711 : AND게이트
본 발명은 논리 처리장치들을 실시하는 시스템제어 프로그램들을 실행하는 데이터 처리기에 관한 것이다. 각 논리 처리장치는 데이터 처리기내에서 기억 스페이스와 관련기능들을 포함한 하나의 영역을 지정받는다. 본 발명은 특히 영역 기억 스페이스의 억세싱에 관한 것이다.
현대식 고속 데이터 처리기는 다중사용자 환경에 적응되어가고 있다. 단일기계를 다중유자 환경에 적응시키기 위한 하나의 접근방법은 각 사용자에게 하나의 논리 처리장치를 지정하는 것이다. 그러나, 사용자 인터페이스를 단순화하기 위하여 이 처리장치에 대하여는 그 제한된 억세스가 명백하게 나타난다. 따라서, 기계내에서 실행되고 있는 명령과 어드레스들은 그 안에서 데이터를 어드레스하는데 실행되거나 사용될 특정 영역을 명시하지 아니한다.
하나의 영역(domain)은 명령들을 실행하는 주기억장치, 채널, 조작원시설 및 논리처리 장치들로 구성되는 하나의 처리환경이다. 영역은 적당한 실시예에 있어서 활동화되는 때에는 IBM 시스템/370 조작원리 또는 IBM 시스템/370 확장 구성 조작원리에 기술된 기능들을 가진다. 이러한 자원들은 시스템제어 프로그램에 의하여 제어되며, 그 전체를 프로그램의 영역이라 한다.
시스템제어 프로그램이 기계에 접수되면, 그 영역이 마크로 코드에 의하여 활동화 되고, 기억량, 채널수 및 필요한 논리 처리장치가 배정된다. 영역을 배정하는 시스템제어 프로그램과 마크로 코드는 제어상태라고 하는 기계상태로 조작된다. 제어상태는 시스템 어드레스들과 함께 어드레스되는 시스템기억 장치라고 하는 전용 주기억장치를 가진다.
논리 처리장치내에서 실행되는 영역 프로그램이라고 알려진 프로그램들은 사용자 상태라고 하는 기계상태에서 조작된다. 하나의 영역에 배정된 주기억장치를 영역 기억장치라 하며, 영역 기억장치어드레스는 영역 어드레스를 사용한다.
때때로, 제어상태로 실행되는 프로그램이 영역 기억장치에 기억된 데이터를 억세스할 필요가 있다. 이것은 예를 들면, 후술하는 바와 같이, 에뮬레이션중에 일어난다.
데이터 처리기는 기계의 명령으로 알려진 한 세트의 명령들을 실시하도록 지정된다. 기계의 구성이 정의된 후, 기계 세트내에 있는것 이외의 명령들을 실시하는 것이 바람직한 경우가 많다. 이것은 명령들의 에뮬레이션 프로그램을 새로운 명령을 에뮬레이트하기 위하여 제어상태로 실행될 수 있는 시스템 기억장치에 기억시킴으로써 완수된다.
에뮬레이트될 명령이 논리 처리장치와 만나게된 때에는 제어상태로의 브랜치를 취하여 명령을 에뮬레이트한다.
제어상태로의 브랜치에서는 제어상태에서 실행될 에뮬레이션 루틴에 적용되는 프로그램의 셉션들을 시험할 필요가 있다. 이러한 시험들은 에뮬레이션 프로그램내의 여러 코드회선들을 취하기 때문에, 에뮬레이션 명령의 성능이 감소된다.
일부명령을 에뮬레이트하기 위하여서도 제어상태로 실행되는 시스템 기억장치내의 에뮬레이션 프로그램이 영역 기억장치에 기억되어 있는 오퍼랜드 또는 기타 데이터를 억세스하는 것이 필요하다.
전술한 바와 같이, 논리 처리장치에 의하여 생성되는 명령과 어드레스들은 특정 어드레스를 영역 어드레스 또는 시스템 어드레스로 처리할 것인가의 여부를 명시하지 아니한다.
종전의 기술에서는 에뮬레이션중 이러한 영역 크로싱에 대비하기 위하여, 제어상태에서 조작되고, 영역 기억장치로의 억세스를 마련하는 에뮬레이션용 특별명령을 명시하였다. 그러나, 이러한 특별명령들의 실시는 영역 크로싱 억세스를 실시할 수 있는 명령의 수를 제한할 뿐이었고, 이를 실시하는데 많은 비용이 소요되었다.
본 발명은 영역 기억 억세스와 기존 명령형식을 사용하는 시스템 기억 억세스 사이를 구별하는 암시영역 어드레싱(implied domain addressing)이라고 하는 새로운 기술을 제공한다.
한편으로, 본 발명은 일렬의 명령들을 처리하기 위하여, 영역 기억 스페이스가 있는 사용자 영역과 에뮬레이션 기억 스페이스가 있는 에뮬레이션 영역을 가지는 데이터 처리장치이다.
일렬의 명령들에는 사용자 영역내의 명령이 포함되어 있는데, 이러한 명령을 에뮬레이션 영역내의 명령의 에뮬레이션 프로그램이라 한다. 장치에는 다수의 필드를 포함하여 일렬의 명령들을 수신할 수 있게 연결된 명령 레지스터가 포함되어 있다. 명령 레지스터중 적어도 하나의 필드는 명령을 실시하는데 사용되는 오퍼랜드용 어드레스 정보를 기억할 장소를 식별한다. 에뮬레이트될 명령을 수신할 수 있게 연결된 해독수단은 명령을 해독하여 제어코드를 생성한다. 제어코드에는 에뮬레이션 영역내의 명령의 프로그램을 호출하는 분기신호와 에뮬레이션 영역내의 명령들의 프로그램이 실시를 위하여 사용자 영역기억 스페이스로의 억세스가 필요한가의 여부를 표시하는 영역 억세스 제어신호가 포함되어 있다.
에뮬레이션 영역에서 나오는 명령들의 프로그램은 분기신호에 응답하여 순서에 따라 명령 레지스터에 공급된다. 영역 억세스 제어신호와 명령 레지스터내의 한필드내에서 식별된 기억장소에 응답하여 사용자 영역 억세스 신호가 생성되어 일렬로된 각 명령별로 사용자 영역으로의 억세스가 필요한가의 여부를 표시한다.
명령 레지스터와 연관되어 있는 데이터 처리장치내의 어드레싱 수단은 기억 수단에 기억되어 있는 오퍼랜드용 어드레스를 공급한다. 사용자 영역 억세스 제어신호와 오퍼랜드 어드레스를 수신할 수 있게 연결된 기억수단은 사용자 영역과 에뮬레이션 영역으로 부터의 오퍼랜드들을 어드레스에 의하여 식별된 기억장소들에 기억시킨다. 어드레스들은 제어상태에 있는 기억수단내에서 통상적으로 에뮬레이션 영역 어드레스로 번역된다. 그러나, 본 발명에는 사용자 영역 억세스 신호에 응답하여 어드레스를 사용자 영역 어드레스로 번역하는 수단이 포함되어 있다.
다른 한편으로, 본 발명은 위에서 약술한 바와 같은 데이터 처리장치로서, 에뮬레이션 프로그램으로의 엔트리상에서 제기되는 프로그램 익셉션(program exception)에 대한 시험이 제어상태로의 브랜치상에서 신속히 수행되는 데이터 처리장치이다. 해독수단은 에뮬레이트될 명령에 응답하여 분기신호와 분기시험 신호를 포함하는 제어코드를 생성한다. 해독수단 내에서는 장치의 프로그램 제어를 제2상태 또는 에뮬레이션 상태로 분기시키는 분기신호에 응답하여 명령을 에뮬레이트하는 고속 프로그램을 송신한다. 분기시험 신호를 수신하는 수단은 에뮬레이션 상태로의 브랜치 상에서 송신되는 고속 프로그램과는 구별하여 에뮬레이션으로의 브랜치상에서 프로그램 익셉션을 시험한다. 프로그램 익셉션이 검출된 때에는 이러한 프로그램 익셉션과 특별한 사례들을 처리할 수 있는 명령의 대체프로그램으로의 추가 브랜치가 취하여진다. 이와 같은 방법으로, 에뮬레이션 프로그램으로의 엔트리가 신속히 생기고, 에뮬레이션이 효율적으로 진행된다. 프로그램 익셉션이 검출된 때에만 에뮬레이션 프로그램으로 다소 까다로운 엔트리가 요구된다.
암시영역 어드레싱에 의하면, 제어상태에서 명령을 에뮬레이트하는 동안 영역 기억장치를 억세스하는데 사용할 수 있는 명령세트는 본질적으로 시스템 기억장치를 억세스할 수 있는 모든 명령들을 포함할 수 있게 확대된다. 프로그램 익셉션에 대한 신속한 시험이 추가됨으로써 에뮬레이션 성능이 크게 높아진다. 적당한 실시예를 첨부도면에 의하여 상세히 설명하면 다음과 같다. 먼저, 제1도는 본 발명의 데이터 처리 시스템 환경을 도시한 것이다. 제2도는 에뮬레이션으로 엔트리하는 동안 동작하는 본 발명에 의한 장치의 일부를 도시한 것이다. 제3도는 에뮬레이션 프로그램의 조작중 동작하는 본 발명에 의한 장치의 일부를 도시한 것이다. 제4도 내지 제7도는 본 발명에 의한 요소들의 상세한 실시를 도시한 것이다.
Ⅰ. 시스템 개관
제1도는 본 발명을 실시하는 데이터 처리기를 도시한 것이다. 데이터 처리기에는 명령과 오퍼랜드를 처리하는 명령장치와 실시장치(10), 명령과 오퍼랜드를 명령장치 및 실시장치(10)에 공급하고, 주기억장치(12)로 부터의 명령 및 오퍼랜드를 검색하는 저장 기억장치(11)가 포함된다.
명령장치/실시장치(10)는 제어신호와 어드레스를 회선(17)을 거쳐 저장 기억장치에 공급한다. 제어신호들중 하나는 영역 억세스 또는 시스템 억세스가 필요한가의 여부를 표시한다. 데이터는 모선(18)을 가로질러 명령장치/실시장치(10)로 반송된다.
이와 마찬가지로, 저장 기억장치(11)는 어드레스와 제어정보를 회선(19)을 거쳐 시스템 어드레스로 변환된 주기억장치(12)로 송신한다. 데이터는 모선(20)을 거쳐 주기억장치(12)와 저장 기억장치(11) 사이로 공급된다.
명령장치와 실시장치(10)의 각 사용자에게는 영역 기억장치가 포함되어 있는 데이터 처리기 내에서 한 영역이 할당된다. 따라서, 주기억장치는 제1도에 도시한 바와 같이, 영역(1) 기억장치(13), 영역(2) 기억장치(14) 및 영역(3) 기억장치(15)를 가지고 있다. 그외에도, 데이터 처리기는 기계자원으로의 억세스와 시스템 기억장치(16)로 알려져 있는 주기억장치의 일부분을 가진 제어상태로 동작한다. 영역 기억장치와 시스템 기억장치는 개별영역에 할당되어 있는 어드레스 스페이스에 의하여 구별된다. 그러나, 영역내에서 동작하는 논리 처리장치는 그것이 처리중에 사용할 수 있는 어드레스에 한정되지 아니한다. 논리 처리장치가 동작을 개시한 때에는 저장기억장치가 영역 기억장치에 대한 요구를 인식하고, 명령장치/실시장치(10)에 의하여 공급된 어드레스를 영역 어드레스 스페이스로 변환시키게 되어 있다.
제1도에는 입ㆍ출력장치, 채널, 직접 억세스 기억장치 및 기계의 특정 사용자가 사용할 수 있도록 개별 영역에 배정되는 기타자원은 도시되어 있지 아니하다. 이러한 장치들은 전체적인 데이터 처리기계 환경내에는 포함되어 있을지라도, 본 발명에 있어서는 중요하지 아니하다.
본 발명은 전술한 바와 같이, 명령을 에뮬레이트하는데 특별히 응용된다. 기계세트에 해당하지 아니하는 명령들은 일시적으로 사용자 상태를 떠나서 제어상태에 송신되어, 실행되는 시스템 기억장치 내에서 에뮬레이션 프로그램으로 분기됨으로써 실행된다. 제어상태에서는 제어상태로 이용할 수 있는 기계자원은 시스템 영역이라고 생각할 수 있다. 시스템 영역에는 시스템 기억장치가 포함된다. 그러나, 실시스템 어드레스는 제어상태로 실행되는 프로그램에 의하여 사용되기 때문에, 저장 기억장치(11)는 사용자 상태에서와 같이 어드레스를 변환시키지 아니한다.
에뮬레이션중, 기계가 제어상태로 동작하고 있는 때에는 실시될 명령의 오퍼랜드가 기억되어 있는 영역 기억장치로의 억세스가 자주 필요하다. 따라서, 기억장치(11)는 어드레스가 영역 어드레스 스페이스로 적절히 변환될 수 있도록 영역 기억장치 억세스가 행하여지고 있는 때를 통지받아야 한다. 그외에도, 데이터 억세스를 위하여 필요한 다른 기억장치 파라미터들도 영역 기억장치로의 억세스를 용이하게 하기 위하여 조작된다.
A. 에뮬레이션 제어상태로의 엔트리
제2도는 에뮬레이션 프로그램으로의 엔트리중 동작하는 본 발명에 의한 명령장치의 일부를 도시한 것이다. 일렬의 명령들은 파이프라인(200)을 통하여 공급되며, 이 파이프라인에는 D-사이클 명령 레지스터(201), 명령을 실행하는데 사용될 오퍼랜드의 어드레스를 생성하는 수단(202), A-사이클 유효 어드레스 레지스터(203), B-사이클 오퍼랜드 어드레스 레지스터(204), X-사이클 레지스터(205), W-사이클 레지스터(206), 다수의 제어 레지스터(207) 등이 포함되어 있다.
제어 기억 어드레스는 회선(208)에 공급되는 명령에 응답하여 수단(209)내에서 생성되어, 회선(210)을 거쳐 제어 기억장치(211)로 공급된다. 제어 기억장치(211)는 명령을 해독하여 제어코드를 생성하는 수단이다. 에뮬레이트될 명령이 수신되면 제어코드(212)가 어드레스된다. 제어코드(212)의 일부는 회선(213)을 거쳐 공급되어 에뮬레이션이 실시될 예정임을 표시한다. 회선(213)상의 코드는 제어기억 어드레스 생성수단(209)에 공급될 분기 어드레스를 생성하는 수단(214)에 공급된다. 분기 어드레스는 다음 주기에서 회선(210)을 거쳐 제어 기억장치로 공급되어 고속보조모드(FAM)로 알려진 에뮬레이션 모드로의 엔트리용 제어코드를 생성한다.
이어서, 에뮬레이션 프로그램중에 사용될 데이터 억세스 제어를 식별하는 코드가 회선(215)을 거쳐 공급된다. 이러한 데이터 억세스 제어코드(DAC)는 회선(215)을 거쳐 레지스터(216)에 공급된다. 명령장치 파이프라인(200)을 흐르는 동안에 DAC 레지스터(216)의 내용은 선택기(217)내에서 선택되어, 가산기(218)를 거쳐 A-사이클 유효 어드레스 레지스터(203)에 공급된다. DAC는 파이프라인을 거쳐 오퍼랜드 어드레스 레지스터(204), 오퍼랜드워드 레지스터(205), 결과 레지스터(206)를 통과하고, 에뮬레이션 프로그램중 활용할 수 있도록 DAC 제어레지스터(219)(DACR)내에 기억된다.
제어 레지스터(207)에는 그외에도 영역 CPU 상태 레지스터(220)(DCPUS)와 프로그램 상태워드 레지스터(221)(PSW)가 포함되어 있다. 영역 CPU 상태 레지스터(220)는 프로그램 상태워드(적당한 실시예에 있어서 고순위부분)를 판독함으로써 회선(222)을 거쳐 X-사이클 오퍼랜드 워드 레지스터로 로드된다. 오퍼랜드 워드 레지스터(205)로 부터는 W-사이클 결과 레지스터(206)로 공급되고, 여기로부터는 영역 CPU 상태 레지스터(220)내로 공급된다. 레지스터(220)내에 들어있는 이러한 영역 CPU 상태 코드도 다음에 설명하는 바와 같이, 에뮬레이션 프로그램을 실행하는 동안 이용된다. 프로그램 상태워드 레지스터(221)의 내용은 로드(PSW)와 같은 특정한 기계명령을 실행하는 동안에 로드된다.
본 발명에 있어서, 에뮬레이션 프로그램으로의 신속엔트리를 촉진하기 위하여 특정한 고속엔트리 시험을 실시한다. 고속엔트리 시험은 회선(224)을 거쳐 고속 엔트리 시험모듈(223)에 공급되는 제어코드(212)의 일부에 의하여 식별된다. 고속엔트리 시험이 실패하면, 신호가 회선(225)을 거쳐 분기 어드레스를 생성시키는 수단(214)에 공급됨으로써 제어기억 어드레스 생성수단(20)을 새로운 제어기억 장소로 분기시켜서 “정상엔트리”(normal entry)라고 하는 익셉션 모드로 에뮬레이션 루틴을 진행하게 한다. 고속엔트리 시험(223)에 관하여는 이하에서 제6도 및 제7도를 참조하여 설명하기로 한다.
명령을 실행하는데 사용할 오퍼랜드의 어드레스를 생성하는 수단(202)에는 다수의 일반목적 레지스터(226), 가산기(218), 선택기(217) 및 명령플랫폼(201)이 포함되어 있다. 명령 플랫폼은 도면에서 D0, D1, D2, D3 및 D4로 지정된 다수의 필드로 분할된다. 다음에 설명하는 바와 같이, 명령의 형식에 따라, 적어도 하나의 명령필드는 베이스 어드레스로서 공급될 다수의 일반목적 레지스터(226)로부터 일반목적 레지스터내에 로드되어 있는 어드레스 정보를 선택하기 위하여 회선(227)을 거쳐 가산기(218)에 공급된다. 따라서, 명령플랫폼(201)내에 들어있는 적어도 하나의 명령필드에는 이 명령을 실행하는데 사용될 오퍼랜드의 베이스 어드레스용 기억장소를 식별하는 정보가 포함되어 있다.
그외에도, 제2명령필드는 회선(228)을 거쳐 제2입력으로서의 선택기(217)를 통하여 가산기(218)에 공급된다. 회선(228)을 거쳐 공급된 제2명령필드와 일반목적 레지스터(226)로부터 공급된 베이스 어드레스가 추가됨으로써 결국 A-사이클 유효 어드레스 레지스터(203)에 공급되는 오퍼랜드의 어드레스가 생긴다.
어드레스는 유효 어드레스 레지스터(203)로부터 기억장치로 공급되어, 기억장치로 부터 X-사이클 오퍼랜드 워드 레지스터에 공급되는 데이터를 검색한다.
제2도는 제어 레지스터(207)의 로딩과 에뮬레이션 프로그램으로의 브랜치를 유도하는 일렬의 사상들을 도시한 것이다. 제어레지스터(207)는 이하에서 설명하는 바와 같이, 레지스터(203)로부터 공급되는 어드레스를 해석하기 위하여 기억장치에 공급될 인터페이스 신호들을 발생시키는데 이용된다.
B. 에뮬레이션중의 조작
제3도는 에뮬레이션 프로그램의 실행중 본 발명에 의하여 영향을 받는 명령장치 및 기억장치의 일부를 도시한 것이다. 제3도 및 제2도에 도시한 명령장치의 부분들에는 명령 플랫홈(301)(제2도에서는 201), 데이터 억세스 제어코드 레지스터(320)(제2도에서 220), 프로그램 상태워드 레지스터(321)(제2도에서는 221) 및 영역 CPU 상태 레지스터(320)(제2도에서는 220)가 포함되어 있다. 명령을 실행하는데 사용할 어드레스를 생성하는 수단(303)에는 일반목적 레지스터(326), 가산기(318) 및 명령 플랫폼(301)이 포함되어 있다. 적어도 하나의 명령필드는 베이스 어드레스를 공급하기 위한 일반목적 레지스터(326)의 선택을 제어하기 위하여 회선(327)을 거쳐 가산기(318)에 공급된다. 적어도 또하나의 명령 플랫폼(301) 필드는 회선(328)을 거쳐 가산기(318)에 공급되고, 베이스 어드레스와 가산되어 유효 어드레스 레지스터(303)에 공급될 오퍼랜드 어드레스를 생성한다. 유효 어드레스 레지스터(303)내의 어드레스는 회선(330)을 거쳐 일반적으로 참조숫자 331로 표시된 기억장치에 공급된다. 이 어드레스는 명령장치 파이프라인을 따라 B-사이클 오퍼랜드 어드레스 레지스터(304)에 공급된다. 여기에서는 명령장치 파이프라인의 잔여부분은 설명하지 아니한다.
명령 플랫폼(301)내의 명령은 다수의 명령필드를 회선(381)을 거쳐 명령을 해독하는 수단(332)에 공급한다. 그외에도, 제어기억 태그들은 명령해독 수단(332)내의 제어 기억장치로 부터 회선(329)을 거쳐 수신한다. 수단(332)내에서의 명령해독에 응답하여 제어신호들이 회선(333)을 거쳐 명령장치/기억장치 인터페이스 논리(334)에 공급된다. 명령장치/기억장치 인터페이스 논리(334)는 제5도에 더 상세히 도시되어 있다.
그외에도, 회선(327)을 거쳐 공급되고, 오퍼랜드의 베이스 어드레스를 보유하는 일반목적 레지스터를 식별하는 명령필드가 영역기억 억세스 검출논리(335)에 공급된다. 명령 해독기로부터 회선(336)을 거쳐 발신되는 제어신호들도 영역기억 억세스 검출논리(335)에 공급된다. 마지막으로, 영역 억세스제어 레지스터(319)로 부터 발신되는 신호들도 회선(337)을 거쳐 영역기억 억세스 검출논리(335)에 공급된다. 영역기억 억세스 검출논리(335)는 제4도에 더 상세히 설명되어 있다. 이것은 회선(338)을 거쳐 명령장치/기억장치 인터페이스 논리(334)에 공급할 영역기억 억세스 신호를 생성한다.
명령장치/기억장치 인터페이스 논리(334)는 그외에도 영역 억세스제어 레지스터(319)로부터 발신되는 다른 제어신호들을 회선(339)을 거쳐 수신한다. 영역 CPU 상태 레지스터(320)는 제어신호들을 회선(340)을 거쳐 인터페이스 논리(334)에 공급하고, 프로그램 상태워드 레지스터(321)는 제어신호들을 회선(341)을 거쳐 인터페이스 논리(334)에 공급한다.
인터페이스 논리(334)는 기억장치(331)에 공급되고, 유효 어드레스 레지스터(303)로 부터 회선(330)을 거쳐 공급되는 어드레스에 응답하여 데이터를 검색하는데 사용되는 제어신호들을 생성한다. 제어신호들에는 회선(342)상의 어드레스 모드신호, 회선(343)상의 시스템 어드레스 신호, 회선(344)상의 가상 어드레스 신호, 회선(345)상의 2차 어드레스 스페이스 신호, 회선(346)상의 억제체크 키신호 및 회선(347)상의 억제저 어드레스 보호신호 등이 포함되어 있다.
회선(342)상의 어드레스 모드신호는 24비트 또는 31비트 어드레스를 공급할 것인가의 여부를 결정함으로써 회선(330)상에 공급되는 어드레스의 모드를 제어한다. 회선(343)상의 시스템 억세스 신호는 기억장치가 회선(330)상의 어드레스에 시스템 어드레스 또는 영역 어드레스로서 응답하는 방법을 제어한다. 시스템 제어 프로그램이 세트된 때에는 기억장치가 시스템 기억장치내의 영역한계를 파라미터와 함께 레지스터(348)내에 로드된다. 시스템 제어상태에 배정된 어드레스 스페이스도 시스템 한계로서 레지스터(349)내에 기억된다. 시스템 한계와 영역 한계는 선택기(350)에 공급되고, 이러한 선택기는 시스템 한계 또는 영역한계를 선택하도록 회선(343)상의 시스템 억세스 신호에 의하여 제어된다. 회선(330)상의 어드레스는 비교기(351)내에서 선택된 시스템 한계 또는 영역한계와 비교되어 타당한 어드레스가 억세스용으로 공급되었는가의 여부를 결정한다. 이러한 어드레스가 타당한 어드레스가 아닌 경우에는 회선(352)상에 어드레스 익셉션(address exception)이 생성된다.
그외에도 시스템 억세스 신호는 캐쉬(cache)내의 어드레스상에서 수행되는 번역의 종류를 결정하는데 사용된다. 영역 어드레스는 가상 어드레스 또는 실어드레스로 할 수 있다. 영역 어드레스가 가상 어드레스인 경우에는 번역에 번역 룩어사이드 버퍼(translation lookaside buffer, 353)가 이용된다. 그것이 실어드레스인 경우에는 영역 베이스 조정기구(354)가 어드레스를 영역내에서 시스템 어드레스에 조정하는데 이용된다. 그것이 영역 역세스가 아닌 경우에는 번역 또는 영역 베이스 조정이 필요없다.
회선(344)상의 가상 어드레스 신호는 355로 표시된 번역 모드를 제어하기 위하여 회선(343)상의 시스템 어드레스 신호와 함께 이용된다.
IMB/370 Architecture에 명시된 바와 같은 이중 어드레스 스페이스 명령에 있어서는 회선(345)상의 2차 어드레스 스페이스 신호는 1차 및 2차 기억장치로의 억세스를 제어한다. 1차 및 2차 어드레스 스페이스의 기억장소는 제어 레지스터 1(356) 및 제어 레지스터 7(357)내에 각각 명시되어 있다. 회선(345)상의 2차 어드레스 스페이스 신호는 적절한 식별자를 동적 어드레스 번역회로(359)에 공급할 수 있도록 선택기(358)를 제어한다.
회선(346)상의 억제키 체크신호는 태그 억세스키와 사용자 기억키가 레지스터(361, 362)내에 기억된 값들에 의하여 표시된 바와 일치하지 아니하는 때에는 회선(360)상에 보호 익셉션이 생성되는 것을 억제한다.
회선(347)상의 억제저 어드레스 보호신호는 저어드레스 보호검출회로(364)가 저어드레스 구역내의 회선(330)으로 부터 어드레스를 검출한 때, 회선(363)상에서 보호 익셉션이 생성되는 것을 억제한다.
기억장치는 회선(330)상의 어드레스를 수신하고, 다수의 제어신호에 응답하여 이를 처리한다. 어드레스를 기억장치에 공급하여 오퍼랜드를 검색하는 각 명령별로, 회선(343)상의 시스템 억세스 신호는 시스템 어드레스 또는 영역 어드레스가 공급되고 있는지의 여부를 명시한다. 그러나, 전술한 바와 같이, 명령 플랫폼(301)은 시스템 억세스 또는 영역 억세스가 행하여지고 있는지의 여부를 명시할만한 필드 또는 비트를 포함하고 있지 아니하다. 본 발명에 의하여, 영역 억세스 제어 레지스터(319)내에 기억되어 있는 에뮬레이션 프로그램내로 엔트리할 때 제어코드를 생성함으로써 묵시영역 어드레싱을 할 수 있는 수단이 제공되어 있다. 영영기억 억세스 검출논리(335)는 오퍼랜드 어드레스를 생성하는데 사용될 일반목적 레지스터를 명시하는 명령으로 부터 나오는 필드의 내용을 일반목적 레지스터의 미리 선택한 치역과 비교하여 특정한 명령에 대한 영역 억세스가 필요한가의 여부를 결정한다. 영역 억세스 기억논리(335)도 명령 해독기(332)로부터 회선(336)을 거쳐 다음에 상세히 설명할 명령형식을 식별하는 특정한 제어신호들을 수신한다. 영역 억세스 제어 신호는 회선(338)을 거쳐 명령장치/기억장치 인터페이스 논리(334)에 공급되어 회선(343)상에 시스템 억세스 신호가 생성되는 것에 영향을 준다.
본 발명에 있어서는 그외에도, 영역 억세스 제어 레지스터(319)는 영역 CPU 상태 레지스터(320)내에 기억된 제어신호들과 함께 프로그램 상태워드 레지스터(321)로 부터 인터페이스 논리(334)에 공급되는 신호를 오버라이드하기 위하여 동작하는 다른 신호들을 기억한다. 이러한 제어신호들은 제어상태에서 동작하는 에뮬레이션 프로그램으로부터 영역 어드레스 스페이스로의 억세스중 회선(342)상의 어드레스 모드신호, 회선(344)상의 가상 어드레스 신호, 회선(345)상의 2차 어드레스신호, 회선(346)상의 억제 체크키신호 및 회선(347)상의 억제저 어드레스 보호키에 영향을 준다. 본 출원에 기술된 특징들을 설명하면 다음과 같다.
C. 암시영역 어드레싱
암시영역 어드레싱에 의하여, 제어상태로 부터 영역 기억장치를 억세스하는데 사용할 수 있는 명령세트는 본질적으로 시스템 기억장치를 억세스할 수 있는 모든 명령들을 포함할 수 있게 확대된다. 시스템 GPR(326)가 베이스 어드레스를 제공하는데 사용되는 때에는 그 특징지역은 선택에 따라 암시영역 어드레싱을 초래할 수 있다. 이러한 레지스터들은 영역 어드레싱 베이스 레지스터 또는 DABR라고 한다.
암시영역 어드레싱은 DACR(319)내에서 DABR 동작제어 비트들을 경유하여 동작된다. 암시영역 어드레싱이 동작하고, 영역 어드레싱 베이스 레지스터가 오퍼랜드를 어드레스하는데 사용되는 때에는 언제나 시스템 어드레싱 또는 영역 어드레싱을 사용하는 것으로 명시되어 있는 기준들을 제외하고, 영역 어드레싱이 시스템 어드레싱에 갈음하여 사용된다.
D. 영역 어드레싱 베이스 레지스터(DABR)
시스템 GPR 2-7은 영역 어드레싱 베이스 레지스터(DABR)를 표시한다. 이러한 시스템 GPR(2-7)는 암시영역 어드레싱이 동작중인 때를 제외하고, 다른 시스템 GPR와 동일하게 동작하며, 한 명령의 특정한 레지스터 필드내에 명시되어 있다. 이러한 경우에는 유효 어드레스 계산 또는 주기억장치로의 억세스 등을 수행함에 있어서 다음의 경우에 대응하는 오퍼랜드별로 영역 어드레싱룰에 따른다.
- 가상 어드레스인 명령 오퍼랜드
- 논리 어드레스인 명령 오퍼랜드
- 실어드레스인 명령 오퍼랜드
암시영역 어드레싱은 다음의 경우에 대하여는 이를 적용하지 아니한다.
- 명령 어드레스
- PSW, 개입중단코드 및 개입중단중에 사용되는 관련정보의 어드레스
- 하드웨어에 의하여 옵세트로서 베이스 어드레스에 추가되는 어드레스
이러한 경우에는 베이스 어드레스가 어드레싱의 타이프를 결정한다.
- 어드레스로서 사용되지 아니하는 오퍼랜드 어드레스의 형성 다음의 표는 각 명령 형식별로, 대응 시스템 GPR가 DABR로서 동작하고 있을때, 각 오퍼랜드에 의하여 제어상태로 어드레스하는 DABR를 지정하는 레지스터 필드를 표시한 것이다.
DABR로서 사용되는 베이스 레지스터
Figure kpo00001
E. 영역 억세스 제어
영역 억세스 제어는 각 기억장치 오퍼랜드 별로 암시영역 어드레싱을 동작시킨다. 2개의 비트들은 DABR의 2치역만을 허용하도록 한정된다. 그러나, 이것은 각 DABR별로 1개의 제어비트를 허용하도록 범용할 수 있다.
각 제어비트는 암시영역 어드레싱을 특정한 DABR 세트용으로 사용할 수 있는가의 여부에 따라 독립적으로 세트될 수 있다. 영역 억세스 제어비트들은 에뮬레이트될 명령의 제어워드내에 한정되며 제어상태 기계명령에 의하여 조작할 수 있다.
고속 보조모드(FAM)에서는 현 PSW의 필드들이 오버라이드 된다. 프로그램 실행은 유효 PSW에 의하여 제외된다. 연산은 EC모드와 많은 개입중단이 금지된 감시프로그램 상태에서 행하여 진다. 시스템 기억장치 억세스에 있어서는 프로그램 사상기록(PER)이 금지된 31비트 실어드레싱이 사용된다. 시스템 기억장치 억세스용 PSW키(시스템키)는 영역이 동작화될 때 마크로코드에 의하여 세트된다. FAM내의 영역 기억장치 억세스를 제어하는 유효 PSW는 영역 CPU상태(DCPUS)라 한다. FAM 내의 DCRUS는 에뮬레이트될 명령에 대하여 유효하였던 PSW이다. 이 PSW는 FAM 엔트리루틴의 일부로서 잡혀서 시스템 레지스터내에 놓이게 된다. 그것은 사용자 제어모드와 제어를 명시한다. 즉,
- 제어레지스터(9, 10, 11)에 의하여 제어되는 영역참조용 PER
- 다음에 관한 영역 어드레싱
- 동적 어드레스번역
- 어드레싱 모드
- 영역키
- 어드레스 스페이스제어
FAM내에서는 DCRUS를 제어상태 한정명령을 이용하여 변경할 수 있다. 이것은 새로운 PSW를 로딩하는 것과 같다.
영역 억세스 제어는 영역기억 억세스와 연관되어 있는 PSW내의 여러가지 비트들을 조작할 수 있도록 허용한다. 이 기능을 영역 억세스 제어라 한다. 영역 억세스 제어는 암시영역 어드레싱용으로 사용되는 영역 억세스 베이스 레지스터(DABR)의 동작을 제어하기 위하여 제공되는 비트 이외에, 그렇지 아니하면 영역 어드레싱을 제어할 DCPUS 또는 제어 레지스터의 특정필드에 대한 오버라이드 활동을 명시한다. 이것은 에뮬레이션 루틴에 대하여 영역 PSW를 변경시킴이 없이 이러한 기능들을 조작할 수 있는 능력을 허용한다. 이것은 에뮬레이션을 위하여 필요한 명령의 수를 감소시킴으로써 에뮬레이션 루틴의 효율을 증진시킨다. 영역 억세스 제어는 영역 억세스 제어 레지스터(DACR)내에 포함되어 있다. DACR는 에뮬레이션된 명령의 제어워드로부터 FAM 엔트리상에 로드되며, 제어상태 기계명령에 의하여 에뮬레이션 루틴내에서 변경될 수 있다.
Figure kpo00002
/=예약
S=2차 어드레싱 오버라이트 : 번역을 하여야 하는 영역 어드레싱 기억 기준상의 2차 가상 어드레싱을 사용할 것(오버라이드 유효 DCPUS S비트-1로 처리한다). 유효 DCPUS가 BC 모드를 명시하는 경우에는 이러한 제어의 세팅은 무시한다.
P=영역 1차 어드레싱 오버라이드 : 번역을 하여야 하는 영역 어드레싱 기억기준상의 1차 가상 어드레싱을 사용할 것(오버라이드 유효 DCPUS S비트-0으로 처리). 유효 DCPUS가 BC 모드를 명시하는 경우에는 이러한 제어의 세팅은 무시한다.
R=영역 PER 기억변경 오버라이드 : 영역 어드레싱 기억기준상의 PER 기억-변경-사상 시험을 억제할 것(오버라이드 CR 9비트 2-0으로 처리).
T=영역 번역 오버라이드 : 논리영역 어드레싱 기억기준상의 번역을 억제할 것(오버라이드 유효 DCPUS T비트-0으로 처리).
A=영역 어드레싱 모드 오버라이드 : 영역 어드레싱에 대한 31-비트 유효 어드레싱 일반률을 사용할 것(오버라이드 유효 DCPUS(A)-0으로 처리). 이 제어는 유효 DCPUS가 BC 모드 또는 EC 모드를 명시하는가의 여부에 관계없이 실시된다.
C=DABR 활동제어 1 : 시스템 GPR 4-7에 대한 암묵영역 어드레싱을 DABR로 활동시킬 것.
D=DABR 활동제어 2 : 시스템 GPR 2-3에 대한 암묵영역 어드레싱을 DABR로 활동시킬 것.
주 : 비트 C 및 D는 모두 하나로 할 수 있다. 이러한 경우에는 2개의 지정된 시스템 GPR 세트는 DABR로 활동한다.
L=영역저-어드레스 보호 오버라이드 : 영역 어드레싱 기억 기준상의 저어드레스 보호를 억제할 것(오버라이드 CRO 비트 3-0으로 처리).
K=영역키 보호 오버라이드 : 영역 어드레싱 기억 기준상의 키보호를 억제할 것(오버라이드 유효 DCPUS KEY 필드. 비트 8-11-0으로 처리).
다음의 표는 영역 억세스 제어의 활동을 요약한 것이다.
Figure kpo00003
1. 오버라이드 제어는 다음과 같이 동작한다. 비트가 ON으로 되면, 대응오버라이드가 FAM내의 CPU에 의하여 모든 영역 어드레싱에 대하여 활동하게 된다. 비트가 OFF로 되면, 대응 오버라이드활동이 없어지고, 영역 어드레싱이 통상적으로 진행된다(DCPUS, 제어레지스터등의 제어하에).
2. DABR 활동제어는 영역 어드레싱룰들이 적용되고 있는가의 여부를 결정하는데 있어서 DABR의 사용을 제어한다. DABR 활동제어는 다음과 같이 동작한다. 비트가 OFF로 되면, 시스템 GPR의 관련세트는 다른 시스템 GPR에 대하여도 동일하게 동작한다. 비트가 ON으로 되면, 시스템 GPR의 관련세트는 DABA로서 활동한다. 이러한 시스템 GPR의 하나를 논리어드레싱 또는 실어드레싱에 대한 베이스로 사용함으로써 영역 어드레스룰을 따르게 된다.
Ⅱ. 묵시영역 어드레싱 실시
제4도는 영역기억 억세스논리(335)에 대한 논리다이아그램을 도시한 것이다. 논리는 현기억 억세스가 영역기억 억세스(DSA)인지의 여부를 확증한다.
명령 OPCODE 필드 DO(2바이트 OPCODES용의 D0, D1, D2)는 명령형식 타이프용 논리(432)로 해독된다. RR, RRE 및 SS형식들만이 회선(440, 441, 442)상의 신호들에 의하여 표시되는 바대로 해독된다. 기타의 모든 형식들은 동일한 위치에 그 DABR 필드를 가지고 있다. 명령해독도 기억 억세스에 제1기억 오퍼랜드가 포함되어 있는가의 여부를 확중하기 위하여 제공된다. 이것은 각각 그 자체의 특유한 DABR를 가지고 있는 2개의 기억 오퍼랜드가 있는 SS 형식명령과 같은 경우에 중요하다. 회선(444)상이 “OAR1 억세스”라는 말은 제1기억 오퍼랜드가 억세스되고 있음을 표시한다. 즉, B1는 SS형식용이고, R1는 RR형식용이다. 기타의 모든 형식들은 하나의 기억 오퍼랜드를 가지고 있기 때문에, “OAR1 억세스”는 B1 또는 B2 오퍼랜드중 어느 것에도 적용된다.
다음과 같은 3개의 다른 기능신호들이 명령해독 논리(432)에 의하여 제공된다.
1) 회선(443)상의 DFIST-명령산법의 제1순서 또는 열을 표시한다.
2) 회선(445)상의 USER-처리장치가 사용자상태에 있음을 (즉, FAM 또는 제어상태에 있지 아니함을)표시한다.
3) 회선(446)상의 DISABLE DSA-시스템 어드레스를 요하는 분기명령과 같은 특정한 명령타이프용 영역 기억 억세스를 억제하는 해독.
회선(447)상의 영역 억세스 제어 레지스터 비트(28)와 회선(448)상의 비트(29)는 시스템 GPR 4-7 및 2-3용 암묵영역 어드레싱을 각각 DABR로서 활동시킨다.
제4도는 제3도에서 참조숫자 335로 표시된 영역기억 억세스 논리의 논리실시를 나타낸다. 명령플랫폼은 전술한 바와 같이, 다수의 필드(D0-D4)로 분류된다. 각 필드는 명령의 형식에 따라 일반목적 레지스터로 부터 베이스 어드레스를 억세스하는데 사용된다. 따라서, D1, D2 또는 D3필드는 일반목적 레지스터를 명시하기 위하여 사용할 수 있다. 그러므로, 영역 기억 억세스 논리에는 D1 필드가 4 내지 7의 치역내에서 레지스터를 명시하는가의 여부를 결정하기 위하여 D1을 비교하는 수단(449)과 D1 필드가 2 내지 3의 치역내에 있는가의 여부를 결정하는 수단(450)이 포함된다. 이러한 수단들은 회선(451)을 거쳐 D1 필드의 내용을 수신할 수 있도록 접속되어 있다.
D2 필드의 내용은 회선(452)을 거쳐 D2가 4 내지 7의 치역내에 해당하는가의 여부를 검출하는 수단(453)과 D2가 2 내지 3의 치역내에 해당하는가의 여부를 결정하는 수단(454)에 공급된다.
D3 필드는 회선(455)을 거쳐 D3가 4 내지 7의 치역에 해당하는가의 여부를 결정하는 수단(456)과 D3가 2 내지 3의 치역에 해당하는가의 여부를 결정하는 수단(457)에 공급된다. 영역 억세스 베이스 레지스터용으로 사용되는 일반목적 레지스터의 치역은 명백히 임의적이며, 사용자에게 적합한 어느 치역으로 부터도 선택할 수 있다.
영역 억세스 제어레지스터(419)로 부터의 비트(28, 29)의 값에 따라 4 내지 7의 치역 또는 2 내지 3의 치역 또는 양자가 영역어드레스 베이스레지스터 치역으로서 규제된다. 따라서, AND-게이트(458)는 4 내지 7의 치역의 영역 어드레스 베이스 레지스터가 D1 필드에 의하여 규제된 때에는 진출력(true output)을 생성하기 위하여 회선(447)으로 부터의 비트(28)와 비교기(449)의 출력을 입력으로서, 수신한다. AND-게이트(459)는 2 내지 3의 치역의 영역 어드레스 베이스 레지스터가 D1 필드에 의하여 규제된 때에는 진출력을 생성하기 위하여 비교기(450)의 출력과 영역 억세스 제어레지스터로 부터의 회선(448)상의 비트(29)를 입력으로서 수신한다. 이와 마찬가지로, AND-게이트(460)는 비교기(453)의 출력과 회선(447)으로 부터의 비트(28)를 입력으로서 수신하고, AND-게이트(462)는 비교기(456)의 출력과 영역 억세스 제어레지스터로 부터의 회선(447)상의 비트(28)를 수신한다. AND-게이트(460, 462)의 출력은 4 내지 7의 치역내에 있는 영역 어드레스 베이스 레지스터가 필드(D2 또는 D3)에 의하여 각각 규제된 때에 진으로 된다.
AND-게이트(461, 463)는 각각 비교기(454, 456)의 출력과 회선(448)상의 영역 억세스 제어레지스터로 부터의 비트(29)를 입력으로서 수신한다. AND-게이트(461, 463)의 출력은 2 내지 3의 치역내에 있는 영역 어드레스 베이스 레지스터가 필드(D2 또는 D3)내에 각각 규제되는 때에 진으로 된다.
AND-게이트(458, 459)의 출력은 회선(471)으로 공급되어, 영역 어드레스 베이스 레지스터를 필드(D1)내에 규제하는 명령 형식으로 부터 영역 억세스를 표시한다. AND-게이트(461, 460)의 출력은 회선(472)에 공급되어, 영역 어드레스 베이스 레지스터를 필드(D2)용으로 규제하는 명령형식에 의하여 영역 억세스를 표시한다. AND-게이트(462, 463)의 출력들은 회선(473)에 공급되어, 영역 어드레스 베이스 레지스터를 필드(D3)상에 규제하는 명령형식으로 부터 영역 기억 억세스를 표시한다.
AND-게이트(464)는 회선(440)상의 RP형식신호, 회선(471)상의 D1 필드영역 억세스 신호 및 회선(474)상의 RP형식신호 회선(474)상의 OAR1 억세스 신호의 인버스, 회선(472)상의 D2 필드영역 억세스 신호를 입력으로서 수신한다. 게이트(465)는 회선(444)상의 신호에 의하여 표시된 바와 같은 제1오퍼랜드 억세스가 아닌 D2 필드로 부터의 영역 억세스를 규제하는 RP 형식 명령용 회선(474)상의 진출력을 생성한다.
AND-게이트(466)는 RRE 형식의 명령이 필드(D2)로 부터의 영역 어드레스용 오퍼랜드 어드레스 레지스터로 부터의 제1억세스 용으로 공급되는 때에, 회선(474)상의 진출력을 생성한다.
AND-게이트(467)의 출력은 필드(D3)로 부터 영역 억세스의 요구가 있는 때에는 명령으로 부터 어드레스가 1차로 흐르는 동안에 SS형식의 명령을 위한 진출력을 생성한다. AND-게이트(467)의 출력은 회선(475)상에 공급된다.
AND-게이트(468)는 SS형식의 명령이 공급되고, 그것이 제1어드레스가 아니고, 필드(D3)로 부터 규제되는 영역 어드레스 레지스터용 제1흐름이 아닌 때에 진출력을 생성한다.
AND-게이트(469)의 출력은 SS형식의 명령이 제1흐름이 아니고, 회선(476)상의 신호가 진정한 것인때, 오퍼랜드 어드레스 레지스터로 부터의 제1어드레스용 SS형식명령에 대한 회선(474)상에서 나타난다.
AND-게이트(470)의 출력은 영역 어드레스 베이스 레지스터가 필드(D3)로 부터 규제되는 때에는 제1 OAR1 억세스중 RR, RRE 및 SS이외의 모든 명령형식에 대한 회선(474)상의 진신호를 나타낸다.
AND-게이트(467)의 출력은 회선(475)을 거쳐 영역 트리거래치(477)에 공급되고, 이 영역 트리거래치는 AND-게이트(469)의 출력을 제어하기 위하여 회선(476)을 거쳐 공급한다.
회선(474, 475)상의 신호들은 회선(479)상의 출력을 생성하는 OR게이트(478)에 공급된다. AND-게이트(480)는 회선(479)상의 신호, 회선(445)상의 사용자 신호의 인버스 및 회선(446)상의 개입중단 DSA 신호의 인버스 등에 응답하여 회선(499)상의 영역기억 억세스 제어신호를 생성한다. DSA의 디자인 등식은 다음과 같다.
RR형식 & ㄱ개입중단 DSA & ㄱ사용자 & OAR1 억세스 & [(D1=4 : 7) & DACR<28>+(D1=2 : 3) & DACR<29>]+ㄱOAR1 억세스 & [(D2=4 : 7) & DACR<28>+(D2=2 : 3) & DACR<29>]+RRE형식 & ㄱ개입중단 DSA & ㄱ사용자 & DFIST & OAR1 억세스 [(D2=4 : 7) & DACR<28>+(D2=2 : 3) & DACR<29>]+SS형식 & ㄱ개입중단 DSA & ㄱ사용자 & (DFIST & OAR1 억세스 & [(D3=4 : 7) & DACR<28>+(D3=2 : 3) & DACR<29>]+ㄱDFIST & OAR1 억세스 & [(D3=4 : 7) & DACR<28>+(D3=2 : 3) & DACR<29>]+ㄱDFIST & OAR1 억세스 & 영역 TGR+ㄱRR 형식 & ㄱRRE형식 & ㄱSS 형식 & ㄱ개입중단 DSA & OAS1 억세스 &[(D=4 : 7) & DACR<28>+(D3=2 : 3) & DACR<29>]
“ㄱ사용자”함은 제어상태용 영역 어드레싱, 특히 FAM를 허용한다.
RR형식에 있어서, 제1기억 오퍼랜드(OAR1 억세스)는 명령의 R1 필드를 DABR로서 사용한다. 이 필드는 D1 명령플랫폼 필드내에 포함된다. “D1=4 : 7”항은 R1 필드가 4 및 7사이의 값을 가지며, DACR 비트(28)와 논리적되어 영역기억 억세스를 활동화시키는 것을 표시한다. 이와 마찬가지로, “D1=2 : 3”항은 R1 필드가 2 또는 3의 값을 가지며, DSA의 활동화를 위하여 DACR 비트(29)와 논리적된다는 것을 표시한다.
RR형식명령의 제2기억 오퍼랜드(ㄱOAR1 억세스)용 영역 기억 억세스를 활동시키기 위하여 R2 어드레스(D2 명령플랫폼 필드내에 있는)가 DACR 비트(28)와 논리적된 D2=4 : 7항을 가진 DABR 또는 DACR 비트(29)와 논리적인 D2=2 : 3항을 가진 DABR로서 사용된다.
RRE형식 명령에 있어서, R2필드는 제1명령주기(DFIST)중에 D2명령플랫폼 필드로 옮겨진다. 그러므로, 이 주기에서는 RRE 형식에 대한 기억요구를 발할 수 없다. 제1주기(ㄱDFIST)후에, “OAR1 억세스”에 의하여 표시될 기억 오퍼랜드 억세스는 D2 필드를 DABR로서 사용한다. 그러므로, D2=4 : 7 및 DACR 비트(28) 또는 D2=2 : 3 및 DACR 비트(29)가 영역 기억 억세스의 원인이 된다.
SS형식 명령에 있어서, 제1기억 오퍼랜드(OAR1 억세스)는 제1명령 흐름(DFIST)내에 억세스된다. B1 필드는 명령플랫폼의 D3 필드내에 포함된다. 그러므로, D3=4 : 7이 DACR 비트(28)와 논리적 되거나, D3=2 : 3이 DACR 비트(29)와 논리적되어 영역 기억 억세스를 활동화시킨다.
제1명령 흐름이 끝날 무렵에, D3 필드는 B2 데이터에 의하여 경신되고, B1 데이터 필드는 상실된다. 영역 트리거라고 하는 트리거는 영역기억 억세스 상태가 활동적인 경우에는 이 주기중에 세트된다. 영역트리거는 다음에 의하여 세트된다.
DFIST & ㄱ사용자 & SS형식 & [(D3=4 : 7 & DACR<08>+(D3=2 : 3) & DACR<29>].
그후 제1기억 억세스용의 또다른 기억 억세스가 발생하는 때마다 (OAR1 억세스) 영역트리거나 ON으로 되어 있으면 영역 기억 억세스가 결과된다. 제2오퍼랜드(ㄱOAR1 억세스)에 있어서, B2 필드는 명령플랫폼의 D3 필드내로 옮겨진다. 그러므로, 제1명령흐름(ㄱOFIST)후, 영역기억 억세스는 D3=4 : 7 및 DACR 비트(28) 또는 D3=2 : 3 및 DACR 비트(29)가 활동적인 때 표시된다.
기타의 모든 명령형식에 있어서는 하나의 기억 오퍼랜드만이 존재하고, 그것은 명령의 B1 또는 B2 필드일 수 있다. 이러한 기억 오퍼랜드는 명령플랫폼의 D3 필드내에만 상주한다. 그러므로, 이 형식들(ㄱRR형식 & ㄱRRE형식 & ㄱSS형식)에 있어서, 기억 억세스가 활동적인 때(OAR1 억세스에는 영역 기억 억세스는 D3=4 : 7 및 DACR 비트(28) 또는 D3=2 : 3 및 DACR 비트(29)에 의하여 활동화된다.
Ⅲ. 영역 억세스제어 실시
영역 억세스제어는 기억장치에 대한 여러가지 제어신호들을 조작한다. 제어비트들은 FAM 엔트리루틴 초기에, 에뮬레이트될 명령의 제어워드로부터 영역 억세스제어 레지스터(DACR)내로 로드된다. 레지스터는 FAM내의 “로드 DACR”명령에 의하여 변경시킬 수 있다. 제어는 기본적으로 FAM 엔트리 초기에 유효한 영역 또는 사용자 PSW인 영역 CPU 상태(DCPUS)를 오버라이드한다. DCPUS는 시스템 레지스터(6)내로 로드된다. 영역 억세스 제어에 의하여 영향을 받는 억세스 신호들은 다음과 같다.
- 시스템(영역)
- 가상(실)신호
- 어드레스 모드
- 어드레스 스페이스
- 억제 키 체크
- 억제 저어드레스 보호
- 기억장치 PER
각 신호에 의하여 제시되는 논리등식들은 완전논리 등식의 서브세트이며, 논리중 영역기억 억세스부분에만 관계된다. 일부 등식에는 “Force-”항으로 표시되는 특별한 예외들이 있다. 이러한 유효항은 DAC 오버라이드를 오버라이드할 수 있다. 영역 억세스 제어논리는 제5도에 도시되어 있다.
제5도에 도시한 바와같이, 명령플랫폼(501)은 명령의 일부를 회선(527)을 거쳐 명령해독 논리(532)(이는 제3도에 도시한 명령해독 논리(332)에 대응한다)에 공급한다. 명령해독 논리(532)는 포스시스템 신호(force system singal), 포스사용자 신호, 포스실 신호 및 포스 1차 신호를 생성하며, 이러한 신호는 회선(533)을 거쳐 명령장치/기억장치 인터페이스 논리(534)(제3도중 블록(334)에 대응하는)에 공급된다.
그외에도, 영역 CPU상태 레지스터(520)는 제어신호들을 회선(540)을 거쳐 인터페이스논리(534)에 공급한다. 영역 억세스 제어 레지스터(519)는 제어신호들을 회선(541)을 거쳐 인터페이스논리(534)에 공급한다. 영역기억 억세스 탐색논리(535)는 영역기억 억세스 신호(DSA)를 생성하여 회선(538)을 거쳐 인터페이스 논리(534)에 공급한다.
인터페이스 논리의 출력에는 회선(543)상의 시스템 억세스 신호, 회선(544)상의 가상신호, 회선(542)상의 어드레스 모드신호, 회선(545)상의 차 어드레스 스페이스 신호, 회선(546)상의 억제키 체크신호, 회선(547)상의 억제저 어드레스 보호키 및 회선(520)상의 프로그램 사상 기록신호(PER)가 포함된다.
AND-게이트(510, 511)는 회선(543)상의 시스템 억세스 신호를 생성하는 논리를 구성한다.
AND-게이트(510)는 사용자 신호의 인버터, DSA 신호의 인버스 및 포스사용자 신호의 인버스를 입력으로서 수신한다.
AND-게이트(511)는 포스사용자 신호와 포스시스템 신호를 입력으로서 수신한다. 따라서, 회선(543)상의 시스템 억세스 신호는 포스시스템 신호가 진이고, 포스 사용자 신호가 진이 아닌때 진이 된다. 더구나, 포스사용자 신호가 진이 아닌때, 영역기억 억세스 신호가 진이 아니고, 사용자 신호도 진이 아니면, 시스템 억세스 신호가 나타난다.
회선(544)상의 가상신호는 AND-게이트(512)의 출력에 공급된다. AND-게이트(512)의 입력에는 사용자 신호의 인버스, 영역기억 억세스 신호, 영역 DPU 상태비트-T, 영역억세스 제어 레지스터 비트-T의 인버스 및 포스실 신호의 인버스가 포함된다.
회선(542)상의 어드레스 모드 신호는 AND-게이트(513) 또는 AND-게이트(514)의 출력이 진인 때 31비트 어드레스를 표시한다. AND-게이트(513)로의 입력에는 DSA 신호, 영역 CPU 상태신호로 부터의 비트-A 및 사용자 신호의 인버스가 포함된다. AND-게이트(514)의 출력에는 DSA 신호, 영역 억세스 제어 레지스터 비트-A 및 사용자 신호의 인버스가 포함된다.
회선(545)상의 2차 어드레스 베이스 신호는 AND-게이트(515) 또는 AND-게이트(516)의 출력이 진인때 진이 된다. AND-게이트(515)로의 입력에는 영역 CPU상태 레지스터의 비트-E, 영역 억세스 제어 레지스터의 비트-S, 영역기억 억세스신호, 포스 1차 신호의 인버스 및 사용자 신호의 인버스가 포함된다. AND-게이트(516)로의 입력에는 사용자 신호의 인버스, 포스 1차 신호의 인버스 및 영역기억 억세스 신호가 포함된다. 그외에도, 입력들에는 영역 CPU 상태신호의 비트-P와 AND-게이트(521)출력의 인버스가 포함된다. AND-게이트(512)로의 입력에는 영역 CPU 상태 레지스터의 비트-U와 영역억세스 제어 레지스터의 비트-P가 포함된다.
회선(546)상의 억제키 체크신호는 AND-게이트(517)의 출력에서 생성된다. AND-게이트(517)로의 입력에는 사용자 신호의 인버스, 영역기억 억세스 신호 및 영역억세스 제어 레지스터의 비트-K가 포함된다.
회선(547)상의 억제저어드레스 보호신호는 AND-게이트(518)의 출력으로부터 공급된다. AND-게이트(518)로의 입력에는 사용자 신호의 인버스, 영역기억 억세스 신호 및 영역억세스 제어 레지스터의 비트-L이 포함된다.
회선(520)상의 프로그램 사상기록 신호는 AND-게이트(519)의 출력으로부터 나타난다. AND-게이트(519)로의 입력에는 사용자 신호의 인버스, 영역기억 억세스 신호, 영역 CPU 상태 레지스터로 부터의 비트-R 및 영역억세스 제어 레지스터로 부터의 비트-R의 인버스가 포함된다.
DACR 및 DCPUS 레지스터들에 의하여 영향을 받는 기억장치 제어신호들을 요약하면 다음과 같다.
A. 시스템 억세스
회선(543)상의 이 신호는 시스템 어드레스를 가진 시스템 어드레스 스페이스로의 억세스를 표시한다. 이 신호는 영역기억 억세스에 대하여는 개입중단시켜야 한다.
시스템=[ㄱ사용자 & ㄱDSA+포스시스템] & ㄱ포스 사용자
FAM내에서는 DSA신호가 시스템 억세스를 개입중단시키게 된다. 요구되는 시스템 억세스를 규제하는 “포스 시스템”항은 DSA항을 오버라이드하고, “포스 사용자”항은 시스템 억세스를 개입중단시키게 된다. 포스항들은 서로 배타적이다.
B. 가상억세스
회선(544)상의 이 신호는 현기억 억세스가 동적 어드레스 번역을 요구한 것임을 표시한다.
가산=ㄱ사용자 & DSA & DCPUS-T & ㄱDACR-T & ㄱ포스 리얼
FAM 내의 영역기억 억세스에 있어서, 가상신호는 DCPUS-T 비트의 제어하에 있다. 그러나, DACR-T비트는 DCPUS-T 비트를 오버라이드하여 가산억세스를 개입중단시키게 된다. 포스 실항도 실기억을 억세스할 것이 요구되는 특정 오퍼랜드를 위하여, 가상억세스의 개입을 중단시킨다.
C. 어드레스 모드억세스
회선(542)상의 이 비트는 활동중인 때에는 31 비트 기억 어드레스를 표시하며, 기타의 경우에는 21 비트 어드레스를 암시한다.
어드레스 모드=ㄱ사용자 & DSA & [DCPUS-A+DACR-A]
FAM 내의 영역기억 억세스에 있어서, 31 비트 어드레싱은 DCPUS-A 비트 또는 DACR-A 비트가 활동적이면 활동적으로 된다.
D. 2차 어드레스 스페이스
회선(545)상의 이 신호는 활동적인 때에는 2차 어드레스 스페이스를 표시하고, 기타의 경우에는 1차 어드레스 공간을 암시한다.
어드레스 공간=ㄱ사용자 & DSA & ㄱ포스 1차(ㄱ[DACR-P & DCPUS-EC] & ㄱDCPUS-P+DACR--S & DCPUS-EC)
FAM 내의 영역기억 억세스에 있어서, 어드레스 공간신호는 오퍼랜드 기억 억세스가 주어진 명령(포스 1차)용 1차 스페이스 억세스를 요구하지 아니하는 한, 영역이 EC 모드(DCPUS-EC)에 있는 동안 DACR-S 비트가 활동적인 때에는 활동적으로 된다. 어드레스 스페이스도 DCPUS-P 비트가 OFF로 되고, DACR-P 비트 또는 DCPUS-EC 비트도 OFF이면, 오퍼랜드 기억억세스가 다시 1차 스페이스 억세스를 요구하지 아니하는 한, 활동적으로 된다.
E. 억제키 체크
회선(546)상의 이 신호는 활동적인 때에는 기억장치내에서의 보호키 체킹을 억제한다.
억제키 체크=ㄱ사용자 & DSA & DACR-K
FAM 내의 영역기억 억세스에 있어서, 보호키 체킹은 DACR-K 비트가 활동적인 때 억제된다.
F. 억제저 어드레싱 보호
회선(547)상의 이 신호는 활동적인 때 기억장치내의 저 어드레스 보호를 억제한다.
억제 LAP=ㄱ사용자 & DSA & DACR-L
FAM 내의 영역기억 억세스에 있어서, DACR-L 비트가 활동적인 때 저 어드레스 보호체킹이 억제된다.
G. 기억 프로그램 사상기록(PER)
회선(520)상의 이 신호는 기억장치에 대한 인터페이스 신호가 아니라, FAM내의 영역기억 억세스에 의하여 영향을 받는다. 사실상, FAM내에서 일어날 수 있는 유일한 기억 PER 사상은 PER가 시스템 어드레스용으로 억제되기 때문에 영역기억 억세스용이다.
개입중단가능 기억 PER=사용자 & DSA & DCPUS-R & DACR-R
FAM내의 영역기억 억세스에 있어서, 기억 PER는 DCPUS-R 비트의 제어하에 있다. 그러나, DACR-R비트 DCPUS-R 비트를 오버라이드하여 기억 PER의 개입중단을 금지시킨다.
Ⅳ. FAM 엔트리시험 실시
제6도 및 제7도는 제2도의 블록(223)에 의하여 표시된 FAM 엔트리 시험의 시시를 도시한 것이다.
명령 에뮬레이션 루틴은 프로그램 익셉션이 드물게 일어날지라도, 정상적 명령실행의 일환으로 프로그램 익셉션에 대한 시험을 하여야 한다. 이러한 루틴들의 효율을 증진시키기 위하여, 본 발명은 에뮬레이션 엔트리 루킨의 일부로서 프로그램 익셉션을 시험하는 하드웨어 기술을 제공한다. 시험은 다음을 표시하는 수단을 제공한다.
- 감시상태가 에뮬레이트된 명령을 위한 FAM으로서 엔트리중 PSW에 의하여 명시되는가의 여부
- 에뮬레이트된 명령의 오퍼랜드들이 요구되는 경계조정 시험을 받는가의 여부
- FAM 엔트리 명령이 실행명령의 목적이었는가의 여부
각 시험은 다른 시험의 결과에 관계없이 독립적으로 수행된다. 실시할 시험은 에뮬레이트될 명령의 제어워드로 명시된다. FAM 엔트리 시험이 실패되는 경우에는 명시된 시스템 일반목적 레지스터(시스템 GPR3)내의 연관비트가 세트되고, FAM으로의 엔트리 모드가 고속 엔트리에서 정상 엔트리로 변경된다. 이러한 경우에는 FAM 엔트리 루틴은 에뮬레이션 루틴의 스타트로의 브랜칭에 갈음하여, 프로그램 익셉션과 특별한 경우에 도움이 되는 하나의 대안으로서 공통루틴으로 브렌치될 것이다.
제6도는 도시한 바와 같이, FAM 엔트리 시험논리(623)는 회선(624)상의 FAM 엔트리 시험을 표시하는 제어기억 장치로부터 코드들을 수신한다. 감시상태 시험신호는 감시시험 제어(630)에 공급된다. 감시시험 제어는 에뮬레이트될 명령의 프로그램 상태 워드의 비트(15)를 판독하고, 이에 의하여 문제상태가 ON으로 되어 있는지의 여부를 결정한다. 그것이 ON인 경우에는 회선(631)상의 신호에 의하여 표시되는 바와 같이, 시험은 실패이다. 회선(631)상의 신호가 제어기억 분기논리(214)에 공급되어 정상 엔트리로 분기되게 함으로써 익셉션 상태를 처리한다.
그외에도, FAM 엔트리 시험은 경계조정 시험을 수행한다. 제1오퍼랜드를 포함하는 명령들에 있어서, 제1오퍼랜드의 경계조정을 위한 제어논리(632)가 사용가능하게 된다. 명령파이프 라인을 흐르는 동안에, 오퍼랜드의 어드레스가 B-사이클 오퍼랜드 어드레스 레지스터(제2도에서 204)에 도달하는 때에는 비트(29 내지 31)가 판독되어 블록(633)내에서 경계조정 시험이 실시된다. 제1오퍼랜드가 경계조정 시험에 실패하는 때에는 회선(631) 사이에 신호가 나타나서 제어기억 장치를 정상 엔트리로 되게 한다. 이와 마찬가지로 제2오퍼랜드의 경계조성은 제어(634)에 대한 경계조정을 통하여 가능하게 된다. 제2오퍼랜드의 어드레스가 B 사이클 오퍼랜드 어드레스 레지스터에 도달한 때 비트(29 내지 31)가 판독되고, 논리(635)내에서 시험이 실시된다. 시험이 실패하면 회선(631)상에 신호가 나타난다.
끝으로, 어느 명령이 IBM/370 조작원리에 의하여 규제되는 바에 따라 어느 실행명령에 종속되는 때에는 정상조작중에 세트된 실행모드 트리거를 체킹함으로써 고속 에뮬레이션으로 엔트리될 때 실행시험의 목적이 이행된다. 실행모드 트리거가 엔트리중에 ON으로 되는 때에는 회선(631)상에 신호가 나타나서 제어기억 장치를 정상 엔트리로 되게 한다.
제7도는 제6도에 도시한 고속 엔트리 시험을 위한 시험논리의 상세한 실시를 도시한 것이다.
제어기억 장치로 부터의 명령제어 워드에는 감시시험 활동화 비트(701)와 경계조정(1), 비엔트리(0) 및 경계조정(1), 비트(1), 경계조정(2), 비트(0) 및 경계조정(2), 비트(1)을 포함한 4비트 경계조정 시험 코드가 포함된다. 그외에도, 명령장치내의 해독기(704)에서 오프코드(opcode)가 해독되면, 실행 명령이 나타난 때 실행모드 트리거(705)가 세트된다.
감시시험 논리에는 AND-게이트(706)가 포함되고, 이 AND-게이트 제어워드(701)로부터 감시시험 활동화 비트와 프로그램 상태워드로부터 비트(15)를 입력으로서 수신한다. 2개의 비트가 모두 나타난 때에는 감시시험 실패가 회선(707)상의 신호에 의하여 표시된다.
경계조성 시험은 제어기억 장치의 블록(702)으로부터 경계조정(1), 비트(0) 및 비트(1)와 선택키(708)에 공급되는 제어기억 장치의 블록(703)으로부터 경계조정(2)에, 비트(0) 및 비트(1)를 입력으로서 수신한다. 선택기는 제1오퍼랜드 어드레스의 흐름중 경계조정(1) 제어워드를 선택하고 제2오퍼랜드 어드레스의 흐름중 경계조정(2) 제어워드를 선택하는 경계조정 제어논리에 의하여 제어된다. 제어기억 장치로부터의 경계조정 시험제어 신호들은 다음 표에 명시된 바와 같이, 해독기(709) 내에서 해독된다.
값이 00이면, 회선(710)상의 신호가 AND-게이트로 공급된다. AND-게이트(711)의 출력은 실시할 경계조정 시험이 없기 때문에 시험은 통과하는 것을 표시한다.
선택된 코드의 값이 01인 때에는 신호는 AND-게이트(713)에 대한 하나의 입력으로서 회선(712)상에 공급된다. AND-게이트(713)에 대한 또다른 입력은 오퍼랜드 어드레스 레지스터의 비트(31)의 인버스이며, 반워드 경계조정에서 체크가 행하여진다.
해독기(709)에 대하여 선택된 값이 10인 때에는 회선(714)상에 공급되는 신호는 AND-게이트(715)에 대한 하나의 입력이다.
AND-게이트(715)로의 또다른 입력에는 오퍼랜드 어드레스 레지스터로 부터의 비트(30, 31)가 포함된다. 따라서, AND-게이트(715)의 출력은 풀워드 경계조정 체크의 결과이다.
선택된 코드의 값이 11인 경우에는 신호는 회선(716)상에 나타나고, AND-게이트(717)에 대한 하나의 입력으로서 공급된다. AND-게이트(717)로의 또다른 입력에는 오퍼랜드 어드레스 레지스터의 비트(29, 30, 31)가 포함된다. 따라서, 더블 워드 경계조정 체크가 수행된다.
경계조정 시험이 게이트(714, 713, 715, 717)중 어느 것의 출력에 의하여 표시된 대로 통과된 경우에는 신호가 나타난다.
AND-게이트(719, 720, 721)는 서로 조합하여 경계조정 시험 실패 트리거(722)를 세트시킨다. 경계조정 시험실패 트리거의 값은 회선(707)상에 공급되어 경계조정 시험이 실패하였음을 표시한다. AND-게이트(719)로의 입력에는 경계조정 시험제어로부터의 제1오퍼랜드 시험을 표시하는 오퍼랜드 1 시험제어 신호와 회선(716)으로 부터의 경계조정 시험 패스신호의 인버스가 포함된다.
AND-게이트(720)로의 입력에는 회선(718)상의 경계조정 시험 패스신호의 인버스와 경계조정 시험제어로 부터의 오퍼랜드 2 시험제어신호가 포함된다.
AND-게이트(721)로의 입력에는 경계조정 시험제어로 부터의 오퍼랜드 2 시험제어 신호와 시험실패 트리거(722)의 경계조정의 출력이 포함된다. 게이트(719 내지 721)중 어느 것의 출력이 진으로 되어 있는 때에는 경계조정 시험실 패트리거(722)가 세트된다. 회선(707)상의 신호들이 OR-게이트(723)에 공급되기 때문에, 시험중 어느 것이 실패되면, 신호가 고속 엔트리논리(제2도에서 214)에 공급되어 고속 에뮬레이션으로의 엔트리를 사용금지시키고, 정상 엔트리를 요구한다.
그외에도, 각 시험의 실패는 하나의 비드를 시스템 일반목적 레지스터(724)내에 기억시킴으로써 표시된다.
A. 감시시험
어느 명령에 대한 기능이 선택되고, 이 명령이 사용자 상태에서 실행되는 경우에 현 PSW(문제상태)가 ON인 때에는
- FAM으로의 고속 엔트리에 같음하여 정상 엔트리가 생기게 되고,
- 시스템 GPR3(1)가 1에 세트된다.
감시시험은 에뮬레이트될 명령의 제어워드 내의 비트에 의하여 활동화된다. 이 비트는 PWS 비트(15)(문제상태)와 논리적되어 특권명령이 문제 프로그램 상태에서 에뮬레이트되고 있음을 표시하고, 감시시험을 실패하게 한다. 고속 엔트리는 사용불가로 되고, 정상 엔트리가 사용가능하게 된다. 마크로 코드는 에뮬레이트된 명령을 실행하기 보다는 정상 엔트리 루틴을 통하여 환경에 따라 명령을 에뮬레이트하게 된다. 마크로 코드는 하드웨어/마이크로 코드가 감시시험의 결과들을 시스템 GPR3의 비트(1)내에 기억시켰기 때문에, 감시시험이 실패하였음을 알고 있다.
B. 경계조정 시험
모델이 절대명령의 절대오퍼랜드에 대한 경계조정 시험을 제공할 수 있다. 기능이 사용가능하고, 명령 오퍼랜드를 위하여 선택된 때에는 제어기억 필드에 의하여 규제되는 2비트 코드가 명령 오퍼랜드에 대하여 실시할 경계조정 시험의 타이프를 결정한다. 예상코드 값과 시험 타이프는 다음과 같다.
Figure kpo00004
고속 엔트리 명령이 경계조정 시험에 실패하는 경우에는,
- FAM으로의 고속 엔트리 대신에 정상 엔트리가 생긴다.
- 시스템 GPR3(0)가 1에 세트된다.
하나 또는 2개의 명령 오퍼랜드에 대한 경계조정 시험은 에뮬레이트될 명령의 제어워드 내에 있는 오퍼랜드상 2개의 비트에 의하여 활동화된다. 고유한 활동화 비트들은 기억 오퍼랜드 어드레스의 연관된 저순위 3 비트들을 사용할 수 있을때 선택된다. RR 및 SS 형식을 제외한 모든 명령형식에 대하여는 오퍼랜드 1경계조정 시험이 이용된다. 에뮬레이트될 RR 또는 SS 형식명령의 제2기의 오퍼랜드에 대하여는 오퍼랜드 2경계조정 시험이 이용된다. 선택된 2비트 활동화 코드는 해독되어 시험대상인 연관된 오퍼랜드 어드레스 레지스터(CAR) 비트와 게이트된다. 00 코드는 경계조정 시험이 없음을 표시한다. 01 코드는 오퍼랜드 어드레스 비트(31)(OAR 31)를 시험하게 된다. 그것이 1인 때에는 경계조정 시험은 실패한다. 10은 오퍼랜드 어드레스 비트(30, 31)를 시험한다. 그중 어느 한 비트가 1인 경우에는 경계조정 시험은 실패한다.
에뮬레이트될 2개의 기억 오퍼랜드를 가진 명령의 경우에는 제2오퍼랜드 어드레스가 시험중(활동화된 경우에는)인 동안 제1시험의 결과는 “경계조정 시험실패”트리거내에 보유된다. 어느 오퍼랜드도 경계조정 시험에 실패하는 때에는 고속 엔트리는 사용할 수 없게되고, 정상 엔트리를 사용하게 된다. 마크로 코드는 명령을 실행하기 보다는 정상 엔트리 루틴을 통하여 환경에 따라 명령을 에뮬레이트한다. 경계조정 시험의 실패로 인하여 시스템 GPR3의 비트(0)가 세트된다.
C. 실행시험의 목적
FAM 엔트리 명령이 실행명령의 목적인 경우에는 GPR3(2)이 1에 세트된다. 그렇지 아니하고, FAM 엔트리 명령이 FAM으로의 고속 엔트리를 야기시키는 경우에는 엔트리 모드가 정상으로 변경된다.
마크로 코드는 명령을 에뮬레이트할 때 이 명령이 실행명령의 목적인가의 여부를 알아야 한다. 하드웨어는 실행명령의 정상 처리중 당해 명령이 실행의 목적임을 표시하는 “실행모드”트리거를 세트시킨다. 이 트리거가 FAM 엔트리중 ON으로 되면, 고속 엔트리는 사용불가능하게 되고, 정상 엔트리를 취하게 되며, 시스템 GPR3의 비트(2)가 세트된다.
Ⅴ. 결언
기존기계의 명령들을 사용하는 새로운 명령들의 펌웨어(firmware) 에뮬레이션은 기존의 기계하드웨어를 변경시킴이 없이 새로운 기능이나 특징들을 도입하는 효과적 방법을 제공한다. 이러한 기능이나 특징들은 마이크로 코드 또는 하드웨어 제어점들보다 더 높은 수준에서 실시되며, 더 큰 신축성을 제공한다. 이러한 류의 펌웨어를 마크로 코드라 하며, 명령에뮬레이션을 고속 보조(fast assist)라 한다.
본 발명은 다음과 같은 방법에 의하여 명령 에뮬레이션 루틴을 개선한다.
1) 에뮬레이션 루틴 시험들의 다수를 실시함으로써 각 에뮬레이션 루틴을 위한 실행주기의 수를 감소시키는 하드웨어 보조기구를 제공한다.
2) 프로그램 기억장치로의 억세스를 조작할 수 있고, 이에 의하여 각 에뮬레이션 루틴을 위하여 필요한 명령의 수를 감소시키는 제어기술의 범위를 명백히 정한다.
3) 프로그램 기억장치 및 에뮬레이션 기억장치로의 기억 억세스를 할 수 있는 능력이 있고, 이에 의하여 각 에뮬레이션 루틴을 위하여 필요한 명령의 수를 감소시킴으로써 어떠한 기계어명령도 만들 수 있는 기구를 제공한다.
이상에서 본 발명을 특정한 실시예에 의하여 설명하였다. 이 기술분야의 전문가들은 본 발명의 취지를 벗어나지 아니하는 범위 안에서, 전술한 실시예를 여러가지로 변형 및 변경시킬 수 있음을 이해할 것이다.

Claims (15)

  1. 제1영역 기억 스페이스를 포함하는 장치내에 제1기능 영역을 가진 제1상태에서 또는 제2영역 기억 스페이스를 포함하는 장치내에서 제2기능 영역을 가지는 제2상태에서 프로그램 제어하에 조작되고, 제2영역 내의 명령 프로그램을 실행하기 위하여 제2상태로 분기되는 명령을 포함한 일렬의 명령들을 통상적으로 제1상태에서 처리하는 데이터 처리장치로서, 적어도 하나의 필드가 오퍼랜드용 어드레스 정보의 기억장소를 식별하는 다수의 필드를 포함하고, 제1상태 및 제2상태에 있는 명령들을 수신할 수 있게 연결되어 있는 명령레지스터, 제1상태에 있는 명령에 응답하여 이 명령을 해독함으로써 분기신호와 영역 억세스 활동화 신호를 포함한 제어코드를 생성하는 해독수단, 분기신호를 수신하고, 이에 응답할 수 있게 접속되어 있고, 장치의 프로그램 제어를 제2상태로 분기시켜서 명령 프로그램을 제2영역내로 송신하는 수단, 영역 억세스 활동화 신호와 명령 프로그램 내에 들어있는 각 명령내의 한 필드에 응답하여 제1영역 억세스 신호를 생성하는 인터페이스 수단, 명령 레지스터와 연락하여 오퍼랜드의 어드레스를 공급하는 어드레싱 수단 및 제1영역 억세스 신호와 어드레스를 수신할 수 있게 접속되어 있고, 제1 및 제2영역 기억 스페이스로부터 어드레스에 의하여 식별된 기억장소에 오퍼랜드를 기억시키는 기억수단으로서, 제1영역 억세스 신호에 응답하여 제2상태에 있는 명령을 처리하는 동안에, 제1영역 어드레스 스페이스로 어드레스를 변환시키는 수단이 포함되어 있는 기억수단 등으로 구성되어 있는 데이터 처리장치.
  2. 제1항에 있어서, 하나의 필드에 의하여 식별된 기억장소가 시스템 일반목적 레지스터이고, 제1영역 억세스 신호를 생성하는 수단에 하나의 필드에 의하여 식별된 일반목적 레지스터가 미리 선택된 일반목적 레지스터의 치역내에 해당하는가의 여부를 결정하는 수단이 포함되어 있는 장치.
  3. 제1항에 있어서, 제1상태가 사용자 영역 기억스페이스로의 억세스를 가진 사용자 상태이고, 제2상태가 시스템 기억 스페이스로의 억세스를 가지는 제어상태인 장치.
  4. 제1항에 있어서, 제2영역 내에 있는 명령들의 프로그램이 제1상태에 있는 명령의 실행을 에뮬레이트하는 장치.
  5. 제1항에 있어서, 장치에 기억수단으로의 억세스를 제어하기 위한 프로그램 상태워드를 생성하는 수단이 포함되어 있고, 제어코드에 영역 억세스 제어신호가 포함되어 있으며, 그외에도 제2상태로의 분기상에서 영역 억세스 제어신호를 수신할 수 있게 접속되고 있고, 제2상태에 있는 명령들의 프로그램을 실행하는 동안 영역 억세스 활동회 신호와 영역 억세스 제어신호를 보유하는 영역 억세스 제어 레지스터 수단과 제2상태로의 분기를 야기시키는 제1상태에 있는 명령에 대한 프로그램상태 워드로부터 상태표지를 수신할 수 있게 접속되어 있고, 제2상태에 있는 명령들의 프로그램을 실행하는 동안 상태표지를 보유하는 영역 상태 레지스터 수단 등을 더 포함하고 있고 인터페이스 수단이 영역 억세스 제어 레지스터 수단, 영역상태 레지스터 수단 및 기억수단 등과도 연락되어 있고, 제2상태에 있는 명령들의 프로그램을 실행하는 동안 상태 표지와 영역 억세스 제어신호에 응답하여 기억 억세스 제어신호들을 생성하는 장치.
  6. 제1항에 있어서, 제어코드에 분기시험 신호가 포함되어 있고, 그외에도, 분기시험 신호를 수신할 수 있게 접속되고, 제2상태로의 분기상에서 프로그램 익셉션을 시험하는 수단과 프로그램 익셉션에 응답하여 명령들의 대체 프로그램으로의 분기를 생기게 하는 수단이 포함되어 있는 장치.
  7. 제1영역 기억 스페이스를 포함하는 장치내에 제1기능 영역을 가지는 제1상태 또는 제2영역 기억 스페이스를 포함하는 장치 내에서 제2기능 영역을 가지는 제2상태에서 프로그램 제어하에 조작되고, 제2영역 내에서 명령들의 프로그램을 실행하기 위하여 제2상태로 분기되는 명령을 포함한 일렬의 명령들을 통상적으로 제1상태에서 처리하는 데이터 처리장치로서, 제1상태 및 제2상태에 있는 명령들을 수신할 수 있게 접속되어 있고, 적어도 하나의 필드가 오퍼랜드용 어드레스 정보의 기억장소를 식별하는 다수의 필드를 포함하는 명령 레지스터, 제1상태에 있는 명령에 응답하여 이 명령을 해독함으로써 분기신호와 영역 억세스 제어신호를 포함한 제어신호를 생성하는 해독수단, 분기신호를 수신하고, 이에 응답할 수 있게 접속되어 있고, 장치의 프로그램 제어를 제2상태로 분기시켜서 에뮬레이션 프로그램으로 송신하는 수단, 제2상태로의 분기상에서 영역 억세스 제어신호를 수신할 수 있게 접속되어 있고, 제2상태에 있는 명령들의 프로그램을 실행하는 동안에 영역 억세스 제어신호를 보유하는 영역 억세스 제어 레지스터 수단, 명령 레지스터와 연락되어 있고, 오퍼랜드의 어드레스를 공급하는 어드레싱 수단, 제1 및 제2영역 기억 스페이스로부터 어드레스에 의하여 식별되는 기억장소에 오퍼랜드를 기억시키고, 어드레스를 수신할 수 있게 접속된 기억수단으로서, 억세스 제어신호에 응답하여 어드레스를 변환시키는 수단이 포함되어 있는 기억수단, 영역 억세스 제어 레지스터 수단, 명령 레지스터 및 기억수단과, 연락되어 있고, 영역 억세스 제어신호와 명령의 한 필드에 응답하여, 명령들의 프로그램을 실행하는 동안에 억세스 제어신호들을 생성하는 인터페이스 수단 등으로 구성되어 있는 장치.
  8. 제7항에 있어서, 하나의 필드에 의하여 식별된 기억장소가 시스템 일반목적 레지스터이고, 인터페이스 수단에 하나의 필드에 의하여 식별된 일반목적 레지스터가 일반목적 레지스터의 사전선택 치역내에 해당하는가의 여부를 결정하는 수단이 포함되어 있는 장치.
  9. 제7항에 있어서, 제1상태가 사용자 영역 기억 스페이스로의 억세스를 가지는 사용자 상태이고, 제2상태가 시스템 기억 스페이스로의 억세스를 가지는 제어상태인 장치.
  10. 제7항에 있어서, 제2영역 내에 있는 명령들의 프로그램이 제1상태에 있는 명령의 실행을 에뮬레이트하는 장치.
  11. 제7항에 있어서, 장치에 기억수단으로의 억세스를 제어하기 위한 프로그램 상태워드를 생성하는 수단이 포함되어 있고, 제2상태로의 분기를 생기게 하는 제1상태에 있는 명령을 위한 프로그램 상태워드로 부터 상태표지를 수신할 수 있게 접속되어 있고, 제2상태에 있는 명령들의 프로그램을 실행하는 동안에 상태 표지를 기억시키는 영역 상태 레지스터 수단도 포함되어 있고, 인터페이스 수단이 영역상태 레지스터 수단과도 연락되어 있고, 상태표지에 응답하여 기억 억세스 제어신호들을 생성하는 장치.
  12. 제7항에 있어서, 제어코드에 분기시험 신호도 포함되어 있고, 분기시험 신호를 수신할 수 있게 접속되고, 제2상태로의 분기상에서 프로그램 익셉션을 시험하는 수단과 프로그램 익셉션에 응답하여 명령들의 대체 프로그램으로의 분기를 발생시키는 수단도 포함되어 있는 장치.
  13. 영역기억 스페이스를 포함하는 장치내에 사용자 기능 영역을 가지는 사용자 상태에서 또는 시스템 기억 스페이스를 가지고, 기억 스페이스로의 억세스를 제어하는 명령의 실행에 응답하여 프로그램 상태워드를 생성하는 수단을 가지는 제어상태에서 프로그램 제어하에 조작되고, 시스템 기억 스페이스 내에서 명령들의 에뮬레이션 프로그램을 실행하기 위한 제어상태로 분기시키는 명령을 포함한 일렬의 명령들을 통상적으로 사용자 상태에서 처리하는 데이터 처리장치로서, 사용자 상태와 제어상태에 있는 명령들을 수신할 수 있게 접속되어 있고, 적어도 하나의 필드가 오퍼랜드용 어드레스 정보의 기억장소를 식별하는 다수의 필드가 포함되어 있는 명령 레지스터, 사용자 상태에 있는 명령에 응답하여 이 명령을 해독함으로서 부기신호와 영역 억세스 제어신호가 포함되어 있는 제어코드를 생성하는 해독수단, 분기신호를 수신하고, 이에 응답할 수 있게 접속되어 있고, 장치의 프로그램 제어를 제어상태로 분기시켜서 에뮬레이션 프로그램에 송신하는 수단, 제어상태로의 분기상에서 영역 억세스 제어신호를 수신할 수 있게 접속되어 있고, 에뮬레이션 프로그램의 실행중에 영역 억세스 제어신호를 보유하는 영역 억세스 제어 레지스터수단, 제어상태에서 에뮬레이트되고 있는 사용자 상태에 있는 명령을 위한 프로그램 상태워드로부터 상태표지를 수신할 수 있게 접속되어 있고, 에뮬레이션 프로그램의 실행중 상태표지를 보유하는 영역 상태 레지스터수단, 명령 레지스터와 연락되어 있고 오퍼랜드의 어드레스를 공급하는 어드레싱 수단, 억세스 제어신호와 어드레스를 수신할 수 있게 접속되어 있고, 사용자 영역 기억 스페이스와 시스템 기억 스페이스로 부터 어드레스에 의하여 식별된 기억장소에 오퍼랜드를 기억시키는 기억수단으로서, 억세스 제어신호에 응답하여 어드레스를 변환시키는 기억수단, 영역 억세스 제어 레지스터 수단, 영역 상태 레지스터 수단 및 기억수단과 연락되어 있고 상태표지와 영역 억세스 제어신호에 응답하여, 명령들의 에뮬레이션 프로그램을 실행하는 동안에 억세스 제어신호를 생성하는 인터페이스 수단 등으로 구성되어 있는 장치.
  14. 제13항에 있어서, 인터페이스 수단에 명령 레지스터의 하나의 필드와 영역 억세스 제어신호의 적어도 일부에 응답하여 사용자 영역 억세스 신호를 생성하는 수단과 어드레스를 변환시키는 수단과 연락되어 있고, 사용자 영역 억세스 신호에 응답하여 어드레스를 사용자 영역 어드레스로 해석하는 수단도 포함되어 있는 장치.
  15. 제14항에 있어서, 하나의 필드에 의하여 식별되는 기억장소가 시스템 일반목적 레지스터이고, 제1영역 억세스 신호를 생성하는 수단에, 하나의 필드에 의하여 식별되는 일반목적 레지스터가 일반목적 레지스터들의 사전선택 치역내에 해당하는지의 여부를 결정하는 수단이 포함되어 있는 장치.
KR1019870011353A 1986-10-14 1987-10-13 암시영역 어드레싱 KR940009097B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/918,491 US4785392A (en) 1986-10-14 1986-10-14 Addressing multiple storage spaces
US918,491 1986-10-14
US918491 1986-10-14

Publications (2)

Publication Number Publication Date
KR880005517A KR880005517A (ko) 1988-06-29
KR940009097B1 true KR940009097B1 (ko) 1994-09-29

Family

ID=25440469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870011353A KR940009097B1 (ko) 1986-10-14 1987-10-13 암시영역 어드레싱

Country Status (10)

Country Link
US (1) US4785392A (ko)
EP (1) EP0264216B1 (ko)
JP (1) JP2730896B2 (ko)
KR (1) KR940009097B1 (ko)
AU (1) AU600040B2 (ko)
CA (1) CA1271262A (ko)
DE (1) DE3750806T2 (ko)
DK (1) DK171728B1 (ko)
NO (1) NO174943C (ko)
NZ (1) NZ221667A (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JPS6488844A (en) * 1987-09-30 1989-04-03 Takeshi Sakamura Data processor
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5187793A (en) * 1989-01-09 1993-02-16 Intel Corporation Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache
EP0510429A3 (en) * 1991-04-24 1993-12-01 Ibm Millicode register management system
US5226164A (en) * 1991-04-24 1993-07-06 International Business Machines Corporation Millicode register management and pipeline reset
FR2678401A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment.
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
JPH06348584A (ja) * 1993-06-01 1994-12-22 Internatl Business Mach Corp <Ibm> データ処理システム
US5574887A (en) * 1993-09-20 1996-11-12 Apple Computer, Inc. Apparatus and method for emulation routine pointer prefetch
US5408622A (en) * 1993-09-23 1995-04-18 Apple Computer, Inc. Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion
US5577231A (en) * 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US6385712B1 (en) * 1999-10-25 2002-05-07 Ati International Srl Method and apparatus for segregation of virtual address space
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US8055886B2 (en) * 2007-07-12 2011-11-08 Texas Instruments Incorporated Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
JPS5911944B2 (ja) * 1979-08-25 1984-03-19 富士通株式会社 仮想計算機のシミュレ−ション方式
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
CA1280829C (en) * 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system

Also Published As

Publication number Publication date
DK171728B1 (da) 1997-04-14
EP0264216A3 (en) 1991-10-23
EP0264216B1 (en) 1994-11-30
DK537987D0 (da) 1987-10-14
NO874135D0 (no) 1987-10-01
DK537987A (da) 1988-04-15
KR880005517A (ko) 1988-06-29
AU600040B2 (en) 1990-08-02
CA1271262A (en) 1990-07-03
NZ221667A (en) 1989-05-29
NO174943C (no) 1994-08-03
EP0264216A2 (en) 1988-04-20
NO874135L (no) 1988-04-15
DE3750806D1 (de) 1995-01-12
US4785392A (en) 1988-11-15
AU7971387A (en) 1988-04-21
DE3750806T2 (de) 1995-06-22
NO174943B (no) 1994-04-25
JP2730896B2 (ja) 1998-03-25
JPS63191233A (ja) 1988-08-08

Similar Documents

Publication Publication Date Title
KR940009097B1 (ko) 암시영역 어드레싱
US5210832A (en) Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
US5317754A (en) Method and apparatus for enabling an interpretive execution subset
US4347565A (en) Address control system for software simulation
US5247639A (en) Microprocessor having cache bypass signal terminal
US4975836A (en) Virtual computer system
US4835677A (en) System for directly and indirectly accessing control registers by different operating systems based upon value of operating system indication bit
US5317717A (en) Apparatus and method for main memory unit protection using access and fault logic signals
EP0192232B1 (en) Data processing apparatus
US5517651A (en) Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
US4598364A (en) Efficient trace method adaptable to multiprocessors
US4494189A (en) Method and means for switching system control of CPUs
JPS6022377B2 (ja) アドレス制御方式
KR910001447B1 (ko) 가상계산기능 시스템용 주기억장치 억세스 제어시스템
KR20130112033A (ko) 데이터 처리장치의 디버깅
JPS6248258B2 (ko)
US5109522A (en) Data processing system with logical processing facility supporting a plurality of system control programs for production operation
JP2003058368A (ja) データ処理装置内でのコプロセッサ命令の取り扱い
KR20170100448A (ko) 데이터 스토리지
EP0297891B1 (en) Apparatus and method for main memory unit protection using access and fault logic signals
EP0171475B1 (en) Data processing system with logical processor facility
CA1302582C (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
EP0264215A2 (en) Fast entry to emulation
US5233700A (en) Address translation device with an address translation buffer loaded with presence bits
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions

Legal Events

Date Code Title Description
A201 Request for examination
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: 20010728

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee