KR20130091113A - 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치 - Google Patents

재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치 Download PDF

Info

Publication number
KR20130091113A
KR20130091113A KR1020120012392A KR20120012392A KR20130091113A KR 20130091113 A KR20130091113 A KR 20130091113A KR 1020120012392 A KR1020120012392 A KR 1020120012392A KR 20120012392 A KR20120012392 A KR 20120012392A KR 20130091113 A KR20130091113 A KR 20130091113A
Authority
KR
South Korea
Prior art keywords
memory
mode
debugging
trace data
computing device
Prior art date
Application number
KR1020120012392A
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 KR1020120012392A priority Critical patent/KR20130091113A/ko
Priority to US13/761,431 priority patent/US20130205171A1/en
Priority to JP2013022500A priority patent/JP2013161484A/ja
Publication of KR20130091113A publication Critical patent/KR20130091113A/ko

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Abstract

재구성 기반 컴퓨팅 장치의 디버깅(debugging)용 트레이스 데이터(trace data) 처리 기술을 개시한다. 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드와, 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드는 서로 배타적으로 실행되는 특성을 이용해 디버깅용 트레이스 데이터를 저장하기 위한 별도의 메모리 추가없이, 재구성 기반 컴퓨팅 장치의 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리와, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리를 활용해 디버깅용 트레이스 데이터를 효율적으로 저장한다.

Description

재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치{First memory controller and second memory controller for a computing apparatus based on reconfigurable architecture and computing apparatus based on reconfigurable architecture able to process trace data for debugging}
재구성 기반 컴퓨팅 기술에 관련한 것으로, 특히 재구성 기반 컴퓨팅 장치의 디버깅(debugging)용 트레이스 데이터(trace data) 처리 기술에 관한 것이다.
재구성 아키텍처(reconfigurable architecture)는 연산을 수행하는 컴퓨팅 장치의 하드웨어적인 구성을 소프트웨어적으로 변경하여 재구성할 수 있도록 하는 기술로, 연산 속도가 빠른 하드웨어의 장점과 연산 다양성이 뛰어난 소프트웨어의 장점을 모두 만족시킬 수 있어 최근 많은 주목을 받고 있다.
특히, 재구성 아키텍처는 동일한 연산이 반복적으로 수행되는 루프 연산시 뛰어난 성능을 발휘한다. 한편, 재구성 아키텍처는 하나의 연산 실행을 개시한 후에 계속해서 다음 연산의 실행을 중복함으로써 고속 처리가 가능한 파이프라인(pipeline) 기술과 결합했을 때 더욱 뛰어난 성능을 발휘한다.
본 발명자는 재구성 기반 컴퓨팅 장치에서 실행되는 프로그램의 디버깅을 위한 디버깅용 트레이스 데이터의 효율적인 메모리 활용 기술에 대한 연구를 하게 되었다.
재구성 기반 컴퓨팅 장치에서 실행되는 어플리케이션의 디버깅을 위한 디버깅용 트레이스 데이터의 효율적인 메모리 활용 기술을 제안한다.
일 실시예에 따르면, 재구성 기반 컴퓨팅 장치의 제1메모리 제어기가 프로세서에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 전환시, 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 제1메모리로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리에 저장하도록 제어한다.
또 다른 실시예에 따르면, 재구성 기반 컴퓨팅 장치의 제2메모리 제어기가 프로세서에 의해 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드 전환시, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 제2메모리에 패치되도록 제어하고, 디버깅용 트레이스 데이터는 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리에 저장하도록 제어한다.
또 다른 실시예에 따르면, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치가 프로세서에 의해 제1모드 전환시, 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 제1메모리로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 제2메모리에 저장하도록 제어하는 제1메모리 제어기와, 프로세서에 의해 제2모드 전환시, 인스트럭션 워드가 제2메모리에 패치되도록 제어하고, 디버깅용 트레이스 데이터는 제1메모리에 저장하도록 제어하는 제2메모리 제어기를 포함한다.
디버깅용 트레이스 데이터를 저장하기 위한 별도의 메모리 추가없이, 재구성 기반 컴퓨팅 장치의 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리와, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리를 활용해 디버깅용 트레이스 데이터를 효율적으로 저장할 수 있어 재구성 기반 컴퓨팅 장치의 제작 비용 절감 및 소형화에 유리하다.
도 1 은 본 발명에 따른 재구성 기반 컴퓨팅 장치의 제1메모리 제어기의 일 실시예의 구성을 도시한 블럭도이다.
도 2 는 본 발명에 따른 재구성 기반 컴퓨팅 장치의 제2메모리 제어기의 일 실시예의 구성을 도시한 블럭도이다.
도 3 은 본 발명에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 일 실시예의 구성을 도시한 블럭도이다.
도 4 는 본 발명에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 디버깅용 트레이스 데이터 처리 동작의 일 예를 도시한 흐름도이다.
이하, 첨부된 도면을 참조하여 기술되는 실시예를 통하여 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
명세서 전반에 걸쳐 사용되는 용어들은 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1 은 본 발명에 따른 재구성 기반 컴퓨팅 장치의 제1메모리 제어기의 일 실시예의 구성을 도시한 블럭도이다. 이 실시예에 따른 재구성 기반 컴퓨팅 장치의 제1메모리 제어기(100)는 프로세서(10)에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 전환시, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 제1메모리(30)로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드(instruction word)가 패치(fetch)되는 제2메모리(40)에 저장하도록 제어한다.
도 1 에 도시한 바와같이, 재구성 기반 컴퓨팅 장치의 제1메모리 제어기(100)는 모드 판단부(110)와, 제1메모리 접속부(120)와, 제2메모리 접속부(130)를 포함할 수 있다.
모드 판단부(110)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
프로세서(10)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하고, 이에 따라 제1모드에서는 제1인스트럭션들이 발생되고, 제2모드에서는 제2인스트럭션들이 발생된다.
모드 판단부(110)는 프로세서(10)로부터 제1인스트럭션이 발생되었는지 또는 제2인스트럭션이 발생되었는지를 검출함에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
제1메모리 접속부(120)는 모드 판단부(110)에 의해 제1모드라 판단된 경우 활성화되어, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 참조하기 위해 제1메모리(30)에 접속한다. 한편, 제1메모리 접속부(120)는 모드 판단부(110)에 의해 제2모드라 판단된 경우, 비활성화된다.
제1메모리(30)에 저장된 구성 정보에 따라, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로가 재구성되어 루프 연산과 관련된 제1인스트럭션들이 실행된다.
제2메모리 접속부(130)는 모드 판단부(110)에 의해 제1모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제2메모리(40)에 접속한다. 한편, 제2메모리 접속부(130)는 모드 판단부(110)에 의해 제2모드라 판단된 경우, 비활성화된다.
제2메모리(40)에 저장되는 디버깅용 트레이스 데이터는 어플리케이션의 수행에 의해 발생되는 연산 결과값 또는 메모리 접근 정보 등 어플리케이션의 디버깅을 위해 사용되는 정보로, 디버깅 장치(도면 도시 생략)를 통해 프로그램 개발자 등에 제공되어 해당 어플리케이션의 디버깅이 이루어지게 된다.
부가적인 양상에 따르면, 재구성 기반 컴퓨팅 장치의 제1메모리 제어기(100)가 데이터 출력부(140)를 더 포함할 수 있다. 데이터 출력부(140)는 디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제2메모리(40)로부터 선택하여 디버깅 장치로 출력한다.
예컨대, 프로그램 개발자가 개발한 어플리케이션이 실행되어, 제2메모리(40)에 해당 어플리케이션의 디버깅용 트레이스 데이터가 저장되었다 가정하면, 프로그램 개발자가 데이터 출력부(140)에 디버깅 장치를 연결하고, 디버깅용 트레이스 데이터를 요청하면, 데이터 출력부(140)가 디버깅 장치로 제2메모리(40)에 저장된 디버깅용 트레이스 데이터를 출력한다.
이 때, 디버깅용 트레이스 데이터 크기가 클 경우, 디버깅 장치로 크기가 큰 디버깅용 트레이스 데이터 모두를 출력하는 것은 하드웨어 또는 소프트웨어 자원을 낭비할 우려가 있어 비효율적일 수 있으므로, 디버깅 장치를 통해 선택된 디버깅용 트레이스 데이터만 데이터 출력부(140)가 선택적으로 제2메모리(40)로부터 선택하여 디버깅 장치로 출력하도록 구현할 수도 있다.
도 2 는 본 발명에 따른 재구성 기반 컴퓨팅 장치의 제2메모리 제어기의 일 실시예의 구성을 도시한 블럭도이다. 이 실시예에 따른 재구성 기반 컴퓨팅 장치의 제2메모리 제어기(200)는 프로세서(10)에 의해 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드 전환시, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드(instruction word)가 제2메모리(40)에 패치(fetch)되도록 제어하고, 디버깅용 트레이스 데이터는 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리(30)에 저장하도록 제어한다.
도 2 에 도시한 바와같이, 재구성 기반 컴퓨팅 장치의 제2메모리 제어기(200)는 모드 판단부(210)와, 제2메모리 접속부(220)와, 제1메모리 접속부(230)를 포함할 수 있다.
모드 판단부(210)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
프로세서(10)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하고, 이에 따라 제1모드에서는 제1인스트럭션들이 발생되고, 제2모드에서는 제2인스트럭션들이 발생된다.
모드 판단부(210)는 프로세서(10)로부터 제1인스트럭션이 발생되었는지 또는 제2인스트럭션이 발생되었는지를 검출함에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
제2메모리 접속부(220)는 모드 판단부(210)에 의해 제2모드라 판단된 경우 활성화되어, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드를 패치하기 위해 제2메모리(40)에 접속한다. 한편, 제2메모리 접속부(220)는 모드 판단부(210)에 의해 제1모드라 판단된 경우, 비활성화된다.
제2메모리(40)에 패치된 인스트럭션 워드에 기초하여 병렬 처리 가능한 제2인스트럭션들을 재구성부(20)의 프로세싱 엘리먼트(21)들이 병렬 처리하여 실행한다.
제1메모리 접속부(230)는 모드 판단부(210)에 의해 제2모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제1메모리(30)에 접속한다. 한편, 제1메모리 접속부(230)는 모드 판단부(210)에 의해 제1모드라 판단된 경우, 비활성화된다.
제1메모리(30)에 저장되는 디버깅용 트레이스 데이터는 어플리케이션의 수행에 의해 발생되는 연산 결과값 또는 메모리 접근 정보 등 어플리케이션의 디버깅을 위해 사용되는 정보로, 디버깅 장치(도면 도시 생략)를 통해 프로그램 개발자 등에 제공되어 해당 어플리케이션의 디버깅이 이루어지게 된다.
부가적인 양상에 따르면, 재구성 기반 컴퓨팅 장치의 제2메모리 제어기(200)가 데이터 출력부(240)를 더 포함할 수 있다. 데이터 출력부(240)는 디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제1메모리(30)로부터 선택하여 디버깅 장치로 출력한다.
예컨대, 프로그램 개발자가 개발한 어플리케이션이 실행되어, 제1메모리(30)에 해당 어플리케이션의 디버깅용 트레이스 데이터가 저장되었다 가정하면, 프로그램 개발자가 데이터 출력부(240)에 디버깅 장치를 연결하고, 디버깅용 트레이스 데이터를 요청하면, 데이터 출력부(240)가 디버깅 장치로 제1메모리(30)에 저장된 디버깅용 트레이스 데이터를 출력한다.
이 때, 디버깅용 트레이스 데이터 크기가 클 경우, 디버깅 장치로 크기가 큰 디버깅용 트레이스 데이터 모두를 출력하는 것은 하드웨어 또는 소프트웨어 자원을 낭비할 우려가 있어 비효율적일 수 있으므로, 디버깅 장치를 통해 선택된 디버깅용 트레이스 데이터만 데이터 출력부(240)가 선택적으로 제1메모리(30)로부터 선택하여 디버깅 장치로 출력하도록 구현할 수도 있다.
도 3 을 참조하여 도 1 에 도시한 제2메모리 제어기(100) 및 도 2 에 도시한 제2메모리 제어기(200)의 각 구성요소 및 이들의 결합관계를 자세히 알아본다. 도 3 은 본 발명에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 일 실시예의 구성을 도시한 블럭도이다.
이 실시예에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치는 프로세서(10)와, 재구성부(20)와, 제1메모리(30)와, 제2메모리(40)와, 제1메모리 제어기(100)와, 제2메모리 제어기(200)를 포함한다.
프로세서(10)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하며, 프로세서(10)는 프로세서 코어(11)와, 중앙 레지스터 파일(12)을 포함한다.
프로세서 코어(11)는 루프 연산과 관련된 제1인스트럭션들은 제1메모리(30)에 저장된 구성 정보를 기반으로 연결되는 재구성부(20)의 프로세싱 엘리먼트(21)들을 통해 가속하여 실행한다.
한편, 프로세서 코어(11)는 루프 연산을 제외한 일반 연산과 관련된 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드를 제2메모리(40)로 패치(fetch)하여 재구성부(20)의 프로세싱 엘리먼트(21)들을 통해 병렬 처리한다.
중앙 레지스터 파일(12)은 재구성부(20)의 프로세싱 엘리먼트(21)들에 의해 실행되는 제1인스트럭션 및 제2인스트럭션 실행에 필요한 각종 데이터와, 제1인스트럭션 및 제2인스트럭션 실행 결과를 저장한다.
프로세서(10)는 고급언어(High Level Language)로 작성된 어플리케이션이 실행되면 이를 컴파일(compile)하고, 컴파일된 명령들을 스케쥴링(scheduling)하여 재구성부(20)의 프로세싱 엘리먼트(21)들의 데이터 경로 구성을 위한 구성 정보를 생성하고, 이를 제1메모리(30)에 저장한다.
재구성부(20)는 프로세서(10)에 의해 전환되는 제1모드 또는 제2모드에 따라, 서로 배타적으로 발생되는 제1인스트럭션들 또는 제2인스트럭션들을 실행하는 다수의 프로세싱 엘리먼트(21)들이 연결되어 배열된다. 재구성부(20)의 프로세싱 엘리먼트(21)들은 제1메모리(30)에 저장된 구성 정보에 기초하여 데이터 경로가 재구성(reconfiguration)된다.
예컨대, 재구성부(20)가 CGA(Coarse Grained Array)일 수 있다. CGA는 계산유닛(FU : Function Unit)과 로컬 레지스터 파일(LRF : Local Register File)쌍으로 된 다수의 프로세싱 엘리먼트들로 이루어지며, 예외로 중앙 레지스터 파일(12)과 연결되는 프로세싱 엘리먼트들은 계산유닛(FU)만 포함한다.
제1메모리(30)는 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 저장한다. 이 제1메모리(30)에 저장된 구성 정보에 기초하여 재구성부(20)의 프로세싱 엘리먼트(21)들의 데이터 경로가 재구성된다.
제2메모리(40)는 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치된다. 이 제2메모리(40)에 패치된 인스트럭션 워드에 기초하여 병렬 처리 가능한 제2인스트럭션들을 재구성부(20)의 프로세싱 엘리먼트(21)들이 병렬 처리하여 실행한다.
제1메모리 제어기(100)는 프로세서(10)에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 전환시, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 제1메모리(30)로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드(instruction word)가 패치(fetch)되는 제2메모리(40)에 저장하도록 제어한다.
제2메모리 제어기(200)는 프로세서(10)에 의해 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드 전환시, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드(instruction word)가 제2메모리(40)에 패치(fetch)되도록 제어하고, 디버깅용 트레이스 데이터는 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리(30)에 저장하도록 제어한다.
디버깅용 트레이스 데이터는 어플리케이션의 수행에 의해 발생되는 연산 결과값 또는 메모리 접근 정보 등 어플리케이션의 디버깅을 위해 사용되는 정보로, 디버깅 장치(도면 도시 생략)를 통해 프로그램 개발자 등에 제공되는 정보이다.
디버깅용 트레이스 데이터를 저장하기 위한 별도의 메모리를 추가할 경우, 재구성 기반 컴퓨팅 장치의 제작 비용이 상승하고, 크기도 커질 수밖에 없으므로, 이 실시예에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치는 제1모드와 제2모드가 동시에 실행되지 않고, 서로 배타적으로 실행되는 특성을 이용하여 재구성 기반 컴퓨팅 장치의 제작 비용 절감 및 소형화를 위해 별도의 메모리를 추가없이, 디버깅용 트레이스 데이터를 효율적으로 저장한다.
루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드와 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드는 서로 배타적으로 실행되므로, 제1모드 실행시에는 사용되지 않는 제2메모리(40)에 제1메모리 제어기(100)를 통해 접근하여 디버깅용 트레이스 데이터를 저장하고, 제2모드 실행시에는 사용되지 않는 제1메모리(30)에 제2메모리 제어기(200)를 통해 접근하여 디버깅용 트레이스 데이터를 저장한다.
이렇게 함에 의해 디버깅용 트레이스 데이터를 저장하기 위한 별도의 메모리 추가없이, 재구성 기반 컴퓨팅 장치의 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리(30)와, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리(40)를 활용해 디버깅용 트레이스 데이터를 효율적으로 저장할 수 있어 재구성 기반 컴퓨팅 장치의 제작 비용 절감 및 소형화가 가능해진다.
한편, 부가적인 양상에 따르면, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제1메모리 제어기(100)가 모드 판단부(110)와, 제1메모리 접속부(120)와, 제2메모리 접속부(130)를 포함할 수 있다.
모드 판단부(110)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
프로세서(10)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하고, 이에 따라 제1모드에서는 제1인스트럭션들이 발생되고, 제2모드에서는 제2인스트럭션들이 발생된다.
모드 판단부(110)는 프로세서(10)로부터 제1인스트럭션이 발생되었는지 또는 제2인스트럭션이 발생되었는지를 검출함에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
제1메모리 접속부(120)는 모드 판단부(110)에 의해 제1모드라 판단된 경우 활성화되어, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로 구성을 위한 구성 정보를 참조하기 위해 제1메모리(30)에 접속한다. 한편, 제1메모리 접속부(120)는 모드 판단부(110)에 의해 제2모드라 판단된 경우, 비활성화된다.
제1메모리(30)에 저장된 구성 정보에 따라, 재구성부(20)에 배열되는 프로세싱 엘리먼트(21)들의 연결 경로가 재구성되어 루프 연산과 관련된 제1인스트럭션들이 실행된다.
제2메모리 접속부(130)는 모드 판단부(110)에 의해 제1모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제2메모리(40)에 접속한다. 한편, 제2메모리 접속부(130)는 모드 판단부(110)에 의해 제2모드라 판단된 경우, 비활성화된다.
제2메모리(40)에 저장되는 디버깅용 트레이스 데이터는 어플리케이션의 수행에 의해 발생되는 연산 결과값 또는 메모리 접근 정보 등 어플리케이션의 디버깅을 위해 사용되는 정보로, 디버깅 장치(도면 도시 생략)를 통해 프로그램 개발자 등에 제공되어 해당 어플리케이션의 디버깅이 이루어지게 된다.
한편, 재구성 기반 컴퓨팅 장치의 제1메모리 제어기(100)가 데이터 출력부(140)를 더 포함할 수 있다. 데이터 출력부(140)는 디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제2메모리(40)로부터 선택하여 디버깅 장치로 출력한다.
예컨대, 프로그램 개발자가 개발한 어플리케이션이 실행되어, 제2메모리(40)에 해당 어플리케이션의 디버깅용 트레이스 데이터가 저장되었다 가정하면, 프로그램 개발자가 데이터 출력부(140)에 디버깅 장치를 연결하고, 디버깅용 트레이스 데이터를 요청하면, 데이터 출력부(140)가 디버깅 장치로 제2메모리(40)에 저장된 디버깅용 트레이스 데이터를 출력한다.
이 때, 디버깅용 트레이스 데이터 크기가 클 경우, 디버깅 장치로 크기가 큰 디버깅용 트레이스 데이터 모두를 출력하는 것은 하드웨어 또는 소프트웨어 자원을 낭비할 우려가 있어 비효율적일 수 있으므로, 디버깅 장치를 통해 선택된 디버깅용 트레이스 데이터만 데이터 출력부(140)가 선택적으로 제2메모리(40)로부터 선택하여 디버깅 장치로 출력하도록 구현할 수도 있다.
한편, 부가적인 양상에 따르면, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제2메모리 제어기(200)가 모드 판단부(210)와, 제2메모리 접속부(220)와, 제1메모리 접속부(230)를 포함할 수 있다.
모드 판단부(210)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
프로세서(10)는 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하고, 이에 따라 제1모드에서는 제1인스트럭션들이 발생되고, 제2모드에서는 제2인스트럭션들이 발생된다.
모드 판단부(210)는 프로세서(10)로부터 제1인스트럭션이 발생되었는지 또는 제2인스트럭션이 발생되었는지를 검출함에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단한다.
제2메모리 접속부(220)는 모드 판단부(210)에 의해 제2모드라 판단된 경우 활성화되어, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드를 패치하기 위해 제2메모리(40)에 접속한다. 한편, 제2메모리 접속부(220)는 모드 판단부(210)에 의해 제1모드라 판단된 경우, 비활성화된다.
제2메모리(40)에 패치된 인스트럭션 워드에 기초하여 병렬 처리 가능한 제2인스트럭션들을 재구성부(20)의 프로세싱 엘리먼트(21)들이 병렬 처리하여 실행한다.
제1메모리 접속부(230)는 모드 판단부(210)에 의해 제2모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제1메모리(30)에 접속한다. 한편, 제1메모리 접속부(230)는 모드 판단부(210)에 의해 제1모드라 판단된 경우, 비활성화된다.
제1메모리(30)에 저장되는 디버깅용 트레이스 데이터는 어플리케이션의 수행에 의해 발생되는 연산 결과값 또는 메모리 접근 정보 등 어플리케이션의 디버깅을 위해 사용되는 정보로, 디버깅 장치(도면 도시 생략)를 통해 프로그램 개발자 등에 제공되어 해당 어플리케이션의 디버깅이 이루어지게 된다.
부가적인 양상에 따르면, 재구성 기반 컴퓨팅 장치의 제2메모리 제어기(200)가 데이터 출력부(240)를 더 포함할 수 있다. 데이터 출력부(240)는 디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제1메모리(30)로부터 선택하여 디버깅 장치로 출력한다.
예컨대, 프로그램 개발자가 개발한 어플리케이션이 실행되어, 제1메모리(30)에 해당 어플리케이션의 디버깅용 트레이스 데이터가 저장되었다 가정하면, 프로그램 개발자가 데이터 출력부(240)에 디버깅 장치를 연결하고, 디버깅용 트레이스 데이터를 요청하면, 데이터 출력부(240)가 디버깅 장치로 제1메모리(30)에 저장된 디버깅용 트레이스 데이터를 출력한다.
이 때, 디버깅용 트레이스 데이터 크기가 클 경우, 디버깅 장치로 크기가 큰 디버깅용 트레이스 데이터 모두를 출력하는 것은 하드웨어 또는 소프트웨어 자원을 낭비할 우려가 있어 비효율적일 수 있으므로, 디버깅 장치를 통해 선택된 디버깅용 트레이스 데이터만 데이터 출력부(240)가 선택적으로 제1메모리(30)로부터 선택하여 디버깅 장치로 출력하도록 구현할 수도 있다.
도 4 는 본 발명에 따른 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 디버깅용 트레이스 데이터 처리 동작의 일 예를 도시한 흐름도이다.
디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 프로세서가 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어함에 따라, 제1모드에서는 제1인스트럭션들이 발생되고, 제2모드에서는 제2인스트럭션들이 발생된다.
그러면, 단계 410에서 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제1메모리 제어기와 제2메모리 제어기 각각이 제1모드인지 제2모드인지 판단한다.
만일, 단계 410에 의한 판단결과 제1모드일 경우, 단계 420에서 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제1메모리 제어기가 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리에 디버깅용 트레이스 데이터를 저장한다.
만일, 단계 410에 의한 판단결과 제2모드일 경우, 단계 430에서 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제2메모리 제어기가 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리에 디버깅용 트레이스 데이터를 저장한다.
그리고, 단계 440에서 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 또는 제2메모리 제어기가 각각 제2메모리 또는 제1메모리에 저장된 디버깅용 트레이스 데이터를 디버깅 장치로 출력한다.
이렇게 함에 의해 디버깅용 트레이스 데이터를 저장하기 위한 별도의 메모리 추가없이, 재구성 기반 컴퓨팅 장치의 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리와, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리를 활용해 디버깅용 트레이스 데이터를 효율적으로 저장할 수 있어 재구성 기반 컴퓨팅 장치의 제작 비용 절감 및 소형화가 가능해진다.
발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.
재구성 기반 컴퓨팅 기술분야 및 이의 응용 기술분야에서 산업상으로 이용 가능하다.
10 : 프로세서 11 : 프로세서 코어
12 : 중앙 레지스터 파일 20 : 재구성부
21 : 프로세싱 엘리먼트 30 : 제1메모리
40 : 제2메모리 100 : 제1메모리 제어기
110, 210 : 모드 판단부 120, 230 : 제1메모리 접속부
130, 220 : 제2메모리 접속부 140, 240 : 데이터 출력부
200 : 제2메모리 제어기

Claims (19)

  1. 프로세서에 의해 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 전환시, 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 제1메모리로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리에 저장하도록 제어하는 재구성 기반 컴퓨팅 장치의 제1메모리 제어기.
  2. 제 1 항에 있어서,
    재구성 기반 컴퓨팅 장치의 제1메모리 제어기가:
    상기 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단하는 모드 판단부와;
    상기 모드 판단부에 의해 제1모드라 판단된 경우 활성화되어, 상기 구성 정보를 참조하기 위해 상기 제1메모리에 접속하는 제1메모리 접속부와;
    상기 모드 판단부에 의해 제1모드라 판단된 경우 활성화되어, 상기 디버깅용 트레이스 데이터를 저장하기 위해 상기 제2메모리에 접속하는 제2메모리 접속부를;
    포함하는 재구성 기반 컴퓨팅 장치의 제1메모리 제어기.
  3. 제 2 항에 있어서,
    제1메모리 접속부가:
    모드 판단부에 의해 제2모드라 판단된 경우, 비활성화되는 재구성 기반 컴퓨팅 장치의 제1메모리 제어기.
  4. 제 2 항에 있어서,
    제2메모리 접속부가:
    모드 판단부에 의해 제2모드라 판단된 경우, 비활성화되는 재구성 기반 컴퓨팅 장치의 제1메모리 제어기.
  5. 제 2 항에 있어서,
    재구성 기반 컴퓨팅 장치의 제1메모리 제어기가:
    디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제2메모리로부터 선택하여 디버깅 장치로 출력하는 데이터 출력부를;
    더 포함하는 재구성 기반 컴퓨팅 장치의 제1메모리 제어기.
  6. 프로세서에 의해 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드 전환시, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 제2메모리에 패치되도록 제어하고, 디버깅용 트레이스 데이터는 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리에 저장하도록 제어하는 재구성 기반 컴퓨팅 장치의 제2메모리 제어기.
  7. 제 6 항에 있어서,
    재구성 기반 컴퓨팅 장치의 제2메모리 제어기가:
    루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 상기 제2인스트럭션들을 실행하는 제2모드인지 판단하는 모드 판단부와;
    상기 모드 판단부에 의해 제2모드라 판단된 경우 활성화되어, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드를 패치하기 위해 상기 제2메모리에 접속하는 제2메모리 접속부와;
    상기 모드 판단부에 의해 제2모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 상기 제1메모리에 접속하는 제1메모리 접속부를;
    포함하는 재구성 기반 컴퓨팅 장치의 제2메모리 제어기.
  8. 제 7 항에 있어서,
    제2메모리 접속부가:
    모드 판단부에 의해 제1모드라 판단된 경우, 비활성화되는 재구성 기반 컴퓨팅 장치의 제2메모리 제어기.
  9. 제 7 항에 있어서,
    제1메모리 접속부가:
    모드 판단부에 의해 제1모드라 판단된 경우, 비활성화되는 재구성 기반 컴퓨팅 장치의 제2메모리 제어기.
  10. 제 7 항에 있어서,
    재구성 기반 컴퓨팅 장치의 제2메모리 제어기가:
    디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제1메모리로부터 선택하여 디버깅 장치로 출력하는 데이터 출력부를;
    더 포함하는 재구성 기반 컴퓨팅 장치의 제2메모리 제어기.
  11. 루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드간 전환을 제어하는 프로세서와;
    상기 프로세서에 의해 전환되는 제1모드 또는 제2모드에 따라, 서로 배타적으로 발생되는 제1인스트럭션들 또는 제2인스트럭션들을 실행하는 다수의 프로세싱 엘리먼트들이 연결되어 배열되는 재구성부와;
    상기 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 저장하는 제1메모리와;
    다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드가 패치되는 제2메모리와;
    상기 프로세서에 의해 제1모드 전환시, 상기 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 상기 제1메모리로부터 참조하도록 제어하고, 디버깅용 트레이스 데이터는 상기 제2메모리에 저장하도록 제어하는 제1메모리 제어기와;
    상기 프로세서에 의해 제2모드 전환시, 인스트럭션 워드가 상기 제2메모리에 패치되도록 제어하고, 디버깅용 트레이스 데이터는 상기 제1메모리에 저장하도록 제어하는 제2메모리 제어기를;
    포함하는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  12. 제 11 항에 있어서,
    제1메모리 제어기가:
    루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단하는 모드 판단부와;
    모드 판단부에 의해 제1모드라 판단된 경우 활성화되어, 재구성부에 배열되는 프로세싱 엘리먼트들의 연결 경로 구성을 위한 구성 정보를 참조하기 위해 제1메모리에 접속하는 제1메모리 접속부와;
    모드 판단부에 의해 제1모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제2메모리에 접속하는 제2메모리 접속부를;
    포함하는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  13. 제 12 항에 있어서,
    제1메모리 접속부가:
    모드 판단부에 의해 제2모드라 판단된 경우, 비활성화되는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  14. 제 12 항에 있어서,
    제2메모리 접속부가:
    모드 판단부에 의해 제2모드라 판단된 경우, 비활성화되는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  15. 제 12 항에 있어서,
    제1메모리 제어기가:
    디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제2메모리로부터 선택하여 디버깅 장치로 출력하는 데이터 출력부를;
    더 포함하는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  16. 제 11 항에 있어서,
    제2메모리 제어기가:
    루프 연산과 관련된 제1인스트럭션들을 실행하는 제1모드인지 또는 루프 연산을 제외한 일반 연산과 관련된 제2인스트럭션들을 실행하는 제2모드인지 판단하는 모드 판단부와;
    모드 판단부에 의해 제2모드라 판단된 경우 활성화되어, 다수의 병렬 처리 가능한 제2인스트럭션들을 포함하는 인스트럭션 워드를 패치하기 위해 제2메모리에 접속하는 제2메모리 접속부와;
    모드 판단부에 의해 제2모드라 판단된 경우 활성화되어, 디버깅용 트레이스 데이터를 저장하기 위해 제1메모리에 접속하는 제1메모리 접속부를;
    포함하는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  17. 제 16 항에 있어서,
    제2메모리 접속부가:
    모드 판단부에 의해 제1모드라 판단된 경우, 비활성화되는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  18. 제 16 항에 있어서,
    제1메모리 접속부가:
    모드 판단부에 의해 제1모드라 판단된 경우, 비활성화되는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
  19. 제 16 항에 있어서,
    제2메모리 제어기가:
    디버깅 장치에 의해 선택되는 디버깅용 트레이스 데이터를 제1메모리로부터 선택하여 디버깅 장치로 출력하는 데이터 출력부를;
    더 포함하는 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치.
KR1020120012392A 2012-02-07 2012-02-07 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치 KR20130091113A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120012392A KR20130091113A (ko) 2012-02-07 2012-02-07 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치
US13/761,431 US20130205171A1 (en) 2012-02-07 2013-02-07 First and second memory controllers for reconfigurable computing apparatus, and reconfigurable computing apparatus capable of processing debugging trace data
JP2013022500A JP2013161484A (ja) 2012-02-07 2013-02-07 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120012392A KR20130091113A (ko) 2012-02-07 2012-02-07 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR20130091113A true KR20130091113A (ko) 2013-08-16

Family

ID=48903992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120012392A KR20130091113A (ko) 2012-02-07 2012-02-07 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치

Country Status (3)

Country Link
US (1) US20130205171A1 (ko)
JP (1) JP2013161484A (ko)
KR (1) KR20130091113A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130066402A (ko) * 2011-12-12 2013-06-20 삼성전자주식회사 트레이스 데이터 저장 장치 및 방법
US9742847B2 (en) * 2013-08-30 2017-08-22 Texas Instruments Incorporated Network node physical/communication pins, state machines, interpreter and executor circuitry
CN110096308B (zh) * 2019-04-24 2022-02-25 北京探境科技有限公司 一种并行存储运算装置及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256352A1 (en) * 2000-01-06 2008-10-16 Super Talent Electronics, Inc. Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
US7886195B2 (en) * 2008-05-05 2011-02-08 Infineon Technologies Ag Apparatus, system, and method of efficiently utilizing hardware resources for a software test
KR101738941B1 (ko) * 2010-03-23 2017-05-24 삼성전자주식회사 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법
KR101710116B1 (ko) * 2010-08-25 2017-02-24 삼성전자주식회사 프로세서, 메모리 관리 장치 및 방법

Also Published As

Publication number Publication date
US20130205171A1 (en) 2013-08-08
JP2013161484A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
KR101978409B1 (ko) 재구성가능 프로세서, 이를 위한 코드 변환 장치 및 방법
KR101660659B1 (ko) 멀티-스레딩된 프로세싱 시스템에서의 서브루틴들의 실행
CN111414197B (zh) 数据处理系统、编译器、处理器的方法和机器可读介质
Carrillo et al. The effect of reconfigurable units in superscalar processors
US20170083318A1 (en) Configuring modes of processor operation
US9619298B2 (en) Scheduling computing tasks for multi-processor systems based on resource requirements
CN102385504B (zh) 改进的处理器架构
KR101738941B1 (ko) 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법
US20140137123A1 (en) Microcomputer for low power efficient baseband processing
JP6077117B2 (ja) マルチスレッド処理システムにおけるレジュームチェック動作を選択的にアクティブ化すること
KR20110044465A (ko) 재구성 프로세서, 재구성 제어 장치 및 방법, 그리고, 스레드 모델링 방법
KR20140131472A (ko) 상수 저장 레지스터를 구비하는 재구성 가능 프로세서
KR20100116413A (ko) 재구성 가능 프로세서 및 이를 이용한 인터럽트 핸들링 방법
JP2014146335A (ja) マルチモード支援プロセッサ及びマルチモードを支援する処理方法
KR20130091113A (ko) 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치
Anjam et al. A VLIW softcore processor with dynamically adjustable issue-slots
EP2988268A1 (en) Rendergraph compilation method and use thereof for low-latency execution
KR20120036208A (ko) 재구성 기반 컴퓨팅 장치 및 이의 메모리 의존성 보정방법
Miniskar et al. Intra mode power saving methodology for cgra-based reconfigurable processor architectures
JP2013246816A (ja) ミニコア基盤の再構成可能プロセッサ及びその再構成可能プロセッサを利用した柔軟な多重データ処理方法
JP2006018411A (ja) プロセッサ
Brandon et al. Exploring ILP and TLP on a polymorphic VLIW processor
US20150363227A1 (en) Data processing unit and method for operating a data processing unit
US8095780B2 (en) Register systems and methods for a multi-issue processor
Anjam et al. On the Implementation of Traps for a Softcore VLIW Processor

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid