KR100630019B1 - 프로세서 시스템 - Google Patents

프로세서 시스템 Download PDF

Info

Publication number
KR100630019B1
KR100630019B1 KR1020000058834A KR20000058834A KR100630019B1 KR 100630019 B1 KR100630019 B1 KR 100630019B1 KR 1020000058834 A KR1020000058834 A KR 1020000058834A KR 20000058834 A KR20000058834 A KR 20000058834A KR 100630019 B1 KR100630019 B1 KR 100630019B1
Authority
KR
South Korea
Prior art keywords
data
unit
movement instruction
instruction
memory
Prior art date
Application number
KR1020000058834A
Other languages
English (en)
Other versions
KR20010067299A (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 KR20010067299A publication Critical patent/KR20010067299A/ko
Application granted granted Critical
Publication of KR100630019B1 publication Critical patent/KR100630019B1/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
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Communication Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 프로세서 시스템에 관한 것이다. 본 발명에 따라 데이터 이동 명령은, 이동될 데이터 유닛의 수(n)가 데이터 이동 명령에 의해 프로세서 유닛(1)에 미리 제공되는 방식으로 정해진다. 부가의 실시예에 따라 상기 데이터 이동 명령에 의해 분리 정보(SP)가 미리 제공됨으로써, 프로세서 유닛(1)은 어드레싱 된 데이터 유닛을 상응하는 한 분리 장소(SP)에서 2개의 데이터 절반(H1-H3; P1-P5)으로 분리시켜 별도로 저장할 수 있다. 본 발명은 특히 원격 통신 프로토콜을 처리하는 데 적합하다.

Description

프로세서 시스템 {PROCESSOR SYSTEM}
도 1은 본 발명의 바람직한 실시예에 따른 프로세서 시스템의 블록 회로도.
도 2는 본 발명의 제 1 실시예에 따른 데이터 블록의 이동을 설명하기 위한 개략도.
도 3은 제 1 실시예의 변형예에 따른 데이터 블록의 이동을 설명하기 위한 개략도.
도 4A 및 도 4B는 종래 기술에 따른 헤더 데이터 및 페이로드(payload) 데이터의 통신 비트 스트림의 한 바이트의 분할을 설명하기 위한 개략도.
도 5A 내지 도 5D는 본 발명의 제 2 실시예에 따른 헤더 데이터 및 페이로드 데이터의 통신 비트 스트림의 한 바이트의 분할을 설명하기 위한 개략도.
*도면의 주요 부분에 대한 부호의 설명*
삭제
1, 12: 프로세서 유닛 5, 16: 임시 메모리 유닛
13: 프로그램 메모리 14: 데이터 메모리
15: 데이터 블록 16: 포트, 입출력 장치
EP: 이동 정보 H1-H3, P1-P5: 데이터 절반
R1-R3: 레지스터 SP: 분리 지점
본 발명은 청구항 1의 전제부에 따른 프로세서 시스템, 특히 원격 통신 프로토콜을 처리하기 위한 마이크로프로세서 시스템에 관한 것이다.
예컨대 인터넷-프로토콜, 이더넷-프로토콜 또는 DSL-프레임과 같은 원격 통신 프로토콜을 처리하는 경우에는, 각각의 프로세서 시스템에 의해 일반적으로 두 가지의 전형적인 서브 태스크가 해결될 수 있다. 한 가지 서브 태스크는 입력 버퍼로부터 출력 버퍼로 이루어지는 소위 페이로드 데이터의 이동과 관련이 있으며, 이 경우에 일부는 다수의 데이터 워드를 포함하는 데이터 블록이 이동될 수 있다. 또한, 각각의 기능 호출시 그리고 상기 기능 호출과 연관하여 문맥으로 표기된 기능 호출의 상태 공간의 변경시 안전하게 보호되는 상태 데이터의 저장시에도 비교적 큰 데이터 블록의 이동이 요구된다. 다른 서브 태스크는, 저장된 비트 스트림으로부터 소위 헤더 데이터를 추출하여 후속적으로 부가 처리할 수 있도록 하는 것과 관련이 있다.
ARM-프로세서 시스템의 경우에는, 상기 시스템이 기능 호출과 관련하여 데이터 메모리와 레지스터 사이에서 이루어지는 전체 데이터 블록의 이동을 지원한다는 사실이 공지되어 있다. 이와 관련하여서는, 예컨대 "ARM System Architecture", Steve Furber, Addison-Wesley, 1996을 참조한다. 이 경우 상기 ARM-프로세서에 사용된 로드 명령은 하기의 구문을 갖는다:
LDMIA R1!, {R2-R9}
삭제
상기 명령에 의해 RAM-메모리로부터 하나의 데이터 블록이 레지스터 영역(R2-R9)을 갖는 하나의 레지스터 파일로 로드되며, 본 경우에 데이터 블록은 8개의 데이터 워드를 포함한다. 메모리 내에 있는 각각의 워드가 4개의 바이트를 채운다는 사실로부터 출발하기 때문에, 어드레스 포인터("Address Pointer")에 의해 레지스터(R1) 내에서 정해진 메모리의 실제 어드레스는 "R1!"에 의해 4*8 = 32 바이트만큼 증가한다.
메모리 명령은 유사하게 하기의 문맥을 갖는다;
STMIA R2, {R2-R9}
삭제
상기 명령에 의해, 레지스터 영역(R2-R9) 내에 저장된 레지스터 파일의 워드가 메모리에 기록된다.
전술한 예는, 상기 ARM-명령에 의해서는 데이터 블록이 레지스터 파일의 크기만큼만 이동될 수 있다는 사실을 설명한다. 그러나 통신 프로토콜의 처리시에는 레지스터 파일보다 더 큰 데이터 블록의 이동 또한 필요하고 바람직하며, 이 경우 상기 데이터 블록의 이동은 특히 비교적 적은 비용, 다시 말해 가급적 적은 수의 실행 사이클 및 최소의 전력 소비로 가능해야 한다.
또한, 저장된 비트 스트림으로부터 위에 언급된 헤더 데이터를 추출하는 것과 관련해서도, 지금까지는 단지 상대적으로 많은 수의 연속된 명령, 다시 말해 상대적으로 많은 수의 실행 사이클 그리고 그와 더불어 상대적으로 높은 전력 소비에 의해서만 상기 추출 기능을 실행할 수 있는 해결책만이 공지되어 있다.
공지된 상기 해결책들 중 한 가지 해결책은 하기에서 도 4를 참조하여 간략히 설명될 것이며, 이 경우에는 바이트 지향 메모리 구성을 전제로 한다. 다시 말해 비트 스트림은 개별 바이트로 세분되며, 상기 개별 바이트는 바이트 포인터("Byte Pointer")에 의해 어드레싱 된다. 이 경우 비트 스트림은 일반적으로 적어도 하나의 바이트를 가지며, 상기 바이트에는 이미 언급된 헤더 데이터뿐만 아니라 소위 페이로드 데이터도 포함되어 있다. 상기 헤더 데이터는 단지 제어 목적으로만 사용되고 특히 소위 CRC-체크("Cyclic Redundancy Check")를 위한 여분의 정보들을 갖는 반면, 상기 페이로드 데이터는 예컨대 인터넷 사용시 사용료 지불의 의무를 가질 수 있는 고유의 통신 정보를 포함한다. 상기 헤더 데이터 및 페이로드 데이터를 하나의 바이트로 세분하는 것은 각각 사용된 통신 프로토콜에 기초하여 이루어진다. 따라서, 도 4A에 도시되고 바이트 포인터(BP)에 의해 어드레싱 된 바이트는 예컨대 3개의 헤더 비트 또는 프로토콜 비트(H1-H3) 그리고 5개의 페이로드 비트(P1-P5)를 포함한다.
상기와 같은 바이트의 부가 처리를 위해서는 헤더 비트 및 페이로드 비트가 서로 분리되어 저장되어야만 한다. 상기 과제는 예를 들어 하기의 명령 시퀀스에 의해 구현될 수 있다:
LOAD R1, BP
LOAD R2, @R1
LOAD R3, R2
AND R2, 11100000
SHIFT R3, Left #3
상기 명령 시퀀스에 의해서는 우선 바이트 포인터(BP)가 레지스터(R1)로 로드된다. 이어서, 상기 바이트 포인터에 의해 어드레싱 된 바이트의 내용이 레지스터(R2)로 로드되어 별도의 레지스터(R3)로 전송된다. 그 다음의 논리 AND-연산에 의해 레지스터(R2)에는 바이트 포인터에 의해서 어드레싱 된 바이트의 (좌로부터) 최초 3개의 비트만이 포함되는 한편, 마지막 이동 연산에 의해 레지스터(R3)의 내용이 세 자리만큼 좌측으로 이동되어 헤더 비트(H1-H3)는 레지스터(R3)로부터 사라지게 된다. 도 4B에는 상기와 같은 방식으로 생성된 레지스터(R2 및 R3)의 레지스터 내용이 도시되어 있으며, 여기서 레지스터(R2)에는 단지 세 개의 헤더 비트 또는 프로토콜 비트(H1-H3)만이 포함되어 있는 반면, 레지스터(R3)는 단지 페이로드 비트(P1-P5)만을 갖는다는 것을 알 수 있다.
그러나 위에 설명된 명령 시퀀스는 총 5개의 개별 명령을 포함한다. 각각의 개별 명령이 늘어남에 따라 전체 프로그램 코드를 위한 필요 메모리, 실행 사이클의 개수 및 그와 더불어 전력 요구도 증가하기 때문에, 이 경우에도 역시 보다 적은 비용 및 보다 적은 개수의 개별 명령으로 위에 언급된 기능을 구현할 필요가 있다.
본 발명의 목적은, 원격 통신 프로토콜을 처리하기에 적합하고, 상기 처리시에 나타나는 처리 단계, 특히 데이터 이동 연산을 비교적 적은 비용, 다시 말해 가급적 적은 개수의 실행 사이클 및 최소의 전력 소비로 실행하는 프로세서 시스템을 제공하는 데 있다.
상기 목적은 본 발명에 따라 청구항 1 또는 13의 특징을 갖는 프로세서 시스템에 의해서 달성된다. 종속항들은 각각 본 발명의 바람직한 실시예들을 기술한다.
본 발명의 제 1 실시예에 따라 데이터 이동 명령, 다시 말해 메모리 명령 또는 로드 명령은, 데이터 블록의 형태로 이동될 데이터 유닛의 개수가 데이터 이동 명령에 의해서 프로세서 시스템의 프로세서 유닛에 정해지는 방식으로 정의되며, 이 경우 상기 프로세서 유닛은 데이터 이동 명령에 따라 정해진 개수에 상응하는 수의 데이터 유닛을 프로세서 시스템의 데이터 메모리와 임시 메모리 유닛 사이에서 이동시키며, 상기 임시 메모리 유닛은 레지스터 또는 프로세서 시스템의 입/출력 유닛의 포트에 의해 형성될 수 있다.
이동될 데이터 유닛의 개수의 제시는 명령 코드 자체에 의해서뿐만 아니라 데이터 이동 명령에 의해 정해진 레지스터를 통해 간접적으로도 이루어질 수 있다. 바람직하게는 각각의 데이터 이동 명령에 개별 우선 순위가 할당됨으로써, 프로세서 유닛은 다만 관련 데이터 이동 명령보다 높은 우선 순위를 갖는 인터럽트에 의해서만 개별 데이터 이동 명령의 실행을 허용한다.
상기 실시예의 한 바람직한 형성예에 따라, 데이터 이동 명령에 의해 임시 메모리 유닛으로서 하나의 포트를 사용할 때 오프셋 값이 미리 정해질 수 있으며, 상기 오프셋 값을 이용하여 프로세서 유닛이 데이터 메모리의 로드 명령시 데이터 유닛을 포트로 로드하거나 또는 메모리 명령시 포트로부터 판독 출력한다.
따라서 전체적으로 매우 효과적인 명령이 제공되며, 상기 명령에 의해 프로세서 시스템에서는 범위가 넓은 데이터 블록도 적은 개수의 실행 사이클로써 프로세서 시스템의 데이터 메모리와 전술한 임시 메모리 유닛(예컨대 레지스터 또는 입출력 포트) 사이에서 간단히 이동될 수 있다.
본 발명의 제 2 실시예에 따라 데이터 이동 명령은, 데이터 이동 명령에 의해 어드레싱 되어 데이터 메모리에 저장되는 데이터 유닛과 관련된 분리 정보가 데이터 이동 명령에 의해서 프로세서 유닛에 미리 제공되는 방식으로 정의되며, 이 경우 상기 프로세서 유닛은 데이터 이동 명령에 따라서 어드레싱 된 데이터 유닛을 분리 정보에 상응하는 분리 지점에서 제 1 데이터 절반과 제 2 데이터 절반으로 분리하여 상기 제 1 데이터 절반은 제 1 임시 메모리 유닛으로, 그리고 제 2 데이터 절반은 제 2 임시 메모리 유닛으로 이동시킨다.
데이터 유닛은 특히 프로세서 시스템의 데이터 메모리 내에 저장된 통신-비트 스트림의 데이터 바이트일 수 있다. 상기 2개 임시 메모리 유닛 각각은 제 2 실시예에 따라 예컨대 레지스터 또는 입/출력 포트일 수도 있다.
상기 실시예의 한 특이한 형성예에 따르면, 데이터 이동 명령에 의해서 상기 프로세서 유닛에 부가로 이동 정보가 미리 제공됨으로써, 상기 프로세서 유닛은 데이터 이동 명령에 따라 제 1 데이터 절반 또는 제 2 데이터 절반을 제 1 임시 메모리 유닛 또는 제 2 임시 메모리 유닛 내에서 이동 정보에 상응하는 개수의 비트 위치만큼 이동시킨다.
따라서 상기 제 2 실시예에 따라서도 높은 성능의 데이터 이동 명령이 제공되며, 상기 데이터 이동 명령에 의해 프로세서 시스템은 하나의 데이터 워드를 적은 수의 실행 사이클 및 적은 전력 소비로 분리할 수 있다. 따라서 상기 제 2 실시예는 원격 통신 프로토콜에 따라 하나의 데이터 바이트 내에 포함된 헤더 데이터 및 페이로드 데이터를 별도로 저장하여 추가 처리하기에 매우 적합하다.
전술한 데이터 이동 명령은 제 1 실시예에 따라서 뿐만 아니라 제 2 실시예에 따라서도 반복 명령과 조합될 수 있으며, 이 경우 프로세서 유닛에는 상기 반복 명령에 의해 데이터 이동 명령의 반복의 수가 미리 제공된다. 프로세서 유닛이 다수의 프로그램 시퀀스를 동시에 처리할 수 있도록 상기 프로그램 유닛이 형성된 경우, 상기 프로세서 유닛에 의해서 데이터 이동 명령의 실행과 동시에 실행될 부가의 프로그램 시퀀스가 반복 명령을 갖는 프로세서 유닛에 미리 제공될 수 있다.
첨부된 도면을 참고로 본 발명의 바람직한 실시예를 살펴보면 하기와 같다.
도 1에 도시된 프로세서 시스템은 데이터 버스(10), 제어 버스(11) 및 어드레스 버스(12)를 통해 프로그램 메모리(13), 데이터 메모리(14) 및 입/출력 장치(16)에 접속되어 있는 마이크로 프로세서 유닛(1)을 포함한다. 프로그램 메모리(13)는 처리될 프로그램 코드를 포함하는 한편, 상기 데이터 메모리(14)에는 각각의 필요한 변수가 존재한다. 단방향 어드레스 버스(12)를 통해서는 마이크로 프로세서 유닛(1)으로부터 요구되는 메모리 어드레스가 제시된다. 그와 달리 제어 버스(11)를 통해서는, 기록 또는 판독 과정이 실행되어야 하는지가 결정되는 한편, 양방향 데이터 버스(10)를 통해서는 데이터 교환이 이루어진다.
상기 마이크로 프로세서 유닛(1)은 실제로 3개의 기능 블록, 즉 시퀀스 제어 장치(2), 실행 유닛(3) 및 버스 인터페이스(6)를 포함한다.
상기 시퀀스 제어 장치(2)는 명령 디코더 및 프로그램 카운터를 포함하며, 상기 프로그램 카운터는 실행될 프로그램의 명령을 연속으로 호출하는 한편, 상기 명령 디코더는 그에 후속하여 개별 명령의 실행을 위해 필요한 단계들을 개시한다.
프로그램이 시작되면 상기 프로그램 카운터가 스타트 어드레스에 세팅된다. 상기 어드레스는 시퀀스 제어 장치(2)로부터 출발하여 버스 인터페이스(6)의 어드레스 버스-드라이버(9) 및 어드레스 버스(12)를 통해 어드레싱 될 각각의 메모리로 전송된다. 제어 버스-드라이버(8)에 의해 트리거링 되는 제어 버스(11)에 전송되는 판독 신호의 경우에는, 전송되는 어드레스에 의해 어드레싱 된 메모리 셀 또는 메모리 유닛의 내용이 데이터 버스-드라이버(7)에 의해 트리거링 되는 데이터 버스(10)에서 판독 출력되어, 상기 시퀀스 제어 장치(2)의 명령 디코더 내에 저장된다. 그 다음에 상기 명령 디코더는 명령 실행을 위해 필요한 연산을 개시하고, 명령을 실행한 후에 프로그램 카운터를 다음 명령의 어드레스에 맞추어 세팅한다.
상기 실행 유닛(3)은 주요 부품으로서 ALU-연산 유닛(Algorithmic Logic Unit)(4)을 포함하며, 상기 연산 유닛(4)은 개별적인 산술적 및 논리적 명령을 처리한다. 연산에 필요한 연산자(operand)는 레지스터 유닛(5) 내에 존재하거나 또는 도 1에 도시된 내부 버스를 통해 할당된다. 상기 레지스터 유닛(5)은 하나 이상의 데이터 레지스터 및 어드레스 레지스터를 포함한다.
도 1에 도시된 프로세서 시스템은 예컨대 인터넷 프로토콜 또는 이더넷 프로토콜 또는 DSL-프레임과 같은 원격 통신 프로토콜을 처리하기에 적합한 프로세서 시스템이다. 상기 방식의 원격 통신 프로토콜을 처리하는 경우에는, 이미 언급된 바와 같이, 소위 페이로드 데이터를 포함하는 비교적 큰 데이터 블록이 이동될 수 있으며, 이와 같은 동작은 프로그램 메모리(13)에 저장된 로드 명령 또는 메모리 명령에 의해 야기된다.
상기와 같은 로드 명령 또는 메모리 명령에 의해서는 비교적 큰 데이터 양이 커버되어야 하기 때문에, 관련 명령에 따라 각각 이동될 데이터 워드의 수를 지시하는 것이 바람직하며, 그럼으로써 프로세서 유닛(1)은 관련 명령의 디코딩 후에 원하는 개수의 데이터 워드를 데이터 메모리(14)로부터 판독 출력하여 레지스터(5) 또는 입/출력 유닛(16)의 포트에 로드할 수 있다. 이와 같은 내용은 당연히 상응하는 개수의 데이터 워드를 각각 어드레싱 된 레지스터(5) 또는 포트로부터 판독 출력하여 데이터 메모리(14) 내에 저장시키는 메모리 명령에도 해당된다.
각각의 이동될 데이터 워드 수에 대한 제시는 명령 코드(OpCode)로 직접적으로(소위 직접 어드레싱 또는 "즉시" 어드레싱) 또는 간접적으로(소위 간접 어드레싱 또는 "색인(indexed)" 어드레싱) 이루어질 수 있다.
하기의 로드 명령은 명령 코드 자체 내에서 이동될 데이터 워드 수에 대한 직접적인 지시의 예이다:
LOADBLOCK R1, @R2, NUMBER, PRIORITY
상기 명령에 의해서는, 레지스터(R2) 내에 저장된 어드레스 포인터에 의해서 정해진 특정 메모리 어드레스에서 시작되는 프로세서 시스템의 프로세서 유닛(1)으로 하여금 파라미터(NUMBER)에 상응하는 개수의 데이터 워드를 포함하는 데이터 블록을 데이터 메모리(14)로부터 판독 출력하여 레지스터(R1) 내부로 로드시키도록 지시된다. n개의 워드를 포함하는 데이터 블록(15)의 상기와 같은 이동 과정은 또한 도 2에도 도시되어 있다(이 경우 n은 개별 파라미터 값(NUMBER)이다).
전술한 명령의 실행은 프로세서 유닛(1)에 제공되는 인터럽트에 의해서 가능해야 한다. 이 경우, 각각의 데이터 이동 명령에 개별 우선 순위가 할당됨으로써, 프로세서 유닛(1)은 다만 관련 데이터 이동 명령보다 높은 우선 순위를 갖는 인터럽트가 나타나는 경우에만 관련 명령의 실행을 중단하는 것이 특히 바람직하다. 따라서 전술한 LOADBLOCK-명령은 추가로 관련 명령의 우선 순위를 결정하는 값을 갖는 PRIORITY 파라미터를 포함한다.
하기의 로드 명령은 레지스터(R3)의 참조를 통한 이동될 데이터 워드 수의 간접적인 제시에 대한 예이며, 하기의 명령에 의해서는 데이터 블록이 레지스터가 아니라 입/출력 장치(16)의 출력 포트로 로드된다:
LOADBLOCK PORT, @R2, R3, OFFSET, PRIORITY
이 경우 로드될 각각의 포트는 PORT 파라미터에 의해서 정해진다. 이동될 데이터 워드의 수는 레지스터(R3)의 내용에 의해서 간접적으로 제시된다. 상기 데이터 워드는 재차 레지스터(R2) 내에 저장된 어드레스 포인터에 의해서 정해진 메모리 어드레스에서 시작되어 판독 출력된다. 또한, 위의 예에서 LOADBLOCK-명령은 예컨대 특정 비트수의 형태로 된 오프셋 값이 부가적으로 미리 정해지는 방식으로 형성되며, 상기 오프셋 값에 따라 이동될 데이터 블록의 데이터 워드가 각각 어드레싱 된 출력 포트로 로드되어야 한다. 이와 같은 내용은 하기에서 도 3을 참조하여 더 자세히 설명된다.
도 3에 도시된 바와 같이, 전술한 방식의 LOADBLOCK-명령에 의해서는 프로그램 메모리(14)로부터 n개의 데이터 워드를 갖는 데이터 블록(15)이 출력 포트(16)로 이동되거나 또는 로드되는 것으로 가정된다. 도 3에 도시된 예에서는 PORT = 3 및 OFFSET = 2가 적용된다. 즉, 이동될 데이터 블록(15)의 데이터 워드가 2비트만큼 이동하여 출력 포트(#3)로 로드된다. OFFSET 파라미터는 프로세서 시스템에 의해 바람직하게는 각각 어드레싱 된 출력 포트로 직접 안내되며, 그럼으로써 상기 출력 포트에서는 오프셋 이동이 포트 고유 기능의 형태로 구현될 수 있다. 비트 오프셋의 사용은 단지 수많은 오프셋 가능성 중 단 하나일 뿐이다.
또한, 마지막에 설명된 예에서도 LOADBLOCK-명령에는 재차 일시적으로 상승할 수도 있는 개별 우선 순위가 할당되어 있다.
원하는 포트의 제시는 하기와 같이 관련 레지스터 내용의 참조에 의해서 간접적으로도 이루어질 수 있다:
LOADBLOCK R1, @R2, R3, OFFSET, PRIORITY
상기 LOADBLOCK-명령의 경우에는 레지스터(R1) 내에 원하는 출력 포트의 번호가 저장된다. 그렇지 않은 경우, 상기 LOADBLOCK-명령은 앞에서 설명한 명령에 상응한다.
위에 기술된 명령 구문은 로드 명령뿐만 아니라 메모리 명령에도 적용될 수 있다:
STOREBLOCK PORT, @R2, R3, OFFSET, PRIORITY
상기 STOREBLOCK-명령에 의해서는, OFFSET 파라미터에 의해 정해진 비트 위치에서 시작하여 PORT 파라미터로 표기된 입/출력 장치(16)의 입력 포트로부터, 레지스터(R3)에 저장된 개수의 데이터 워드를 포함하는 데이터 블록이 판독 출력되어, 레지스터(R2)에 저장된 어드레스 포인터에 의해 정해진 메모리 어드레스부터 시작하여 데이터 메모리(14) 내에 저장된다. 또한, STOREBLOCK-명령에도 PRIORITY 파라미터에 의해서 명령 고유의 우선 순위가 할당되어 있다.
당연히 STOREBLOCK-명령도 이전에 LOADBLOCK-명령을 참조하여 설명된 바와 같이 변경될 수 있다.
각각의 명령은 "스레드(Thread)"로도 표기된 특정 프로그램 시퀀스의 부분이다. 이전에 기술된 명령이 반복 명령과 하기와 같이 조합됨으로써, LOADBLOCK-명령이 다른 프로그램 시퀀스에 삽입될 수 있다:
REPEAT R1, NUMBER, THREAD
LOADBLOCK PORT, @R2, R3, OFFSET, PRIORITY
상기 REPEAT-명령에 의해서는 NUMBER 파라미터에 의해 정해진 반복을 갖는 반복 루프가 형성된다. 상기 반복 값(NUMBER)은 우선 레지스터(R1)에 로드된다. 이어서, LOADBLOCK-명령이 한 번 실행되고, 레지스터(R1) 내에 저장된 반복 값(R1)이 감소하며(R1 = R1-1), 프로그램 시퀀스를 스타트하거나 또는 실행하기 위해 THREAD 파라미터에 의해 정해진 프로그램 시퀀스로 전환된다. 파라미터(THREAD)에 의해 정해진 상기 프로그램 시퀀스의 상응하는 명령에 의해서 또는 상응하는 인터럽트가 존재하는 경우, 다시 재스위칭 또는 회귀(return)가 일어나고, LOADBLOCK-명령이 재실행된다. 이러한 과정은 레지스터(R1) 내에 "0" 값만 저장될 때까지 반복된다.
도 1에 도시된 프로세서 유닛은, 상이한 프로그램 시퀀스들을 동시에 처리할 수 있도록 형성되는 것이 바람직하다. 이 경우, 전술한 REPEAT-명령에 의해 THREAD 파라미터로 지칭되는 프로그램 시퀀스가 시작되거나 실행되며, 이와 동시에 하기의 LOADBLOCK-명령이 기존의 프로그램 시퀀스에서 실행된다.
하기에서는 도 5를 참조하여 본 발명의 추가의 실시예가 설명되며, 여기서는 적은 비용으로 데이터 유닛, 특히 바이트의 비트들을 분할하여 별도로 저장할 수 있는 고성능의 명령이 제공된다. 이러한 연산은 원격 통신 프로토콜의 처리시에 마이크로 프로세서에 의해 상대적으로 자주 요구될 수 있다.
도 4와 관련하여 이미 설명된 바와 같이, 우선은 특정 레지스터에 저장된 바이트 포인터(BP)에 의해 어드레싱 되는 통신-비트 스트림의 한 바이트가 데이터 메모리에 저장되어 있다는 사실로부터 출발한다. 도 1에 도시된 프로세서 유닛(1)은 데이터 버스(10)를 통한 메모리 액세스에 의해서 상기 바이트에 액세스할 수 있으며, 이와 같은 액세스는 종래의 LOAD-명령과 조합되는 하기의 LOAD2-명령에 따라 이루어진다:
LOAD R1, BP
LOAD2 R2, R3, @R1, SP
우선, 바이트 포인터(BP)는 LOAD-명령에 의해 레지스터(R1)로 로드된다. 이어서, 상기 프로세서 유닛(1)에는 LOAD2-명령에 의해 분할 정보 또는 분리 정보가 SP 파라미터의 형태로 제공되며, 상기 정보는 바이트 포인터(BP)에 의해 어드레싱 된 바이트 내에서의 분할 위치를 나타낸다(도 5A 참조). 어드레싱 된 바이트는 상기 분할 위치에 의해 2개의 절반으로 분리되고, 상기 2개의 절반은 프로세서 유닛(1)에 의해 마찬가지로 LOAD2-명령에 제시된 레지스터(R2 및 R3) 내에 저장된다. 따라서 데이터 메모리(14) 내에 바이트 포인터(BP)에 의해 정해진 어드레스로 저장된 바이트는 도 5B에 도시된 바와 같이 프로세서 유닛의 LOAD2-명령에 따라 레지스터(R2)와 레지스터(R3)로 분할되며, 이어서 상기 레지스터(R2)는 분할 지점(SP)을 기준으로 좌측 바이트 절반의 비트(H1-H3)만을, 그리고 레지스터(R3)는 우측 바이트 절반의 비트(P1-P5)만을 포함한다. 상기 바이트의 좌측 절반 및 우측 절반으로의 분할은, 예컨대 상기 바이트를 가진 상응하는 2진 마스크가 프로세서 유닛(1)에 의해 논리 AND-연산됨으로써 이루어질 수 있다. 상기 실행이 SP 파라미터에 상응하는 레지스터(R3)용 이동 연산만큼 확장되면, 도 5C에 도시된 레지스터 내용이 얻어질 수 있다. 상기 이동 연산은 예컨대 프로세서 유닛에 통상적으로 제공되는 배럴-시프터(Barrel-Shifter)가 담당할 수 있는데, 그 이유는 로드 연산에서는 상기 배럴-시프터가 필요치 않기 때문이다.
또한, 레지스터(R2)를 위한 추가적인 이동이 요구될 수도 있다. 이 경우, LOAD2-명령이 하기와 같이 변형될 수 있다:
LOAD2 R2, R3, @R1, SP, EP
따라서, 상기 LOAD2-명령에 의해 프로세서 유닛(1)에 레지스터(R2)의 이동 위치 또는 삽입 위치를 지칭하는 추가 파라미터 EP가 미리 제공됨으로써, 상기 레지스터(R2)에 저장되고 비트(H1-H3)를 갖는 바이트 절반은 상기 LOAD2-명령의 실행시 파라미터(EP)에 의해 표기된 비트 수만큼 이동되고, 도 5D에 도시된 레지스터 내용이 얻어진다.
상기 LOAD2-명령은 당연히 출력 포트에도 적용될 수 있으며, 이 경우 하기 예에서는 레지스터(R3)의 자리에 PORT 파라미터로 표기된 입/출력 장치(16)의 출력 포트가 나타난다:
LOAD2 R2, PORT, @R1, SP, EP
상기 명령에 의해 파라미터(SP)는 파라미터(PORT)로 표기된 출력 포트로 직접 안내되며, 그 다음에 상기 출력 포트에서는 SP 값만큼 포트 고유 기능의 형태로 비트(P1-P5)의 좌측 이동이 실행된다.
포트를 사용하는 경우에는 또한 개별 포트의 색인 어드레싱도 하기와 같이 가능하며, 이 경우 레지스터(R3)에는 어드레싱 될 포트가 지시되어 있다:
LOAD2 R2, R3, @R1, SP, EP
따라서 전체적으로 볼 때, 상기 LOAD2-명령에 의해서는 고성능의 명령이 특정 데이터 유닛의 분할을 위해 제공되며, 상기 고성능 명령은 최소 개수의 실행 사이클 및 최소의 전력 소비로 분할을 가능하게 한다. LOAD2-명령에서 개별 파라미터를 위해 요구되는 제어 비트를 제외하고는, 하드웨어 비용은 종래의 처리 방식(도 4에 대한 설명 참조)에 비해 거의 변동이 없다. 따라서 전술한 실시예는 원격 통신 프로토콜의 처리시에 특별히 통신 비트 스트림의 한 바이트를 헤더 비트(H1-H3)와 페이로드 비트(P1-P5)로 분할하는 데 적합하다.
특정 데이터 유닛의 분할을 위해 제공되는 전술한 LOAD2-명령은 또한 바이트 절반을 STORE2-명령으로 결합 또는 "병합(Merge)"하도록 확장될 수 있다.
STORE2 R2, R3, @R1, SP, EP
상기 명령에 의해서는 레지스터(R2 및 R3)로부터 한 바이트의 2개의 바이트 절반이 판독 출력되며, 이 경우 프로세서 유닛(1)의 레지스터(R2, R3) 내에서의 상기 2개의 바이트 절반의 위치는 전술한 파라미터(SP 및 EP)의 형태로 지시된다. 따라서 프로세서 유닛(1)은 레지스터(R2, R3)로의 액세스에 의해서 비트(H1-H3 및 P1-P5)를 갖는 상기 2개의 바이트 절반을 판독 출력하여, 레지스터(R1)에 저장된 바이트 포인터로 표기된 메모리 어드레스로 데이터 메모리(14)에 저장되는 바이트에 통합할 수 있다. 그러나 상기 STORE2-명령은 레지스터에만 적용될 수 있다. 또한, 비용을 고려해서도 STORE2-명령을 도 5C에 도시된 바대로 레지스터(R2, R3)를 채우는 데 사용하는 것이 바람직하다.
또한, 상기 LOAD2 또는 STORE2-명령은 - LOADBLOCK-명령을 참조하여 위에 기술된 바와 같이 - REPEAT-명령과 조합되어 하기와 같이 반복 루프 내부로 삽입될 수 있다:
REPEAT R1, NUMBER, THREAD
LOAD2 R2, R3, @R1, SP, EP
상기 LOAD2-명령을 위해 프로세서 유닛(1)에 특수한 하드웨어 유닛이 제공되면, 상기 LOAD2-명령은 재차 파라미터(THREAD)로 표기된 다른 프로그램 시퀀스와 동시에 실행될 수 있다.
본 발명에 의해 원격 통신 프로토콜을 처리하기에 적합하고 이때 발생하는 처리 단계, 특히 비교적 적은 비용, 다시 말해 가급적 적은 수의 실행 사이클 및 최소한의 전력 소비로 데이터 이동 연산이 실행되는 프로세서 시스템이 제공된다.

Claims (20)

  1. 프로그램 메모리(13)에 저장된 명령을 실행하기 위한 프로세서 유닛(1) 및 데이터 메모리(14)를 포함하며,
    상기 프로그램 메모리(13) 내에 해당 데이터 이동 명령이 존재할 때 상기 프로세서 유닛(1)에 의해 상기 데이터 메모리(14)와 임시 메모리 유닛(5, 16) 사이에 데이터가 이동하도록 구성된 프로세서 시스템으로서,
    상기 데이터 이동 명령은, 상기 데이터 이동 명령에 의해 데이터 블록(15)의 형태로 이동될 데이터 유닛의 수(n)가 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되고,
    상기 프로세서 유닛(1)은, 상기 데이터 이동 명령에 의해 정해진 수에 상응하는 개수의 데이터 유닛이 상기 데이터 이동 명령에 따라 상기 데이터 메모리(14)와 상기 임시 메모리 유닛(5, 16) 사이에 이동하는 방식으로 설계되는 것을 특징으로 하는, 프로세서 시스템.
  2. 제 1 항에 있어서,
    상기 데이터 이동 명령은, 이동될 데이터 유닛의 수(n)가 명령 코드 자체에 의해 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  3. 제 1 항에 있어서,
    상기 데이터 이동 명령은, 데이터 블록(15) 형태로 이동될 데이터 유닛의 수(n)가 상기 데이터 이동 명령에 의해 정의된 레지스터(5)의 내용에 의해 간접적으로 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 프로세서 유닛(1)으로 하여금 상기 데이터 이동 명령보다 더 높은 우선 순위를 갖는 인터럽트에 의해서만 상기 데이터 이동 명령의 실행을 허용하게 하는 우선 순위가 상기 각각의 데이터 이동 명령에 지정되는 것을 특징으로 하는, 프로세서 시스템.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 임시 메모리 유닛이 레지스터(5, R1)인 것을 특징으로 하는, 프로세서 시스템.
  6. 제 1 항 내지 3 항 중 어느 한 항에 있어서,
    상기 임시 메모리 유닛이 입/출력 장치(16)의 포트인 것을 특징으로 하는, 프로세서 시스템.
  7. 제 6 항에 있어서,
    상기 데이터 이동 명령은, 상기 각각의 개별 포트(16)가 상기 데이터 이동 명령에 의해 정해진 레지스터(5)의 내용에 의해 간접적으로 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  8. 제 6 항에 있어서,
    상기 데이터 이동 명령은, 상기 데이터 이동 명령에 의해 상기 프로세서 유닛(1)에 오프셋 값이 정해지고, 상기 오프셋 값을 이용하여 상기 프로세서 유닛(1)이 로드 명령시에는 데이터 유닛을 데이터 메모리(14)로부터 포트(16)로 로드하고 또는 메모리 명령시에는 데이터 유닛을 포트(16)로부터 판독 출력하는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  9. 제 8 항에 있어서,
    상기 오프셋 값이 비트 오프셋 값인 것을 특징으로 하는, 프로세서 시스템.
  10. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 데이터 이동 명령은, 해당 데이터 블록(15)을 상기 데이터 메모리(14)로부터 상기 임시 메모리 유닛(5, 16)으로 로드하도록 상기 프로세서 유닛(1)에 지시하는 로드 명령인 것을 특징으로 하는, 프로세서 시스템.
  11. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 데이터 이동 명령은, 해당 데이터 블록(15)을 상기 임시 메모리 유닛(5, 16)으로부터 상기 데이터 메모리(14)로 기록하도록 상기 프로세서 유닛(1)에 지시하는 메모리 명령인 것을 특징으로 하는, 프로세서 시스템.
  12. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 각각의 데이터 유닛은 데이터 워드이기 때문에, 상기 이동될 데이터 블록(15)이 상기 데이터 이동 명령에 의해 이동될 데이터 워드 수의 형태로 상기 프로세서 유닛(1)에 정해지는 것을 특징으로 하는 프로세서 시스템.
  13. 프로그램 메모리(13)에 저장된 명령을 실행하기 위한 프로세서 유닛(1) 및 데이터 메모리(14)를 포함하며,
    상기 프로그램 메모리(13) 내에 해당 데이터 이동 명령이 존재할 때 상기 프로세서 유닛(1)에 의해 상기 데이터 메모리(14)와 임시 메모리 유닛(5, 16) 사이에 데이터가 이동하도록 구성된 프로세서 시스템으로서,
    상기 데이터 이동 명령은, 상기 데이터 이동 명령에 의해 분리 정보(SP)가 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되고, 상기 분리 정보는 상기 데이터 이동 명령에 의해 어드레싱 되어 상기 데이터 메모리(14)에 저장되는 데이터 유닛과 관련되며,
    상기 프로세서 유닛(1)은, 상기 프로세서 유닛이 어드레싱 된 데이터 유닛을 상기 데이터 이동 명령에 따라 상기 분리 정보에 대응하는 분리 지점(SP)에서 제 1 데이터 절반(H1-H3)과 제 2 데이터 절반(P1-P5)으로 분리시켜, 상기 제 1 데이터 절반(H1-H3)을 제 1 임시 메모리 유닛(5, R2; 16)으로, 상기 제 2 데이터 절반(P1-P5)을 제 2 임시 메모리 유닛(5, R3; 16)으로 이동시키는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  14. 제 13 항에 있어서,
    상기 데이터 유닛이 상기 데이터 메모리(14) 내에 저장된 데이터 바이트인 것을 특징으로 하는, 프로세서 시스템.
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 데이터 이동 명령은, 어드레싱 될 데이터 유닛이 상기 데이터 이동 명령에 의해 정해진 레지스터(5)의 내용에 의해 간접적으로, 상기 데이터 이동 명령에 의해 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  16. 제 13 항 또는 제 14 항에 있어서,
    상기 데이터 이동 명령은, 상기 데이터 이동 명령에 의해 상기 프로세서 유닛(1)에 이동 정보(EP)가 부가적으로 정해지는 방식으로 정의되며,
    상기 프로세서 유닛(1)은, 상기 프로세서 유닛이 데이터 이동 명령에 따라 제 1 임시 메모리 유닛(5, R2; 16) 또는 제 2 임시 메모리 유닛(5, R3; 16) 내에서 제 1 데이터 절반(H1-H3) 또는 제 2 데이터 절반(P1-P5)을 이동 정보에 상응하는 비트 위치의 수만큼 이동시키는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  17. 제 13 항 또는 제 14 항에 있어서,
    상기 제 1 임시 메모리 유닛, 상기 제 2 임시 메모리 유닛, 또는 상기 제 1 임시 메모리 유닛 및 상기 제 2 임시 메모리 유닛이 레지스터(5, R2, R3)인 것을 특징으로 하는, 프로세서 시스템.
  18. 제 13 항 또는 제 14 항에 있어서,
    상기 제 1 임시 메모리 유닛, 상기 제 2 임시 메모리 유닛, 또는 상기 제 1 임시 메모리 유닛 및 상기 제 2 임시 메모리 유닛이 입/출력 장치(16)의 포트인 것을 특징으로 하는, 프로세서 시스템.
  19. 제 18 항에 있어서,
    상기 데이터 이동 명령은, 각각의 포트(16)가 상기 데이터 이동 명령에 의해 정해진 레지스터(5)의 내용에 의해 상기 프로세서 유닛(1)에 간접적으로 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
  20. 제 13 항 또는 제 14 항에 있어서,
    상기 데이터 이동 명령은 상기 프로그램 메모리(13)에서 반복 명령과 조합되어 저장되고, 상기 프로세서 유닛(1)에는 상기 반복 명령에 의해 상기 데이터 이동 명령의 반복의 수가 정해지고,
    상기 프로세서 유닛(1)은 다수의 프로그램 시퀀스를 동시에 실행하도록 형성되며,
    상기 반복 명령은, 상기 프로세서 유닛(1)에 의해 상기 데이터 이동 명령의 실행과 동시에 실행될 프로그램 시퀀스가 반복 명령에 의해 상기 프로세서 유닛(1)에 정해지는 방식으로 정의되는 것을 특징으로 하는, 프로세서 시스템.
KR1020000058834A 1999-10-06 2000-10-06 프로세서 시스템 KR100630019B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19948100.8 1999-10-06
DE19948100A DE19948100A1 (de) 1999-10-06 1999-10-06 Prozessorsystem

Publications (2)

Publication Number Publication Date
KR20010067299A KR20010067299A (ko) 2001-07-12
KR100630019B1 true KR100630019B1 (ko) 2006-09-27

Family

ID=7924661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000058834A KR100630019B1 (ko) 1999-10-06 2000-10-06 프로세서 시스템

Country Status (6)

Country Link
EP (1) EP1091290B1 (ko)
JP (1) JP2001166918A (ko)
KR (1) KR100630019B1 (ko)
CN (1) CN1293394A (ko)
AT (1) ATE350703T1 (ko)
DE (2) DE19948100A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666174B (zh) * 2002-05-24 2010-05-05 Nxp股份有限公司 用于信号处理的处理器
US20130042091A1 (en) * 2011-08-12 2013-02-14 Qualcomm Incorporated BIT Splitting Instruction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910001555A (ko) * 1989-06-26 1991-01-31 빈센트 죠셉 로너 데이타 프로세서
KR920001322A (ko) * 1990-06-29 1992-01-30 원본미기재 감소된 명령 세트 프로세서의 성능 개선 방법 및 그 프로세서 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL134954C (ko) * 1964-10-07
DE3650703T2 (de) * 1985-02-12 1999-04-01 Texas Instruments Inc Mikroprozessor mit einer Blockübertragungsinstruktion
US5222225A (en) * 1988-10-07 1993-06-22 International Business Machines Corporation Apparatus for processing character string moves in a data processing system
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
JP2932963B2 (ja) * 1994-01-21 1999-08-09 モトローラ・インコーポレイテッド 効率的なビット移動能力を有するデータ・プロセッサとその方法
US5875342A (en) * 1997-06-03 1999-02-23 International Business Machines Corporation User programmable interrupt mask with timeout
JP3570188B2 (ja) * 1997-12-25 2004-09-29 富士通株式会社 可変長符号処理機構を有するデータ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910001555A (ko) * 1989-06-26 1991-01-31 빈센트 죠셉 로너 데이타 프로세서
KR920001322A (ko) * 1990-06-29 1992-01-30 원본미기재 감소된 명령 세트 프로세서의 성능 개선 방법 및 그 프로세서 시스템

Also Published As

Publication number Publication date
DE50013924D1 (de) 2007-02-15
KR20010067299A (ko) 2001-07-12
EP1091290A3 (de) 2003-08-06
ATE350703T1 (de) 2007-01-15
EP1091290B1 (de) 2007-01-03
EP1091290A2 (de) 2001-04-11
CN1293394A (zh) 2001-05-02
DE19948100A1 (de) 2001-04-12
JP2001166918A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
CA1319997C (en) Specialized communication processor for layered protocols
US5487159A (en) System for processing shift, mask, and merge operations in one instruction
US20090187739A1 (en) Method and Apparatus for Improved Computer Load and Store Operations
CN112131172A (zh) 一种减少延时的PCIe设备芯片初始化方法
EP0945783A2 (en) Variable length register device
KR100630019B1 (ko) 프로세서 시스템
US7590117B2 (en) Multichannel processor
US5642523A (en) Microprocessor with variable size register windowing
US7158529B2 (en) Device for data stream decoding
EP1257912B1 (en) Method and apparatus for improved computer load and store operations
US5426766A (en) Microprocessor which holds selected data for continuous operation
US5860130A (en) Memory interface apparatus including an address modification unit having an offset table for prestoring a plurality of offsets
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
EP0209243B1 (en) Immediate instructions with fixed sign position
KR20000028546A (ko) 프로세서및메모리제어방법
US6766448B2 (en) Microcomputer for transferring program data to an internal memory from an external memory connected via a bus and a method therefor
US6081869A (en) Bit-field peripheral
US6005502A (en) Method for reducing the number of bits needed for the representation of constant values in a data processing device
JP3462245B2 (ja) 中央演算処理装置
KR20110014988A (ko) 메모리 영역으로의 복수의 프로세서의 액세스를 제어하는 방법 및 상기 방법을 구현하기 위한 메시지 메모리를 구비한 통신 모듈
US7512873B2 (en) Parallel processing apparatus dynamically switching over circuit configuration
KR100654477B1 (ko) 프로세서 동작 방법
US20040244002A1 (en) Common state sequences in a finite state machine
JP2000231494A (ja) ソフトウェア実行システム及びソフトウェア実行方法
KR0164150B1 (ko) 씨이크형 마이크로프로세서를 위한 예외 처리 루틴 결정 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120917

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130913

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140912

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150911

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee