1 |
1
CPU(Central Processing Unit) 및 NPU(Neural Processing Unit)를 포함하는 SoC(System on Chip); 및검증 테이블(validation table)이 저장된 EPC(Enclave Page Cache) 및 적어도 하나의 NPU 엔클레이브(enclave)를 포함하는 메모리를 포함하고,상기 NPU 엔클레이브 및 상기 EPC는,상기 CPU의 시스템 소프트웨어가 실행되는 실행 환경(execution environment)과 격리된 신뢰 실행 환경(trusted execution environment)을 갖는 것을 특징으로 하는 전자 장치
|
2 |
2
청구항 1에 있어서,상기 SoC는,상기 검증 테이블에 기초하여, 상기 NPU 엔클레이브에 액세스를 시도하는 프로그램이 상기 NPU 엔클레이브에 액세스 가능한 프로그램인지 여부를 판단하도록 구성된 액세스 컨트롤러를 더 포함하는 전자 장치
|
3 |
3
청구항 2에 있어서,상기 액세스 컨트롤러는,상기 NPU의 IOMMU(Input/Output Memory Management Unit)에서 수행되는 주소 변환(address translation) 과정에서 상기 프로그램의 NPU 엔클레이브 ID와 상기 검증 테이블에 포함된 NPU 엔클레이브 ID가 동일하지 않은 경우, 상기 프로그램의 액세스를 차단하도록 구성된 것을 특징으로 하는 전자 장치
|
4 |
4
청구항 1에 있어서,상기 SoC는, 카운터 모드 암호화/복호화(counter mode encryption/decryption)를 수행하도록 구성된 메모리 보호 엔진(memory protection engine)을 더 포함하고,상기 메모리 보호 엔진은,상기 메모리에 포함된 영역들 중 상기 적어도 하나의 NPU 엔클레이브에 대한 트리를 구성함으로써 데이터의 무결성(integrity)을 검증하도록 구성된 것을 특징으로 하는 전자 장치
|
5 |
5
청구항 4에 있어서,상기 메모리 보호 엔진은,상기 NPU에서 실행되는 기계 학습(machine learning) 방법에 따라 상이한 그래뉼래러티(granularity)로 상기 카운터 모드 암호화/복호화를 수행하도록 구성되고, 상기 그래뉼래러티는,상기 카운터 모드 암호화/복호화가 수행될 때, 동일한 카운터를 공유하는 데이터 블록의 크기를 나타내는 것을 특징으로 하는 전자 장치
|
6 |
6
청구항 4에 있어서,상기 검증 테이블은,데이터가 읽기 전용(read only)인지 여부를 나타내는 읽기 전용 식별 비트를 포함하고,상기 메모리 보호 엔진은,상기 읽기 전용 식별 비트에 기초하여 데이터가 읽기 전용이라고 판단된 경우, 카운터 값을 1로 설정하여 상기 카운터 모드 암호화/복호화를 수행하도록 구성된 것을 특징으로 하는 전자 장치
|
7 |
7
청구항 1에 있어서,상기 SoC는,상기 CPU와 상기 NPU를 연결하는 채널 버퍼를 더 포함하는 전자 장치
|
8 |
8
청구항 7에 있어서,상기 CPU는,상기 CPU의 시스템 소프트웨어가 실행되는 실행 환경과 격리된 신뢰 실행 환경을 갖는 영역이며, NPU 드라이버가 실행되도록 구성된 CPU 엔클레이브를 포함하고,상기 NPU 드라이버는,상기 NPU를 사용하고자 하는 어플리케이션(application)에게 상기 채널 버퍼를 사용할 수 있는 권한을 부여하는 것을 특징으로 하는 전자 장치
|
9 |
9
CPU(Central Processing Unit) 및 NPU(Neural Processing Unit)를 포함하는 SoC(System on Chip)의 동작 방법으로서,상기 CPU에 의해서, 상기 SoC의 외부 메모리에 포함된 적어도 하나의 NPU 엔클레이브(enclave)로부터 상기 SoC에 포함된 내부 메모리로 데이터를 수신하는 단계;상기 NPU에 의해서, 상기 데이터에 기초하여 NPU 연산을 수행하는 단계; 및상기 CPU에 의해서, 상기 NPU 연산의 결과를 상기 외부 메모리로 송신하는 단계를 포함하고,상기 NPU 엔클레이브는,상기 CPU의 시스템 소프트웨어가 실행되는 실행 환경(execution environment)과 격리된 신뢰 실행 환경(trusted execution environment)을 갖는 것을 특징으로 하는 방법
|
10 |
10
청구항 9에 있어서,상기 SoC에 포함되는 액세스 컨트롤러에 의해서, 프로그램이 상기 NPU 엔클레이브에 액세스하는 것을 제어하는 단계를 더 포함하고,상기 액세스하는 것을 제어하는 단계는,상기 외부 메모리에 포함된 EPC(Enclave Page Cache)에 저장된 검증 테이블(validation table)에 기초하여, 상기 프로그램이 상기 NPU 엔클레이브에 액세스 가능한 프로그램인지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 방법
|