KR101029392B1 - 제어 장치, 전자 장비용 집적 회로 및 전자 장비 - Google Patents

제어 장치, 전자 장비용 집적 회로 및 전자 장비 Download PDF

Info

Publication number
KR101029392B1
KR101029392B1 KR1020087013591A KR20087013591A KR101029392B1 KR 101029392 B1 KR101029392 B1 KR 101029392B1 KR 1020087013591 A KR1020087013591 A KR 1020087013591A KR 20087013591 A KR20087013591 A KR 20087013591A KR 101029392 B1 KR101029392 B1 KR 101029392B1
Authority
KR
South Korea
Prior art keywords
flag
core
cores
memory
address
Prior art date
Application number
KR1020087013591A
Other languages
English (en)
Other versions
KR20080077150A (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 KR20080077150A publication Critical patent/KR20080077150A/ko
Application granted granted Critical
Publication of KR101029392B1 publication Critical patent/KR101029392B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Abstract

제어 장치(D)는 적어도 두 개의 코어(C1,C2) 간에 전송되는 데이터를 저장하도록 구성된 메모리(M)에 버스(BC1,BC2)를 통해 결합된 적어도 두 개의 코어(C1,C2)를 포함하는 집적 회로의 일부이다. 이 제어 장치(D)는 버스(BC1,BC2)를 통해 코어(C1,C2)에 결합되며 Ni 개의 어드레스에서 코어 중 하나에 의해 메모리(M)에 저장되고 다른 코어로 전송될 데이터와 연관된 Ni 개의 플래그를 저장하는 적어도 하나의 플래그 레지스터를 포함하며, 제 1 어드레스에 저장된 각 플래그 값은 제 1 어드레스를 지정하는 커맨드를 통해 코어(C1,C2) 중 하나에 의해 설정 또는 재설정될 수 있고, 따라서 제 2 어드레스에 저장된 또 다른 플래그 값이 제 2 어드레스를 지정하는 커맨드를 통해 다른 코어(C1,C2)에 의해 동시에 설정 또는 재설정되는 것이 허용된다.

Description

제어 장치, 전자 장비용 집적 회로 및 전자 장비{CONTROL DEVICE WITH FLAG REGISTERS FOR SYNCHRONIZATION OF COMMUNICATIONS BETWEEN CORES}
본 발명은 집적 회로에 관한 것으로, 특히 이러한 집적 회로의 코어(또는 프로세서) 간의 통신의 동기화에 관한 것이다.
대부분의 복합 집적 회로 내에는, 몇몇 코어(또는 프로세서)에 걸쳐 펌웨어가 배포된다. 이것은 특히 이동 전화기와 같은 통신 장비 내에 사용되는 기저대역 장치의 집적 회로에서의 경우이다.
종종, CPU(중앙 처리 장치)로 지칭되는 메인 코어 또는 프로세서는 시스템 제어에 전용되고, DSP(디지털 신호 프로세서)로 지칭되는 하나 이상의 특화된 코어 또는 프로세서는 오디오 프로세싱, 비디오 디코딩 또는 통신 채널 코딩과 같은 특정 디지털 데이터 프로세싱에 전용된다.
도 1에서는 두 코어(C1,C2) 간에 실시간 이중 통신(즉, 데이터 전송)을 허용하는 것으로 도시되어 있는 바와 같이, DPRAM 메모리(Dual-Port Random Access Memory)(M)를 이들 코어 각각의 데이터 및 어드레스 버스에 연결하는 것이 제안되 었다. 이러한 유형의 메모리는 일반적으로 16 또는 32비트 폭을 가지며 두 개의 코어(또는 프로세서)에 의해 동시에 액세스될 수 있는 휘발성 메모리이다. (도 1에 도시되어 있는) 이러한 구성에 있어서, 두 개의 코어(C1,C2)는 DPRAM 메모리(M)를 전형적인 메모리로서 간주하고 그 메모리의 임의의 어드레스에서 워드를 판독 또는 기록할 수 있다. 제한 사항은, 코어 중 하나가 DPRAM 메모리 저장 영역 내에 데이터를 기록하는 경우 다른 코어는 이 DPRAM 메모리 저장 영역을 액세스할 수 없다는 것이다.
당업자라면 알 수 있는 바와 같이, 전형적인 DPRAM 메모리(M)를 통해 두 개의 코어(C1,C2)를 동기화하는 일반적인 방법은 플래그를 사용하는 것이다. 플래그는 DPRAM 메모리(M) 내의 어드레스에 저장된 이진 값이다. 플래그는 제 2 코어(C2 또는 C1)가 연산 또는 작업(예를 들어 음성 데이터의 인코딩)을 완료하였고 그 연산 또는 작업으로부터 얻어진 데이터는 이 제 2 코어에 의해 DPRAM 메모리(M)의 일부 DS에 저장되었으며 제 1 코어로 전송될 수 있음을 제 1 코어(C1 또는 C2)에 알리는 것을 목적으로 한다. 각 플래그는 코어들 사이에서 일방향으로만 사용된다. 즉, 예를 들어, 코어(C1)는 값을 대기하는 플래그를 (0에서 1로) 변경하고, 코어(C2)는 이 플래그에 대응하는 연산을 완료한 경우 이 플래그의 값을 (0에서 1로) 변경한다.
위에서 언급한 DPRAM 액세스 제한으로 인해, 상이한 플래그는 도 2에 도시되어 있는 바와 같이 선택된 어드레스에서 동일한 DPRAM 워드에 저장될 수 없다. 사실, 값이 모두 제로(0)로 설정된 두 개의 플래그(X,Y)가 선택된 어드레스에서 동일 한 DPRAM 워드에 저장되는 것으로 가정하면, 코어(C1)가 플래그(X)를 일(1)로 설정하고 코어(C2)가 플래그(X)의 값을 검사하는 경우, 코어(C2)는 플래그(X)를 (1에서 0으로) 재설정해야 하고 코어(C2)가 플래그(X)를 재설정하는 동안 코어(C1)가 플래그(Y)를 설정한다면 코어(C2)는 플래그(Y)를 분실할 수 있다. 또한, 워드 내의 모든 플래그의 값은 코어(C1,C2)가 동시에 기록하는 경우 불확실하게 될 수 있다. 따라서, 워드마다 또한 어드레스마다 하나의 플래그만을 저장할 필요가 있는데, 이는 특히 DPRAM 메모리가 32 비트 폭을 갖는 경우 메모리 크기 측면에서 비용이 많이 든다(예를 들어, 일 비트의 128개의 플래그에 대해, 496 비트(128×31)를 분실한다).
따라서, 본 발명의 목적은 상술한 상황을 개선하는 것이고, 보다 구체적으로는 대량의 메모리 크기를 낭비하는 일 없이 예를 들어 DPRAM 유형의 메모리를 통해 두 개의 코어 간의 통신을 동기화하는 용이한 방법을 제공하는 것이다.
이를 위해, 본 발명은 적어도 두 개의 코어 간에 전송되는 데이터를 저장하도록 구성된 메모리에 버스를 통해 결합된 적어도 두 개의 코어를 포함하는 집적 회로용 제어 장치를 제공한다. 이 제어 장치는 적어도 하나의 플래그 레지스터를 포함하는 것을 특징으로 하며, 상기 적어도 하나의 플래그 레지스터는 버스를 통해 코어에 결합되며 코어 중 하나에 의해 메모리에 저장되고 다른 코어로 전송될 데이터와 연관된 Ni 개의 플래그 값을 (Ni 개의 어드레스에서) 저장한다. 제 1 어드레스에 저장된 각 플래그 값은 이 제 1 어드레스를 지정하는 커맨드(또는 인스트럭션)를 통해 코어들 중 하나에 의해 설정 또는 재설정될 수 있고, 따라서 제 2 어드레스에 저장된 또 다른 플래그 값이 이 제 2 어드레스를 지정하는 커맨드(또는 인스트럭션)를 통해 다른 코어에 의해 동시에 설정 또는 재설정되도록 허용한다.
본 발명에 따른 제어 장치는 별개로 또는 결합되어 고려되는 부가적인 특징을 포함할 수 있는데, 특히 다음과 같은 특징을 포함한다.
- 제어 장치는 i) 버스에 결합되며, 코어들 중 제 1 코어에 의해 메모리에 저장되고 코어들 중 제 2 코어 쪽으로 전송될 데이터와 연관된 N1 개의 플래그 값을 N1 개의 어드레스에 저장하도록 구성된 적어도 하나의 제 1 플래그 레지스터를 포함할 수 있고, 상기 제 1 레지스터의 제 1 어드레스에 저장된 각 플래그 값은 이 제 1 어드레스를 지정하는 커맨드를 통해 제 1 코어에 의해 설정될 수 있고 제 2 코어에 의해 재설정될 수 있으며, 제어 장치는 ii) 버스에 결합되며, 제 2 코어에 의해 메모리에 저장되고 제 1 코어 쪽으로 전송될 데이터와 연관된 N2 개의 플래그 값을 N2 개의 어드레스에 저장하도록 구성된 적어도 하나의 제 2 플래그 레지스터를 포함할 수 있고, 상기 제 2 레지스터의 제 1 어드레스에 저장된 각 플래그 값은 이 제 1 어드레스를 지정하는 커맨드를 통해 제 2 코어에 의해 설정될 수 있고 제 1 코어에 의해 재설정될 수 있으며,
각 플래그 레지스터는 i) 제 1 코어에 연결된 버스에 연결된 제 1 입력단과, Ni 개의 제 1 출력단 및 제 1 플래그 값 판독 및 기록 수단을 포함하는 제 1 제어 수단과, ii) 제 2 코어에 연결된 버스에 연결된 제 2 입력단과, Ni 개의 제 2 출력단 및 제 2 플래그 값 판독 및 기록 수단을 포함하는 제 2 제어 수단과, iii) 제각각 Ni 개의 플래그 값을 저장하고 제 1 출력단 중 하나와 제 2 출력단 중 하나에 제각각 연결된 각각의 Ni 개의 어드레스를 갖는 Ni 개의 저장 영역을 포함하는 저장 수단을 포함할 수 있고,
제 1 및 제 2 제어 수단 각각은 몇몇 저장 영역의 각각의 어드레스를 지정하는 단일 커맨드를 수신할 때마다 저장 수단의 몇몇 저장 영역에 저장된 몇몇 플래그 값을 설정 및/또는 재설정할 수 있고,
제어 장치는 예를 들어 DPRAM 메모리 또는 RAM 메모리일 수 있는 메모리를 포함할 수 있다.
본 발명은 또한 상술한 바와 같은 제어 장치를 포함하는 전자 장비용 집적 회로를 제공한다.
본 발명은 또한 상술한 바와 같은 집적 회로를 포함하는 전자 장비를 제공한다. 이 전자 장비는 예를 들어 컴퓨터(개인용 컴퓨터 또는 랩탑 컴퓨터), 전화기(이동 전화기, 무선 전화기 또는 유선 전화기), 개인 보조 단말기(또는 PDA) 또는 음악 재생기(예를 들어, MP3 재생기)일 수 있다.
본 발명의 다른 특징 및 장점은 이하의 상세한 설명 및 첨부한 도면을 통해 분해질 것이다.
도 1은 두 개의 코어가 공통 DPRAM 메모리에 결합된 종래의 집적 회로의 일부분을 개략적으로 도시한 도면,
도 2는 플래그가 내부에 저장된 DPRAM 메모리 및 그 방식을 개략적으로 나타내는 도면,
도 3은 두 개의 코어가 메모리 및 본 발명에 따른 제어 장치의 제 1 예에 결합된 집적 회로의 일부분을 개략적으로 나타내는 도면,
도 4는 두 개의 코어가 메모리 및 본 발명에 따른 제어 장치의 제 2 예에 결합된 집적 회로의 일부분을 개략적으로 나타내는 도면,
도 5는 도 3에 예시된 제어 장치의 플래그 레지스터의 실시예의 일 예를 기능적으로 나타내는 도면,
도 6은 단일 비트 플래그 값의 처리에 전용인 플래그 레지스터의 실시예의 일 예를 개략적으로 나타내는 도면.
첨부한 도면은 본 발명을 완성하는 역할을 할 뿐만 아니라 필요에 따라 본 발명을 정의하는 역할을 할 수도 있다.
먼저 도 3을 참조하여 본 발명에 따른 제어 장치(D)의 실시예에 대한 비-제한적인(제 1) 예를 기술한다. 이 제어 장치(D)는 전자 장치(EE) 내에 설치될 수 있는 집적 회로(IC)의 일부분을 형성한다.
후속하는 상세한 설명에 있어서, 전자 장비(EE)는 이동 전화기인 것으로 간주할 것이다. 그러나, 본 발명에 따른 집적 회로(IC)는 펌웨어가 몇몇 코어(또는 프로세서)에 걸쳐 배포될 필요가 있는 임의의 전자 장비에 설치될 수 있다. 따라 서, 전자 장비는 예를 들어 컴퓨터(개인용 컴퓨터 또는 랩탑 컴퓨터), 전화기(이동 전화기, 무선 전화기 또는 유선 전화기), 개인 보조 단말기(또는 PDA) 또는 음악 재생기(예를 들어, MP3 재생기)일 수 있다.
앞서 설명한 바와 같이, 본 발명에 따른 제어 장치(D)는 집적 회로(IC)의 두 개의 코어(C1,C2) 간의 이중 통신을 공통 메모리(M)를 통해 동기화시키는 것을 목적으로 한다.
후속하는 상세한 설명에 있어서, 공통 메모리(M)는 제 1 C1 및 제 2 C2 코어에 각각 연결된 제 1 BC1 및 제 2 BC2(어드레스 및 데이터)에 연결된 DPRAM 메모리(이중 포트 랜덤 액세스 메모리)인 것으로 간주할 것이다. 그러나, 본 발명은 이러한 유형의 메모리에 국한되는 것은 아니다. 본 발명은 공통 다중층 버스를 통해 두 개의 코어에 의해 액세스될 수 있는 임의의 메모리에 적용된다. 따라서, 공통 메모리(M)는 또한 랜덤 액세스 메모리(또는 RAM)일 수 있다.
또한, 후속하는 상세한 설명에 있어서, 제 1 코어 C1은 CPU(중앙 처리 장치)로 지칭되고 이동 전화기(EE)의 제어에 특정된 메인 프로세서이고, 제 2 코어 C2는 DSP(디지털 신호 처리기)로 지칭되고 오디오 신호 처리 또는 비디오 디코딩 또는 통신 채널 코딩과 같은 특정 디지털 신호 처리에 특정된 특화된 프로세서인 것으로 간주할 것이다. 따라서, 이하에서는 제 1 C1 및 제 2 C2 코어는 때때로 각각 CPU 및 DSP로 지칭될 것이다.
그러나, 본 발명은 이들 유형의 코어에 국한되지 않는다. 사실, 본 발명은 공통 메모리를 통해 또 다른 코어(사실상 동일 유형)로부터 데이터를 수신하고 그 다른 코어로 데이터를 전송할 필요가 있는 임의의 유형의 코어에 적용된다.
앞서 설명한 바와 같이, 펌웨어는 적어도 부분적으로 CPU C1 및 DSP C2에 분배된다. 이들 각각은 일단 완료되면 적어도 일부가 다른 코어로 전송되어야 하는 데이터를 생성하는 연산 또는 작업을 수행해야 한다. 데이터가 전송되어야 하는 각각의 연산 또는 작업은 플래그(이진 값)와 연관된다. 또한, 하나의 코어(Ci)(i=1 또는 2)로부터 다른 코어(Ci')(i'=2 또는 1)로 전송될 각 데이터 그룹은 전송 코어(Ci)가 연결된 버스(CBi)에 의해 메모리(M)에 전송되어, 양 코어(Ci 및 Ci')로부터 알려진 선택된 위치에서 일시적으로 저장되고 선택된 플래그와 연관된다.
본 발명에 따르면, (공통) 메모리(M)는 하나의 코어(Ci)로부터 다른 하나의 코어(Ci')로 전송되어야 하는 데이터만을 저장한다.
제어 장치(D)는 각각의 버스(BC1, BC2)를 통해 CPU C1 및 DSP C2에 결합된 적어도 하나의 플래그 레지스터(FRi)를 포함한다. 각 플래그 레지스터(FRi)는 선택된 어드레스에 상기 플래그의 각각의 값을 저장하도록 구성된다. 이를 위해, 각 플레그 레지스터(FRi)는 CPU C1 및 DSP C2로부터 알려진 Ni 개의 어드레스에 대응하는 Ni 개의 저장 영역을 포함한다.
제 1 코어(Ci)(예를 들어 CPU C1)가 플래그 레지스터(FRi) 내의 선택된 어드레스를 갖는 플래그와 연관된 작업 또는 연산을 완료한 경우, 그것은 전송할 대응 데이터 그룹을 메모리에 전송하여 이들이 선택된 어드레스에 저장될 수 있도록 하며, 전송된 데이터 그룹과 연관된 플래그를 1로 설정하도록 요구하는 메시지를 플 래그 레지스터(FRi)에 전송한다.
메시지는 적어도 하나의 옥텍트(또는 워드)를 포함하는데, 이들 각각의 옥텍트 내에서, 각 비트는 값이 대응하는 플래그 레지스터(FRi)에 저장되는 플래그를 지정한다. 보다 구체적으로, 워드 비트 값이 0인 경우, 이것은 대응하는 플래그 값이 변경되지 않아야 한다는 것을 의미하고, 워드 비트 값이 1인 경우, 이것은 대응하는 플래그 값이 (0에서 1)로 변경되어야 함을 의미한다. 예를 들어, 8비트의 워드가 (00000001)인 경우, 제 1 워드 비트(1과 같음)와 연관된 제 1 플래그 값은 1로 설정되어야 하고, 다른 몇몇 워드 비트(0과 같음)와 연관된 다른 몇몇 플래그 값은 변경되지 않은 상태로 유지되어야 한다. 이제, 8비트의 워드가 (00010001)인 경우, 제 1 및 제 5 워드 비트(1과 같음)와 연관된 제 1 및 제 5 플래그 값은 1로 설정되어야 하고, 여섯 개의 다른 워드 비트(0과 같음)와 연관된 여섯 개의 다른 플래그 값은 변경되지 않은 상태로 유지되어야 한다.
따라서, 메시지에 포함된 워드에 대응하는 플래그 레지스터(FRi)가 이 메시지를 수신하는 경우, 그것은 1과 동일한 워드 비트에 연관된 각각의 플래그 값만을 변경한다. 다시 말해, 그것은 1과 동일한 워드 비트에 연관된 각각의 플래그 값을 (1로) 설정한다. 연산 또는 작업이 완료되지 않는 한, 대응하는 플래그 값은 0으로 유지된다.
플래그 레지스터(FRi)에 저장된 플래그 값을 폴링(polling)하는 제 2 코어(Ci')(예를 들어, DSP C2)는 플래그 값의 변화를 인식하는 경우 대응하는 데이터가 연관된 어드레스의 메모리(M)에 저장되어 있음을 알게 된다. 따라서, 그것은 메모리(M)에 액세스할 수 있고 데이터 전송을 진행할 수 있다. 데이터 전송이 완료된 경우, 제 2 코어(Ci')는 전송된 데이터 그룹에 연관된 플래그를 설정하도록 요구하는 메시지를 플래그 레지스터(FRi)에 전송한다. 이 메시지는 적어도 하나의 옥텍트(또는 워드)를 포함하는데, 이 옥텍트에서, 각각의 비트는 값이 대응하는 플래그 레지스터(FRi)에 저장되는 플래그를 지정한다.
따라서, 메시지에 포함된 워드에 대응하는 플래그 레지스터(FRi)가 이 메시지를 수신하는 경우, 그것은 1과 동일한 워드 비트와 연관된 각각의 플래그 값만을 변경한다. 다시 말해, 1과 동일한 워드 비트에 연관된 각각의 플래그 값을 (0으로) 재설정한다.
플래그 레지스터(FRi)에 저장된 플래그 값을 폴링(polling)하는 제 1 코어(Ci)는 플래그 값의 변화를 인식하는 경우, 앞서 메모리(M)에 전송한 대응하는 데이터가 제 2 코어(Ci')에 효과적으로 전송되었음을 알게 된다.
각 플래그 레지스터(FRi)가 두 개의 코어(C1,C2)에 의해 동시에 액세스가능한 경우, (플래그 레지스터(FRi) 내의 제 1 어드레스에 저장된) 각 플래그 값은 이 제 1 어드레스를 지정하는 적어도 하나의 워드를 포함하는 메시지(또는 커맨드)를 통해 코어들 중 하나(예를 들어 C1)에 의해 설정 또는 재설정될 수 있고, 그와 동시에 (이 플래그 레지스터(FRi) 내의 제 2 어드레스에 저장된) 적어도 하나의 다른 플래그 값은 이 제 2 어드레스를 지정하는 적어도 하나의 워드를 포함하는 메시지(또는 커맨드)를 통해 다른 코어(예를 들어 C2)에 의해 동시에 설정 또는 재설정될 수 있다.
도 3에 도시되어 있는 비제한적 예에 있어서, 제어 장치(D)는 제 1 BC1 및 제 2 BC2 버스에 모두 결합된 제 1 FR1 및 제 2 FR2 단방향 플래그 레지스터를 포함한다. 단방향 플래그 레지스터(FRi)는 제 1 코어(Ci)는 (수행해야 하는 연산 또는 작업과 관련된) 플래그 값만을 설정할 수 있고 제 2 코어 Ci는 (대기하는 데이터 그룹과 관련된) 플래그 값만을 재설정할 수 있는 레지스터이다.
도시되어 있는 예에 있어서, 제 1 플래그 레지스터(FR1)는 CPU C1에 의해 수행되는 연산 또는 작업에 전용되고, 제 2 플래그 레지스터(FR2)는 DSP C2에 의해 수행되는 연산 또는 작업에 전용된다. 따라서, CPU C1은 제 1 레지스터 FR1에서 플래그 값을 1로 설정할 수 있고, 제 2 레지스터 FR2에서 플래그 값을 0으로 재설정할 수 있으며, DSP C2는 제 2 레지스터 FR2에서 플래그 값을 1로 설정할 수 있고 제 1 레지스터 FR1에서 플래그 값을 0으로 설정할 수 있다.
제 1 플래그 레지스터(FR1)는 메모리(M)로부터 제 2 코어(C2)로의 데이터 전송과 관련된 N1 개의 플래그의 각각의 값을 저장하는 N1 개의 저장 영역을 포함한다. 제 2 플래그 레지스터(FR2)는 메모리(M)로부터 제 1 코어(C1)로의 데이터 전송과 관련된 N2 개의 플래그의 각각의 값을 저장하는 N2 개의 저장 영역을 포함한다. 예를 들어, N1=N2=8이다.
도 3에 도시되어 있는 비-제한적 예에 있어서, 제어 장치(D)는 제 1 FR1 및 제 2 FR2 단반향 플래그 레지스터를 포함하지만, 변형예에 있어서, 제어 장치(D)는 몇 개의 제 1 단방향 플래그 레지스터 FR1 및/또는 몇 개의 제 2 단방향 플래그 레지스터(FR2), 또는 적어도 하나의 양방향 플래그 레지스터를 포함할 수 있다. 마 지막의 경우(양방향 플래그 레지스터(들)), 모든 코어(Ci)는 플래그 레지스터(FRi)의 Ni개의 저장 영역에 저장된 임의의 플래그 값을 설정 또는 재설정할 수 있다. 이것은 동일한 이진 값 0 또는 1이 제 1 C1 및 제 2 C2 코어에 대해 두 개의 반대 의미를 가질 것을 요구한다(즉, 0은 제 1 코어 C1에 의해서는 0으로서 제 2 코어 C2에 의해서 1로서 간주된다).
(단방향 또는 양방향) 플래그 레지스터(FRi)의 개수는 저장되어야 하는 (각 코어 Ci와 연관된) 플래그 값의 수에 의존함을 아는 것이 중요하다. 예를 들어, 저장할 플래그 값의 수가 8 미만인 경우, 하나의 플래그 레지스터만으로도 충분하다. 이제, 저장할 플래그 값의 수가 8보다 많은 경우, 둘 이상의 플래그 레지스터가 제공되어야 한다. 일반적으로, 플래그의 수는 버스(BCi)가 전송할 수 있는 비트의 수에 의존한다.
또한, 도 3에 도시되어 있는 비-제한적 예에 있어서, 제어 장치(D)는 메모리(M)로부터 독립적이다. 그러나, 변형예에 있어서, 메모리(M)는 도 4에 도시되어 있는 바와 같이 제어 장치(D)의 일부일 수 있다. 이 경우, 플래그 레지스터(들)(FRi)는 레지스터 R의 하나 이상의 부분을 형성할 수 있다.
이제 도 5 및 도 6을 참조하여 제어 장치(D)의 일 실시예를 보다 자세히 설명할 것이다.
도 5는 각 플래그 레지스터(FRi)가 제 1 제어 모듈(CM1), 제 2 제어 모듈(CM2) 및 저장 모듈(SM)를 포함하는 실시예의 기능 예를 나타낸다. 도 5에서, 제 1 플래그 레지스터(FR1)의 기능 구조가 도시되어 있다. 그러나, 제 2 플래그 레지스터(FR2)의 기능 구조는 제 1 플래그 레지스터(FR1)의 기능 구조와 동일하다.
저장 모듈(SM)은 Ni 개의 플래그의 현재 값(0 또는 1)을 각각 저장하는, Ni 개의 각각의 어드레스를 갖는, Ni 개의 일 비트 저장 영역(1 내지 Ni)을 포함한다.
제 1 제어 모듈(CM1)은,
판독 및 기록을 위해 저장 모듈(SM)의 Ni 개의 상이한 저장 영역(1 내지 Ni)을 액세스하고, CPU C1에 대한 인터페이스로 동작하며 제어 로직을 수행하는 구성요소를 포함하는 제 1 판독 및 저장 모듈(RWM1)과,
(CPU C1에 연결된) 제 1 버스(BC1)와 제 1 판독 및 기록 모듈(RWM1)에 연결된 제 1 입력단과,
제 1 판독 및 기록 모듈(RWM1)에 연결되고 저장 모듈(SM)의 Ni 개의 상이한 저장 영역(1 내지 Ni)에 연결된 Ni개의 제 1 출력단을 포함한다.
제 1 CM1 및 제 2 CM2 제어 모듈은 동일한 기능 구조를 가진다. 따라서, 제 2 제어 모듈(CM2)은,
판독 및 기록을 위해 저장 모듈(SM)의 Ni개의 상이한 저장 영역(1 내지 Ni)을 액세스하고, DSP C2에 대한 인터페이스로 동작하며 제어 로직을 수행하는 구성요소를 포함하는 제 2 판독 및 저장 모듈(RWM2)과,
(DSP C2에 연결된) 제 1 버스(BC1)와 제 2 판독 및 기록 모듈(RWM2)에 연결된 제 2 입력단과,
제 2 판독 및 기록 모듈(RWM2)에 연결되고 저장 모듈(SM)의 Ni개의 상이한 저장 영역(1 내지 Ni)에 연결된 Ni개의 제 2 출력단을 포함한다.
이러한 대칭적 구조로 인해, 보다 구체적으로는 제 1 CM1 및 제 2 CM2 제어 모듈로 인해, 각 플래그 레지스터(FRi)는 판독(폴링) 및/또는 기록을 위해 CPU C1 및 DSP C2에 의해 동시에 액세스될 수 있다.
바람직하게, 제 1 CM1 및 제 2 CM2 제어 모듈 각각은 결합된 코어(Ci)로부터 몇몇 저장 영역의 제각기의 어드레스를 지정하는 단일 커맨드(메시지)를 수신할 때마다, 저장 모듈(SM)의 몇몇 저장 영역에 저장된 몇몇 (적어도 둘 또한 바람직하게는 Ni개) 플래그 값을 설정 및/또는 재설정할 수 있다. 이것은 각 플래그 레지스터(FRi)가 몇몇 비트의 커맨드 워드를 수신한다는 사실로부터 기인한다.
이를 위해, 각 플래그 레지스터(FRi)의 제 1 CM1 및 제 2 CM2 제어 모듈과 저장 모듈(SM)은 Ni 개의 동일하고 병렬인 부분으로 분할될 수 있으며, 각 부분은 하나의 플래그 값(즉, 일 비트)의 처리(판독 및 기록)를 담당한다. 이들 Ni개의 플래그 레지스터 부분의 실시예에 대한 비제한적 예는 도 6에 도시되어 있다.
도시되어 있는 이 플래그 레지스터 부분은 제 1 제어 모듈(CM1)의 Ni 개의 부분(CM11 내지 CM1Ni) 중 하나를 구성하는 제 1 제어 서브-모듈(CM1j)(j=1-Ni)과, 제 2 제어 모듈(CM2)의 Ni 개의 부분(CM21 내지 CM2Ni) 중 하나를 구성하는 제 2 제어 서브-모듈(CM2j)(j=1-Ni)와, 저장 모듈(SM)의 Ni 개의 부분 중 하나를 구성하는 저장 서브-모듈(SMj)(j=1-Ni)를 포함한다.
예를 들어, 각각의 제 1 제어 서브-모듈(CM1j)은 제 1 판독 및 기록 서브-모듈(RWM1j)을 포함하는데, 이 제 1 판독 및 기록 서브-모듈(RWM1j)는,
제 1 버스(BC1)에 연결되고 플래그 레지스터에 기록될 j번째 플래그 값에 대응하는 제 1 입력("BitN write")과, 제 1 버스(BC1)에 또한 연결되고 기록 동작(0의 값은 수행할 동작이 없을 나타내고, 1의 값은 기록 동작이 j번째 플래그 값에 대해 수행되어야 함을 나타낸다)을 인에이블링하는 제 2 입력("write")과, 제 1 제어 모듈(CM1)의 Ni 개의 출력들 중 하나의 제 1 하위-부분을 구성하는 출력을 구비한 제 1 AND 게이트(AG11)과,
제 1 버스(BC1)에 연결되어 제 1 클록(코어 C1에 전용됨)으로부터 클록 싸이클을 수신하는 제 1 입력("clock")과, 제 1 AND 게이트(AG11)의 출력에 연결된 제 2 입력과, 제 1 제어 모듈(CM1)의 Ni 개의 출력들 중 하나의 제 2 하위-부분을 구성하는 출력을 구비한 제 2 AND 게이트(AG12)와,
제 1 클록으로부터 클록 싸이클을 수신하는 제 1 입력과, j번째 플래그 값을 수신하는 제 2 입력("D")과, 상기 j번째 플래그 값("BitN read")을 제 1 버스 BC1에 전달하는 출력("Q")을 구비한 플립-플롭(F1)(또는 "FF2")을 포함한다.
각각의 제 2 제어 서브-모듈(CM2j)은 제 2 판독 및 기록 서브-모듈(RWM2j)을 포함하고, 이 제 2 판독 및 기록 서브-모듈(RWM2j)은,
제 2 버스(BC2)에 연결되고 플래그 레지스터에 기록될 j번째 플래그 값에 대응하는 제 1 반전 입력("BitN write")과, 제 2 버스(BC2)에 또한 연결되고 기록 동작을 인에이블링하는 제 2 입력("write")과, 제 2 제어 모듈(CM2)의 Ni 개의 출력들 중 하나의 제 1 하위-부분을 구성하는 출력을 구비한 제 1 AND 게이트(AG21)와,
제 2 버스(BC2)에 연결되어 제 2 클록(코어 C2에 전용됨)으로부터 클록 싸이클을 수신하는 제 1 입력("clock")과, 제 1 AND 게이트(AG21)의 출력에 연결된 제 2 입력과, 제 2 제어 모듈 CM2의 Ni 개의 출력들 중 하나의 제 2 하위-부분을 구성하는 출력을 구비한 제 2 AND 게이트(AG22)와,
제 2 클록으로부터 클록 싸이클을 수신하는 제 1 입력과, j번째 플래그 값을 수신하는 제 2 입력("D")과, 상기 j번째 플래그 값("BitN read")을 제 2 버스(BC2)에 전달하는 출력("Q")을 구비한 플립-플롭(F2)(또는 "FF3")을 포함한다.
각각의 저장 서브-모듈(SMj)은,
제 1 판독 및 기록 서브-모듈(RWM1j)의 제 1 AND 게이트(AG11)의 출력에 연결된 제 1 입력과, 제 2 판독 및 기록 서브-모듈(RWM2j)의 제 1 AND 게이트(AG21)의 출력에 연결된 제 2 반전 입력, 및 출력을 구비한 제 1 OR 게이트(OG1)와,
제 1 판독 및 기록 서브-모듈(RWM1j)의 제 1 AND 게이트(AG11)의 출력에 연결된 제 1 입력과, 제 2 판독 및 기록 서브-모듈(RWM2j)의 제 1 AND 게이트(AG21)의 출력에 연결된 제 2 입력, 및 출력을 구비한 제 2 OR 게이트(OG2)와,
제 1 OR 게이트(OG1)의 출력에 연결된 제 1 입력("D")과, 제 2 OR 게이트 OR2의 출력에 연결된 제 2 입력("CK"-클록)과, 상기 j번째 플래그 값("BitN read")을 전달하는 출력("Q")을 구비한 플립-플롭(F3)(또는 "FF1")을 포함한다.
이 플립-플롭(F3)은 제 2 OR 게이트(OG2)에 의해 출력된 신호의 제어 하에 제 1 OR 게이트(OG1)에 의해 출력된 신호에 의해 정의된 플래그 값을 저장한다.
이러한 구성에 있어서, 후속하는 규칙의 (비제한적) 예를 (메모리로부터 제 2 코어(C2)로의 데이터 전송과 관련된 플래그 값을 포함하는) 제 1 플래그 레지스터(FR1)에 적용할 수 있다.
제 1 코어(C1)가 값 "core_C1_write_value"을 제 1 플래그 레지스터(FR1)의 저장 모듈(SM)의 j번째 저장 영역에 기록하는 경우, 제 1 플래그 레지스터(FR1)는 연산 "register_value = register _ value | core _ C1 _ write _ value"을 수행하는데, 여기서 |는 새로운 레지스터 값을 계산하기 위해 비트마다 적용되는 이진 연산자 "OR"이다. 따라서, 제 1 플래그 레지스터(FR1)는 "core_C1_write_value" 비트가 1로 설정되는 경우 j번째 부분의 플립-플롭(F1 또는 F2)에만 클록 싸이클을 제공하며, 그에 따라 다른 한편으로 또 다른 플립-플롭(F2 또는 F1)의 동시성 및 비동시성 클록킹은 불가능하게 된다. 이것은 0으로 기록되고 1의 워드 비트와 연관된 플래그 레지스터(FR1)의 플래그 값 모두가 (1로) 설정되고, 0 또는 1로 기록되고 0의 워드 비트와 연관된 플래그 레지스터(FR1)의 모든 플래그 값은 변경되지 않은 채로 유지됨을 의미한다.
제 2 코어(C2)가 값 "core_C2_write_value"을 제 1 플래그 레지스터 FR1의 저장 모듈(SM)의 j번째 저장 영역에 기록하는 경우, 제 1 플래그 레지스터(FR1)는 연산 "register_value=register_value&core_C2_write_value"을 수행하는데, 여기서 &는 새로운 레지스터 값을 계산하기 위해 비트마다 적용되는 이진 연산자 "AND"이다. 따라서, 제 1 플래그 레지스터(FR1)는 "core_C2_write_value" 비트가 1로 설정되는 경우 플립-플롭(F1 또는 F2)에만 클록 싸이클을 제공하며, 그에 따라 다른 한편으로 또 다른 플립-플롭 (F2 또는 F1)의 동시성 및 비동시성 클록킹은 불가능하게 된다. 이것은 1로 기록되고 0의 워드 비트와 연관된 플래그 레지스터(FR1)의 플래그 값 모두가 (0으로) 설정되고, 0 또는 1로 기록되고 1의 워드 비트와 연관된 플래그 레지스터(FR1)의 모든 플래그 값은 변경되지 않은 채로 유지됨을 의미한다. 이와 같은 워드 비트 값의 반전은 제 1 AND 게이트(AG21)의 제 1 입력("BitN write")이 반전된다는 사실로부터 기인한다.
메모리(M)로부터 제 1 코어(C1)로의 데이터 전송과 관련된 플래그 값을 포함하는 제 2 플래그 레지스터(FR2)에 상반된 규칙이 적용된다.
플래그 레지스터(FRi) 내의 플래그는 독립적이기 때문에, 일 클록 도메인에서 다른 클록 도메인으로의 이동을 허용하는 하드웨어는 최소로 감소될 수 있다. 사실, 하나의 코어(C1 또는 C2)가 몇몇 플래그를 (단일 기록 인스트럭션(또는 커맨드) 내에서) 동시에 1로 설정하는 경우, 모든 플래그가 또한 다른 코어(C2 또는 C1)의 클록의 동일한 싸이클 내에서 설정되도록 보장할 필요는 없다.
도 6에 도시되어 있는 실시예에 적용될 수 있는 진리표의 예가 이하에서 주어진다.
Figure 112008040435200-pct00001
이 진리표는 제 1 코어 C1가 1의 비트 값만을 기록할 수 있음을 나타낸다. 예를 들어, (제 1 코어(C1)가 전송한 워드(커맨드) 내의 0의 비트를 통해) 제 1 코어(C1)에 의한 0의 기록에 대응하는 진리표의 두 번째 라인은 대응하는 플래그 값 이 변경되지 않은 채로 유지되고(Qn+1=Qn) 제 2 코어(C2)는 0의 플래그 값만을 기록할 수 있음을 보여주고 있다.
제어 장치(D)는 전형적으로 하드웨어 모듈로 구현된다.
본 발명에 의해, 플래그 값을 정의하는 비트의 저장에 전용된 각각의 저장 영역의 크기는 일(1) 비트로 동일하다. 따라서, 플래그 값의 저장에 전용된 메모리 크기는 상당히 감소된다. 또한, 플래그 값이 플래그 레지스터(들)에 저장되는 경우, 공통 메모리의 모든 저장 영역은 코어들 간에 전송될 데이터를 저장하는데 사용될 수 있다. 따라서, 전송되기 전에 공통 메모리에 저장될 수 있는 데이터의 수를 증가시킬 수 있고, 또는 공통 메모리의 크기를 감소시켜 집적 회로 내의 또 다른 전자 구성요소를 위한 공간을 확보할 수 있다.
본 발명은 예로서만 기술한 위의 제어 장치, 집적 회로 및 전자 장비의 실시예에 국한되지 않고, 당업자에 의해 후속하는 청구항의 범주 내에서 고려될 수 있는 또 다른 모든 실시예를 포함한다.

Claims (9)

  1. 적어도 두 개의 코어(C1,C2)를 포함하는 집적 회로(IC)용 제어 장치(D)에 있어서,
    상기 적어도 두 개의 코어(C1,C2)는 상기 적어도 두 개의 코어(C1,C2) 간에 전송되는 데이터를 저장하도록 구성된 메모리(M)에 버스(BC1,BC2)를 통해 결합되고,
    상기 제어 장치(D)는, 상기 버스(BC1,BC2)를 통해 상기 코어(C1,C2)에 결합되며, 상기 코어 중 하나에 의해 상기 메모리(M)에 저장되고 상기 코어 중 다른 코어로 전송될 데이터와 연관된 Ni 개의 플래그 값을 Ni 개의 어드레스에 저장하도록 구성된 적어도 하나의 플래그 레지스터(FRi)를 포함하되,
    제 1 어드레스에 저장된 각각의 플래그 값은 상기 제 1 어드레스를 지정하는 커맨드를 통해 상기 코어(C1,C2) 중 하나에 의해 설정되거나 재설정되어, 제 2 어드레스에 저장된 또 다른 플래그 값이 상기 제 2 어드레스를 지정하는 커맨드를 통해 상기 다른 코어(C2,C1)에 의해 동시에 설정되거나 재설정되도록 허용하는
    제어 장치.
  2. 제 1 항에 있어서,
    i) 상기 버스(BC1,BC2)에 결합되며, 상기 코어 중 제 1 코어(C1)에 의해 상기 메모리(M)에 저장되고 상기 코어 중 제 2 코어(C2)로 전송될 데이터와 연관된 N1 개의 플래그 값을 N1 개의 어드레스에 저장하도록 구성된 적어도 하나의 제 1 플래그 레지스터(FR1)와,
    ii) 상기 버스(BC1,BC2)에 결합되며, 상기 제 2 코어(C2)에 의해 상기 메모리(M)에 저장되고 상기 제 1 코어(C1)로 전송될 데이터와 연관된 N2 개의 플래그 값을 N2 개의 어드레스에 저장하도록 구성된 적어도 하나의 제 2 플래그 레지스터(FR2)를 포함하되,
    상기 제 1 플래그 레지스터(FR1)의 제 1 어드레스에 저장된 각각의 플래그 값은 상기 제 1 어드레스를 지정하는 커맨드를 통해 상기 제 1 코어(C1)에 의해 설정될 수 있고 상기 제 2 코어(C2)에 의해 재설정될 수 있으며,
    상기 제 2 플래그 레지스터(FR2)의 제 1 어드레스에 저장된 각각의 플래그 값은 상기 제 1 어드레스를 지정하는 커맨드를 통해 상기 제 2 코어(C2)에 의해 설정될 수 있고 상기 제 1 코어(C1)에 의해 재설정될 수 있는
    제어 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    각각의 플래그 레지스터(FRi)는,
    i) 상기 제 1 코어(C1)에 접속되는 상기 버스(BC1)에 연결된 제 1 입력단과, Ni 개의 제 1 출력단, 및 제 1 플래그 값 판독 및 기록 수단(RWM1)을 포함하는 제 1 제어 수단(CM1)과,
    ii) 상기 제 2 코어(C2)에 접속되는 상기 버스(BC2)에 연결된 제 2 입력단과, Ni 개의 제 2 출력단, 및 제 2 플래그 값 판독 및 기록 수단(RWM2)을 포함하는 제 2 제어 수단(CM2)과,
    iii) Ni 개의 플래그 값을 각각 저장하고 상기 제 1 출력단 중 하나와 상기 제 2 출력단 중 하나에 제각각 연결된 Ni 개의 각각의 어드레스를 갖는 Ni 개의 저장 영역을 구비하는 저장 수단(SM)을 포함하는
    제어 장치.
  4. 제 3 항에 있어서,
    상기 제 1 제어 수단(CM1) 및 상기 제 2 제어 수단(CM2) 각각은 몇몇 저장 영역의 각각의 어드레스를 지정하는 단일 커맨드를 수신하는 경우 상기 저장 수단(SM)의 상기 몇몇 저장 영역에 저장된 몇몇 플래그 값을 설정 및/또는 재설정하는 제어 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 메모리(M)를 포함하는
    제어 장치.
  6. 제 5 항에 있어서,
    상기 메모리(M)는 적어도 하나의 DPRAM 메모리 및 RAM 메모리를 포함하는 그룹에서 선택되는
    제어 장치.
  7. 제 1 항 또는 제 2 항에 따른 제어 장치(D)를 포함하는
    전자 장비(EE)용 집적 회로(IC).
  8. 제 7 항에 따른 집적 회로(IC)를 포함하는
    전자 장비(EE).
  9. 제 8 항에 있어서,
    상기 전자 장비는 적어도 하나의 컴퓨터, 전화기, 개인 보조 단말기(PDA) 및 음악 재생기를 포함하는 그룹에서 선택되는
    전자 장비.
KR1020087013591A 2005-11-08 2006-11-03 제어 장치, 전자 장비용 집적 회로 및 전자 장비 KR101029392B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05300900.7 2005-11-08
EP05300900 2005-11-08

Publications (2)

Publication Number Publication Date
KR20080077150A KR20080077150A (ko) 2008-08-21
KR101029392B1 true KR101029392B1 (ko) 2011-04-14

Family

ID=37938484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013591A KR101029392B1 (ko) 2005-11-08 2006-11-03 제어 장치, 전자 장비용 집적 회로 및 전자 장비

Country Status (7)

Country Link
US (1) US7890736B2 (ko)
EP (1) EP1949249A2 (ko)
JP (1) JP4940436B2 (ko)
KR (1) KR101029392B1 (ko)
CN (1) CN101305356B (ko)
TW (1) TWI416340B (ko)
WO (1) WO2007054871A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760526B1 (en) * 2011-09-30 2017-09-12 EMC IP Holdings Company LLC Multiprocessor messaging system
US9037838B1 (en) 2011-09-30 2015-05-19 Emc Corporation Multiprocessor messaging system
EP2862058B1 (en) * 2012-06-15 2021-05-19 Intel Corporation A semaphore method and system with out of order loads in a memory consistency model that constitutes loads reading from memory in order
KR101660022B1 (ko) * 2015-09-10 2016-09-27 아둘람테크 주식회사 버스 인터페이스 효율을 향상시키기 위한 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US690750A (en) * 1901-02-09 1902-01-07 Nat Carbon Co Sparking-coil.
US20030061300A1 (en) 2001-09-27 2003-03-27 Lindsay Michael R. Dual port RAM communication protocol

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
JPH0656603B2 (ja) * 1986-02-10 1994-07-27 株式会社日立マイコンシステム デ−タ処理システム
JPS63654A (ja) * 1986-06-19 1988-01-05 Fujitsu Ltd プロセッサ間の通信制御方法
US5611053A (en) * 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
JP2859178B2 (ja) * 1995-09-12 1999-02-17 日本電気通信システム株式会社 プロセッサ間データ転送方式及びプロセッサ間データ転送用リングバッファメモリ
US5649125A (en) * 1995-10-30 1997-07-15 Motorola, Inc. Method and apparatus for address extension across a multiplexed communication bus
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
US5951659A (en) * 1997-04-07 1999-09-14 Ncr Corporation Communications-oriented computer system backplane including a PCI input/output bus for transmission of address, data, and control information, and a time-domain multiplexed signal bus (TDMSB) for transmission of high-speed digitized signal information
WO1999022296A2 (en) * 1997-10-29 1999-05-06 Koninklijke Philips Electronics N.V. Method and system for synchronizing block-organized data transfer
JP4123315B2 (ja) * 1999-02-19 2008-07-23 株式会社安川電機 デュアルポートramのデータ受け渡し装置および方法
EP1069512A3 (en) * 1999-07-12 2004-12-15 Matsushita Electric Industrial Co., Ltd. Data processing apparatus with buffering between buses
DE19951541C1 (de) * 1999-10-26 2000-10-26 Siemens Ag Integrierter elektronischer Baustein mit duplizierter Kernlogik und Hardware-Fehlereinspeisung für Prüfzwecke
DE60144303D1 (de) * 2001-01-31 2011-05-05 Renesas Electronics Corp Datenverarbeitungssystem
US6823441B1 (en) * 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US690750A (en) * 1901-02-09 1902-01-07 Nat Carbon Co Sparking-coil.
US20030061300A1 (en) 2001-09-27 2003-03-27 Lindsay Michael R. Dual port RAM communication protocol

Also Published As

Publication number Publication date
TW200811666A (en) 2008-03-01
US7890736B2 (en) 2011-02-15
WO2007054871A3 (en) 2008-04-17
WO2007054871A2 (en) 2007-05-18
EP1949249A2 (en) 2008-07-30
TWI416340B (zh) 2013-11-21
JP2009514118A (ja) 2009-04-02
US20080294876A1 (en) 2008-11-27
CN101305356A (zh) 2008-11-12
KR20080077150A (ko) 2008-08-21
JP4940436B2 (ja) 2012-05-30
CN101305356B (zh) 2010-09-01

Similar Documents

Publication Publication Date Title
KR101029392B1 (ko) 제어 장치, 전자 장비용 집적 회로 및 전자 장비
JP2004310700A (ja) メモリデバイスにおいてデータを反転させるための方法および装置
US6477177B1 (en) Multiple device access to serial data stream
US5835787A (en) System for bi-directionally transferring a digital signal sample from a CODEC to a particular memory location and a second sample from memory to CODEC
GB2060961A (en) Data processing system having memory modules with distributed address information
KR100731969B1 (ko) 복수 경로를 통한 메모리 공유 방법 및 장치
US20100002099A1 (en) Method and apparatus for sharing memory
US6314485B1 (en) Automatic status register
KR101064878B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기
US6122697A (en) System for extending the width of a data bus
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
KR100652690B1 (ko) 이동 통신 단말기의 멀티 프로세서 장치
JPH07226079A (ja) 半導体メモリ装置
US7099964B2 (en) High speed processor
CN107491400A (zh) 一种硬盘信息存储方法及装置
KR100710626B1 (ko) 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법
JP4966557B2 (ja) ボタン電話装置の主制御基板
KR20080096168A (ko) 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리및 데이터 직접 전달 방법
KR100243185B1 (ko) 공유 메모리를 통한 프로세서간의 데이터 통신 장치 및 방법
JPS61235969A (ja) メモリ装置
JP2999020B2 (ja) 音声ミキシング部におけるグルーピング処理方式
JPH08212130A (ja) ビットフィールド周辺装置
KR100800704B1 (ko) 이동 통신 단말기의 메시지 전처리기 및 그 제어 방법
JPH0431939A (ja) 外部記憶装置
JPH04107757A (ja) メモリエラーチェックシステム

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
FPAY Annual fee payment
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 8