KR930005767B1 - 마이크로프로그램 제어를 기초로한 데이타 처리장치 - Google Patents

마이크로프로그램 제어를 기초로한 데이타 처리장치 Download PDF

Info

Publication number
KR930005767B1
KR930005767B1 KR1019900014805A KR900014805A KR930005767B1 KR 930005767 B1 KR930005767 B1 KR 930005767B1 KR 1019900014805 A KR1019900014805 A KR 1019900014805A KR 900014805 A KR900014805 A KR 900014805A KR 930005767 B1 KR930005767 B1 KR 930005767B1
Authority
KR
South Korea
Prior art keywords
address
memory
micro
data
memory area
Prior art date
Application number
KR1019900014805A
Other languages
English (en)
Other versions
KR910006841A (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 KR910006841A publication Critical patent/KR910006841A/ko
Application granted granted Critical
Publication of KR930005767B1 publication Critical patent/KR930005767B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

내용 없음.

Description

마이크로프로그램 제어를 기초로한 데이타 처리장치
제1도는 본 발명의 첫번째 바람직한 실시예에 따른 데이타 처리장치의 개요를 설명하는 블록도.
제2도는 제1도에 도시된 데이타 처리장치의 구조를 설명하는 보다 상세한 블록도.
제3도는 제2도에 도시된 마이크로 명령부의 형상을 설명하는 블록도.
제4도와 5도는 제1,2 및 3도에 도시된 데이타 처리장치의 동작을 설명하는 타이밍 챠트.
제6도는 제1,2 및 3도에 도시된 데이타 처리장치의 동작을 설명하는 흐름도.
제7도는 제6도에 도시된 각 블록을 나타내는 블록도.
제8도는 본 발명의 두번째 실시예에 따른 데이타 처리장치 구조의 주요부의 블록도.
제9도는 제8도에 도시된 데이타 처리장치의 동작을 설명하는 흐름도.
본 발명은 데이타 처리장치, 특히 마이크로프로그램 제어형 데이타 처리장치에 관한 것이다.
마이크로 명령에 메모리에 저장되고 명령의 실행을 위하여 필요한 일련의 처리장치이 계속 독출되는 마이크로프로그램 제어가 공지되었다. 마이크로 명령은 프로세서 또는 컴퓨터(기계어 명령 또는 마이크로 명령)에 의하여 실행된 하나의 명령(메트로 동작)에 관하여 저장부 또는 동작부 등의 구조요소의 과정을 기본 과정(마이크로 동작)으로 분리하므로써 얻어진다. 마이크로프로그램 제어에 따라, 구조의 명세서가 아직 결정 되지 않았을지라도 데이타 처리장치의 논리부를 설계할 수 있고 따라서 데이타 처리장치를 설계하는데 소요되는 시간을 줄일 수 있다. 실행되어야 할 일련의 마이크로 명령에 대한 정보가 펌웨어(firm-ware)의 형태로 저장된다. 따라서, 처리의 수정과/또는 추가를 유동적으로 수행할 수 있다. 상술된 이유 때문에, 마이크로프로그램 제어가 널리 사용된다.
종래의 마이크로프로그램 제어는 하나의 명령에 응답하여 실행되는 일련의 과정을 정의하는 진행명령을 갖는다. 이와같은 진행명령의 대표적인 에는 스트링 무브(string move)명령과 스트링 서치(search)명령이다. 스트링 무브명령은 메모리 영역에 저장된 데이타 스트링이 다른 메모리 영역에 다른 메모리 영역에 전달될때 사용된다. 스프링 서치명령은 메모리의 데이타가 바람직한 데이타 스트링을 확인하기 위하여 서치될 때 사용된다.
진행명령을 실행하는 데는 오랜 시간이 걸린다. 이것은 리얼-타임 데이타 처리를 방해한다. 이 관점으로부터, 인터럽트 또는 예외처리 리퀘스트가, 진행명령이 실행되는 동안 바랭되면, 진행명령의 실행은 일시적으로 정지되고 인터럽트 또는 예외처리 리퀘스트가 실행된다. 스트링 무브명령 또는 스트링 서치명령 등의 진행명령의 실행을 일시적으로 정지시키기 위하여, 정지된 명령이 다시 시작될때까지 메모리 영역 또는 레지스터에 파라메타 정보를 비축할 필요가 있다. 예를 들면, 스트링 무브명령의 실행이 일시적으로 정지될때, 전달 소오스의 메모리 어드레스(소오스 메모리 어드레스), 전달 목적지의 메모리 어드레스(목적지 메모리 어드레스) 및 데이타가 전달되는 시간을 비축할 필요가 있다.
종래에, 파라메타 정보는 하나의 처리부가 에러를 가지지 않고 완성될때 갱신된다. 예를 들면, 종래의 스프링 무브명령에서, 하나의 처리부가 에러를 가지지 않고 완성될때, 즉 데이타가 메모리 영역으로 부터 독출된 다음 에러를 가지지 않고 다른 메모리 영역에 쓰여질때, 소오스 메모리 어드레스, 목적지 메모리 어드레스 및 데이타가 전달되는 시간에 대한 파라메타 정보는 갱신된다. 이 배열로써, 데이타가 독출되는 동안 에러가 발생하면, 이 시간에 얻어진 그 자체의 파라메터 정보는 비축된다.
그러나, 상술된 마이크로프로그램 제어 등의 종래 마이크로프로그램 제어는 다음의 단점을 갖는다. 파라메타 정보는 하나의 처리부가 완성될때까지는 갱신되지 않는다. 에드레스가 다음 메모리 액세스 과정을 얻기 위해 계산되는 동안 메모리 액세스 되는 파이프라인 처리용으로는 적당하지 않다. 더욱이, 파라메타 정보의 많은 양을 사용하기 위해 필요하다면 대응하는 레지스터에 파라메타 정보를 비축하는데 상당히 오랜 시간이 소요된다. 결과적으로, 인터럽트 또는 예외 처리 리퀘스트를 받아들이고 시작하는데는 오랜 시간이 걸린다.
갱신되는 파라메타 정보를 저장하기 위한 파라메타 정보와/또는 입시 레지스터의 백업(backup)에 사용하기 위하여 백업 레지스터의 사용을 고려할 수 있다. 이 경우에, 임시 레지스터의 내용이 즉시 백업 레지스터에 전달된다. 그러나, 이것은 하드웨어의 많은 양을 요구한다.
본 발명의 일반적인 목적은 전술된 만점이 제거된 개선된 데이타 처리장치를 제공하기 위한 것이다.
본 발명의 상술된 목적은 마이크로 명령을 저장하기 위한 메모리 수단, 파라메타와 특정 마이크로 명령을 포함하는 마이크로 명령을 저장하기 위한 레지스터 수단을 포함하고, 파이프라인 처리에 의하여 선택된 하나의 마이크로 명령을 실행하고 동작 결과를 출력하기 위한 것으로서 메모리 수단에 결합된 마이크로 명령수단 및 파라메타가 바로 앞 파이프라인 처리에 사용된 파라메타에 대응하는 보정된 파라메타로 변하도록 결정된 일이 발생할 때, 특정 마이크로 명령을 실행하는 마이크로 명령 실생 수단을 가지는 보정 수단으로 이루어진 데이타 처리장치에 의하여 성취된다. 마이크로 명령 실행 수단은 결정된 일이 발생할때 동작을 멈추고 보정된 파라메타를 사용하므로써 다시 동작을 시작한다.
본 발명의 전술된 목적은 마이크로 명령을 저장하기 위한 첫번째 메모리 수단, 특정 마이크로 명령을 포함하고 마이크로 명령의 선택된 하나를 실행하는데 필요한 파라메타를 갱신하는 동안 파이프라인 처리에 의하여 마이크로 명령의 선택된 하나를 실행하고 동작 결과를 출력하기 위한 것으로서 첫번째 메몰 수단에 결합된 마이크로 명령 실행 수단 및 데이타를 저장하기 위한 두번째 메모리 수단으로 이루어진 데이타 처리장치에 의하여 성취된다. 또한 데이타 처리장치는 어드레스에 대응하는 마이크로 명령의 하나가 첫번째 메로리 수단으로 부터 독출되고 마이크로 명령의 선택된 하나로서 마이크로 명령 실행 수단에 출력되는, 첫번째 메모리 수단에 출력된 어드레스를 발생하기 위한 어드레스 발생수단, 파라메타에 의거하여 두번째 메모리 수단으로 부터 데이타를 독출하고 파라메타에 의거하여 두번째 메모리 수단에 데이타를 쓰기 위한 것으로서 마이크로 명령 실행 수단과 두번째 메모리 수단에 결합된 메모리 매니지먼트 수단 및 소정의 인터럽션과 예외의 하나를 받아들이고 특정 마이크로 명령을 나타내는 특정 어드레스를 출력하기 위한 수신 수단으로 이루어진다. 더욱이, 데이타 처리장치는 어드레스 발생 수단에 의하여 발생된 어드레스 또는 수신 수단에 의하여 출력된 특정 어드레스를 선택하기 위한 것으로서 어드레스 발생 수단과 수신 수단에 결합된 선택 수단과 파라메타가 바로 앞 파이프라인 처리에 사용된 파라메타에 대응하는 보정된 파라메타로 변하도록 특정 어드레스에 응답하여 특정 마이크로 명령을 실행하는 마이크로 명령 실행 수단을 가지면 선택 수단에 결합된 보정 수단을 포함한다. 선택 수단이 특정 어드레스를 선택하고 보정된 파라메타를 사용하므로써 다시 동작을 시작할대 마이크로 명령 실행 수단은 동작을 정지한다.
본 발명의 다른 목적, 특징 및 장점은 첨부된 도면에 의거하여 다음에 상세히 서술하므로써 보다 명백해질 것이다.
제1도에 의거하여, 본 발명의 첫번째 바람직한 실시예에 따른 데이타 처리장치의 개요를 설명한다. 제1도에 도시된 데이타 처리장치는 명령 디코더 1, 메모리 2, 인터럽트/예외 제어기 3, 어드레스 선택기 4, 마이크로 명령 메모리 5, 브랜치 판정부 6, 마이크로 명령 실행부 7, 메모리 메니지먼트부(MMU) 8 및 입력/출력(I/O) 장치 9로 구성된다.
명령 디코더 1은 메모리 메니지먼트부 8의 제어하에서 메모리 2로 부터 독출된 명령을 디코드하고 독출된 명령을 실행하는데 필요한 마이크로 명령의 시작 어드레서 M1을 발생한다. 지금부터, 메모리 메니지먼트부8로 부터 독출된 명령은 마이크로 명령으로 부터 독출된 명령과 동일한지를 구별하기 위하여 마이크로 명령으로서 간주된다. 인터럽트/예외 제어기 3은 인터럽트/예외처리 리퀘스트 신호 I1, I2, ...의 우선 순위를 판정하고 가장 우선 순위를 마이크로 명령의 시작 어드레스 M2를 발생한다. 더욱이, 인터럽트/예외 제어기 3은 다음에 설명되는 바와같이 신호 J1이 ON되지 않으면 시작 어드레스 M2를 선택하기 위하여 어드레스 선택기 4를 발생하는 신호 S2를 발생한다. 어드레스 선택기 4는 시작 어드레스 M1과 M2및 다음 마이크로어드레스 M3(한셋트의 복수 마이크로어드레스)중의 하나를 선택하고, 마이크로 명령 메모리 5에 선택된 마이크로어드레스를 출력한다.
마이크로 명령 메모리 5는 다수의 마이크로 명령을 저장한다. 마이크로 명령의 각각은 다음 어드레스 필드 5a, 브랜치 조건 필드 5b 및 실행 제어 필드 5c로 구성된다. 마이크로 명령 메모리 5는 신호 C1, J1, J2, SE및 M3를 발생한다. 신호 C1은 다음에 설명되는 바와같이 마이크로 명령 실행부 7을 제어하는 실행부 제어신호로 불린다. 신호 J1과 J2는 마이크로 명령의 브랜치 조건을 지정짓는 브랜치 조건 지정신호로 불린다. 신호 Sd는 브랜치 조건 필드 5b로 부터 공급되고 마이크로 처리 루틴의 끝을 나타내는 엔드 지정신호로 불린다. 신호 M3는 브랜치 조건이 만족되는지의 여부와 주어진 브랜치 조건의 하나가 만족되는지의 여부를 나타내는 다수의 마이크로어드레스이다.
브랜치 판정부 6은 브랜치 조건이 브랜치 조건 지정신호 J1과 J2및 마이크로 명령 실행부 7로 부터 공급된 상태신호 F1을 기초로 만족되는지의 여부를 판정하고 판정 결과를 나타내는 제어신호 S1을 출력한다.
메모리 매니지먼트부 8은 사실상의 메모리 처리를 기초로한 어드레서 전달 과정과 같은 메모리 2와 I/O부 9등의 외부 장치를 액세스하기 위한 액세스 과정을 제어한다. 메모리 매니지먼트부 8은 어드레스 전달 예외가 발생하는지 또는 버스에러 등의 액세스 에러로 부터 발생된 예외가 발생되는지를 알리는 예외처리 리퀘스트 신호 I2를 발생한다. I/O부 9는 인터럽트가 요구될때 인터럽트 요구신호 I1을 발생한다.
어드레스 선택기 4는 상기 각 마이크로 명령이 하나의 스텝으로 구성될때 명령 디코더 1에 의하여 발생되고 출력된 각 마이크로 명령의 시작 어드레스 M1을 계속 선택한다. 한편, 마이크로 명령 루틴이이 다수의 스텝으로 구성될때, 어드레스 선택기 4는 마이크로 명령 메모리 5로 부터 독출된 다음 어드레스(또는 브랜치 어드레스) M3를 연속적으로 선택한다. 신호 S2에 응답하여, 어드레스 선택기 4는 명령이 예외없이 실행되고 삭제되도록, 인터럽트/예외 제어기 3으로 부터 독출된 시작 어드레스 M2를 항상 선택한다.
한편, 인터럽트 또는 예외가 브랜치 조건이라는 것을 나타내는 브랜치 조건 지정신호 J1이 ON될때, 브랜치 판정부 6은 I/O부 9로 부터 공급된 인터럽트 요구신호 I1과 메인 매니지먼트부 8로 부터 공급된 예외처리 요구신호 I2를 체크한다. I1과 I2를 포함하는 신호의 하나가 활동(ON)하면, 브랜치 판정부 6은 과정이 마이크로-브랜치 어드레스로 점프되도록 다음 마으크로어드레스 M3의 대응하는 하나를 선택한다. 상태 신호 F1을 기초로한 브랜치 조건이 상기 서술된 판정에 추가하여 판정되고 두개의 브렌치 조건이 만족되면 다음에 설명되는 바와같이 소정의 브랜치 조건 우성을 기초로 결정된다. 브랜치 조건 지정신호 J1이 ON일때 제1도에 도시된 데이타 처리장치는 정규 인터럽트/예외 처리와 다른 방법으로 동작한다. 즉, 신호 S2는 실행되는 명령 처리가 삭제되는 것을 방지하기 위하여 마스크(블록)되고, 인터럽트/예외처리 리퀘스트는 예약된다. 예약된 인터럽트/예외처리 리퀘스트는 신호 Sd가 ON될때 유효하다. 이 시간에, 인터럽트/예외 제어기 3은 마스크(블록)된 상태로 부터 풀리고 시작 어드레스 M2는 어드레스 선택기 4에 의하여 선택된다.
제2도는 제1도에 도시된 데이타 처리장치의 상세한 구성을 설명한다. 인터럽트/예외 제어기 3은 인터럽트/예외처리 엔트리 회로 3a, 리퀘스트 예약회로 3b 및 신호발생기 3c로 구성된다. 신호 발생기 3c는 AND게이트 3c-1과 3c-2, 인버터 3c-3과 3c-4 및 OR게이트 3c-5와 3c-6으로 구성된다.
브랜치 판정부 6은 판정회로 #1과 판정회로 #2로 구성된다. 판정회로 #2는 OR게이트와 6a와 AND게이트 6b로 구성된다. OR게이트 6a는 인터럽트 신호 I1과 예외처리 리퀘스트 신호 I2를 수신한다. AND게이트 6b는 신호 J1과 OR게이트 6a의 출력신호를 수신하고 S1을 출력한다.
제3도에 도시된 바와같이, 명령 실행회로 7은 연산부 7a, 정수 발생기 7b, 범용 레지스터 7c, 디스플레이스던트 발생기 7d, 어드레스 계산기 7e, 연산부 7a와 다른 쉬프터 등의 연산부의 그룹 7f, 입력 데이타 메모리 7g, 출력 데이타 메모리 7h, 프로그램 카운터 7i 및 프리페치 카운터 7j로 구성된다. 연산부 7a는 산술 논리부 7a-1과 카운터 7a-2로 구성된다. 범용 레지스터 7c는 예를 들면 소오스 메모리 어드레스를 저장하기 위한 스트링 무브명령, 목적지 메모리 어드레스를 저장하기 위한 레지스터 R1 및 데이타가 전달되는 시간을 저장하기 위한 레지스터 R2에 제공된 레지스터 R0를 갖는다.
명령 실행 회로 7은 소오스(S) 버스 #1, #2 및 #3과 결과(R) 버스 #1과 #2를 갖는다. 명령 실행 회로 7의 상술된 구조 요소는 제3도에 도시된 바와같이 S버스 #1, #2 및 #3과 R버스 #1과 #2에 연결된다.
명령이 처리되는 동안, 인터럽트와 예외처리 리퀘스트가 둘다 없으면, 신호 I1과 I2가 OFF(로우 레벨에서)되고 신호 S2도 OFF(로우 레벨에서)된다. 따라서, 다수의 스텝으로 구성되는 마이크로 명령이 실행될때, 선택기 4는 브랜치 판정부 6에 의하여 발생되고 출력된 신호 S1에 따라 다음 또는 브랜치 어드레스 M3를 선택한다. 따라서, 선택된 어드레스 M3에 대응하는 실행부 제어신호 C1은 마이크로 명령 메모리 5로 부터 독출된다. 독출된 명령부 제어신호 C1에 따라, 명령실행부 7은 다음 과정을 실행한다. 스트링 무브 명령에 관련된 다음 과정이 설명된다.
첫째, 범용 레지스터 7c의 레지스터 R0의 내용이 S버스 #2에 전달되고 그곳으로 부터 독출된다. 독출 내용은 디스플레이스먼트 발생기 7d에 의하여 발생되고 출력된 디스플레이스먼트에 어드레스 계산기 7e에 의하여 더해진다. 더해진 결과는 R버스 #2를 거쳐 레지스터 R0에 전달되고 그곳에 써진다. 이 방법으로 전달된 데이타의 소오스 메모리 영역의 어드레스는 갱신된다.
둘째, 범용 레지스터 7c의 레지스터 R1의 내용이 그곳으로 부터 독출되고 다음 S버스 #2에 독출된다. 독출 내용은 어드레스 계산기 7e에 의하여 디스플레이스먼트에 더해진다. 더해진 결과는 R버스 #2를 거쳐 레지스터 R1에 전달되고 그안에 써진다. 이 방법으로, 목적지 메모리 영역의 어드레스가 갱신된다.
셋째, 범용 레지스터 7c의 레지스터 R2의 내용이 그곳으로 부터 독출되고 다음 S버스 #3을 거쳐 카운터 7a-2에 전달된다. 카운터 7a-2의 내용은 감소되고 그 결과가 R버스 #1을 거쳐 레지스터 R2에 전달되고 그안에 써진다. 이 방법으로, 레지스터 R2의 내용이 갱신된다.
소오스 메모리 어드레스와 목적지 메모리어드레스는 요구된 메모리 액세스 위의 정보로서 메모리 매니지먼트부 8에 송신된다.
상술된 과정은 리드(M)단, 연산(E) 및 라이트/브랜치 조건 판정(W)단의 3개의 단으로 이루어진 파이프 라인 처리에 의하여 실행된다.
제4도는 정규 처리 시간에 실행된 파이프라인 연산을 설명하고 제5도는 예외처리의 시간에 실행된 파이프라인 연산을 설명한다. 설명된 연산에 따라, 데이타 처리부(처리부)는 3개의 사이클로 구성된다. 리드단에서 마이크로 명령이 독출된다. 연산단에서, 연산이 실행된다. 라이트/브랜치 조건 판정단에서, 연산단에서 실행된 연산 결과가 라이트되고 브랜치 조건 판정은 수행된다. 전달 #1이 3개의 사이클 M11, M12및 M13동안 수행되고, 전달 #2가 3개의 사이클 M21, M22및 M23동안 수행된다.
어드레스 계산기 7e와 관련된 부호 AC는 어드레스 계산의 실행을 표시한다. 특히, AGa1 과 ACa2는 데이타를 읽기 위해 필요한 어드레스 계산을 표시하고 ACb1과 ACb2는 데이타를 쓰기 위해 필요한 어드레스 계산을 표시한다. 설명된 메모리 액세스 과정과 관련된 부호 OF는 데이타 독출의 실행을 표시하고 OW는 데이타 라이트의 실행을 표시한다. 특히, OFa1은 ACa1에 의하여 지정된 메모리 영역에서 데이타를 읽기 위한 과정을 표시하고, OWb1은 ACb1에 의하여 지정된 메모리 영역에 데이타를 쓰기 위한 과정을 표시한다.
정규처리에서, 데이타를 읽기 위해 필요한 어드레스 ACa1등의 어드레스가 어드레스 계산기 7e에 의하여 계산된다. 다음 사이클 동안, 데이타는 메모리 매니지먼트부 8(OF a1)의 제어하에 메모리 2로 부터 독출된다. 다음 사이클 동안, 독출된 데이타는 메모리 2에 전달된다(전달 #1). 다음 사이클 동안, 전달된 데이타는 메모리(2)(OWb1)에 라이트된다. 상술된 데이타 독출 사이클 동안, 데이타가 전달되는 시간이 갱신된다. 즉 1로 결정된다. 데이타가 전달되는 시간이 제로이면 스트링 무브 명령의 실행이 완성된다.
제5도에 의거하여, 예외처리 리퀘스트가 발생할때, 이 시간에 실행되는 리드(M)단과 연산(E)단은 삭제된다. 즉 리드단 M21과 연산단 E13이 삭제된다. 다음 사이클 Mb1동안, 예외처리 리퀘스트에 대응하는 마이크로-브랜치가 수행된다. 설명되 경우에, 어드레스는 사이클 Mb1동안 대응하는 마이크로 명령 Mb1에 따라 계산된다(ADJa1). 동일한 방법으로, 어드레스는 다음 사이클 Mb2동안 대응하는 마이크로 명령 Mb2에 따라 계산되고(ADJb1), 예외처리는 단 Mb2에서 활성화된다. 제5도에 도시된 바와같이, 마이크로 명령 Mb1과 관련된 단 Eb1과 Wb1이 수행되고, 마이크로 명령 Mb2와 관련된 단 Eb2와 Wb2도 수행된다.
전달 #1동안 예외처리 리퀘스트가 발생하고 따라서 전달 #1은 완성되지 않는다. 소오스 메모리 영역의 현재의 어드레스와 목적지 메모리 영역의 현재의 어드레스는 전달 #1과 관련된다. 전달이 예외처리가 완성된 후 시작될때, 소오스와 목적지 메모리 영역의 어드레스는 갱신된다. 결과적으로, 전달 #1이 완성되지 않을동안, 전달 #2가 시작된다.
상술된 단점을 극복하기 위하여, 마이크로 명령 메모리 5의 브랜치 목적지 메모리 영역에 저장된 마이크로 명령 Mb1과 Mb2가 실행된다. 어드레스 계산 ADJa1은 사이클 Mb1이 전달 #1동안 전달되는 데이타의 크기에 의하여 전달 소오스의 메모리 어드레스르 감소하는 동안 실행된다. 어드레스 계산 ADJa2는 사이클 Mb2가 전달 #2동안 전달되는 데이타의 크기에 의하여 전달 목적지의 메모리 어드레스를 감소하는 동안 실행된다. 더욱이, 1이 사이클 Mb2동안 데이타가 전달되는 시간에 더해진다. 즉, 예외처리 리퀘스트가 발생할때, 보정처리는 바로 앞 상태에서 얻어진 그들로 되돌아가는 전달 소오스, 목적 및 데이타가 전달되는 시간의 메모리 어드레스에서 수행된다. 보정처리가 완성된후, 예외처리 리퀘스트와 관련되 마이크로-루틴 Mexcp1은 사이클 Mexcp1으로 부터 시작되고, 필요한 예외처리가 실행된다. 예를 들면, 마이크로 명령 실행부 7이 마이크로 명령을 실행할때 에러를 제거하기 위한 과정이 발생한다. 예외처리가 완성된후, 정지상태의 전달처리는 보정된 파라메타를 사용하므로써 다시 시작된다.
상술된 바와같이, 스프링 무브 명령등의 진행 마이크로 명령이 실행되는 동안 예외처리 리퀘스트가 발생될때, 처리되는 단이 제거되고 대응하는 마이크로-브랜치는 다음 사이클 동안 수행된다. 다음, 마이크로-브랜치에 의하여 얻어진 마이크로 명령 Mb1과 Mb2에 따라, 전달 소오스의 메모리 어드레서, 전달 목적지의 메모리 어드레스 및 데이타가 전달되는 시간의 메모리 어드레스는 바로 앞 상태에서 얻어지는 그들로 리셋된다. 그후, 예외 리퀘스트의 마이크로 명령 Mexcp1이 활성화된다. 이 배열로써 모든 사이클에 대한 파라메타를 적당히 갱신할 수 있고 따라서 인터럽트와 예외처리 요구의 발생을 일으키지 않고 갱신 절차와 프리페치 과정을 수행할 수 있다. 결과적으로, 데이타 처리 속도를 증가시킬 수 있다. 더욱이, 백업 레지스터에 대하여 제공할 필요가 없고 종래의 마이크로-브랜티 회로가 사용될 수 있다. 따라서, 많은 양의 하드웨으를 증가시킬 필요가 없다. 프리페치 절차는 제3도에 도시된 프리페치 카운터 7j를 사용하므로써 수행된다.
제6,7 및 8도에 의거하여 제1,2 및 3도에 도시된 구조의 동작이 좀 더 서술된다. 제6도는 스프링 무브(SMOV) 명령의 과정을 설명하는 흐름도이다. 제6도에서, R0, R1 및 R2는 전달 소오스의 메모리 어드래스(소오스 메모리 어드레스), 전달 목적지의 메모리 어드레스(목적지 메모리 어드레스) 및 데이타가 전달되는 시간을 각각 나타낸다. 제3도에 도시된 범용 레지스터 7c에 형성된 레지스터도 R0, R1 및 R2에 의하여 확인된다. 소오스 메모리 어드레스 R0가 모든 전달에 대하여 전달되는 데이타의 크기에 의하여 갱신되고 목적지 메모리 어드레스 R1은 모든 전달에 대하여 전달되는 데이타의 크기에 의하여 갱신된다. 데이타의 크기는 예를 들면, 원바이트, 투바이트 또는 포바이트로 명령에 의하여 지정된다. 에이타가 전달되는 시간은 모든 전달에 대하여 1만큼 감소된다. 부호 Sb1, Sb2 및 Sb3는 제3도에 도시된 S버스 #1,#2 및 #3를 각각 나타낸다. 예를 들면, 부호 Sb2(R0)는 전술된 레지스터 R0로 부터 독출되고 그곳에 라이트되는 데이타를 지시하고 S버스 #2에 출력한다. Rb1과 Rb2는 제3도에 도시된 R버스 #1과 #2를 각각 나타낸다. 부호 AU는 제3도에 됫된 어드레스 계산기 7e를 나타내고, 부호 IMMGEN은 제3도에 도시된 정수 발생기 7b를 나타낸다. 부호 ALU는 제3도에 도시된 ALU 7a-1을 나타내고 부호 COUNTER은 그안에 도시된 카운터 7a-2를 나타낸다. 부호 MMU는 제2도와 3도에 도시된 메모리 매니지먼트부 8을 나타낸다.
제7도는 제6도에 도시된 각 단계에 대응하는 블록을 설명하는 다이어그램이다. 제7도에 도시된 블록의 펑션 영역은 동작이 수행되는 것을 나타낸다. 블록 BRANCH #1의 영역은 정규 브랜치 처리의 동작을 나타내고 블록 BRANCH #2의 영역은 정규 브랜치 처리 리퀘스트와 다른 인터럽트/예외처리 리퀘스트의 동작을 나타낸다.
스트링 무브 명령의 개시에, 단계 101이 수행된다. 단계 101에서, 어드레스 계산기 7e가 레지스터 R0로부터 S버스 #2를 거쳐 R버스 #2에 독출된 데이타를 출력하고 S버스 #3를 거쳐 레지스터 R2로 부터 독출된 데이타는 카우터 7a-2에 라이트된다. 즉, 어드레스 계산기 7e는 소오스 메모리 어드레스를 계산한다. 단계 101이 실행된 후, 단계 103이 실행된다. 일련의 단계들 102,103 및 104는 하나의 처리부에 대응하고 최초의 단계 101은 단계 102 대신에 실행된다.
단계 103에서, 어드레스 계산기 7E가 목적지 메모리 어드레스를 계산하고 데이타 크기는 정수 발생기 7b로 부터 S버스 #1에 출력된다. 더욱이, ALU 7a-1은 데이타 크기에 의하여 소오스 메모리 어드레스를 갱신한다. 더욱이, AUL 7a-1은 데이타 크기에 의하여 소오스 메모리 어드레스를 갱신한다. 더욱이, 메모리 매니지먼트부 8은 단계 101에서 지정된 데이타가 제3도에 도시된 데이타 입력 레지스터 7g에 라이트되고 그곳으로 부터 독출되도록 메모리 2를 제어한다. 단계 103동안 에러가 발생하지 않으면, 단계 104는 실행된다. 단계 104에서, 어드레스 계산기 7e는 데이타 크기에 의하여 목적지 메모리 어드레스를 갱신하고, 데이타 입력 레지스터 7g의 데이타는 S버스 #1, ALU 7a-1 및 R버스 #1을 거쳐 데이타 출력 레지스터 7h에 라이트된다. 또한, 카운터 7a-2의 카운트 값이 1만큼 감소되고 타이트 동작은 데이타가 데이타 출력 레지스터 7h로 부터 독출되고 메모리 2에 라이트되도록 수행된다. 단계 104동안 에러가 없으면 과정은 단계 102로 되돌아가고, 그 단계에서 소오스 메모리 어드레스가 계산된다.
상술된 방법으로, 일련의 단계 102, 103 및 104는 카운터 7a-2의 카운트 값이 제로로될 때까지 반복적으로 수행된다. 카운터 7a-2의 카운트 값이 제로로 될때, 과정은 단계 102, 103 및 104의 루틴을 남기고 단계 106을 진행한다. 단계 106에서, 카운터 7a-2의 카운트값(이 경우에 제로와 동일한)이 R버스 #1에 출력되고 스트링 무브 명령이 오버된다.
단계 103이 실행되는 동안 어드레스 전달 에러 또는 페이지 폴트(fault) 에러 등의 에러 R-ERR단계 103에서 발생하면, 단계 105가 실행된다. 단계 105에서, 어드레스 계산기 7e는 S버스 #2를 거쳐 레지스터 R1으로 부터 공급된 현재의 어드레스 Sb(R1)과 디스플레이스먼트 발생기 7d로 부터 발생된 데이타 크기를 감산하므로써 바로 앞의 소오스 메모리 어드레스를 계산한다. 더욱이, 카운터 7a-2의 카운트 값은 R버스 #1을 거쳐 레지스터 R2에 라이트된다. 그후, 스트링 무브 명령이 인터럽트된다.
단계 104가 실행되는 동안 단계 104 또는 인터럽트에서 에러 W-ERR이 발생하면, 단계 107이 실행된다. 단계 107에서, 카운터 7a-2의 카운트 값은 R버스 #1을 거쳐 레지스터 R2에 라이트된다. 종래에, 데이타 리이팅 처리는 프로세서의 형태를 기초로 다시 시작된다. 프로세서가 에러의 발생을 제거하고 데이타의 라이팅을 제시도하며 그후 인터럽트된 마이크로 명령으로 되돌아가도록 설계되면, 데이타 전달(데이타 라이트)는 에러가 발생할지라도 성공적으로 실현된다. 따라서, 소오스와 목적지 메모리 어드레스의 내용을 보정할 필요가 없다. 한편, 프로세서가 사용된 재시도 기능을 가지지 않는다면, 데이타 독출로 부터 과정을 시작할 필요가 있기 때문에 바로 앞 상태의 그들로 레지스터 R0, R1 및 R2의 내용을 설정할 필요가 있다.
본 발명의 두번째 바람직한 실시예가 제8도와 9도에 의거하여 설명된다. 제8도에 의거하여, 본 발명의 두번재 실시예에 사용된 어드레스 계산기 7e-1이 첫번째와 두번째 출력단자 T1과 T2를 갖는다. 어드레스 계산기 7e-1의 첫번째 출력단자 T1이 R버스 #2에 연결되고 두번째 출력단자 T2는 어드레스(A)버스에 연결된다. 한편, 본 발명의 전술된 첫번째 실시예에 따라, R버스 #2는 어드레스 버스 기능을 한다. 어드레스 계산기 7e-1은 첫번째 출력단자 T1을 거쳐 출력되고 S버스 #2 위의 데이탸의 디스플레이스먼트(데이타 크기) 사이의 추가 연산결과는 디스플레이스먼트 발생기 7d에 의하여 출력된다. 또한 어드레스 계산기 7e-1은 두번째 출력단자 T2를 거쳐 출력되고, S버스 #2 위의 데이타 또는 S버스 #2 위의 데이타와 디스플레이스먼트(데이타 크기) 사이의 추가 연산결과는 디스플레이스먼트 발생기 7d에 의하여 출력된다. 갱신된 후 메모리 어드레스는 A버스에 출력되고 갱신되기전 메모리 어드레스는 R버스 #2에 출력된다는 것을 상술된 것으로 부터 알 수 있다.
본 발명의 첫번째 실시예에서 처리된 스트링 무브 명령에서, 소오스와 목적지 메모리 어드레스는 오퍼랜드가 액세스된후 갱신된다. 오퍼랜드 액세스 동안, 그들이 갱신되기전 그들 자체의 어드레스가 사용된다. 한편, 아드레스 계산기 7e-1이 첫번째와 두번째 출력단자 T1과 T2를 가지기 때문에, 오퍼랜드 액세스에 필요한 어드레스 계산과 갱신 과정에 필요한 계산이 한번에 수행될 수 있다. 스택된 데이타 푸쉬 또는 폽(pop)이 스택 포인터에 의하여 수행되는 시스템에서, 두개의 스택 포인터 동작의 하나가 오퍼랜드 액세스후에 수행된다.
제9도에 의거하여, 소오스 메모리 어드레스는 어드레스 계산기 7e-1이 두번째 출력단자 T2를 거쳐 A버스에 메모리 어드레스 Sb(R0)를 출력하고 첫번째 출력단자 T1을 거쳐 S버스 #2에 메모리 어드레스[Sb(R0)+(데이타 크기)](갱신된 소오스 메모리 어드레스)를 출력하도록 계산된다. 데이타 Sb3(R2)는 제3도에 도시된 카운터(7a-2에 라이트된다. 다음, 단계 203이 실행된다. 단계 203에서, 목적지 메모리어드레스 Sb(R1)은 어드레스 계산기 7e-1이 두번째 출력단자 T2를 거쳐 A버스에 메모리 어드레스 Sb(R1)을 출력하고, 첫번째 출력단자 T1을 거쳐 S버스 #2에 메모리 어드레스 [Sb(R1)+(데이타 크기)](갱신된 목적지 메모리 어드레스)를 출력하도록 계산된다. 단계 203에서, 데이타 A버스에 의하여 지정된 소오스 메모리 영역으로 부터 독출되고 다음 데이타 입력 메모리 7g(제3도)에 라이트된다. 단계 203동안 에러가 없으면, 단계 204가 실행된다.
단계 204동안, ALU 7a-1은 데이타 입력 메모리 7g로 부터 독출된 데이타를 통하여 통과하고 데이타 출력 메모리 7h에 동일한 것을 라이트한다. 단계 204에서, 카운터 7a-2의 카운트 값이 1만큼 감소된다. 단계 204동안 에러가 없으면, 단계 202가 수행된다. 단계 202에서, 아드레스 계산기 7e-1은 단계 202에서와 같은 방법으로 소오스 어드레스를 계산한다. 카운터 7a-2의 카운트 값이 제로로 될때, 단계 20은 제6도에 도시된 단계 106에서와 같이 실행된다.
단계 203동안 에러가 발생하면, 단계 205는 실행된다. 단계 205에서, 아드레스 계산기 7e-1은 어드레스 Sb(R0)로 부터 데이타 크기를 감산하므로서 바로 앞 상태의 소오스 메모리 어드레스를 계산한다. 데이타 크기는 정수 발생기 7b에 라이트된다. 단계 205에서, ALU 7a-1는 어드레스 Sb3(R1)으로 부터 데이타 크기를 감산하므로써 바로앞 상태의 목적지 메모리 어드레스를 계산한다. 다음, 단계 207은 제6도에 도시된 단계 107과 같은 방법으로 수행된다.
본 발명은 특정 실시예로 제한되지 않으며 본 발명의 영역을 벗어나지 않고 다양한 변화와 수정을 가할 수 있다.

Claims (18)

  1. 마이크로 명령을 저장하기 위한 메모리 수단(5), 파라메타와 특정 마이크로 명령(Mb1,Mb2)를 포함하는 상기 마이크로 명령을 저장하기 위한 레지스터 수단(7c)를 포함하고, 파이프라인 처리에 의하여 상기 마이크로 명령의 선택된 하나를 실행하고 동작 결과를 출력하기 위한 것으로서, 상기 메모리 수단에 결합된 마이크로 명령 실행 수단(7)을 포함하는 데이타 처리장치에 있어서, 상기 데이타 처리장치가 결정된 일이 발생될때 상기 파라메타가 바로 앞 파이프라인 처리에 사용된 파라메타에 대응하는 보정된 파라메타로 변하도록 상기 특정 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 보정 수단(7,105,107,205,207)을 포함하고, 상기 마이크로 명령 실행 수단이 결정된 일이 발생될때 동작을 멈추고 상기 보정된 파라메타를 사용하므로써 다시 상기 동작을 시작하는 것을 특징으로 하는 데이타 처리장치.
  2. 청구범위 제1항에 있어서, 데이타를 저장하기 위한 데이타 메모리 수단(2)를 좀 더 포함하고, 상기 파라메타가 상기 메모리 수단의 소오스 메모리 영역의 어드레스를 포함하고 데이타는 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 소오스 메모리 영역으로 부터 독출되며, 상기 보정 수단이, 상기 결정된 일이 발생될때 얻어진 소오스 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 소오스 메모리 영역에 대응하는 보정된 소오스 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 소오스 어드레스 보정 수단(105,205)를 포함하는 것을 특징으로 하는 데이타 처리장치.
  3. 청구범위 제1항에 있어서, 데이타를 저장하기 위한 데이타 메모리 수단(2)를 좀 더 포함하고, 상기 파라메타가 상기 메모리 수단의 목적지 메모리 영역의 어드레스를 포함하고 데이타는 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 목적지 메모리 여역에 라이트되며, 상기 보정 수단이 상기 결정된 일이 발생될때 얻어진 목적지 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 목적지 메모리 영역에 대응하는 보정된 목적지 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 마이크로 명령 실행 수단을 가지기 위하여 목적지 어드레스 보정 수단(107,207)을 포함하는 것을 특징으로 하는 데이타 처리장치.
  4. 청구범위 제1항에 있어서, 데이타를 저장하기 위항 데이타 메모리 수단(2)를 좀 더 포함하고, 상기 파라메타가 상기 데이타 메모리 수단의 소오스 메모리 영역으로 부터 상기 마이크로 명령의 대응하는 하나에 응답하여 그 안의 목적지 메모리 영역까지 데이타가 전달되는 시간을 나타내는 넘버-오프-타임 정보를 포함하고, 상기 보정수단이 상기 결정된 일이 발생될때 얻어진 상기 넘버-오브-타임 정보가 바로 앞 처리에 사용된 넘버-오브-타임 정보에 대응하는 보정된 넘버-오브-타임 정보로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 넘버-오브-타임 정보 보정 수단(105,107,205,207)을 포함하는 것을 특징으로 하는 데이타 처리방법.
  5. 청구범위 제1항 내지 제4항중 어느 한함에 있어서, 상기 결정된 일이 상기 마이크로 명령 실행 수단이 마이크로 명령의 상기 선택된 하나를 실행할때 에러를 제거하기 위하여 직접 예외처리(Mexcp1)를 실행하기 위한 리퀘스트를 포함하는 것을 특징으로 하는 데이타 처리장치.
  6. 청구범위 제1항 내지 제4항중 어느 한항에 있어서, 상기 결정된 일이 상기 데이타 처리장치에 결합된 외부장치에 의하여 발생된 인터럽트를 포함하는 것을 특징으로 하는 데이타 처리장치.
  7. 마이크로 명령을 저장하기 위한 첫번째 메모리 수단(5), 특정 마이크로 명령(Mb1,Mb2)를 포함하고, 마이크로 명령의 상기 선택된 하나를 실행하는데 필요한 파라메타를 갱신하는 동안 파이프라인 처리에 의하여 상기 마이크로 명령의 선택된 하나를 실행하고 동작 결과를 위한 것으로서 상기 첫번째 메모리 수단에 결합된 마이크로 명령 실행 수단(7), 데이타를 저장하기 위한 두번째 메모리 수단(2) 상기 어드레스에 대응하는 상기 마이크로 명령의 하나가 상기 첫번째 메모리 수단으로 부터 독출되고, 마이크로 명령의 상기 선택된 하나로서, 상기 마이크로 명령 실행 수단에 출력되며, 상기 첫번째 메모리 수단에 출력되는 어드레스(M1,M3)를 발생하기 위한 어드레스 발생 수단(1,5a) 및 상기 파라메타에 의거하여 상기 두번째 메모리 수단으로 부터 데이타를 독출하고 상기 파라메타에 의거하여 상기 두번째 메모리 수단에 데이타를 라이팅하기 위한 것으로서 상기 마이크로 명령 실행 수단과 상기 두번째 메모리 수단에 결합된 메모리 매니지먼트 수단(8)을 포함하는 데이타 처리장치에 있어서, 상기 데이타 처리장치가 소정의 인터럽트와 예외의 하나를 받아들이고 상기 특정 마이크로 명령을 나타내는 특정 어드레스를 출력하기 위한 수신 수단(3), 상기 어드레스 발생 수단에 의하여 발생된 상기 어드레스 또는 상기 수신 수단에 의하여 출력된 상기 특정 어드레스를 선택하기 위한 것으로서, 상기 어드레스 발생 수단과 상기 수신 수단에 결합된 선택 수단(4) 및 상기 파라메타가 바로 앞 파이프라인 처리에 사용된 파라메타에 대응하는 보정된 파라메타로 변하도록 상기 특정 어드레스에 응답하여 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 상기 선택 수단에 결합된 보정 수단(7,105,107,205,207)로 이루어지는 것을 특징으로 하고, 상기 마이크로 명령 실행 수단이 상기 선택 수단이 상기 특정 어드레스를 선택할때 동작을 멈추고 상기 보정된 파라메타를 사용하므로써 다시 상기 동작을 시작하는 데이타 처리장치.
  8. 청구범위 제7항에 있어서, 상기 파라메타가 상기 두번째 메모리 수단(2)의 소오스 메모리 영역의 어드레스를 포함하고, 데이타는 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 소오스 메모리 영역으로 부터 독출되며, 상기 보정 수단이, 상기 선택 수단이 상기 특정 어드레스를 선택할때 얻어진 소오스 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 소오스 메모리 영역의 어드레스르에 대응하는 보정된 소오스 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 소오스 어드레스 보정 소단(105,205)를 포함하는 것을 특징으로 하는 데이타 처리장치.
  9. 청구범위 제8항에 있어서, 상기 메모리 매니지먼트 수단(8)이 상기 소오스 메모리 영역으로 부터 데이타를 독출할때 결정된 일이 발생하는지의 여부를 결정하고, 상기 결정된 일이 발생할 때 상기 선택 수단에 제어신호(S1)을 출력하기 위한 결정 수단(103,203)을 좀더 포함하고, 상기 선택 수단이 상기 제어신호에 응답하여 상기 특정 어드레스를 선택하는 것을 특징으로 하는 데이타 처리장치.
  10. 청구범위 제7항에 있어서, 상기 파라메타가 상기 두번째 메모리 수단(2)에 목적지 메모리 영역의 어드레스를 포함하고, 데이타가 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 목적지 메모리 영역에 라이트되며, 상기 보정 수단이, 상기 선택 수단이 상기 특정 어드레스를 선택할때 얻어진 목적지 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 목적지 메모리 영역의 어드레스에 대응하는 보정된 목적지 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 목적지 어드레스 보정 수단(107,207)을 포함하는 것을 특징으로 하는 데이타 처리장치.
  11. 청구범위 제10항에 있어서, 상기 메모리 매니지먼트 수단(8)이 상기 목적지 메모리 영역에 데이타를 라이팅하는 동안 결정된 일이 발생하는지의 여부를 결정하고, 상기 결정된 일이 발생할때 상기 선택 수단에 제어신호(S1)을 출력하기 위한 결정 수단(103,203)을 좀 더 포함하고 상기 선택 수단이 상기 제어 신호에 응답하여 상기 특정 어드레스를 선택하는 것을 특징으로 하는 데이타 처리장치.
  12. 청구범위 제7항에 있어서, 상기 파라메타가, 데이타가 상기 두번째 메모리 수단(2)의 소오스 메모리 영역으로 부터 상기 마이크로 명령의 대응하는 하나에 응답하여 그안의 목적지 메모리 영역에 전달되는 시간을 나타내는 넘버-오브-타임 정보를 포함하고, 상기 보정 수단이, 상기 선택 수단이 상기 특정 어으레스를 선택할때 얻어진 상기 넘버-오브-타임이 바로 앞 파이프라인 처리에 사용된 넘버-오브-타임 정보에 대응하는 보정된 넘버-오브-타임으로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 넘버-오브-타임 정보 보정 수단(105,205)를 포함하는 것을 특징으로 하는 데이타 처리장치.
  13. 청구범위 제12항에 있어서, 상기 넘버-오브-타임 정보 보정 수단이 데이타가 전달되는 시간을 1만큼 증가시키기 위한 증가 수단(105,107,205,207)을 포함하는 것을 특징으로 하는 데이타 처리장치.
  14. 청구범위 제12항에 있어서, 상기 메모리 매니지먼트 수단(8)이 상기 소오스 메모리 영역으로 부터 데이타를 독출하는 동안 결정된 일이 발생하는지의 여부를 결정하고 상기 결정된 일이 발생할 때 상기 선택수단(4)에 제어 신호를 출력하기 위한 결정 수단(103,104,203,204)를 좀 더 포함하고, 상기 선택 수단이 상기 제어 신호에 응답하여 상기 특정 어드레스를 선택하는 것을 특징으로 하는 데이타 처리장치.
  15. 청구범위 제7항에 있어서, 상기 파라메타가 상기 두번째 메모리 수단(2)에 소오스 메모리 영역의 어드레스를 포함하고, 데이타는 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 목적지 메모리 영역으로 부터 독출되며, 상기 팔메타가 상기 두번째 메모리 수단에 목적지 메모리 영역의 어드레스를 포함하고, 데이타는 상기 마이크로 명령의 대응하는 하나에 응답하여 상기 소오스 메모리 영역에 라이트도며, 상기 파라메타가, 데이타가 상기 두번재 메모리 수단의 소오스 메모리 영역으로 부터 상기 마이크로 명령의 대응하는 하나에 응답하여 그안의 목적지 메모리 영역에 전달되는 시간을 나타내는 넘버-오브-타임 정보를 포함하며, 상기 보정 수단이 상기 선택 수단(4)가 상기 특정 어드레스를 선택할 때 얻어진 소오스 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 소오스 메모리 영역의 어드레스에 대응하는 보정된 소오스 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 소오스 어드레스 보정 수단(105,205), 상기 선택 수단이 상기 특정 어드레스를 선택할때 얻어진 목적지 메모리 영역의 상기 어드레스가 바로 앞 파이프라인 처리에 사용된 목적지 메모리 영역의 어드레스에 대응하는 보정된 목적지 메모리 어드레스로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 목적지 어드레스 보정 수단(107,207) 및 상기 선택 수단이 상기 특정 어드레스를 선택할때 바로 앞 파이프라인 처리에 사용된 넘버-오브-타임 정보에 대응하는 보정된 넘버-오브-타임 정보로 변하도록 상기 특정 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위하여 넘버-오브-타임 정보 보정 수단(105,107,205,207)을 포함하는 것을 특징으로 하는 데이타 처리장치.
  16. 청구범위 제7항 내지 제15항중 어느 한항에 있어서, 상기 수신 수단(3)이 마이크로 명령 실행 수단이 마이크로 명령의 상기 선택된 하나를 실행하는 동안 에러를 제거하기 위하여 직접 예외처리를 실행하는 리퀘스트가 발생할때 상기 특정 어드레스(M2)를 발생하는 것을 특징으로 하는 데이타 처리장치.
  17. 청구범위 제7항 내지 제15항중 어느 한 항에 있어서, 상기 수신 수단(3)이, 인터럽트가 상기 마이크로 명령 실행 수단이 마이크로 명령의 상기 선택된 하나를 실행하는 동안 상기 데이타 처리장치에 결합된 외부 장치에 의하여 발생될때, 상기 특정 어드레스(M2)를 발생하는 것을 특징으로 하는 데이타 처리장치.
  18. 청구범위 제7항 내지 17항중 어느 한항에 있어서, 상기 마이크로 명령이, 상기 마이크로 명령 실행 수단이 마이크로 명령의 상기 선택된 하나를 실행하는 동안 발생하는 에러를 제거하기 위하여 지시된 예외처리 마이크로 명령(Mexcp1)을 포함하고, 상기 보정 수단이 상기 특정 마이크로 명령이 실행된 후 상기 예외처리 마이크로 명령을 실행하는 상기 마이크로 명령 실행 수단을 가지기 위한 수단을 포함하는 것을 특징으로 하는 데이타 처리장치.
KR1019900014805A 1989-09-19 1990-09-19 마이크로프로그램 제어를 기초로한 데이타 처리장치 KR930005767B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1242671A JP2552738B2 (ja) 1989-09-19 1989-09-19 データ処理装置
JP1-242671 1989-09-19

Publications (2)

Publication Number Publication Date
KR910006841A KR910006841A (ko) 1991-04-30
KR930005767B1 true KR930005767B1 (ko) 1993-06-24

Family

ID=17092505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900014805A KR930005767B1 (ko) 1989-09-19 1990-09-19 마이크로프로그램 제어를 기초로한 데이타 처리장치

Country Status (4)

Country Link
US (1) US5557772A (ko)
EP (1) EP0419174A3 (ko)
JP (1) JP2552738B2 (ko)
KR (1) KR930005767B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657486A (en) * 1995-12-07 1997-08-12 Teradyne, Inc. Automatic test equipment with pipelined sequencer
US5787241A (en) * 1995-12-18 1998-07-28 Integrated Device Technology, Inc. Method and apparatus for locating exception correction routines
US5933842A (en) * 1996-05-23 1999-08-03 Microsoft Corporation Method and system for compressing publication documents in a computer system by selectively eliminating redundancy from a hierarchy of constituent data structures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484303A (en) * 1979-06-19 1984-11-20 Gould Inc. Programmable controller
US4742449A (en) * 1981-04-23 1988-05-03 Data General Corporation Microsequencer for a data processing system using a unique trap handling technique
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
US4665500A (en) * 1984-04-11 1987-05-12 Texas Instruments Incorporated Multiply and divide unit for a high speed processor
US4654786A (en) * 1984-04-11 1987-03-31 Texas Instruments Incorporated Data processor using picosquencer to control execution of multi-instruction subroutines in a single fetch cycle
US4562537A (en) * 1984-04-13 1985-12-31 Texas Instruments Incorporated High speed processor
GB8507610D0 (en) * 1985-03-23 1985-05-01 Int Computers Ltd Data processing apparatus
JPS6226580A (ja) * 1985-07-29 1987-02-04 Hitachi Ltd 障害処理方式
JPH0727462B2 (ja) * 1985-10-11 1995-03-29 株式会社日立製作所 データ処理装置におけるページフォールト実行再開方法
US4763253A (en) * 1986-09-26 1988-08-09 Motorola, Inc. Microcomputer with change of flow
EP0270081B1 (en) * 1986-12-01 1995-05-10 Nec Corporation Microprogram controller receiving interrupt request during instruction execution
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor

Also Published As

Publication number Publication date
EP0419174A3 (en) 1993-01-07
EP0419174A2 (en) 1991-03-27
JP2552738B2 (ja) 1996-11-13
KR910006841A (ko) 1991-04-30
US5557772A (en) 1996-09-17
JPH03103924A (ja) 1991-04-30

Similar Documents

Publication Publication Date Title
US4524415A (en) Virtual machine data processor
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
US4701844A (en) Dual cache for independent prefetch and execution units
EP0155211B1 (en) System for by-pass control in pipeline operation of computer
US5349667A (en) Interrupt control system for microprocessor for handling a plurality of maskable interrupt requests
CA1242281A (en) Vector processing
US4755935A (en) Prefetch memory system having next-instruction buffer which stores target tracks of jumps prior to CPU access of instruction
EP0128156B1 (en) Data processor version validation
US4970641A (en) Exception handling in a pipelined microprocessor
US4488228A (en) Virtual memory data processor
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US5148529A (en) Pipelined multi-stage data processor including an operand bypass mechanism
CA1222323A (en) Method and apparatus for signed and unsigned bounds check
JPH07129413A (ja) 割込み処理装置
KR19980069757A (ko) 마이크로프로세서 및 멀티프로세서 시스템
JP3093673B2 (ja) リネーム・レジスタを割り付ける方法及びプロセッサ
JPS645330B2 (ko)
KR930005767B1 (ko) 마이크로프로그램 제어를 기초로한 데이타 처리장치
EP0447101B1 (en) Processor with data format-independent instructions
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
EP0156307A2 (en) Pipelined processor having dual cache memories
JPH1040103A (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JP2001256044A (ja) データ処理装置
JPH02123442A (ja) 高速化メモリ
US5675776A (en) Data processor using FIFO memories for routing operations to parallel operational units

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: 19960620

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee