KR20180080463A - 반도체 장치 및 반도체 장치의 동작 방법 - Google Patents

반도체 장치 및 반도체 장치의 동작 방법 Download PDF

Info

Publication number
KR20180080463A
KR20180080463A KR1020170001215A KR20170001215A KR20180080463A KR 20180080463 A KR20180080463 A KR 20180080463A KR 1020170001215 A KR1020170001215 A KR 1020170001215A KR 20170001215 A KR20170001215 A KR 20170001215A KR 20180080463 A KR20180080463 A KR 20180080463A
Authority
KR
South Korea
Prior art keywords
data
register
mode
processor core
operation mode
Prior art date
Application number
KR1020170001215A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020170001215A priority Critical patent/KR20180080463A/ko
Priority to US15/718,486 priority patent/US10628159B2/en
Priority to TW106134772A priority patent/TWI766891B/zh
Priority to CN201810005959.2A priority patent/CN108268280B/zh
Publication of KR20180080463A publication Critical patent/KR20180080463A/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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • 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/30098Register arrangements
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/3001Arithmetic 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/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/327Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for interrupts
    • 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
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

반도체 장치 및 반도체 장치의 동작 방법이 제공된다. 반도체 장치는 프로세서 코어; 동작 모드를 나타내는 모드 신호를 수신하고, 상기 모드 신호에 따라 제1 동작 모드 또는 제2 동작 모드로 동작하는 선택 회로; 및 상기 제1 동작 모드에서 외부의 하드웨어로부터 제1 제어 신호를 수신하고 상기 외부의 하드웨어에 의해 제어되고, 상기 제2 동작 모드에서 상기 프로세서 코어로부터 제2 제어 신호를 수신하고 상기 프로세서 코어에 의해 제어되는 레지스터를 포함하고, 상기 선택 회로는 상기 제1 동작 모드에서 상기 외부의 하드웨어에서 처리한 제1 데이터를 상기 레지스터에 제공하고, 상기 제2 동작 모드에서 상기 프로세서 코어에서 처리한 제2 데이터를 상기 레지스터에 제공한다.

Description

반도체 장치 및 반도체 장치의 동작 방법{SEMICONDUCTOR DEVICE AND METHOD FOR OPERATING THE SAME}
본 발명은 반도체 장치 및 반도체 장치의 동작 방법에 관한 것이다.
일반적으로 하드웨어 가속기, 하드웨어 전처리기 등과 같은 전용 하드웨어(dedicated hardware)로부터 생성된 데이터를 소프트웨어가 액세스하기 위해서는 데이터를 임시로 저장하기 위한 임시 저장 공간이 필요하다. 하드웨어로부터 생성된 데이터는 임시 저장 공간에 기록된 후, 소프트웨어에 의해 리드(read)될 수 있다.
예를 들어, 데이터 스트림을 생성하는 전용 하드웨어와, 전용 하드웨어에 의해 생성된 데이터 스트림을 액세스하기 위한 프로세서 상에서 실행되는 소프트웨어 사이에는 SRAM(Static Random Access Memory)과 같은 메모리 장치가 배치되고, 메모리 장치가 전용 하드웨어로부터 생성된 데이터 스트림을 임시 저장하여 소프트웨어의 리드가 가능하도록 하는 역할을 할 수 있다.
그러나 이와 같이 전용 하드웨어와 소프트웨어 사이에 데이터를 전달하는 방식은 추가적인 메모리 장치가 필요하므로 비용이 증가하고, 메모리 장치를 회로 상에 탑재하기 위한 면적 확보가 필요하다. 이를 방지하기 위해 전용 하드웨어와, 프로세서 상에서 실행되는 소프트웨어 사이에 데이터를 효율적으로 주고 받는 방안이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 추가적인 메모리 장치를 사용하지 않으면서, 하드웨어(예컨대 전용 하드웨어)와, 프로세서 상에서 실행되는 소프트웨어 사이에 데이터를 효율적으로 전송하기 위한 반도체 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 추가적인 메모리 장치를 사용하지 않으면서, 하드웨어(예컨대 전용 하드웨어)와, 프로세서 상에서 실행되는 소프트웨어 사이에 데이터를 효율적으로 전송하기 위한 반도체 장치의 동작 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치는, 프로세서 코어; 동작 모드를 나타내는 모드 신호를 수신하고, 상기 모드 신호에 따라 제1 동작 모드 또는 제2 동작 모드로 동작하는 선택 회로; 및 상기 제1 동작 모드에서 외부의 하드웨어로부터 제1 제어 신호를 수신하고 상기 외부의 하드웨어에 의해 제어되고, 상기 제2 동작 모드에서 상기 프로세서 코어로부터 제2 제어 신호를 수신하고 상기 프로세서 코어에 의해 제어되는 레지스터를 포함하고, 상기 선택 회로는 상기 제1 동작 모드에서 상기 외부의 하드웨어에서 처리한 제1 데이터를 상기 레지스터에 제공하고, 상기 제2 동작 모드에서 상기 프로세서 코어에서 처리한 제2 데이터를 상기 레지스터에 제공한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 장치는, 동작 모드를 나타내는 모드 신호에 따라 제1 동작 모드 또는 제2 동작 모드에서 동작하는 레지스터; 외부의 하드웨어에서 처리된 제1 데이터와 프로세서 코어에서 처리된 제2 데이터를 입력받고, 상기 모드 신호에 따라 상기 제1 데이터와 상기 제2 데이터 중 어느 하나를 선택하여 제3 데이터를 출력하는 제1 다중화 회로; 상기 외부의 하드웨어로부터 제공되는 제1 제어 신호와 상기 프로세서 코어로부터 제공되는 제2 제어 신호를 입력받고, 상기 모드 신호에 따라 상기 제1 제어 신호와 상기 제2 제어 신호 중 어느 하나를 선택하여 제3 제어 신호를 출력하는 제2 다중화 회로; 및 상기 제1 다중화 회로로부터 상기 제3 데이터를 제1 입력으로서 제공받고, 상기 제2 다중화 회로로부터 상기 제3 제어 신호를 선택 신호로서 제공받고, 상기 선택 신호에 의해 선택된 제4 데이터를 상기 레지스터에 제공하는 제3 다중화 회로를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법은, 레지스터를 직접 제어하는 제2 동작 모드에서 외부의 하드웨어가 발생시킨 인터럽트 신호를 검출하고, 상기 제2 동작 모드에서, 외부의 하드웨어로 상기 레지스터의 제어권을 부여하는 제1 동작 모드로 전환하기 위해 제1 컨텍스트 스위칭을 수행하고, 상기 레지스터를 관찰하여, 상기 외부의 하드웨어로부터 생성된 데이터 스트림의 제공이 시작했는지 여부를 판단하고, 상기 레지스터에 저장된 상기 데이터 스트림에 대해 산술 연산을 수행하고, 상기 레지스터를 관찰하여, 상기 데이터 스트림의 제공이 종료되었는지 여부를 판단하고, 상기 제1 동작 모드에서, 상기 레지스터를 직접 제어하기 위한 상기 제2 동작 모드로 전환하기 위해 제2 컨텍스트 스위칭을 수행하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치가 사용되는 반도체 시스템을 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 프로세서를 구체적으로 설명하기 위한 개략도이다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 선택 회로를 구체적으로 설명하기 위한 개략도이다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 6은 본 발명의 다른 실시예에 따른 반도체 장치의 프로세서를 구체적으로 설명하기 위한 개략도이다.
도 7은 본 발명의 다른 실시예에 따른 반도체 장치의 선택 회로를 구체적으로 설명하기 위한 개략도이다.
도 8은 본 발명의 다른 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 다양한 실시예에 따라 산술 연산을 수행하도록 하는 프로그램 코드를 설명하기 위한 도면이다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치가 사용되는 반도체 시스템을 설명하기 위한 개략도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치가 사용되는 반도체 시스템(1)은 시스템 온 칩(10), 메모리 장치(20), 스토리지 장치(30) 및 이들 시스템 온 칩(10), 메모리 장치(20), 스토리지 장치(30)를 서로 전기적으로 연결하는 버스(40)를 포함한다.
시스템 온 칩(10)은 어플리케이션 프로세서(100), 디지털 신호 처리기(110), 멀티미디어 처리기(120) 및 모뎀(130)을 포함할 수 있다. 도 1에서는 이와 같은 구성의 시스템 온 칩(10)을 도시하였으나, 이것을 오로지 예시적인 것일 뿐이고, 시스템 온 칩(10)의 구성은 구현 목적에 따라 얼마든지 달라질 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.
메모리 장치(20)는 ROM(Read-Only Memory)과 같은 비휘발성 메모리 또는 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있으나, 본 발명의 범위는 메모리의 종류에 한정되지 않는다.
스토리지 장치(30)는 HDD(Hard Disk Drive), SSD(Solid State Drive) 등을 포함할 수 있으나, 본 발명의 범위는 스토리지 장치의 종류에 한정되지 않는다.
후술하는 본 발명의 다양한 실시예들은 일반적인 하드웨어(예컨대 전용 하드웨어)와, 프로세서 상에서 실행되는 소프트웨어 사이에 적용될 수 있다. 그러나 설명의 편의를 위해 이하에서는 시스템 온 칩(10)의 모뎀(130)을 예로 들어 설명하기로 한다. 본 발명의 범위가 이에 한정되지 않음은 해당 기술 분야의 통상의 기술자에게 자명하다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치, 예컨대 도 1의 모뎀(130)은 그 내부에 전용 하드웨어(1300, 1310), SRAM(1320), 프로세서(1330) 등을 포함할 수 있다.
제1 하드웨어(1300)는, 예컨대 안테나를 통해 수신한 데이터에 대해 특정 처리를 수행하고 그 결과를 제1 데이터(DATA 1)로 출력하는 전용 하드웨어일 수 있다. 그리고 제1 데이터(DATA 1)는 예컨대 데이터 스트림의 형태를 가질 수 있다.
예를 들어, 제1 하드웨어(1300)는 디스크램블(descramble) 작업을 수행하는 전용 하드웨어일 수 있다. 이에 따라 제1 하드웨어(1300)는 안테나를 통해 입력 받은 데이터를 처리하여, 디스크램블된 데이터를 데이터 스트림의 형태로 출력할 수 있다.
제2 하드웨어(1310)는 제1 하드웨어(1300)로부터 출력된 제1 데이터(DATA 1)를 입력 받고, 이에 대해 특정 처리를 수행하여 그 결과를 제2 데이터(DATA 2)로 출력하는 전용 하드웨어일 수 있다.
일반적으로 제1 하드웨어(1300)와 제2 하드웨어(1310) 사이에 데이터를 전송하기 위해서는 별다른 메모리 장치가 필요하지 않지만, 하드웨어(1300, 1310)와, 프로세서(1330)에서 실행되는 소프트웨어 사이에 데이터를 전송하기 위해서는 SRAM(1320)과 같은 추가적인 메모리가 필요하다.
SRAM(1320)은 제2 하드웨어(1310)에서 처리되어 출력된 제2 데이터(DATA 2)를 저장하고, 프로세서(1330) 상에서 실행되는 소프트웨어가 제2 데이터(DATA 2)를 리드(read)할 수 있는 환경을 제공한다.
그런데 이와 같이 SRAM(1320)을 매개로 하드웨어와 소프트웨어 사이에 데이터를 전송하는 방식은 SRAM(1320)에 대한 비용을 발생시키고, 반도체 장치(1)에 SRAM(1320)을 구현해야 함으로 인해 면적 증가를 야기한다. 이를 회피하기 위해, 본 실시예에서 반도체 장치(1)는 별도의 메모리를 거치지 않고 하드웨어(예컨대 제1 하드웨어(1300))에서 생성된 데이터를 직접(directly) 프로세서(1330)에 제공한다.
이를 위해, 제1 하드웨어(1300)는 제1 데이터(DATA 1)를 출력하는 동안, 프로세서(1330)에 내장된 레지스터에 대한 제어권을 확보하고, 제1 데이터(DATA 1)를 프로세서(1330)에 내장된 레지스터에 직접 라이트(write)한다. 이를 구현하기 위해 제1 하드웨어(1300)는 프로세서(1330)에 제1 제어 신호(CTRL1)와 인터럽트 신호(INT)를 전송하는데, 이에 대한 상세한 내용은 도 3 내지 도 5와 관련하여 후술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 프로세서를 구체적으로 설명하기 위한 개략도이다.
도 3을 참조하면, 도 2에서 설명한 바와 같이 본 발명의 일 실시예에 따른 반도체 장치의 프로세서(1330)는 제1 하드웨어(1300)로부터 제1 데이터(DATA 1)를 직접 수신한다. 본 실시예에서, 프로세서(1330)는 선택 회로(1332), 레지스터(1334) 및 프로세서 코어(1336)를 포함한다.
선택 회로(1332)는 모드 신호(MODE)를 수신한다. 선택 회로(1332)는 모드 신호(MODE)에 따라 제1 동작 모드 또는 제2 동작 모드로 동작한다. 선택 회로(1332)는, 제1 동작 모드에서는 제1 하드웨어(1300)가 처리한 제1 데이터(DATA 1)를 레지스터(1334)에 제공하고, 제2 동작 모드에서는 프로세서 코어(1336)가 처리한 제2 데이터(DATA 2)를 레지스터(1334)에 제공한다.
레지스터(1334)는 클럭 신호(CLK)에 따라 구동되며, 제1 동작 모드에서는 제1 하드웨어(1300)의 제어를 받아 제1 데이터(DATA 1)를 기록하고, 제2 동작 모드에서는 프로세서 코어(1336)의 제어를 받아 제2 데이터(DATA 2)를 기록할 수 있다.
프로세서 코어(1336)는 레지스터(1334)로부터 레지스터(1334)에 저장된 데이터(DATA 5)를 제공받을 수 있다. 특히, 프로세서 코어(1336)는 레지스터(1334)를 직접 액세스할 수 있고, 특히 프로세서 코어(1336)에서 실행되는 소프트웨어 역시 레지스터(1334)를 직접 액세스할 수 있다. 본 발명의 몇몇의 실시예에서 프로세서 코어(1336)는 ASIP(Application-Specific Instruction set Processor)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
제1 하드웨어(1300), 선택 회로(1332), 레지스터(1334) 및 프로세서 코어(1336) 사이의 동작을 살펴보면 다음과 같다.
제1 동작 모드에서 제1 하드웨어(1300)에 의해 처리된 제1 데이터(DATA 1)는 제1 하드웨어(1300)에서 생성된 후 직접 레지스터(1334)에 저장된다.
구체적으로, 제1 하드웨어(1300)는 제1 데이터(DATA 1)를 제공하기 전에 인터럽트 신호(INT)를 발생시킨다. 제2 동작 모드로 동작하고 있던 프로세서 코어(1336)가 인터럽트 신호(INT)를 인지하면, 프로세서 코어(1336)는 컨텍스트 스위칭(context switching)을 통해 제2 동작 모드에서 제1 동작 모드로 전환된다.
이후 제1 하드웨어(1300)는 프로세서 코어(1336)가 컨텍스트 스위칭을 통해 제1 동작 모드로 전환을 완료하면, 제1 제어 신호(CTRL 1)를 선택 회로(1332)에 전송하여 레지스터(1334)에 대한 제어권을 획득한다. 그리고 제1 하드웨어(1300)는 선택 회로(1332)를 거쳐 제1 데이터(DATA 1)를 레지스터(1334)에 라이트(write)한다.
이에 따라 프로세서 코어(1336), 예를 들어 프로세서 코어(1336) 상에서 실행되는 소프트웨어는 제1 동작 모드에서 레지스터(1334)에 저장된 데이터(DATA 5)에 대해 임의의 산술 연산을 수행할 수 있다.
이후 제1 하드웨어(1300)로부터의 제1 데이터(DATA 1)의 제공이 종료되거나, 프로세서 코어(1336)의 산술 연산이 종료된 후에, 프로세서 코어(1336)는 컨텍스트 스위칭을 통해 제1 동작 모드에서 제2 동작 모드로 전환되고, 제2 제어 신호(CTRL)를 선택 회로(1332)에 전송하여 레지스터(1334)에 대한 제어권을 다시 획득한다.
이와 같은 방식으로 제1 하드웨어(1300)와, 프로세서 코어(1336) 상에서 실행되는 소프트웨어 사이에 데이터를 전송하기 위해서는 프로세서(1330) 내부에 이미 구비되어 있는 레지스터(1334)를 이용하면 충분하며, 별도의 메모리를 추가할 필요가 없다. 이에 따라 메모리 추가로 인한 비용 발생 및 면적 증가 문제를 피할 수 있다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 선택 회로를 구체적으로 설명하기 위한 개략도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 선택 회로(1332)는 복수의 다중화 회로(multiplexer)를 이용하여 구현될 수 있다.
본 실시예에서, 선택 회로(1332)는 제1 다중화 회로, 제2 다중화 회로 및 제3 다중화 회로를 포함한다.
제1 다중화 회로는 제1 하드웨어(1300)에서 처리된 제1 데이터(DATA 1)와, 그렇지 않은 제2 데이터(DATA 2)를 입력받고, 선택 회로(1332)의 동작 모드에 따라 제1 데이터(DATA 1)와 제2 데이터(DATA 2) 중 어느 하나를 선택하여 제3 데이터(DATA 3)를 출력한다.
제1 하드웨어(1300)가 레지스터(1334)의 제어권을 갖는 제1 동작 모드에서, 제1 다중화 회로는 제1 데이터(DATA 1)를 선택하고 이를 제3 데이터(DATA 3)로서 출력한다. 이와 다르게, 프로세서 코어(1336)가 레지스터(1334)의 제어권을 갖는 제2 동작 모드에서, 제1 다중화 회로는 제1 데이터(DATA 2)를 선택하고 이를 제3 데이터(DATA 3)로서 출력한다.
제2 다중화 회로는 제1 하드웨어(1300)로부터 제공되는 제1 제어 신호(CTRL 1)와 프로세서 코어(1336)로부터 제공되는 제2 제어 신호(CTRL 2)를 입력받고, 선택 회로(1332)의 동작 모드에 따라 제1 제어 신호(CTRL 1)와 제2 제어 신호(CTRL 2) 중 어느 하나를 선택하여 제3 제어 신호(CTRL 3)를 출력한다.
제1 하드웨어(1300)가 레지스터(1334)의 제어권을 갖는 제1 동작 모드에서, 제2 다중화 회로는 제1 제어 신호(CTRL 1)를 선택하고 이를 제3 제어 신호(CTRL 3)로서 출력한다. 이와 다르게, 프로세서 코어(1336)가 레지스터(1334)의 제어권을 갖는 제2 동작 모드에서, 제2 다중화 회로는 제2 제어 신호(CTRL 2)를 선택하고 이를 제3 제어 신호(CTRL 3)로서 출력한다.
제3 다중화 회로는 제1 다중화 회로로부터 제3 데이터(DATA 3)를 제1 입력으로서 제공받고, 제2 다중화 회로로부터 제3 제어 신호(CTRL 3)를 선택 신호로서 제공받고, 선택 신호에 의해 선택된 제4 데이터(DATA 4)를 레지스터(1334)에 제공한다.
이후 레지스터(1334)는 레지스터(1334)에 저장된 데이터(DATA 5)를 프로세서 코어(1336)에 제공하거나, 제3 다중화 회로에 제공할 수 있다.
다만, 본 실시예에서의 이와 같은 구현은 일례에 불과할 뿐이고, 다른 여러가지 방식으로 동일 또는 유사한 기능을 구현할 수 있음은 본 발명의 통상의 기술자에게 자명하다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 5를 참조하면, 시점(t1)에서, 제1 하드웨어(1300)는 데이터 스트림 형태의 제1 데이터(DATA 1)를 제공하기 전에 인터럽트 신호(INT)를 발생시킨다. 시점(t2)에서, 제2 동작 모드로 동작하고 있던 프로세서 코어(1336)가 인터럽트 신호(INT)를 인지하면, 프로세서 코어(1336)는 컨텍스트 스위칭(context switching)을 통해 제2 동작 모드(도 5의 노멀 모드)에서 제1 동작 모드(도 5의 데이터 스트림 모드)로 전환된다.
동작 모드가 전환된 후 시점(t3)에서, 프로세서 코어(1336)는 제1 하드웨어(1300)로부터 제1 데이터(DATA 1)가 전송을 시작하기를 대기한다. 본 발명의 몇몇의 실시예에서, 프로세서 코어(1336)는 폴링(polling) 기법을 이용하여 제1 하드웨어(1300)로부터 제1 데이터(DATA 1)가 전송을 시작하기를 대기할 수 있다.
시점(t4)에서 제1 하드웨어(1300)는 데이터 스트림 형태의 제1 데이터(DATA 1)를 레지스터(RD)에 직접 전송한다. 구체적으로, 제1 하드웨어(1300)는 프로세서 코어(1336)가 컨텍스트 스위칭을 통해 제1 동작 모드로 전환을 완료하면, 제1 제어 신호(CTRL 1)를 선택 회로(1332)에 전송하여 레지스터(RD)에 대한 제어권을 획득한다. 그리고 제1 하드웨어(1300)는 선택 회로(1332)를 거쳐 제1 데이터(DATA 1)를 레지스터(RD)에 라이트한다.
시점(t5)에서 제1 데이터(DATA 1) 전송 시작을 인지한 프로세서 코어(1336), 예를 들어 프로세서 코어(1336) 상에서 실행되는 소프트웨어는 제1 동작 모드에서 레지스터(RD)에 저장된 제1 데이터(DATA 1)에 대해 임의의 산술 연산을 수행한다.
이후 시점(t6)에서 제1 데이터(DATA 1) 전송 종료를 인지한 프로세서 코어(1336), 예를 들어 프로세서 코어(1336) 상에서 실행되는 소프트웨어는 시점(t7)에서 산술 연산을 마무리하고, 시점(t8)에서 컨텍스트 스위칭을 통해 제1 동작 모드에서 제2 동작 모드로 전환된다. 이후 제2 동작 모드로 전환이 완료된 시점(t9)에서 프로세서 코어(1336)는 제2 제어 신호(CTRL)를 선택 회로(1332)에 전송하여 레지스터(RD)에 대한 제어권을 다시 획득한다.
이와 같은 방식으로 제1 하드웨어(1300)와, 프로세서 코어(1336) 상에서 실행되는 소프트웨어 사이에 데이터를 전송하기 위해서는 프로세서(1330) 내부에 이미 구비되어 있는 레지스터(RD)를 이용하면 충분하며, 별도의 메모리를 추가할 필요가 없다. 이에 따라 메모리 추가로 인한 비용 발생 및 면적 증가 문제를 피할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 반도체 장치의 프로세서를 구체적으로 설명하기 위한 개략도이고, 도 7은 본 발명의 다른 실시예에 따른 반도체 장치의 선택 회로를 구체적으로 설명하기 위한 개략도이다.
도 6 및 도 7을 참조하면, 도 3 및 도 4에 도시된 실시예와 다른 점은, 레지스터(1334)가 시작 레지스터(13342) 및 종료 레지스터(13344)를 더 포함한다는 점이다.
제1 하드웨어(1300)로부터 제공되는 제1 데이터(DATA 1)가 데이터 스트림일 경우, 시작 레지스터(13342)는 제1 데이터(DATA 1)의 시작 부분을 지시하는 제1 값을 저장한다. 한편 종료 레지스터(13344)는 제1 데이터(DATA 1)의 종료 부분을 지시하는 제2 값을 저장한다.
이에 따라 제1 동작 모드에서 레지스터(1334)에 저장된 제1 데이터(DATA 1)에 대한 산술 연산을 수행하는 프로세서 코어(1336)는 시작 레지스터(13342)를 이용하여 데이터 스트림의 시작을 인지하고, 종료 레지스터(13344)를 이용하여 상기 데이터 스트림의 종료를 인지할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 8을 참조하면, 시점(t1)에서, 제1 하드웨어(1300)는 데이터 스트림 형태의 제1 데이터(DATA 1)를 제공하기 전에 인터럽트 신호(INT)를 발생시킨다. 시점(t2)에서, 제2 동작 모드로 동작하고 있던 프로세서 코어(1336)가 인터럽트 신호(INT)를 인지하면, 프로세서 코어(1336)는 컨텍스트 스위칭을 통해 제2 동작 모드(도 8의 노멀 모드)에서 제1 동작 모드(도 8의 데이터 스트림 모드)로 전환된다.
동작 모드가 전환된 후 시점(t3)에서, 프로세서 코어(1336)는 제1 하드웨어(1300)로부터 제1 데이터(DATA 1)가 전송을 시작하기를 대기한다. 본 발명의 몇몇의 실시예에서, 프로세서 코어(1336)는 폴링(polling) 기법을 이용하여 제1 하드웨어(1300)로부터 제1 데이터(DATA 1)가 전송을 시작하기를 대기할 수 있다.
시점(t4)에서 제1 하드웨어(1300)는 데이터 스트림 형태의 제1 데이터(DATA 1)를 레지스터(RD)에 직접 전송한다. 구체적으로, 제1 하드웨어(1300)는 프로세서 코어(1336)가 컨텍스트 스위칭을 통해 제1 동작 모드로 전환을 완료하면, 제1 제어 신호(CTRL 1)를 선택 회로(1332)에 전송하여 레지스터(RD)에 대한 제어권을 획득한다. 그리고 제1 하드웨어(1300)는 선택 회로(1332)를 거쳐 제1 데이터(DATA 1)를 레지스터(RD)에 라이트한다.
시점(t5)에서 프로세서 코어(1336)는 시작 레지스터(13342)를 폴링하고 있다가, 시작 레지스터(13342)에 미리 약속된 제1 값이 저장되었음을 인지한다. 이에 따라 프로세서 코어(1336), 예를 들어 프로세서 코어(1336) 상에서 실행되는 소프트웨어는 제1 동작 모드에서 레지스터(RD)에 저장된 제1 데이터(DATA 1)에 대해 임의의 산술 연산을 수행한다.
이후 시점(t6)에서 프로세서 코어(1336)는 종료 레지스터(13344)를 폴링하고 있다가, 종료 레지스터(13344)에 미리 약속된 제2 값이 저장되었음을 인지한다. 이에 따라 프로세서 코어(1336), 예를 들어 프로세서 코어(1336) 상에서 실행되는 소프트웨어는 시점(t7)에서 산술 연산을 마무리하고, 시점(t8)에서 컨텍스트 스위칭을 통해 제1 동작 모드에서 제2 동작 모드로 전환된다. 이후 제2 동작 모드로 전환이 완료된 시점(t9)에서 프로세서 코어(1336)는 제2 제어 신호(CTRL)를 선택 회로(1332)에 전송하여 레지스터(RD)에 대한 제어권을 다시 획득한다.
이와 같은 방식으로 제1 하드웨어(1300)와, 프로세서 코어(1336) 상에서 실행되는 소프트웨어 사이에 데이터를 전송하기 위해서는 프로세서(1330) 내부에 이미 구비되어 있는 레지스터(RD)를 이용하면 충분하며, 별도의 메모리를 추가할 필요가 없다. 이에 따라 메모리 추가로 인한 비용 발생 및 면적 증가 문제를 피할 수 있다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법의 프로세서 코어(1336)는, 노멀 모드(앞서 언급한 실시예들에서 제2 동작 모드에 해당)로 실행 상태를 유지(S901)하다가, 제1 하드웨어(1300)가 발생시킨 인터럽트 신호(INT)를 검출(S903, Y)하면 데이터 스트림 모드(앞서 언급한 실시예들에서 제1 동작 모드에 해당)로 컨텍스트 스위칭을 수행(S905)한다.
프로세서 코어(1336)는 데이터 스트림 모드에서 제1 데이터(DATA 1)의 전송 시작을 대기(S907)하고 있다가, 전송 시작을 인지한 후(S909, Y) 데이터 스트림 모드에서 제1 데이터(DATA 1)에 대한 임의의 산술 연산을 수행(S911)한다.
이후 프로세서 코어(1336)는 데이터 스트림 모드에서 제1 데이터(DATA 1)를 처리하다가, 전송 종료를 인지한 후(S913, Y) 다시 노멀 모드로 컨텍스트 스위칭을 수행(S915)한다.
도 10은 본 발명의 다양한 실시예에 따라 산술 연산을 수행하도록 하는 프로그램 코드를 설명하기 위한 도면이다.
도 10을 참조하면, 종래의 방식을 사용하는 코드(C1)와 본 발명의 다양한 실시예에 따른 방식을 사용하는 코드(C2)를 비교해 볼 수 있다.
코드(C1)의 경우, "ld"와 같은 인스트럭션을 사용하여 메모리의 2i 또는 2i+1 등의 주소에 있는 데이터를 r0 또는 r1 등의 레지스터에 로딩한 후, "corr" 등과 같은 산술 연산을 수행하였다. 그 연산 결과는 "store"와 같은 인스트럭션을 사용하여 메모리의 "dst"와 같은 address에 저장되었다.
이와 달리 코드(C2)의 경우, 데이터 스트림 모드에서는 r0 또는 r1 등의 레지스터에 제1 하드웨어(1300)가 생성하는 데이터 스트림이 직접 업데이트(update)되어 프로세서 코어(1336)에서 실행되는 소프트웨어에 보여질 수 있다. 따라서, 데이터 스트림 모드에서는 "ld"와 같은 인스트럭션을 사용하여 메모리 있는 데이터를 레지스터에 로딩 할 필요가 없고, 직접 r0 또는 r1 등의 레지스터를 사용하여 "corr" 등과 같은 산술 연산을 수행한다. 그 연산 결과는 종래의 방식과 동일하게 "store"와 같은 인스트럭션을 사용하여 메모리의 "dst"와 같은 address에 저장될 수 있다.
본 발명의 다양한 실시예들에 따르면, 추가적인 메모리 장치를 사용하지 않으면서, 하드웨어(예컨대 전용 하드웨어)와, 프로세서 상에서 실행되는 소프트웨어 사이에 데이터를 효율적으로 전송할 수 있다. 즉, 전용 하드웨어와, 프로세서 상에서 실행되는 소프트웨어 사이에 데이터를 전송하기 위해서는 프로세서 내부에 이미 구비되어 있는 레지스터를 이용하면 충분하며, 별도의 메모리를 추가할 필요가 없다. 이에 따라 메모리 추가로 인한 비용 발생 및 면적 증가 문제를 피할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 반도체 시스템 10: 시스템 온 칩
100: 어플리케이션 프로세서 110: 디지털 신호 처리기
120: 멀티미디어 처리기 130: 모뎀
20: 메모리 장치 30: 스토리지 장치
40: 버스 1300: 제1 하드웨어
1310: 제2 하드웨어 1320: SRAM
1330: 프로세서 1332: 선택 회로
1334: 레지스터 13342: 시작 레지스터
13344: 종료 레지스터 1336: 프로세서 코어

Claims (20)

  1. 프로세서 코어;
    동작 모드를 나타내는 모드 신호를 수신하고, 상기 모드 신호에 따라 제1 동작 모드 또는 제2 동작 모드로 동작하는 선택 회로; 및
    상기 제1 동작 모드에서 외부의 하드웨어로부터 제1 제어 신호를 수신하고 상기 외부의 하드웨어에 의해 제어되고, 상기 제2 동작 모드에서 상기 프로세서 코어로부터 제2 제어 신호를 수신하고 상기 프로세서 코어에 의해 제어되는 레지스터를 포함하고,
    상기 선택 회로는 상기 제1 동작 모드에서 상기 외부의 하드웨어에서 처리한 제1 데이터를 상기 레지스터에 제공하고, 상기 제2 동작 모드에서 상기 프로세서 코어에서 처리한 제2 데이터를 상기 레지스터에 제공하는 반도체 장치.
  2. 제1항에 있어서,
    상기 제1 동작 모드에서 상기 제1 데이터는 상기 외부의 하드웨어에서 생성된 후 직접(directly) 상기 레지스터에 저장되는 반도체 장치.
  3. 제1항에 있어서,
    상기 외부의 하드웨어는 상기 제1 데이터를 상기 레지스터에 제공하기 전에 상기 프로세서 코어에 대해 인터럽트 신호를 발생시키는 반도체 장치.
  4. 제3항에 있어서,
    상기 제2 동작 모드에서 상기 프로세서 코어가 상기 인터럽트 신호를 인지하면, 상기 프로세서 코어는 컨텍스트 스위칭(context switching)을 수행하고 상기 제2 동작 모드에서 상기 제1 동작 모드로 전환되는 반도체 장치.
  5. 제1항에 있어서,
    상기 제1 동작 모드에서 상기 프로세서 코어는 상기 외부의 하드웨어로부터 제공되는 상기 제1 데이터에 대해 산술 연산을 수행하는 반도체 장치.
  6. 제5항에 있어서,
    상기 제1 데이터는 데이터 스트림을 포함하고,
    상기 레지스터는 상기 제1 데이터의 시작을 지시하는 제1 값을 저장하는 시작 레지스터와, 상기 제1 데이터의 종료를 지시하는 제2 값을 저장하는 종료 레지스터를 포함하는 반도체 장치.
  7. 제6항에 있어서,
    상기 프로세서 코어는 상기 시작 레지스터를 이용하여 상기 데이터 스트림의 시작을 인지하고, 상기 종료 레지스터를 이용하여 상기 데이터 스트림의 종료를 인지하는 반도체 장치.
  8. 제1항에 있어서,
    상기 선택 회로는,
    상기 제1 데이터와 상기 제2 데이터를 입력받고, 상기 동작 모드에 따라 상기 제1 데이터와 상기 제2 데이터 중 어느 하나를 선택하여 제3 데이터를 출력하는 제1 다중화 회로;
    상기 제1 제어 신호와 상기 제2 제어 신호를 입력받고, 상기 동작 모드에 따라 상기 제1 제어 신호와 상기 제2 제어 신호 중 어느 하나를 선택하여 제3 제어 신호를 출력하는 제2 다중화 회로; 및
    상기 제1 다중화 회로로부터 상기 제3 데이터를 제1 입력으로서 제공받고, 상기 제2 다중화 회로로부터 상기 제3 제어 신호를 선택 신호로서 제공받고, 상기 선택 신호에 의해 선택된 제4 데이터를 상기 레지스터에 제공하는 제3 다중화 회로를 포함하는 반도체 장치.
  9. 동작 모드를 나타내는 모드 신호에 따라 제1 동작 모드 또는 제2 동작 모드에서 동작하는 레지스터;
    외부의 하드웨어에서 처리된 제1 데이터와 프로세서 코어에서 처리된 제2 데이터를 입력받고, 상기 모드 신호에 따라 상기 제1 데이터와 상기 제2 데이터 중 어느 하나를 선택하여 제3 데이터를 출력하는 제1 다중화 회로;
    상기 외부의 하드웨어로부터 제공되는 제1 제어 신호와 상기 프로세서 코어로부터 제공되는 제2 제어 신호를 입력받고, 상기 모드 신호에 따라 상기 제1 제어 신호와 상기 제2 제어 신호 중 어느 하나를 선택하여 제3 제어 신호를 출력하는 제2 다중화 회로; 및
    상기 제1 다중화 회로로부터 상기 제3 데이터를 제1 입력으로서 제공받고, 상기 제2 다중화 회로로부터 상기 제3 제어 신호를 선택 신호로서 제공받고, 상기 선택 신호에 의해 선택된 제4 데이터를 상기 레지스터에 제공하는 제3 다중화 회로를 포함하는 반도체 장치.
  10. 제9항에 있어서,
    상기 레지스터는 상기 제1 동작 모드에서 외부의 하드웨어에 의해 제어되고, 상기 제2 동작 모드에서 상기 프로세서 코어에 의해 제어되는 반도체 장치.
  11. 제9항에 있어서,
    상기 제1 동작 모드에서 상기 제1 데이터는 상기 외부의 하드웨어에서 생성된 후 직접(directly) 상기 레지스터에 저장되는 반도체 장치.
  12. 제9항에 있어서,
    상기 외부의 하드웨어는 상기 제1 데이터를 상기 레지스터에 제공하기 전에 상기 프로세서 코어에 대해 인터럽트 신호를 발생시키는 반도체 장치.
  13. 제12항에 있어서,
    상기 제2 동작 모드에서 상기 프로세서 코어가 상기 인터럽트 신호를 인지하면, 상기 프로세서 코어는 컨텍스트 스위칭(context switching)을 수행하고 상기 제2 동작 모드에서 상기 제1 동작 모드로 전환되는 반도체 장치.
  14. 제9항에 있어서,
    상기 제1 동작 모드에서 상기 프로세서 코어는 상기 외부의 하드웨어로부터 제공되는 상기 제1 데이터에 대해 산술 연산을 수행하는 반도체 장치.
  15. 제14항에 있어서,
    상기 제1 데이터는 데이터 스트림을 포함하고,
    상기 레지스터는 상기 제1 데이터의 시작을 지시하는 제1 값을 저장하는 시작 레지스터와, 상기 제1 데이터의 종료를 지시하는 제2 값을 저장하는 종료 레지스터를 포함하는 반도체 장치.
  16. 제15항에 있어서,
    상기 프로세서 코어는 상기 시작 레지스터를 이용하여 상기 데이터 스트림의 시작을 인지하고, 상기 종료 레지스터를 이용하여 상기 데이터 스트림의 종료를 인지하는 반도체 장치.
  17. 레지스터를 직접 제어하는 제2 동작 모드에서 외부의 하드웨어가 발생시킨 인터럽트 신호를 검출하고,
    상기 제2 동작 모드에서, 외부의 하드웨어로 상기 레지스터의 제어권을 부여하는 제1 동작 모드로 전환하기 위해 제1 컨텍스트 스위칭(context switching)을 수행하고,
    상기 레지스터를 관찰하여, 상기 외부의 하드웨어로부터 생성된 데이터 스트림의 제공이 시작했는지 여부를 판단하고,
    상기 레지스터에 저장된 상기 데이터 스트림에 대해 산술 연산을 수행하고,
    상기 레지스터를 관찰하여, 상기 데이터 스트림의 제공이 종료되었는지 여부를 판단하고,
    상기 제1 동작 모드에서, 상기 레지스터를 직접 제어하기 위한 상기 제2 동작 모드로 전환하기 위해 제2 컨텍스트 스위칭을 수행하는 것을 포함하는 반도체 장치의 동작 방법.
  18. 제17항에 있어서,
    상기 제1 동작 모드에서 상기 데이터 스트림은 상기 외부의 하드웨어에서 생성된 후 직접(directly) 상기 레지스터에 저장되는 반도체 장치의 동작 방법.
  19. 제17항에 있어서,
    상기 레지스터는 상기 데이터 스트림 제공의 시작을 지시하는 제1 값을 저장하는 시작 레지스터와, 상기 데이터 스트림 제공의 종료를 지시하는 제2 값을 저장하는 종료 레지스터를 포함하는 반도체 장치의 동작 방법.
  20. 제19항에 있어서,
    상기 시작 레지스터를 이용하여 상기 데이터 스트림의 시작을 인지하고, 상기 종료 레지스터를 이용하여 상기 데이터 스트림의 종료를 인지하는 것을 더 포함하는 반도체 장치의 동작 방법.
KR1020170001215A 2017-01-04 2017-01-04 반도체 장치 및 반도체 장치의 동작 방법 KR20180080463A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170001215A KR20180080463A (ko) 2017-01-04 2017-01-04 반도체 장치 및 반도체 장치의 동작 방법
US15/718,486 US10628159B2 (en) 2017-01-04 2017-09-28 Processor with selection circuit and selectively controllable register and method of operating same
TW106134772A TWI766891B (zh) 2017-01-04 2017-10-11 半導體裝置的處理器與其操作方法
CN201810005959.2A CN108268280B (zh) 2017-01-04 2018-01-03 半导体装置的处理器及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170001215A KR20180080463A (ko) 2017-01-04 2017-01-04 반도체 장치 및 반도체 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20180080463A true KR20180080463A (ko) 2018-07-12

Family

ID=62712337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170001215A KR20180080463A (ko) 2017-01-04 2017-01-04 반도체 장치 및 반도체 장치의 동작 방법

Country Status (4)

Country Link
US (1) US10628159B2 (ko)
KR (1) KR20180080463A (ko)
CN (1) CN108268280B (ko)
TW (1) TWI766891B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI703500B (zh) * 2019-02-01 2020-09-01 睿寬智能科技有限公司 可縮短內文交換時間之方法及其半導體裝置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
US20050278512A1 (en) * 1988-12-22 2005-12-15 Ehlig Peter N Context switching devices, systems and methods
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
JP3906712B2 (ja) 2002-02-27 2007-04-18 株式会社日立製作所 データストリーム処理装置
JP4211751B2 (ja) * 2005-03-25 2009-01-21 セイコーエプソン株式会社 集積回路装置
JP2007109038A (ja) 2005-10-14 2007-04-26 Seiko Epson Corp データ処理装置
KR20070080493A (ko) 2006-02-07 2007-08-10 삼성전자주식회사 하드웨어 폴링 처리기를 포함한 데이터 처리 시스템
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
US7865675B2 (en) 2007-12-06 2011-01-04 Arm Limited Controlling cleaning of data values within a hardware accelerator
US20090300629A1 (en) * 2008-06-02 2009-12-03 Mois Navon Scheduling of Multiple Tasks in a System Including Multiple Computing Elements
US8898448B2 (en) 2008-06-19 2014-11-25 Qualcomm Incorporated Hardware acceleration for WWAN technologies
US9038073B2 (en) * 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
JP5285643B2 (ja) * 2010-03-15 2013-09-11 シャープ株式会社 半導体集積回路および電子情報機器
EP2437161A1 (en) * 2010-10-01 2012-04-04 Intel Mobile Communications Technology Dresden GmbH Hardware accelerator module and method for setting up same
KR101640295B1 (ko) * 2011-01-25 2016-07-15 마이크론 테크놀로지, 인크. 정규 표현을 컴파일하기 위한 방법 및 장치
US8683175B2 (en) 2011-03-15 2014-03-25 International Business Machines Corporation Seamless interface for multi-threaded core accelerators
US9881161B2 (en) * 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US9215472B2 (en) 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
JP6414388B2 (ja) 2014-04-18 2018-10-31 株式会社リコー アクセラレータ回路及び画像処理装置
KR101658397B1 (ko) 2015-02-27 2016-09-22 고려대학교 산학협력단 Present를 이용한 경량암호 장치
JP6477045B2 (ja) 2015-03-06 2019-03-06 富士ゼロックス株式会社 情報処理装置
US9952865B2 (en) * 2015-04-04 2018-04-24 Texas Instruments Incorporated Low energy accelerator processor architecture with short parallel instruction word and non-orthogonal register data file

Also Published As

Publication number Publication date
US20180189059A1 (en) 2018-07-05
CN108268280A (zh) 2018-07-10
US10628159B2 (en) 2020-04-21
TW201826114A (zh) 2018-07-16
CN108268280B (zh) 2023-07-21
TWI766891B (zh) 2022-06-11

Similar Documents

Publication Publication Date Title
KR900003591B1 (ko) 데이터 처리장치
US9043806B2 (en) Information processing device and task switching method
CN109388370B (zh) 一种实现先入先出队列的方法及装置
JPH0474229A (ja) 情報処理装置
US20100131685A1 (en) Hardware configuration information system, method, and computer program product
JP5518103B2 (ja) 伝送制御装置及び前記伝送制御装置を備えたplc
JPS6049332B2 (ja) マイクロプログラム制御方式
CN104050111A (zh) 通过具有不同时序要求的相应命令访问不同类型的存储器
US11288374B2 (en) Information processing device, method for controlling information processing device, and program
CN111930510B (zh) 电子设备和数据处理方法
KR20180080463A (ko) 반도체 장치 및 반도체 장치의 동작 방법
US8578148B2 (en) Method and system to transmit code to a system on a chip (SOC)
US10997087B2 (en) Direct memory access
JP2006331391A (ja) データ処理装置及びデータ処理方法
JP4723334B2 (ja) Dma転送システム
US8799529B2 (en) Direct memory access controller and operating method thereof
US11249904B2 (en) Information processing system and information processing method to be executed by information processing system
JP2009199384A (ja) データ処理装置
JP2000029508A (ja) プログラマブルコントローラ
SU1702378A1 (ru) Устройство дл обмена информацией
JP2010272021A (ja) 情報処理装置、バスアドレス生成装置、動作合成装置、設計支援システム、動作記述、プログラム、及び方法
JPH01147758A (ja) チャネル装置
JPH10269170A (ja) バス接続装置
JPH03147164A (ja) 情報処理装置
JPH0443431A (ja) 制御記憶へのマイクロプログラム格納方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal