1 |
1
가속기의 동작 방법에 있어서,제1 인터럽트에 응답하여, 캐시 플러시 동작을 수행하는 단계;상기 캐시 플러시 동작 수행 후에, 프로그램 카운터를 업데이트 섹션으로 점프하도록 업데이트 섹션 점프 동작을 수행하는 단계;상기 업데이트 섹션 점프 동작 이후에, 호스트에서 컴파일된 바이너리 파일을 상기 가속기와 연결된 메모리 모듈에 기입하도록 프로그램 업데이트 동작을 수행하는 단계; 및상기 프로그램 업데이트 동작 후에, 제2 인터럽트에 응답하여, 상기 프로그램 카운터를 시작 섹션으로 점프하도록 시작 섹션 점프 동작을 수행하는 단계를 포함하는 방법
|
2 |
2
제 1 항에 있어서,상기 가속기는 PCI-express(Peripheral Component Interconnect express) 인터페이스를 통해 상기 호스트와 통신하는 방법
|
3 |
3
제 1 항에 있어서,상기 캐시 플러시 동작 이전에, 상기 호스트로부터 상기 제1 인터럽트를 수신하는 단계; 및상기 프로그램 업데이트 동작 이후에, 상기 호스트로부터 상기 제2 인터럽트를 수신하는 단계를 더 포함하는 방법
|
4 |
4
제 1 항에 있어서,상기 바이너리 파일은 링커 스크립트에 의해 상기 시작 섹션을 포함하는 일반 프로그램용 섹션 및 상기 업데이트 섹션을 포함하는 방법
|
5 |
5
제 1 항에 있어서,상기 바이너리 파일은 상기 호스트에 의해 가속기 프로그램을 컴파일하여 생성된 방법
|
6 |
6
제 1 항에 있어서,상기 프로그램 업데이트 동작을 수행하는 단계는, 상기 가속기에 포함된 DMA 엔진에 의해, 상기 호스트로부터 상기 바이너리 파일을 독출하는 단계; 및상기 DMA 엔진에 의해, 상기 바이너리 파일을 상기 메모리 모듈에 기입하는 단계를 포함하는 방법
|
7 |
7
제 6 항에 있어서,상기 바이너리 파일을 상기 메모리 모듈에 기입하는 단계는, 커맨드/어드레스 라인을 통해 쓰기 커맨드 및 어드레스를 상기 메모리 모듈로 전송하는 단계; 및데이터 라인을 통해 상기 바이너리 파일을 상기 메모리 모듈로 전송하는 단계를 포함하는 방법
|
8 |
8
제 1 항에 있어서, 상기 캐시 플러시 동작을 수행하는 단계는, 상기 가속기에 포함된 캐시 메모리 장치에 저장된 더티 상태에 대응하는 데이터를 상기 메모리 모듈에 기입하는 단계를 포함하는 방법
|
9 |
9
제 1 항에 있어서,상기 제1 및 제2 인터럽트는 상기 호스트에 의해 메모리 매핑된 입출력 레지스터(MMIO; memory mapped I/O register) 쓰기 동작을 가리키는 방법
|
10 |
10
제 1 항에 있어서,상기 가속기는 FPGA(field-programmable gate array), MPPA(massively parallel processor array), GPU(graphics processing unit), ASIC(Application-Specific Integrated Circuit), NPU(neural processing unit), TPU(Tensor Processing Unit) 및 MPSoC(Multi-Processor System-on-Chip) 중에서 어느 하나를 포함하는 방법
|
11 |
11
제 1 항에 있어서,상기 프로그램 업데이트 동작 수행하는 동안에, 상기 프로그램 카운터는 무한 루프를 돌며 대기하는 단계를 더 포함하는 방법
|
12 |
12
가속기 프로그램에 대한 컴파일 동작을 수행하여 업데이트 섹션 및 시작 섹션을 포함하는 바이너리 파일을 생성하고, 제1 및 제2 인터럽트를 전송하도록 구성된 호스트; 및상기 제1 인터럽트에 응답하여, 프로그램 카운터를 상기 업데이트 섹션으로 점프하고, 상기 제2 인터럽트에 응답하여, 상기 프로그램 카운터를 상기 시작 섹션으로 점프하도록 구성된 가속기를 포함하고,상기 제1 인터럽트는 가속기 프로그램 업데이트 시작을 가리키고, 상기 제2 인터럽트는 가속기 프로그램 업데이트 종료를 가리키는 컴퓨팅 시스템
|
13 |
13
제 12 항에 있어서,상기 가속기와 연결되고, 상기 가속기에서 실행되는 바이너리 파일을 저장하도록 구성된 메모리 모듈을 더 포함하는 컴퓨팅 시스템
|
14 |
14
제 13 항에 있어서,상기 가속기는 상기 바이너리 파일을 상기 호스트에서 독출하고, 상기 바이너리 파일을 상기 메모리 모듈에 기입하도록 구성된 DMA 엔진을 포함하는 컴퓨팅 시스템
|
15 |
15
제 13 항에 있어서,상기 가속기는: 상기 바이너리 파일을 실행하도록 구성된 프로세서; 및상기 프로세서에서 사용되는 데이터를 저장하고, 상기 제1 인터럽트에 응답하여, 더티 상태에 대응하는 데이터를 상기 메모리 모듈로 플러시 하도록 구성된 캐시 메모리 장치를 더 포함하는 컴퓨팅 시스템
|
16 |
16
제 12 항에 있어서,상기 가속기는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등과 같은 머신 러닝 알고리즘 등을 수행하도록 구성된 재구성 로직 회로를 더 포함하는 컴퓨팅 시스템
|