KR100225187B1 - 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템 - Google Patents

비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템

Info

Publication number
KR100225187B1
KR100225187B1 KR1019950040925A KR19950040925A KR100225187B1 KR 100225187 B1 KR100225187 B1 KR 100225187B1 KR 1019950040925 A KR1019950040925 A KR 1019950040925A KR 19950040925 A KR19950040925 A KR 19950040925A KR 100225187 B1 KR100225187 B1 KR 100225187B1
Authority
KR
South Korea
Prior art keywords
bit field
address
bit
control logic
memory
Prior art date
Application number
KR1019950040925A
Other languages
English (en)
Other versions
KR960018881A (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 KR960018881A publication Critical patent/KR960018881A/ko
Application granted granted Critical
Publication of KR100225187B1 publication Critical patent/KR100225187B1/ko

Links

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
    • 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

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 (AREA)

Abstract

전용 비트 필드 어드레스를 통해 액세스되는 비트 필드 주변 장치뿐만 아니라 프로세서를 포함하고 있는 비트 필드 시스템이 공개된다. 이 비트 필드 시스템은 비트 필드 연산을 효과적으로 실행한다. 또한, 상기 비트 필드 시스템은 비트 필드 연산을 수행할 수 있는 능력을 가지고 있는 원래의 비트 필드 명령 세트를 포함하지 않은 프로세서를 제공한다. 상기 시스템은 비트 필드 명령의 인코딩과 관련된 문제를 회피할 수 있다.

Description

비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템
제1도는 본 발명에 따라 비트 필드 주변 장치를 가진 시스템을 나타낸 도면.
제2도는 제1도의 비트 필드 주변 장치의 블럭도.
제3도는 본 발명에 따라 제1도의 비트 필드 주변 장치의 메모리 할당(allocation)을 나타낸 도면.
제4도는 본 발명에 따른 비트 필드 연산의 메모리 액세스를 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
52 : 프로세서 60 : 제어 로직
64 : 비트 필드 메모리 66 : 선택 및 루팅 조직
68 : 래치
본 발명은 비트 필드 연산(bit field operations)에 관한 것으로, 특히 주변 장치를 이용하여 비트 필드 연산을 수행하는 기술에 관한 것이다.
프로세서가 마스크 및 논리 연산을 통해 비트 필드 연산을 수행하는 기술은 공지되어 있다. 비트 필드 연산은 워드내의 특정 비트 또는 비트 그룹을 처리하는 연산이다. 일부 프로세서 명령 세트내의 특수화된 비트 필드 명령에 의해 상기 비트 필드 연산을 능률적으로 처리한다.
비트 필드 명령은 워드 내에서 임의의 비트 오프셋을 두고 위치되어 있는 가변 가능 크기의 연산자를 포함하고 있기 때문에, 비트 필드 연산을 수행하는 비트 필드 명령은 대다수의 다른 프로세서 명령보다 복잡한 연산자를 포함하고 있다. 이들 연산자의예먕량 레지스터 또는 메모리 내의 비트 필드의 위치와 관련된 연산자 외에, 상기 비트 필드의 시작 및 길이를 지정하는 연산자를 들 수 있다.
부호화된 비트 필드 명령을 해석하고 실행하기 위한 하드웨어를 프로세서에 제공하면, 상기 비트 필드 연산을 처리하기 위한 프로세서의 명령 디코더의 크기가 커진다. 또한, 상기 비트 필드 명령을 실행하기 위한 프로세서 하드웨어는 복잡한 연산자를 수용함에 있어 추가적인 데이타 경로 또는 보다 넒은 데이타 경로를 필요로 한다.
제한된 수의 비트 필드 명령을 실행하는 프로세서의 예로는 NEC 일렉트로닉스의 품명μPD 70320/322를 들 수 있다. 이 μPD70320/322 프로세서는 인출(extract) 비트 필드 연산 및 삽입(insert) 비트 필드 연산을 제공한다. 상기 인출 비트 필드 연산은 메모리 위치로부터 특정 길이의 비트 필드를 인출한다. 인출된 비트 필드는 클리어된 미사용 비트를 가지고 있는 전송 레지스터 내에 바로 정렬된다. 목적 비트 필드의 바이트 오프셋은 레지스터의 내용에 의해 결정된다. 상기 삽입 비트 필드 연산은 비트 필드를 메모리 위치에 삽입한다. 특히, 특정 길이의 비로 정렬된 비트 필드는 레지스터로부터 메모리 위치로 전송된다. 상기 목적 비트 필드의 오프셋은 오프셋 레지스터의 내용에 의해 결정된다. 다음에, 상기 비트 필드의 시작이 비트 오프셋 연산을 이용하여 위치된다. 이 명령을 이용하는 비트 필드는 어떠한 정렬 요건도 가지고 있지 않으며, 하나 이상의 바이트 경계들을 연결할 수 있다.
비트 필드 명령을 실행하는 프로세서의 다른 예로는 미국 모토로라의 품명 DSP56156의 디지탈 시그널 프로세서를 들 수 있다. 이 프로세서는 비트 필드 처리 명령 그룹을 포함하고 있다. 이 명령 그룹은 메모리 위치의 바이트 내에서 비트 세트 상태를 테스트하여 바이트의 비트를 세트하고 클리어하거나 반전시킨다. 테스트될 수 있는 비트 필드는 16바이트 값에서 상부 바이트 및 하부 바이트를 포함한다. 상태 코드 레지스터의 캐리(carry) 비트는 각 명령에 대한 비트 테스트의 결과를 포함하고 있다. 이들 비트 필드 처리 명령은 판독 수정 기록 명령이며 2개의 명령 사이클을 필요로 한다. 병렬 데이타 이동은 어떤 비트 필드 명령의 경우에도 허용되지 않는다. 상기 비트 필드 명령은 비트 필드 테스트 로우(low) 명령, 비트 필드 테스트 하이(high) 명령, 비트 필드 테스트 및 클리어 명령, 비트 필드 테스트 및 세트 명령, 및 비트 필드 테스트 및 변화 명령을 포함하고 있다.
[발명의 개요]
전용 비트 필드 어드레스를 통해 액세스되는 비트 필드 주변 장치를 프로세서에 제공하면, 비트 필드 연산을 효율적으로 실행하는 시스템이 제공된다는 사실이 발견되었다. 이와 같은 시스템은 원래의 비트 필드 명령 세트를 포함하고 있지 않은 프로세서에도 비트 필드 연산을 수행할 수 있는 능력을 제공한다. 또한, 상기 시스템은 비트 필드 명령의 인코딩과 관련된 문제를 회피할 수 있다.
[상세한 설명]
이하에서 본 발명의 바람직한 실시예에 대해 상세히 설명한다. 이 설명은 본 발명에 대한 예시이며, 한정을 의도한 것이 아니다.
제1도를 참조하면, 비트 필드 시스템(50)은 비트 필드 주변 장치(54)에 접속된 프로세서(52)를 포함하고 있다. 이 프로세서(52)는 예컨대 NEC 코포레이션에서 제조된 품명 μPD77017의 디지탈 시그널 프로세서(DSP)이다. 상기 프로세서(52)는 또한 메모리(56)에 접속되어 있다. 상기 비트 필드 주변 장치(54)는 비트 필드 메모리(64) 이외에 제어 로직(control logic)(60)을 포함하고 있다. 상기 비트 필드 주변 장치(54)는 메모리 공간의 비트 필드 영역을 통해 상기 프로세서(52)에 의해 액세스되며, 프로세서(52)가 실행할 수 있도록 명확하게 구성되지 않은 비트 필드 연산을 비트 필드 시스템(50)이 수행할 수 있도록 해 준다. 상기 프로세서(52)가 메모리 공간의 비트 필드 영역내의 특수한 어드레스를 액세스할 때, 상기 워드내의 소정의 비트가 처리된다. 비트 필드 주변 장치(54)는 상기 프로세서(52)와 동일한 집적 회로 칩 상에 집적될 수도 있다.
제2도를 참조하면, 상기 비트 필드 주변 장치(54)의 제어 로직(60)은 선택 및 루팅 로직(66)을 포함하고 있다. 이 선택 및 루팅 로직(66)은 프로그래머블 로직 어레이(PLA), 불연속 로직 구성 요소와 같은 하드웨어 구성 요소로부터 제공되거나 응용 주문형 집적 회로(ASIC)로 제공된 것이다. 상기 선택 및 루팅 로직(66)은 상기 비트 시스템(50)의 16 비트 데이타 버스 및 16 비트 어드레스 버스외에 판독 기록(R/W) 신호 버스를 액세스 할 수 있도록 접속되어 있다.
상기 비트 필드 메모리(64)는 L0-L31로 표시된 32개의 래치(68)를 포함하고 있다. 이들 래치(68)는 상기 선택 및 루팅 로직(66)에 병렬로 접속되어 있다. 각각의 래치(68)의 데이타 입력(D) 및 클럭 입력(C)은 상기 선택 및 루팅 로직(66)으로부터 수신되며, 각각의 래치(68)의 데이타 출력(Q)이 상기 선택 및 루팅 로직(66)에 제공된다.
상기 선택 및 루팅 로직(66)은 비트 필드 메모리(64)의 32개의 래치중 어느 것이 호출된 비트 필드 명령의 특정한 어드레스용 데이타를 유지하고 있는지를 결정한다. 일반적으로, 1 ≤ j ≤ 16 및 0 ≤ k 16 또는 j = k = 16인 경우에 상기 선택 및 루팅 로직(60)에 접속되는 어드레스 라인은 값(lenj + k)을 나타낸다. 따라서, 특정한 어드레스가 호출될 때, 특정한 어드레스에 대응하는 래치가 세트된다. 특히, 어드레스(lenk)의 하위 4비트가 제로이고 어드레스(lenj. + k)의 로우 4 비트(k)가 오프셋을 제공하고 다음 4 비트(j)가 상기 비트 필드의 폭을 제공하는 어드레스 맵을 제공함으로써, 상기 선택 및 루팅 로직(60)은 이 어드레스 맵을 기초로 세트될 래치와 클리어될 래치를 결정한다.
일반적으로, 상기 어드레스(lenj + k)에 있어서, R/W 신호는 k의 오프셋을 가지고 있는 j개의 래치, 즉, 래치(Lk... Lk+j)의 C 입력에 루팅(routing)되고, 하이 신호가 나머지 래치, 즉(32-j)개 의 래치에 루팅된다. 상기 R/W 신호가 하이(판독을 나타냄)이면, 데이타 버스로부터의 데이타의 하위 j 비트는 선택된 래치로 루팅되고, 특히, 0 ≤ i j일 때, 입력 신호(Di)는 상기 래치(Lk+i)의 D 입력으로 루팅된다. 판독의 경우에는, 상기 선택 및 루팅 로직(66)이 출력 데이타의 하위 j 라인을 제외한 상기 출력 데이타의 모든 라인을 로우로 풀다운시킨다. 기록의 경우에는, 래치(Lk+i)의 Q 출력이 출력 신호(Di)로 루팅된다.
예컨대, 상기 어드레스가 값(len 2 +3)을 가지고 있으면, 액티브된 2개의 래치가 존재하고, 이들 래치는 3의 오프셋을 가지고 있다. 따라서, 래치(L4, L3)가 액티브된다. 상기 R/W 신호는 L4및 L3래치의 C 입력으로 루팅되고 판독을 나타내는 하이 신호가 나머지 30개의 래치로 루팅된다. 데이타 버스로부터의 하위 2 비트는 기록 버스 사이클의 시작 시에 L4및 L4래치의 D 입력으로 루팅되고 이들 두 래치의 2개의 Q 출력은 판독 버스 사이클의 끝에서 데이타 버스의 2개의 하위 비트로 루팅된다. 판독의 경우에, 상기 선택 및 루팅 로직(66)은 상기 출력 데이타 버스의 2개의 하위 라인을 제외한 모든 래치 출력을 로우로 풀다운시킨다.
제3도 및 제4도를 참조하면, 바람직한 실시예에 있어서, 상기 프로세서(52)는 비트 필드 메모리(64)의 어드레스에 대응하는 전용의 비트 필드 메모리 영역을 제공한다. 상기 비트 필드 메모리 영역은 메모리의 16 * 16 + 1 = 257 워드를 포함하고 있다. 이들 워드는 물론 각각 16 개의 워드와 하나의 추가 워드로 돈 16 개의 블럭으로 분할된다. 16개 의 상이한 블럭은 메모리 위치, 즉, len01 len02 ... len16에서 시작된다.
일반적으로, 어드레스(lenj)에서 시작되는 어드레스를 통해 액세스되는 워드는 j 유효(즉, 하위)비트를 가지고 있고, 각각의 워드의 나머지의 상위 비트는 항상 제로이다. 한 블럭의 베이스(base) 어드레스로부터의 오프셋은 상기 비트 필드의 액티브 비트의 시작 어드레스를 나타낸다. 비트 필드 연산의 수행시에, 프로세서(52)는 비트 필드 어드레스 영역의 여러 어드레스를 이용하여 상기 비트 필드 주변 장치(54)의 상이한 비트 조합을 액세스한다.
특히, 32 비트 워드의 여러 비트 필드 조합을 발생하기 위해서 257 개의 상이한 어드레스에 대응하는 상이한 비트 조합이 사용된다. WORD 32라고 하는 이 32 비트 워드는 16 비트에 의해 분리된 비트 필드 어드레스 영역의 어드레스에 대응하는 2개의 16 비트 데이타 워드, 즉 Lowj 및 Highj로 형성된다. 예컨대, 하위 16 비트 워드, 즉 Low16은 어드레스(len16)에 의해 액세스되고, 대응하는 상위 16 비트 워드, 즉 High16은 어드레스(len16 + 16)에 의해 액세스된다. 일반적으로, 비트(k)에서 시작하는 길이(j)의 비트 필드는 어드레스(lenj + k)에 의해 어드레스 지정된다. 예컨대, len15 + k는 비트(k) 내지 비트(k + 15)를 연결하는 WORD 32의 비트 필드 어드레스이다. 어드레스(len15 + 5)에 대한 16 비트값의 기록 또는 판독은 Low16의 상위 비트에 대해 그 값의 10 개의 하위 비트를 기록 또는 판독하는 효과를 가지며, 상기 상위 비트는 무시되지만, 상기 값의 다음의 5 개의 상위 비트는 High16 워드에 대해 기록 또는 판독된다.
또 다른 예로서, 어드레스(len03 + 7)로부터의 판독은 클리어된 비트 15...3을 항상 가지고 있는 데이타를 제공하고, 비트 2...0는 워드 Low16의 비트 9...7과 동일하다. 어드레스(len03 + 14)로부터의 판독은 클리어된 비트 15...3를 항상 가지고 있는 데이타를 제공하지만, 상기 어드레스(len03 + 14)에서 저장된 워드의 비트 2...0은 상기 워드 Low16의 비트 15, 14가 이어지는 워드 High16의 비트 0과 동일하다.
len 01에서 시작하는 어드레스 블록 내의 16 개의 어드레스는 상기 워드 Low16의 16개의 개별적인 비트를 판독하거나 기록하기 위해 사용된다. Low16의 워드에 꼭 맞지 않는 비트 필드를 판독하거나 기록할 때 워드 High16은 오버플로우를 수용하기 위해서만 제공되기 때문에 어드레스 지정은 상기 워드 High16의 개별적인 비트에 제공되지 않는다. 따라서, High16 어드레스는 대응하는 Low16 어드레스로부터 도출되므로 상기 Low16 어드레스에 직접적으로 관련된다. 예컨대, 어드레스(len02)에서 시작하는 블럭에서는, 어드레스(len02 + 15)에 저장된 워드만이 상기 워드 High 16와 어떤 비트를 공유하는데, 그 이유는 상기 워드가 오버플로우된(즉, 워드 Low 16 내에 완전히 일치하지 않는) 2 비트폭의 비트 필드중 유일한 비트 필드이기 때문이다. 대조적으로, 상기 워드 High16으로 오버플로우되지 않은 어드레스(len16)에서 시작하는 블럭의 유일한 워드는 Low16 워드이다.
비트 필드 주변 장치(54)는 U.S. 디지탈 셀룰러 정보를 위해 제어 채널 데이타를 디코딩하는데에 사용될 수도 있다. U.S. 디지탈 셀룰러 기지국은 아날로그 제어 채널이라고 하는 디지탈 채널 상에서 메시지를 방송한다. 이 채널 상의 데이타의 모든 11번째 비트는 상기 채널 상에서 어떤 이동국이 현재 서브(serve)되고 있는지를 지시해 준다. 상기 기지국으로부터의 메시지를 디코딩하는 단계중 한 단계는 이동국이 데이타 스트림의 모든 11 번째 비트를 버리는 것이다.
표1에서 제어 채널 데이타를 디코딩하고, 특히 포워드(forward) 제어 채널 데이타의 400 비트로부터 비지(busy)/아이들(idle) 비트를 제거하는 C 코드 모듈이 설명되어 있다 이 모듈은 일정한 모든 포인터(len01...len16, High16, Low16)가 상기 모듈의 호출 전에 정의된 것으로 가정한다. 포워드 제어 채널은 전자 공업 협회 및 통신 산업 협회(EIA/TIA)에 의해 1992년 4월에 간행된 IS-54-B 디지탈 셀룰러 규격에 정의된 셀룰러 전화 통신 채널이다. 상기 포워드 제어 채널은 기지국으로부터 송신되는 채널이며 전화 호출을 초기화하는데 사용된다.
[표 1]
모듈 no-bi(데이타)가 프로세서(52) 및 비트 필드 주변 장치(54)에 의해 실행될 때 발생되는 동작의 시퀀스가 표 2에서 설명되어 있다.
[표 2a]
[표 2b]
[표 2c]
상기 모듈을 비트 필드 주변 장치(54)를 사용해서 실행함으로써, 많은 코드라인이 절약된다. 왜냐하면 비트 필드 주변 장치(54)가 사용되지 않고, 상기 모듈용의 많은 코드가 동일하다면, 다르게 되는 소수의 라인은 다수의 코드 라인으로 각기 확장되어야 한다. 예컨대, 비트 필드 주변 장치(54)를 사용할때, 모듈의 라인(14)은 모듈을 컴파일할때 컴파일러 설계 결정에 따르는 2 또는 3개의 조립 코드 라인으로 컴파일한다.
상기 코드가 비트 필드 주변 장치(54)없이 실행되면, 10개의 라인에 필요로 되어 마스크를 형성하고 동일한 결과를 이루기 위해 필요한 ANDing 및 oRing 을 수행한다. 상기 코드가 비트 필드 주변 장치(54) 없이 실행되면, 모듈의 라인(19,25,26 및 32)은 비슷하게 영향을 받는다. 사실상, 247 비트 필드 어드레스중 하나를 기준으로 하는 어떤 C 코드 라인은 비트 필드 주변 장치(54) 때문에 더 빠르다.
[다른 실시예]
다른 실시예는 다음과 같은 청구 범위 내에 있다.
예컨대, 위에서 설명한 비트 필드 주변 장치의 경우에는 WORD32의 모든 서브 세트가 메모리 영역에 표시되어 있지 않다(인접한 비트 필드만이 도시되어 있음). 대부분의 경우에, 인접한 비트 필드만을 저장하는 것으로 충분하다. 하지만, 일부 응용에서는 사용될 수도 있는 WORD32의 기타 다른 서브세트를 제시할 수도 있다. 예컨대, 표1에서 설명된 모듈의 속도 증가는 mod(n, 16)≠k에 의해 정의된 서브세트를 표시함으로써 달성된다. 이 예에서, 상기 서브 세트는 상기 모듈을 실행할 때 클리어되는 비트이다. 이것이 기타 다른 비트 필드 조합을 임의로 제공하는 일예이다. 따라서, WORD32의 추가적인 서브세트가 비트 필드 어드레스 영역의 일부분으로서 제공될 수도 있다. 다음에, WORD32의 이들 추가적인 서브 세트가 특정 어드레스에 의해 액세스된다. 비트 필드 주변 장치(54) 내에서, 선택 및 루팅 로직(66)은 특정 어드레스가 상기 비트 필드 어드레스 영역을 액세스할 때 상기 래치중 어느 래치가 액티브되어야 하는지를 제어한다.
또한, 예컨대, 기타 다른 어드레스에는 규칙을 벗어나 구성된, 예컨대 반전된 비트로 구성된 비트 필드가 제공될 수 있다. 이와 같은 비트 필드는 워드를 비트 전환(bit reverse)하는데 이용될 수 있다.
또한, 예컨대, 다른 어드레스는 특수화된 계산에 대해 구비될 수 있었고, 그러므로 프로세서의 명령 세트를 확장하기 위해 구비될 수 있었다. 예컨대, 어떤 프로세서는 워드에서 높은 비트수를 계산하기 위해 명령을 가지고 있다. 그런 명령없이 프로세서에서, 어드레스는 주변 장치에 제공되어 다른 어드레스에서 하나 이상의 워드를 기록한 후 프로세서는 높은 비트의 카운트를 판독할 수 있었다. 그런 액세스는 원래의 데이타에 영향을 미치지 않는다. 다른 계산도 가능하다. 전용 어드레스에 기록된 데이타의 논리 결합(예컨대, AND, OR, XOR 등)은 프로세서로 하여금 다른 전용 어드레스에서 판독하도록 계산되고 표시될 수 있었다.

Claims (15)

  1. 비트 필드 어드레스에 응답하는 비트 필드 주변 장치에 있어서, 특정 비트 필드 어드레스를 수신하는 비트 필드 제어 로직과; 상기 비트 필드 제어 로직에 접속되어 있고, 복수의 비트 위치를 포함하고 있는 비트 필드 메모리를 구비하고 있고, 상기 비트 필드 제어 로직이 상기 특정 비트 필드 어드레스에 응답하여 상기 비트 필드 메모리의 소정의 비트 위치를 액세스하는 비트 필드 주변 장치.
  2. 제1항에 있어서, 상기 비트 필드 제어 로직은 선택 및 루팅 로직을 포함하고 있고, 상기 선택 및 루팅 로직은 상기 비트 필드 메모리의 어느 비트 위치가 상기 특정 비트 필드 어드레스에 응답하여 액세스되는지를 제어하는 비트 필드 주변 장치.
  3. 제1항에 있어서, 상기 비트 필드 메모리는 각각의 비트 위치에 대응하는 복수의 개별적인 메모리를 포함하고 있는 비트 필드 주변 장치.
  4. 제3항에 있어서, 상기 복수의 개별적인 메모리는 각각이 래치인 비트 필드 주변 장치.
  5. 제3항에 있어서, 상기 비트 필드 제어 로직은 선택 및 루팅 로직을 포함하고 있고, 상기 선택 및 루팅 로직은 상기 비트 필드 메모리의 복수의 개별적인 메모리 중 어느 메모리가 상기 특정 비트 필드 어드레스에 응답하여 액세스되는지를 제어하는 비트 필드 주변 장치.
  6. 제3항에 있어서, 1 ≤ j ≤ 16 및 0 ≤ k 16이거나 j = k = 16이고, j가 비트 필드의 폭과 동일하고, k는 비트 필드 오프셋과 동일한 경우에, 값(lenj + k)을 가지고 있는 비트 필드 어드레스가 상기 비트 필드 주변 장치에 의해 수신될 때, 상기 선택 및 루팅 로직은 k의 0에서부터의 오프셋을 가지고 있는 j개의 개별적인 메모리를 액세스하는 비트 필드 주변 장치.
  7. 제1항에 있어서, 상기 특정 비트 필드 어드레스는 프로세서의 확장 명령에 대응하고, 상기 비트 필드 제어 로직은 상기 특정 비트 필드 어드레스의 수신에 응답하여 상기 확장 명령을 수행하는 비트 필드 주변 장치.
  8. 비트 필드 명령에 응답하여 비트 필드 어드레스를 발생하는 프로세서와; 상기 프로세서에 접속된 비트 필드 장치를 구비하고 있고, 상기 비트 필드 장치는, 상기 비트 필드 어드레스를 수신하는 비트 필드 제어 로직과; 상기 비트 필드 제어 로직에 접속되어 있고 복수의 비트 위치를 포함하고 있는 비트 필드 메모리를 포함하고 있으며, 상기 비트 필드 제어 로직은 특정 비트 필드 어드레스에 응답하여 상기 비트 필드 메모리의 소정의 비트 위치를 액세스하는 비트 필드 시스템.
  9. 제8항에 있어서, 상기 비트 필드 제어 로직은 선택 및 루팅 로직을 포함하고 있고, 상기 선택 및 루팅 로직은 상기 비트 필드 메모리의 어느 비트 위치가 상기 특정 비트 필드 어드레스에 응답하여 액세스되는지를 제어하는 비트 필드 시스템.
  10. 제8항에 있어서, 상기 비트 필드 메모리는 각각의 비트 위치에 대응하는 복수의 개별적인 메모리를 포함하고 있는 비트 필드 시스템.
  11. 제10항에 있어서, 상기 복수의 개별적인 메모리는 각각이 래치인 비트 필드 시스템.
  12. 제10항에 있어서, 상기 비트 필드 제어 로직은 선택 및 루팅 로직을 포함하고 있고, 상기 선택 및 루팅 로직은 상기 비트 필드 메모리의 복수의 개별적인 메모리 중 어느 메모리가 상기 특정 비트 필드 어드레스에 응답하여 액세스되는지를 제어하는 비트 필드 시스템.
  13. 제10항에 있어서, 1 ≤ j ≤ 16 및 0 ≤ k 16이거나 j = k = 16이고, 여기서 j가 비트 필드의 폭과 동일하고 k는 비트 필드 오프셋과 동일한 경우에, 값(lenj + k)을 가지고 있는 비트 필드 어드레스가 상기 비트 필드 주변 장치에 의해 수신될 때, 상기 선택 및 루팅 로직은 k의 0에서부터의 오프셋을 가지고 있는 j개의 개별적인 메모리를 액세스하는 비트 필드 시스템.
  14. 제8항에 있어서, 상기 특정 비트 필드 어드레스는 상기 프로세서의 확장 명령에 대응하고, 상기 비트 필드 제어 로직은 상기 특정 비트 필드 어드레스의 수신에 응답하여 상기 확장 명령을 수행하는 비트 필드 시스템.
  15. 어드레스에 응답하는 주변 장치에 있어서, 특정 어드레스를 수신하는 제어 로직과; 상기 제어 로직에 접속되어 있고 복수의 비트 위치를 포함하고 있는 메모리를 구비하고 있고, 상기 제어 로직은 상기 특정 어드레스에 응답하여 상기 메모리의 소정의 비트를 액세스하며, 상기 특정 어드레스는 프로세서의 확장 명령에 대응하고, 상기 제어 로직은 상기 특정 어드레스의 수신에 응답하여 상기 확장 명령을 수행하는 주변 장치.
KR1019950040925A 1994-11-14 1995-11-13 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템 KR100225187B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33779294A 1994-11-14 1994-11-14
US337,792 1994-11-14

Publications (2)

Publication Number Publication Date
KR960018881A KR960018881A (ko) 1996-06-17
KR100225187B1 true KR100225187B1 (ko) 1999-10-15

Family

ID=23322028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950040925A KR100225187B1 (ko) 1994-11-14 1995-11-13 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템

Country Status (5)

Country Link
US (1) US6081869A (ko)
EP (1) EP0715252B1 (ko)
JP (1) JP2914428B2 (ko)
KR (1) KR100225187B1 (ko)
DE (1) DE69516817T2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523108B1 (en) 1999-11-23 2003-02-18 Sony Corporation Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string
US8006114B2 (en) 2007-03-09 2011-08-23 Analog Devices, Inc. Software programmable timing architecture
US20170185402A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Instructions and logic for bit field address and insertion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4028670A (en) * 1976-02-06 1977-06-07 International Business Machines Corporation Fetch instruction for operand address calculation
US4764896A (en) * 1985-07-01 1988-08-16 Honeywell Inc. Microprocessor assisted memory to memory move apparatus
US5210835A (en) * 1986-08-27 1993-05-11 Ken Sakamura Data processing system having apparatus for increasing the execution speed of bit field instructions
JP2613223B2 (ja) * 1987-09-10 1997-05-21 株式会社日立製作所 演算装置
US5287503A (en) * 1991-09-27 1994-02-15 Sun Microsystems, Inc. System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register

Also Published As

Publication number Publication date
DE69516817D1 (de) 2000-06-15
US6081869A (en) 2000-06-27
JP2914428B2 (ja) 1999-06-28
DE69516817T2 (de) 2000-12-07
EP0715252A1 (en) 1996-06-05
KR960018881A (ko) 1996-06-17
JPH08212130A (ja) 1996-08-20
EP0715252B1 (en) 2000-05-10

Similar Documents

Publication Publication Date Title
US4991133A (en) Specialized communications processor for layered protocols
US5222225A (en) Apparatus for processing character string moves in a data processing system
EP0551931A2 (en) Digital signal processor
EP0180239A2 (en) Content-addressable memory
US4099257A (en) Markov processor for context encoding from given characters and for character decoding from given contexts
US7188211B2 (en) Block programmable priority encoder in a CAM
US4388682A (en) Microprogrammable instruction translator
KR100225187B1 (ko) 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템
US6332188B1 (en) Digital signal processor with bit FIFO
EP0167959B1 (en) Computer vector register processing
US4661925A (en) Computer control memory apparatus providing variable microinstruction length
FI91107B (fi) Tietojenkäsittely-yksikkö
US4237545A (en) Programmable sequential logic
EP0363174A2 (en) Branch on bit processing
EP0234187B1 (en) Programmably controlled shifting mechanism in a programmable unit having variable data path widths
US5388239A (en) Operand address modification system
US5875147A (en) Address alignment system for semiconductor memory device
US4956805A (en) Circuitry for character translate functions
US3623008A (en) Program-controlled data-processing system
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
US20080147888A1 (en) Address handling
US4805133A (en) Processor memory element and a new computer architecture
US7032098B2 (en) Data-driven type information processing apparatus and information processing method allowing for effective use of memory
JP2564318B2 (ja) 通信処理装置
EP0260639A2 (en) Microprogram sequencer

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee