KR20110074878A - 선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법 - Google Patents

선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20110074878A
KR20110074878A KR1020117009286A KR20117009286A KR20110074878A KR 20110074878 A KR20110074878 A KR 20110074878A KR 1020117009286 A KR1020117009286 A KR 1020117009286A KR 20117009286 A KR20117009286 A KR 20117009286A KR 20110074878 A KR20110074878 A KR 20110074878A
Authority
KR
South Korea
Prior art keywords
data
processor
parity
source
source data
Prior art date
Application number
KR1020117009286A
Other languages
English (en)
Other versions
KR101290493B1 (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 KR20110074878A publication Critical patent/KR20110074878A/ko
Application granted granted Critical
Publication of KR101290493B1 publication Critical patent/KR101290493B1/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/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine 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/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

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)
  • Error Detection And Correction (AREA)

Abstract

선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법이 개시된다. 특정한 실시형태에 있어서 상기 방법은 소스 데이터를 수신함으로써 프로세서에서 명령을 실행하는 단계와 중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산을 실행하는 단계를 포함한다. 상기 방법은 중간 데이터의 패리티 값을 결정하는 단계, 소스 데이터를 쉬프트하는 단계, 및 결과 데이터를 생성하기 위하여 중간 데이터의 패리티 값을 쉬프트된 소스 데이터의 데이터 필드에 입력하는 단계를 더 포함한다.

Description

선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법{SYSTEM AND METHOD TO EXECUTE A LINEAR FEEDBACK-SHIFT INSTRUCTION}
본 발명은 전체적으로 선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법에 관한 것이다.
기술의 발전은 더욱 작고 더욱 강력한 컴퓨팅 장치라는 결과를 초래해왔다. 예를 들어, 작고, 경량이고, 또한 사용자들에 의해 쉽게 휴대 되는 휴대용 무선 전화기, 개인용 휴대 단말기 (PDA, personal digital assistant) 및 페이징 장치들과 같은, 무선 컴퓨팅 장치를 포함하는, 다양한 휴대용 개인 컴퓨팅 장치들이 최근에 존재한다. 보다 구체적으로는, 휴대폰 및 인터넷 프로토콜 (IP) 전화기와 같은, 휴대용 무선 전화기들은 무선 네트워크를 통해서 음성 또는 데이터 패킷을 통신할 수 있다. 또한, 다수의 그러한 무선 전화기들은 그 속에 결합된 다른 종류의 장치들을 포함한다. 예를 들어, 무선 전화기는 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 녹음기, 및 오디오 파일 재생기를 또한 포함할 수 있다. 또한, 이러한 무선 전화기는, 인터넷에 접근하기 위해 사용되는 웹 브라우저 응용프로그램과 같은, 소프트웨어 응용프로그램을 포함하는, 실행가능한 명령들을 처리할 수 있다. 따라서, 이러한 무선 전화기는 현저한 컴퓨팅 능력을 포함할 수 있다.
무선 전화기로 및 무선 전화기로부터의 데이터 송신에 있어서, 순환 중복 검사 (CRC) 와 같은 계산된 수량은 데이터 무결성을 확인하는데 있어서 도움이 된다. 순환 중복 검사와 같은 수량의 산출은 시간-집약적으로 처리될 수 있는 다중 연산 명령을 수반할 수 있다. 이러한 산출을 수행하기 위하여 시간 효율적인 면에서, 전용 하드웨어가 사용될 수 있다. 그러나, 이러한 전용 하드웨어는 고가이거나, 추가적인 전력을 소비할 수 있다. 현재 사용하는 프로세싱 하드웨어를 사용하여 순환 중복 검사와 같은 수량 산출이 가능한 것은 시간-효율 및 에너지-효율 면에서 이익이 될 것이다.
데이터를 프로세싱하는 방법이 개시된다. 결과 데이터는 중간 데이터를 생성하는 입력 데이터 및 레퍼런스 데이터의 논리 비트단위 연산을 수행함으로써, 중간 데이터의 패리티 값을 결정함으로써, 또한 패리티 값 및 소스 데이터의 선택된 데이터 비트로부터 결과 데이터를 구성함으로써 결정될 수 있다. 이러한 결과 데이터는 유용한 특성을 보일 수 있다. 특정한 실시예에 있어서, 결과 데이터는 의사랜덤 수열을 창조하기 위해 사용될 수 있다. 또 다른 특정한 실시예에 있어서, 결과 데이터는, 순환 중복 검사 (CRC) 와 같은, 몇몇 에러 검출 코드의 산출을 가능하게 할 수 있다.
특정한 실시형태에 있어서, 데이터를 처리하는 방법이 개시된다. 방법은 프로세서에서 단일 선형 피드백-쉬프트 명령을 실행하는 단계를 포함한다. 방법은 소스 데이터를 수신하는 단계, 중간 데이터를 생성하기 위하여 소스 데이터와 중간 데이터의 비트단위 논리 연산을 실행하는 단계, 중간 데이터의 패리티를 결정하는 단계, 소스 데이터를 쉬프트하는 단계, 및 결과 데이터를 생성하기 위해 중간 데이터의 패리티와 일치하는 데이터 값을 쉬프트된 소스 데이터의 데이터 필드에 입력하는 단계를 포함한다. 방법은 결과 데이터를 출력하는 단계를 더 포함한다.
또 다른 특정한 실시형태에 있어서, 시스템은 개시된다. 시스템은 단일 선형 피드백-쉬프트 명령을 실행하기 위한 프로세서를 포함한다. 시스템은 소스 데이터를 제공하도록 작동하는 소스 레지스터와 레퍼런스 데이터를 제공하도록 작동하는 레퍼런스 레지스터를 포함한다. 시스템은 중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산을 수행하고, 중간 데이터의 패리티를 결정하고, 쉬프트된 소스 데이터를 생성하기 위하여 비트단위 논리 연산을 실행한 후 소스 데이터를 쉬프트하고, 결과 데이터를 생성하기 위하여 중간 데이터의 패러티와 일치하는 데이터 값을 쉬프트된 소스 데이터의 데이터 필드에 입력하고, 또한 결과 데이터를 출력하도록 작동하는 실행 유닛을 더 포함한다.
또 다른 특정한 실시형태에 있어서, 컴퓨터 판독가능 매체는 개시된다. 컴퓨터 판독가능 매체는, 실행될 때, 프로세서가 소스데이터를 수신하고, 중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산을 수행하고, 중간 데이터의 패리티를 결정하고, 쉬프트된 소스 데이터를 생성하기 위해 소스 데이터를 쉬프트하고, 또한 결과를 생성하기 위하여 중간 데이터의 패리티와 일치하는 데이터 값을 쉬프트된 제 1 데이터의 데이터 필드에 입력하도록 하는 실행가능 선형 피드백-쉬프트 명령을 저장한다.
또 다른 특정한 실시형태에 있어서, 프로세서에 의해서 실행가능한 프로세서 명령이 개시된다. 프로세서 명령은 명령 이름, 소스 데이터를 식별하기 위한 제 1 필드, 및 레퍼런스 데이터를 식별하기 위한 제 2 필드를 포함한다. 프로세서 명령의 실행중에 프로세서는 중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산을 수행하고, 중간 데이터의 패리티를 결정하고, 소스 데이터를 쉬프트하고, 또한 결과를 생성하기 위해서 쉬프트된 소스 데이터의 데이터 필드에 중간 데이터의 패리티와 일치하는 값을 입력한다.
또 다른 특정한 실시형태에 있어서, 프로세서는 개시된다. 프로세서는 중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산을 수행하기 위한 논리 회로, 중간 데이터의 패리티를 결정하기 위한 패리티 회로, 소스 데이터를 쉬프트하기 위한 비트 쉬프터 회로, 결과 데이터를 생성하기 위해 중간 데이터의 패리티와 일치하는 데이터 값을 쉬프트된 소스 데이터에 배치하는 배치 회로, 및 결과 데이터를 출력하기 위한 수단을 포함한다.
선형 피드백-쉬프트 명령을 제공하기 위한 시스템 및 방법의 개시된 실시형태 중 적어도 어느 하나에 의해 제공되는 특별한 이점 하나는 선형 피드백-쉬프트 명령의 다중 단계를 동시에 또는 단일 명령 내에서 실행함으로써 증가된 시간 효율이다. 인터리빙된 멀티스레디드 프로세서에 의해 실행되는 단일 명령으로서 선형 피드백-쉬프트 명령을 실행하는 것의 이점은 인터리빙된 멀티스레디드 프로세서가 복합 연산 명령을 수행하는 상대적으로 긴 실행 파이프라인을 참작하기 때문에 실행중에 추가적인 지연이 대체적으로 도입되지 않는다는 것이다.
본 발명의 그 밖의 태양, 이점, 및 특징은 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 및 청구항을 포함하는 전체 명세서의 검토를 통해서 분명해질 것이다.
도 1 은 선형 피드백-쉬프트 명령을 실행하도록 구성된 인터리빙된 멀티스레디드 프로세서의 특정한 예시적인 실시형태의 블록도이고;
도 2 는 선형 피드백-쉬프트 명령을 수행하기 위해 명령을 처리하도록 구성된 프로세서의 특정한 예시적인 실시형태의 블록도이고;
도 3 은 선형 피드백-쉬프트 명령의 특정한 예시적인 실시형태의 데이터 흐름도이고;
도 4 는 선형 피드백-쉬프트 명령을 수행하는 방법의 특정한 예시적인 실시형태의 흐름도이고;
도 5 는 선형 피드백-쉬프트 명령을 수행하도록 구성된 프로세서를 포함하는 무선 장치의 블록도이다.
선형 피드백-쉬프트 명령을 실행하도록 구성된 인터리빙된 멀티스레디드 프로세서의 특정한 예시적인 실시형태의 블록도는, 도 1을 참조하여, 나타내어지고 전체적으로 100 으로 지정된다. 인터리빙된 멀티스레디드 프로세서 (100) 는, 제 1 스레드 (104), 제 2 스레드 (106), 및 제 3 스레드 (108) 와 같은, 복수의 스레드를 통해 명령을 실행할 수 있다. 각 스레드 (104, 106, 및 108) 는 스레드 사이클로도 알려진, 실행 사이클 (110) 내에 실행되는 복수의 파이프라인 단계를 포함할 수 있다. 도시된 특정한 예시적인 실시예에 있어서, 각 스레드 (104, 106, 및 108) 은 스레드 사이클 내에 여섯 파이프라인 단계를 포함한다. 예를 들어, 제 1 파이프라인 단계 A1 (112) 은 처리되어야할 명령을 인출하는 인출 단계일 수 있다. 제 2 파이프라인 단계 A2 (114) 는 인출된 명령을 디코딩하는 디코딩 단계일 수 있다. 파이프라인 단계 A3 (116), A4 (118), 및 A5 (120) 는 실행 단계일 수 있다. 파이프라인 단계 A6 (122) 는 라이트백 (writeback) 단계일 수 있다. 멀티스레디드 프로세서 (100) 의 각 스레드 (104, 106, 및 108) 는 복수의 인출된 명령의 동시 프로세싱을 가능하게 하는, 유사한 파이프라인 단계를 포함할 수 있다.
특정한 예시적인 실시형태에 있어서, 선형 피드백-쉬프트 명령 (102) 은 인터리빙된 멀티스레디드 프로세서 (100) 에 의해서 제 1 스레드 (104) 에서 처리되도록 인출될 수 있다. 선형 피드백-쉬프트 명령 (102) 은 멀티스레디드 프로세서 (100) 의 다른 스레드의 다른 명령을 실행함과 동시에 인터리브 방식으로 처리될 수 있는 단일 명령이고, 따라서 프로세서 계산 효율성의 이점을 갖는다.
도 2 를 참조하면, 시스템 (200) 의 특정한 예시적인 실시형태의 블록도는 선형 피드백-쉬프트 명령을 수행하기 위한 명령을 실행하도록 구성된 프로세서 (214) 를 포함한다. 예를 들어, 프로세서 (214) 는 파이프라인 프로세서일 수 있다. 프로세서 (214) 는 제 1 실행 유닛 (224) 과 제 2 실행 유닛 (226) 에 결합된 레지스터 파일 (216) 을 포함한다. 제 2 실행 유닛 (226) 은 비트단위 앤드 (AND) 회로 (228), 패리티 회로 (230), 쉬프터 (232), 및 패리티 값 배치 및 입력 회로 (234) 를 포함한다. 제 2 실행 유닛 (226) 으로부터의 출력은 레지스터 파일 (216) 내의 레지스터에 입력될 수 있다. 예를 들어, 패리티 산출의 결과는 패리티 레지스터 (222) 에 입력될 수 있다. 예시의 편리함을 위해서 두 실행 유닛 (224 및 226) 이 도 2 에서 도시되었으나, 프로세서 (214) 는 둘 이상의 실행 유닛을 포함할 수 있다.
프로세서 (214) 는 명령 캐시 또는 레지스터와 같은 컴퓨터 판독가능 매체 (202) 로부터 선형 피드백-쉬프트 명령 (204) 을 인출하도록 구성된다. 프로세서 (214) 는, 그 결과가 저장될 수 있는 경우, 계산 결과를 메모리 (240) 에 출력할 수 있다. 프로세서 (214) 는 출력 버스 (238) 와 같은, 계산된 결과를 프로세서 (214) 에서 메모리 (240) 로 출력하기 위한 출력 수단을 사용할 수 있다. 또 다른 예시적인 실시형태에 있어서, 프로세서 (214) 로부터 데이터를 출력하기 위한 또 다른 수단이 사용될 수 있다.
선형 피드백-쉬프트 명령 (204) 은 명령 이름 (208), 소스 데이터 (Rss) (210) 를 식별하게 하는 제 1 필드, 레퍼런스 데이터 (Rref) (212) 를 식별하게 하는 제 2 필드를 포함할 수 있고, 또한 출력 데이터 (Rout) (206) 를 생성할 수 있다. 선형 피드백-쉬프트 명령 (204) 은, 실행될 때, 컴퓨터가 중간 데이터를 생성하기 위해서 소스 데이터 (Rss) (210) 와 레퍼런스 데이터 (Rref) (212) 의 비트단위 앤드 (AND) 를 수행하고, 중간 데이터의 패리티 값 (Y) 을 결정하고, 소스 데이터를 쉬프트하고, 또한 출력 데이터 (Rout) (206) 를 생성하기 위해 패리티 값 (Y) 을 비어있는 데이터 필드에 삽입하도록 할 수 있다. 출력 데이터 (Rout) (206) 는 메모리 (240) 내에서 결과 데이터 (244) 로서 메모리에 쓰여질 수 있다. 결과 데이터 (244) 는 의사랜덤 데이터, 순환 중복 검사 (CRC) 데이터, 또는 또 다른 형태의 데이터일 수 있다. 특정한 예시적인 실시형태에 있어서, 의사랜덤 데이터는 암호화 인코딩 또는 디코딩에 사용된다. 또 다른 특정한 예시적인 실시형태에 있어서, 의사랜덤 데이터는 통계적 응용 프로그램에 사용된다. 특정한 예시적인 실시형태에 있어서, 순환 중복 검사 데이터는 데이터 송신 또는 데이터 저장 중의 데이터 변조 또는 에러를 검출하기 위한 검사 합으로서 사용될 수 있다.
작동 중에, 프로세서 (214) 는 선형 피드백-쉬프트 명령 (204) 을 컴퓨터 판독가능 매체 (202) 로부터 인출할 수 있다. 프로세서 (214) 는 Rss (210) 에 의해 식별되는 소스 데이터 (246) 와 Rref (212) 에 의해 식별되는 레퍼런스 데이터 (248) 를, 메모리 (240) 로부터, 검색할 수 있다. (데이터 비트 S1-S8 로 도시되는) 소스 데이터 (246) 는 소스 레지스터 (218) 내에 배치될 수 있고 (데이터 비트 R1-R8 로 도시되는) 레퍼런스 데이터 (248) 는 레지스터 파일 (216) 의 레퍼런스 데이터 레지스터 (220) 내에 배치될 수 있다.
특정한 예시적인 실시형태에 있어서, 프로세서 (214) 는 다음과 같이 파이프라인 프로세서에서 단일 명령으로서 단일 선형 피드백-쉬프트 명령 (204) 을 실행한다.: 비트단위 앤드 (AND) 회로 (228) 는 중간 데이터 (227) 를 생성하기 위해 레퍼런스 데이터 레지스터 (220) 의 내용과 함께 소스 레지스터 (218) 의 내용의 비트단위 앤드 (AND) 를 수행한다. 프로세서 (214) 는 패리티 회로 (230) 를 통해서 중간 데이터 (227) 의 패리티 값 (Y) (231) 을 결정한다. 패리티 값 (Y) (231) 은 중간 데이터 (227) 의 패리티와 일치하는 데이터 값이다. 패리티 회로 (230) 에 의해 결정된 패리티 값 (Y) (231) 은 패리티 레지스터 (222) 에 임시적으로 저장된다. 프로세서 (214) 는, 쉬프터 (232) 를 사용하여, 소스 레지스터 (218) 로부터의 소스 데이터를 1 비트만큼 우향-쉬프트하고 최하위 비트를 떨어뜨린다. 프로세서 (214) 는 패리티 값 배치 및 입력 회로 (234) 를 통해 패리티 값 (Y) (231) 을 최상위 비트 필드 (250) 에 입력한다. 프로세서 (214) 는, 메모리 (240) 에 결과 데이터 (244) 로서 저장되는, 출력 데이터 (Rout) (206) 를 출력 버스 (238) 를 통해 출력한다. 결과 데이터 (244) 는 우향 쉬프트된 소스 데이터 (242) 및 소스 데이터의 우향 쉬프트 결과로 비어 있던 최상위비트 필드 (250) 에 배치된 패리티 값 (Y) (231) 을 포함한다. 특정한 예시적인 실시형태에 있어서, 결과 데이터 (244) 는 의사-랜덤 데이터를 포함한다. 예를 들어, 의사랜덤 데이터는 랜덤 숫자들의 특징을 근사화하는 수열 중의 하나일 수 있다. 의사랜덤 숫자들은 암호화 인코딩 또는 디코딩 또는 통계적 응용프로그램에서 사용될 수 있다. 또 다른 특정한 예시적인 실시형태에 있어서, 결과 데이터 (244) 는 순환중복검사 데이터를 포함한다. 예를 들어, 순환중복검사 데이터는 데이터 송신 또는 데이터 저장 중의 데이터 변조 또는 에러를 검출하기 위한 검사 합으로서 사용될 수 있다.
프로세서 (214) 와 같은, 인터리빙된 멀티스레디드 프로세서에서 단일 명령으로서 선형 피드백 쉬프트 명령 (204) 을 실행하는 이점은 프로세서가 상대적으로 긴 실행 파이프라인의 결과로 인한 추가적인 컴퓨팅 오버헤드의 도입 없이 단일 명령 안에서 복합 산술 연산이 일반적으로 실행될 수 있도록 한다는 점이다. 결과적으로, 인터리빙된 멀티스레디드 프로세서를 사용함으로써, 단일 명령 내의 선형 피드백 쉬프트 명령 (204) 의 다중 연산 실행의 결과로서 추가적인 지연이 프로세서 실행 시간 내에 도입되지 않는다.
특정한 예시적인 실시형태에 있어서, 선형 피드백-쉬프트 명령 (204) 은 출력 데이터 (Rout) (206) 의 출력 및 결과 데이터 (244) 의 저장 전에 복수 회 반복될 수 있다. 특정한 예시적인 실시예에 있어서, 제 1 반복 중에 생성되고 소스 데이터 레지스터 (218) 내에 임시적으로 저장될 수 있는 출력 데이터 (206) 로부터 시작하고, 제 2 반복을 위한 중간 데이터 (227) 를 생성하기 위해 레퍼런스 데이터 (248) 로 비트단위 앤드 (AND) 연산을 실행하고, 중간 데이터 (227) 의 패리티 (Y) (231) 를 결정하고, 최상위 비트 필드를 비우기 위해 소스 데이터 레지스터 (218) 의 현재 내용을 우향 쉬프트하고, 비어 있는 최상위비트 필드를 패리티 (Y) (231) 로 뒤채움 (backfilling) 하고, 제 2 반복을 위한 출력 Rout (206) 을 생성하는 제 2 반복이 실행된다.
특정한 예시적인 실시형태에 있어서, 프로세서 (214) 는, 도 1 에서 예시된 바와 같이, 인터리빙된 멀티스레디드 프로세서이다. 프로세서 (214) 는 프로세서 스레드 사이클을 포함할 수 있고, 소스 데이터를 입력하고, 중간 데이터를 생성하고, 중간 데이터의 패리티 값을 결정하고, 소스 데이터를 쉬프트하고, 또한 결과 데이터를 생성하도록 구성될 수 있고, 이러한 모든 단계들을 프로세서 스레드 사이클을 초과하지 않도록 프로세싱 시간 주기 동안에 실행한다. 도 5 와 관련하여 논의될 바와 같이, 무선 송수신기는 무선 데이터를 프로세서 (214) 에 제공하기 위해 결합될 수 있다. 특정한 예시적인 실시형태에 있어서, 무선 데이터는 소스 데이터 (246) 및/또는 레퍼런스 데이터 (248) 일 수 있고, 또한 무선 송수신기는 안테나를 통해 무선 데이터를 수신하기 위해 결합될 수 있다.
파이프라인 프로세서에서 단일 명령으로 구현되는 선형 피드백-쉬프트 명령을 실행하는 방법의 특정한 예시적인 실시형태의 데이터 흐름도는, 도 3을 참조하여, 도시되고 전체적으로 300 으로 지정된다. 특정한 실시예에 있어서, 방법 (300) 은 도 2 에 나타난 프로세서 (214) 에 의해 구현될 수 있다. 방법 (300) 은 중간 데이터 (308) 를 생성하기 위하여 소스 데이터 (302) 와 레퍼런스 데이터 (304) 의 비트단위 앤드 (AND) 연산 (306) 을 실행하는 단계를 포함한다. 소스 데이터 (302) 는 복수의 데이터 비트를 포함할 수 있다. 예시적인 실시예에 있어서, 소스 데이터는 데이터 비트 a1-a8 을 포함한다. 레퍼런스 데이터 (304) 는 소스 데이터 (302) 와 같은 숫자의 데이터 비트를 포함한다. 예시적인 실시예에 있어서, 레퍼런스 데이터는 데이터 비트 b1-b8 를 포함한다. 예시적인 실시예에 있어서, 중간 데이터는 데이터 비트 c1-c8 을 포함한다. 소스 데이터 (302) 와 레퍼런스 데이터 (304) 는 레지스터로부터 또는 컴퓨터 메모리로부터 제공될 수 있고, 또한 무선 안테나를 통해 무선 데이터를 수신하기 위하여 결합될 수 있는 무선 송수신기를 통해서 수신될 수 있다. 또 다른 특정한 예시적인 실시형태 (도시되지 않음) 에 있어서, 비트단위 앤드 (AND) 연산 (306) 대신에 낸드 (NAND) 연산이 수행될 수 있다.
중간 데이터 (308) 를 산출한 후에, 패리티 산출 (310) 이 실행되어 중간 데이터 (308) 의 패리티에 대응하는 값인, 패리티 값 (Y) (312) 을 산출한다. 패리티 산출 (310) 은 중간 데이터 (308) 의 데이터 비트 값의 산술 합을 결정하는 단계 및 산술 합이 홀수일 때 논리적 1 값을, 산술 합이 짝수일 때 논리적 0 값을 패리티 값 (Y) (312) 에 할당하는 단계를 포함한다.
도 1 의 인터리빙된 멀티스레디드 프로세서 (100) 와 같은, 파이프라인 프로세서에서 단일 명령으로서 구현되는 선형 피드백-쉬프트 명령을 실행하는 방법의 데이터 흐름도 (300) 는 도 2 에 나타난 쉬프터 (232) 를 통해서와 같이 소스 데이터 (302) 의 쉬프트 연산 (315) 을 수행하고, 쉬프트된 소스 데이터 (314) 를 얻고, 소스 데이터 (302) 의 데이터 필드 (316) 를 비움으로써 진행된다. 쉬프트 연산 (315) 의 결과로 데이터 필드 (316) 가 비워져 있을 때, 도 2 의 패리티 회로 (222) 와 같은, 패리티 회로에 의해 산출되는 패리티 값 (Y) (312) 은 쉬프트된 소스 데이터 (314) 의 데이터 필드 (316) 에 입력된다. 패리티 값 (Y) (312) 이 데이터 필드 (316) 를 점유하고 있는 경우, 결과 데이터 (318) 는 쉬프트된 소스 데이터와 패리티 값 (Y) (312) 을 포함하도록 생성된다. 특정한 예시적인 실시형태에 있어서, 쉬프트 연산 (315) 은 소스 데이터 (302) 를 우향 쉬프트하고, 또한 데이터 필드 (316) 는 최상위비트이다.
특정한 예시적인 실시형태에 있어서, 파이프라인 프로세서에서의 단일 명령으로서 구현되는 선형 피드백-쉬프트 명령을 실행하는 방법은 복수 회 실행될 수 있다. 선형 피드백-쉬프트 명령이 불려질 때마다, 소스 데이터는 선형 피드백-쉬프트 명령의 이전 실행의 결과 데이터 출력으로부터 입력된다. 따라서, 몇몇 반복 경로를 되풀이하면, 최근에 비워진 최상위 비트가 가장 최근의 패리티 산출 (310) 에 의해 결정되는 현재 패리티 값 (312) 에 의해 뒤채워짐과 함께, 원래의 소스 데이터는 복수 회 우향 쉬프트될 수 있다.
파이프라인 프로세서에서 단일 명령으로서 선형 피드백-쉬프트 명령을 실행하는 방법의 또 다른 특정한 예시적인 실시형태 흐름도는, 도 4 를 참조하여, 전체적으로 400 으로 지정된다. 블록 (402) 에서, 소스 데이터는 수신된다. 블록 (404) 로 진행되면, 레퍼런스 데이터가 수신된다. 특정한 예시적인 실시형태에 있어서, 레퍼런스 데이터는 다항식 데이터를 포함할 수 있다. 블록 (406) 으로 이동하여, 앤드 (AND) 또는 낸드 (NAND) 연산과 같은, 소스 데이터와 레퍼런스 데이터의 비트단위 논리 연산은 중간 데이터를 생성하기 위해서 실행된다. 블록 (408) 로 진행하면, 중간 데이터의 패리티 값이 결정된다. 블록 (410) 으로 나아가면, 소스 데이터는 1 비트만큼 쉬프트되고, 1 비트를 비운다. 특정한 예시적인 실시형태에 있어서, 소스 데이터는 1 비트만큼 우향 쉬프트 되고, 최상위 비트를 비운다. 블록 (412) 로 진행하여, 중간 데이터의 패리티 값, 즉, 홀수 또는 짝수 패리티를 나타내는 단일 비트, 는 쉬프트된 소스 데이터의 비어있는 비트에 입력되고, 결과 데이터를 생성한다. 블록 (414) 로 옮겨가서, 결과 데이터는 저장된다.
결정 블록 (416) 으로 나아가면, 또 다른 반복을 수행할 것인지 여부가 결정된다. 또 다른 반복이 수행되는 경우, 방법은 블록 (402) 로 돌아가고, 방법이 명령의 이전 반복으로부터의 결과 데이터를 가지고 선형 피드백 쉬프트 명령을 다시 실행하는 경우, 현재의 중간 데이터를 생성하기 위해 레퍼런스 데이터로 비트단위 논리 연산을 수행하고, 현재의 중간 데이터의 패리티 값을 결정하고, 현재의 쉬프트된 중간 데이터를 생성하기 위해 현재의 중간 데이터를 쉬프트하고, 현재의 출력 데이터를 생성하기 위해 현재의 중간 데이터의 패리티 값을 현재의 쉬프트된 데이터의 비어있는 데이터 필드에 입력하고, 또한 현재의 출력 데이터를 저장한다. 또 다른 반복이 수행되지 않을 경우, 방법은 블록 (418) 로 진행하고 출력 데이터는 결과 데이터로서 출력된다. 방법은 (420) 에서 종료된다. 결과 데이터는 수신된 레퍼런스 데이터에 의존적이다. 특정한 예시적인 실시예에 있어서, 결과 데이터는 의사랜덤 데이터를 포함하고, 의사랜덤 데이터는 암호화 인코딩 또는 디코딩 또는 통계적 프로그램에 사용될 수 있다. 또 다른 특정한 예시적인 실시예에 있어서, 결과 데이터는 순환중복검사 데이터를 포함하고, 순환중복검사 데이터는 데이터 송신 에러를 검출하는데에 사용될 수 있다.
단일 명령으로서 선형 피드백-쉬프트 명령을 실행하도록 구성되는 파이프라인 프로세서를 포함하는 무선 장치의 블록도는, 도 5 를 참조하여, 나타내어지고 전체적으로 500 으로 지정된다. 장치 (500) 는 선형 피드백-쉬프트 명령 (590) 을 실행하도록 구성된 디지털 신호 프로세서 (DSP) (510) 와 같은, 프로세서를 포함한다. 디지털 신호 프로세서 (510) 는 메모리 (532) 에 결합된다. 특정한 실시예에 있어서, 선형 피드백-쉬프트 명령 (590) 은 디지털 신호 프로세서 (510) 및 메모리 (532) 에서 실행가능하고 상기의 도 1-4 를 참조하여 기술된 시스템 및 방법을 사용하여 구현될 수 있다.
도 5 는 디지털 신호 프로세서 (510) 및 디스플레이 (528) 에 결합된 디스플레이 컨트롤러 (526) 를 또한 도시한다. 코더/디코더 (CODEC) (534) 는 또한 디지털 신호 프로세서 (510) 에 결합될 수 있다. 스피커 (536) 및 마이크로폰 (538) 은 코덱 (534) 에 결합될 수 있다.
도 5 는 모뎀 (540) 이 디지털 신호 프로세서 (510) 및 무선 안테나 (542) 에 결합된 송수신기 (546) 에 결합될 수 있음을 또한 나타낸다. 특정한 예시적인 실시형태에 있어서, 송수신기 (546) (본 명세서에서는 또한 "무선 송수신기") 는 무선 안테나 (542) 를 통해서 무선 데이터를 수신하기 위하여 결합될 수 있고, 또한 송수신기 (546) 는, 모뎀 (540) 을 통해서, 무선 데이터를 디지털 신호 프로세서 (510) 에 제공하기 위해서, 추가로 결합될 수 있다. 특정한 실시형태에 있어서, 디지털 신호 프로세서 (510), 디스플레이 컨트롤러 (526), 메모리 (532), 코덱 (534), 및 모뎀 (540) 은 패키지형 시스템 (system-in-package) 또는 시스템온칩 (system-on-chip) 장치 (522) 에 포함된다. 특정한 실시형태에 있어서, 입력 장치 (530) 및 전력 공급기 (544) 는 시스템온칩 (system-on-chip) 장치 (522) 에 결합된다. 게다가, 특정한 실시형태에 있어서, 도 5 에 예시된 바와 같이, 디스플레이 (528), 입력 장치 (530), 스피커 (536), 마이크로폰 (538), 무선 안테나 (542), 및 전력 공급기 (544) 는 시스템온칩 (system-on-chip) 장치 (522) 의 외부에 있다. 그러나, 각 디스플레이 (528), 입력 장치 (530), 스피커 (536), 마이크로폰 (538), 무선 안테나 (542), 및 전력 공급기 (544) 는, 인터페이스 또는 컨트롤러와 같은 시스템온칩 (system-on-chip) 장치 (522) 의 부품에 결합될 수 있다.
이러한 기술은 본 명세서에 개시된 실시형태와 관련하여 기술된 다양한 예시적인 논리 블록, 구성, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합으로서 구현될 수 있음을 더 이해하게 한다. 하드웨어와 소프트웨어의 이러한 호환성을 명료하게 도시하기 위해서, 다양한 예시적인 부품, 블록, 구성, 모듈, 회로, 및 단계는 상기에서 전체적으로 기능성 면에서 기술되어 왔다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지 여부는 특정한 응용과 전반적인 시스템에 부과되는 디자인 제약에 의존한다. 숙련된 기술자는 기술된 기능성을 각 특정한 응용에 따라 변화하는 방식으로 구현할 수 있으나, 이러한 구현 결정은 본 발명의 범위의 이탈을 초래한 것으로 해석되어서는 안된다.
본 명세서에 개시된 실시형태와 관련하여 기술된 방법 또는 알고리즘의 단계는 직접적으로 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 둘의 조합 내에서 실시될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 플래시 메모리, 읽기-전용 메모리 (ROM), 프로그램가능 읽기-전용 메모리 (PROM), 삭제가능 프로그램가능 읽기-전용 메모리 (EPROM), 전기적 삭제가능 프로그램가능 읽기-전용 메모리 (EEPROM), 레지스터, 하드 디스크, 이동식 디스크, 콤팩트 디스크 읽기-전용 메모리 (CD-ROM), 또는 당해 기술 분야에 알려진 임의의 다른 형태의 저장 매체에 존재할 수 있다. 전형적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있기 위해 프로세서에 결합된다. 대안으로서, 저장 매체는 프로세서와 일체형일 수 있다. 프로세서 및 저장 매체는 응용-주문형 집적 회로 (ASIC) 에 존재할 수 있다. 응용-주문형 집적 회로 (ASIC) 는 컴퓨팅 장치 또는 사용자 터미널에 존재할 수 있다. 대안으로서, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 터미널의 별개의 부품으로 존재할 수 있다.
개시된 실시형태의 앞선 기재는 당업자가 개시된 실시형태를 만들거나 사용할 수 있도록 하기 위해 제공된다. 이러한 실시형태의 다양한 변형은 당업자에게 용이하고, 또한 본 명세서에서 정의되는 원칙은 발명의 범위를 이탈함 없이 그 밖의 실시형태에 응용될 수 있다. 따라서, 본 발명은 본 명세서에서 도시되는 실시형태에 제한되지 않고 아래의 청구항들에 의해서 정의되는 원리들 및 새로운 특징들과 일치하는 최광의 범위가 부여됨을 의미한다.

Claims (22)

  1. 데이터를 처리하는 방법으로서,
    소스 데이터를 수신하는 단계;
    중간 데이터를 생성하기 위해 상기 소스 데이터와 레퍼런스 데이터에 대해 비트단위 논리 연산을 실행하는 단계;
    상기 중간 데이터의 패리티를 결정하는 단계;
    상기 소스 데이터를 쉬프트하는 단계;
    결과 데이터를 생성하기 위해서 상기 중간 데이터의 상기 패리티에 대응하는 값을 상기 쉬프트된 소스 데이터의 데이터 필드에 입력하는 단계; 및
    상기 결과 데이터를 출력하는 단계
    에 의해 프로세서에서 명령을 실행하는 단계를 포함하는, 데이터를 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 논리 연산은 앤드(AND) 연산이고,
    상기 결과 데이터를 저장하는 단계를 더 포함하는, 데이터를 처리하는 방법.
  3. 제 1 항에 있어서,
    상기 데이터 필드는 상기 쉬프트된 소스 데이터의 최상위 비트 (MSB) 를 포함하는, 데이터를 처리하는 방법.
  4. 제 1 항에 있어서,
    상기 소스 데이터는 소스 레지스터로부터 수신되는, 데이터를 처리하는 방법.
  5. 시스템으로서,
    프로세서를 포함하고,
    상기 프로세서는,
    소스 데이터를 제공하도록 작동하는 소스 레지스터;
    레퍼런스 데이터를 제공하도록 작동하는 레퍼런스 레지스터; 및
    명령을 실행하도록 동작하는 실행 유닛을 포함하며,
    상기 명령은,
    중간 데이터를 생성하기 위해 상기 소스 데이터와 상기 레퍼런스 데이터에 대해 비트단위 논리 연산을 수행하고;
    상기 중간 데이터의 패리티를 결정하고;
    쉬프트된 소스 데이터를 생성하기 위해 상기 비트단위 논리 연산을 실행한 후 상기 소스 데이터를 쉬프트하고;
    결과 데이터를 생성하기 위해 상기 중간 데이터의 상기 패리티에 대응하는 값을 상기 쉬프트된 소스 데이터의 데이터 필드에 입력하고; 그리고
    상기 결과 데이터를 출력하기 위한 것인, 시스템.
  6. 제 5 항에 있어서,
    상기 소스 데이터는 상기 소스 레지스터로부터 검색되고 상기 레퍼런스 데이터는 상기 레퍼런스 레지스터로부터 검색되는, 시스템.
  7. 제 5 항에 있어서,
    상기 중간 데이터의 상기 패리티에 대응하는 상기 값이 상기 쉬프트된 소스 데이터의 최상위 비트 데이터 필드에 입력되는, 시스템.
  8. 제 5 항에 있어서,
    무선 데이터를 안테나를 통해 수신하도록 결합된 무선 송수신기를 더 포함하고,
    상기 무선 송수신기는 또한 상기 프로세서에 상기 무선 데이터를 제공하도록 결합된, 시스템.
  9. 실행가능한 명령을 저장하는 컴퓨터 판독가능 매체로서,
    상기 실행가능한 명령은, 실행되는 경우, 프로세서로 하여금,
    소스 데이터를 수신하게 하고;
    중간 데이터를 생성하기 위해 상기 소스 데이터와 레퍼런스 데이터에 대해 비트단위 논리 연산을 수행하게 하고;
    상기 중간 데이터의 패리티를 결정하게 하고;
    쉬프트된 소스 데이터를 생성하기 위하여 상기 소스 데이터를 쉬프트하게 하고;
    결과를 생성하기 위하여 상기 중간 데이터의 상기 패리티에 대응하는 값을 상기 쉬프트된 소스 데이터의 데이터 필드에 입력하게 하는, 컴퓨터 판독가능 매체.
  10. 제 9 항에 있어서,
    상기 쉬프트는 우향 쉬프트인, 컴퓨터 판독가능 매체.
  11. 제 9 항에 있어서,
    상기 중간 데이터의 상기 패리티에 대응하는 상기 값이 상기 쉬프트된 소스 데이터의 비어있는 위치에 입력되는, 컴퓨터 판독가능 매체.
  12. 프로세서에 의해 실행가능한 프로세서 명령으로서,
    명령 이름;
    소스 데이터를 식별하는 제 1 필드; 및
    레퍼런스 데이터를 식별하는 제 2 필드를 포함하고,
    상기 프로세서 명령의 실행 중에, 상기 프로세서가 중간 데이터를 생성하기 위해 상기 소스 데이터와 상기 레퍼런스 데이터에 대해 비트단위 논리 연산을 수행하고, 상기 중간 데이터의 패리티를 결정하고, 상기 소스 데이터를 쉬프트하고, 결과를 생성하기 위해 상기 쉬프트된 소스 데이터의 필드에 상기 중간 데이터의 상기 패리티에 대응하는 값을 입력하는, 프로세서 명령.
  13. 제 12 항에 있어서,
    상기 논리 연산은 앤드 (AND) 연산인, 프로세서 명령.
  14. 제 12 항에 있어서,
    상기 논리 연산은 낸드 (NAND) 연산인, 프로세서 명령.
  15. 제 12 항에 있어서,
    상기 프로세서 명령의 실행중에, 상기 프로세서가 상기 결과를 출력하는, 프로세서 명령.
  16. 명령을 실행하기 위한 프로세서로서,
    중간 데이터를 생성하기 위해 소스 데이터와 레퍼런스 데이터에 대해 비트단위 논리 연산을 수행하는 논리 회로;
    상기 중간 데이터의 패리티 값을 결정하는 패리티 회로;
    상기 소스 데이터를 쉬프트하는 비트 쉬프터 회로;
    결과 데이터를 생성하기 위하여 상기 중간 데이터의 상기 패리티 값을 상기 쉬프트된 소스 데이터에 배치하는 배치 회로; 및
    상기 결과 데이터를 출력하기 위한 수단을 포함하는, 프로세서.
  17. 제 16 항에 있어서,
    상기 레퍼런스 데이터는 다항식 데이터를 포함하는, 프로세서.
  18. 제 17 항에 있어서,
    상기 결과 데이터는 순환 중복 검사 값을 포함하는, 프로세서.
  19. 제 16 항에 있어서,
    상기 결과 데이터는 의사랜덤 데이터를 포함하는, 프로세서.
  20. 제 16 항에 있어서,
    상기 프로세서는 인터리빙된 멀티스레디드 프로세서를 포함하는, 프로세서.
  21. 제 16 항에 있어서,
    상기 프로세서는 프로세서 스레드 사이클을 포함하고,
    상기 중간 데이터를 생성하는 것, 상기 중간 데이터의 상기 패리티 값을 결정하는 것, 상기 소스 데이터를 쉬프트 하는 것, 및 상기 결과 데이터를 생성하는 것은 상기 프로세서 스레드 사이클을 초과하지 않도록 프로세싱 시간 주기 기간 동안 실행되는, 프로세서.
  22. 제 16 항에 있어서,
    상기 프로세서는 무선 디바이스에 포함되고,
    상기 무선 디바이스는,
    상기 프로세서에 결합되는 메모리;
    상기 프로세서에 결합되는 디스플레이 컨트롤러; 및
    상기 프로세서에 결합되는 코더/디코더를 포함하는, 프로세서.
KR1020117009286A 2008-09-23 2009-09-18 선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법 KR101290493B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/236,067 US8281111B2 (en) 2008-09-23 2008-09-23 System and method to execute a linear feedback-shift instruction
US12/236,067 2008-09-23
PCT/US2009/057453 WO2010039457A1 (en) 2008-09-23 2009-09-18 System and method to execute a linear feedback-shift instruction

Publications (2)

Publication Number Publication Date
KR20110074878A true KR20110074878A (ko) 2011-07-04
KR101290493B1 KR101290493B1 (ko) 2013-07-26

Family

ID=41666808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117009286A KR101290493B1 (ko) 2008-09-23 2009-09-18 선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US8281111B2 (ko)
EP (1) EP2350814A1 (ko)
JP (1) JP5341194B2 (ko)
KR (1) KR101290493B1 (ko)
CN (1) CN102160031A (ko)
TW (1) TW201025126A (ko)
WO (1) WO2010039457A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110123117A1 (en) * 2009-11-23 2011-05-26 Johnson Brian D Searching and Extracting Digital Images From Digital Video Files
US9092213B2 (en) * 2010-09-24 2015-07-28 Intel Corporation Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation
US8918442B2 (en) * 2012-08-22 2014-12-23 International Business Machines Corporation Reducing bias in hardware generated random numbers
US9471310B2 (en) * 2012-11-26 2016-10-18 Nvidia Corporation Method, computer program product, and system for a multi-input bitwise logical operation
CN104199635B (zh) * 2014-09-23 2017-11-07 无锡华大国奇科技有限公司 集成crc校验电路的伪随机数发生器
US9916159B2 (en) * 2016-01-14 2018-03-13 International Business Machines Corporation Programmable linear feedback shift register
US10108487B2 (en) * 2016-06-24 2018-10-23 Qualcomm Incorporated Parity for instruction packets
US10466967B2 (en) * 2016-07-29 2019-11-05 Qualcomm Incorporated System and method for piecewise linear approximation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195293A (en) * 1978-05-18 1980-03-25 Jed Margolin Random dot generator for raster scan video displays
US4771429A (en) 1986-09-18 1988-09-13 Abbott Laboratories Circuit combining functions of cyclic redundancy check code and pseudo-random number generators
EP0279953B1 (en) * 1987-02-24 1994-11-02 Texas Instruments Incorporated Computer system having mixed macrocode and microcode instruction execution
US5235686A (en) * 1987-02-24 1993-08-10 Texas Instruments Incorporated Computer system having mixed macrocode and microcode
US5230020A (en) * 1991-10-16 1993-07-20 Motorola, Inc. Algorithm independent cryptographic key management
JPH09507110A (ja) * 1993-11-04 1997-07-15 シーラス ロジック, インコーポレイテッド 有限体反転
GB2304941B (en) 1995-06-24 1999-09-08 Motorola Ltd Feedback and shift unit
DE19627010C1 (de) * 1996-07-04 1997-12-11 Madeira Garnfabrik Rudolf Schm Verfahren zum Herstellen eines schrumpfarmen Garns
US6195780B1 (en) * 1997-12-10 2001-02-27 Lucent Technologies Inc. Method and apparatus for generating cyclical redundancy code
JP4127581B2 (ja) * 1999-03-01 2008-07-30 株式会社東芝 スペクトラム拡散無線通信装置
US20030002677A1 (en) * 2001-06-28 2003-01-02 Amit Dagan Software implementations of input independent LFSR-based algorithms
JP4002151B2 (ja) * 2002-07-31 2007-10-31 富士通株式会社 情報処理装置
FI20021869A0 (fi) * 2002-10-18 2002-10-18 Nokia Corp Menetelmä ja laite pakettidatan siirtämiseksi langattomassa pakettidataverkossa
US7949856B2 (en) * 2004-03-31 2011-05-24 Icera Inc. Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit
TW200629192A (en) 2005-02-03 2006-08-16 Sanyo Electric Co Random number generating circuit
JP2006215825A (ja) * 2005-02-03 2006-08-17 Sanyo Electric Co Ltd 乱数生成回路
JP2006215824A (ja) * 2005-02-03 2006-08-17 Sanyo Electric Co Ltd 乱数生成回路
US7681014B2 (en) * 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
KR100686579B1 (ko) * 2005-11-09 2007-02-26 삼성전자주식회사 휴대용 무선단말기에서 메시지의 수신알림을 제어하기 위한방법
KR20080033582A (ko) * 2006-10-12 2008-04-17 삼성전자주식회사 휴대용 단말기의 전력 소모를 방지하기 위한 장치 및 방법
US7984269B2 (en) * 2007-06-12 2011-07-19 Arm Limited Data processing apparatus and method for reducing issue circuitry responsibility by using a predetermined pipeline stage to schedule a next operation in a sequence of operations defined by a complex instruction

Also Published As

Publication number Publication date
TW201025126A (en) 2010-07-01
KR101290493B1 (ko) 2013-07-26
CN102160031A (zh) 2011-08-17
WO2010039457A1 (en) 2010-04-08
US20100077187A1 (en) 2010-03-25
EP2350814A1 (en) 2011-08-03
US8281111B2 (en) 2012-10-02
JP2012503829A (ja) 2012-02-09
JP5341194B2 (ja) 2013-11-13

Similar Documents

Publication Publication Date Title
KR101290493B1 (ko) 선형 피드백-쉬프트 명령을 실행하기 위한 시스템 및 방법
JP5917592B2 (ja) ループ制御システムおよび方法
US6823448B2 (en) Exception handling using an exception pipeline in a pipelined processor
JP2011526045A5 (ko)
JP2014038640A (ja) 改善されたパイプライン化デジタル信号プロセッサ
US8843730B2 (en) Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination
US8707013B2 (en) On-demand predicate registers
CN101021777A (zh) 基于除数(2n-1)的有效求模操作运算
US7877571B2 (en) System and method of determining an address of an element within a table
US9678754B2 (en) System and method of processing hierarchical very long instruction packets
CN109313594B (zh) 用于指令包的奇偶校验
JP2007174312A (ja) 符号化回路およびデジタル信号処理回路
US6928605B2 (en) Add-compare-select accelerator using pre-compare-select-add operation
WO2000067125A1 (fr) Processeur
JP2008003663A (ja) データ処理装置、データ処理方法
JPH0750596A (ja) 符号化装置及び符号化方法
KR20060080381A (ko) 프로세서의 산술 연산 방법 및 장치

Legal Events

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

Payment date: 20160629

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee