2. 연습문제
■1. AP의 기능은 무엇인가?
AP라는 것은 스마트폰이나 태블릿PC등에 필요한 OS,어플리케
이션들을 구동시키며(CPU), 여러 가지 시스템 장치/인터페이스
를 컨트롤하는 기능(chip)을 하나의 칩에 모두 포함하여 만든
것(System-On-Chip)입니다.
2
3. 연습문제
■2. 버스의 종류엔 어떤 것이 있는가?
Bus Structure-Single Bus, Multi-layer Bus, Bus
Matrix/Crossbar.
Bus Architecture-AXI Bus, APB Bus, AHB Bus.
3
4. 연습문제
■3.Multi-layer 버스를 구현하는 방법에 대해 설명하라
버스에 연결되어야 하는 IP 가 많은 경우에는 이를 분리하여 hierachy로 구성
이때 latency/throughput/동작속도 등을 고려하여 적적한 hierarchy 의 버스에 연결
일반적인 방법
빠른 Access time 과 많은 데이터를 요구하는 경우 상위 hierachy에 위치
디스플레이와 같이 real-teim 을 요구하지만 상대적으로 적은 데이터를 요구하는 경우는 버스우선 순위(priority)를 조절하도
록 구성
발생빈도가 낮은 경우 최하위 hierachy에 위치
4
5. 연습문제
■4.AP에서 사용하는 CPU의 특징에 대해서 설명하라
■CPU는 운영체제를 실행하고 웹 브라우징 및 멀티 터치 스크
린 입력을 실행하는 등 스마트폰의 핵심 기능을 수행합니다.
이 때, CPU는 내재된 core의 종류와 속도, 개수에 따라 그 성
능의 차이를 보입니다. 예를 들어 삼성전자가 사용하고 있는
ARM사의 Cortex A9 코어와 Cortex A15 코어 중에서는 A15
코어가 우수한 성능을 보이고, 같은 코어라도 500MHz와
1.2GHz의 차이를 비교한다면 1.2GHz 제품이 빠른 속도를
낼 수 있습니다. 또한 같은 코어, 같은 속도라면 코어 개수가
많을 수록 성능이 좋다고 할 수 있습니다. 예를 들면 Cortex
A15 1.7GHz 듀얼코어보다는 CortexA15 1.7GHz 쿼드코어가
성능이 좋습니다.
5
7. 연습문제
■ 6.버스의 성능을 나타내는 두 가지에 대해서 설명하라
1.Latency
일반적으로는 대기 시간을 나타내며 Latency time이라고 부른다.
예를 들면, 기억 장치 내의 어떤 특정한 physical address로부터 정보 데이터를 인출하기 위해 필요한 시간
이 있다. 이 경우 CPU가 기억 장치 상의 어떤 physical address에서 데이터의 인출 요구를 한 순간부터 기억
장치 내에서 address가 확정한 실제로 데이터를 전송하기 전까지의 시간이다.
2.Throughput
지정된 시간 내에 전송된, 혹은 처리된 전체의 유효한 정보량. 처리량이라고도 한다.
CPU가 단위 시간에 처리할 수 있는 데이터 처리 능력으로, 운영 체제는 처리 동작에 있어서의 여러 가지 유
휴 시간을 줄임으로써 Throughput의 향상을 도모하고 있다. 매초의 어수, 명령수 등으로 주어진다.
7
8. 연습문제
■7.AP에서 Multi Core가 필요한 이유를 설명하라
멀티코어는 두 개 이상의 독립 코어를 단일 집적 회로로 이루
어진 하나의 패키지로 통합한 것을 말합니다. 멀티 코어는 복
잡한 작업들을 보다 쉽고 빠르게 처리하여 스마트폰 사용자가
쾌적한 멀티태스킹을 즐길 수 있도록 지원해줍니다. 다시 말해
서 보다 빠른 웹서핑, 고화소의 이미지, 3D 컨텐츠를 이용 할
수 있도록 지원합니다.
8
9. 연습문제
■8.AP에서 사용되는 GPU의 특징에 대해서 설명하라
GPU의 역할은 그래픽과 영상 데이터들을 처리하여 화면에 표
시해주거나 게임의 3D 그래픽을 구현하고, 이를 빠르고 부드럽
게 화면에서 변환해주는 것입니다.
9
10. 연습문제
9. AP의 성능을 나타내는 benchmark 프로그램에 대해
설명하라
일반적으로 컴퓨터, 스마트폰 등 전자기기의 연산성능을 시험하여
수치화하는 프로그램을 말하는 단어
CPU, memory, GPU, I/O, web browsing 등 전반적인 성능을 측정
대표적인 스마트폰 벤치마크 어플리케이션
• Antutu 벤치마크
• 3DMark
• Geekbench 4
• Quadrant
10
11. 연습문제
9. AP의 성능을 나타내는 benchmark 프로그램에 대해
설명하라
일반적으로 컴퓨터, 스마트폰 등 전자기기의 연산성능을 시험하여
수치화하는 프로그램을 말하는 단어
CPU, memory, GPU, I/O, web browsing 등 전반적인 성능을 측정
대표적인 스마트폰 벤치마크 어플리케이션
• Antutu 벤치마크
• 3DMark
• Geekbench 4
• Quadrant
11
12. 연습문제
10. AP에서 사용되는 ARM core의 종류를 용도에 따라
설명하라
Cortex-A
엔트리 레벨부터 서버급까지 다양한 플랫폼에서의 지원을 목적으로 만들어진
제품군으로 ARM의 주력 상품군
스마트폰,TV등의 멀티미디어 기기나 많은량의 리소스를 처리해야 하는
임베디드 기기에서 주로 사용
Cortex-R
Real-time OS 기반으로 작동하는 제품을 위한 라인업
MPU(메모리보호유닛)이나 TCM(Tight-Coupled memory)등 RTOS에서 신뢰성 높은
동작을 위한 장치들을 포함
Cortex-A보다 대체로 낮은 성능을 가지고 있다
Cortex-A
Microcontroller unit을 위한 라인업
12
13. 연습문제
11. Memory의 주요 기능과 종류에 대해서 설명하라
Memory의 주요 기능
• OS 및 응용 프로그램의 데이터 저장 공간
• CPU가 명령어를 수행하기 위한 명령어 저장 공간
Memory의 종류
• DRAM (Dynamic Random Access Memory)
데이터의 저장 공간이나 명령어의 저장 공간으로 사용됨
전원이 꺼지면 내부 데이터는 사라지며 SRAM에 비해 속도가 느리다
예를 들어 SDRAM, DDR SDRAM이 있다
• SRAM (Static Random Access Memory)
속도가 빠르지만 면적이 커 대용량으로 사용하지 못한다
데이터를 임시로 저장하기 위한 공간으로 주로 사용한다
예를 들어 CPU의 cache, display IP의 buffer가 있다.
• Mask ROM
전원 공급과 관계없이 항상 동일한 데이터를 유지
칩 제작 시점부터 프로그램 되어 있어 변경이 불가능 하다
예를 들어 부팅 코드 저장 메모리가 있다.
13
14. 연습문제
11. Memory의 주요 기능과 종류에 대해서 설명하라
Memory의 종류
• NOR Flash
주로 데이터를 저장하기 위한 용도로 사용
SRAM과 같이 random하게 데이터를 access 할 수 있다
반도체 집적하기에 불리하다
• NAND Flash
데이터를 저장하지 위한 용도로 사용
대용량의 블록단위로 acces하며 random하게 사용 불가능하다
반도체 집적에 유리하다
14
15. 연습문제
12. 메모리 access를 위한 throughput & latency를 줄이는
방법은 어떤 방법이 있는가
Multi-bit prefetch를 통해 cell 동작 속도의 제한에도 I/O 속도를
증가시킨다.
SDRAM controller를 이용한다
• Page hit / bank interleaving을 통해 latency를 줄인다.
Master와 bus system은 controller가 메모리를 효율적으로 사용할 수
있도록 설계되어야 한다.
• Caching, multiple outstanding, tiling…
15
16. 연습문제
13. Display에서 저전력 소모를 위한 방법에 대해서 설명하라
PSR (Panel Self Refresh)
• Display할 데이터를 전달하는 것을 줄이기 위해 panel에 메모리를 장착
• 인터페이스를 위한 eDP/LCD controller는 LCD상의 이미지가 변경될 때만 동작
Partial Display
• Display할 전체 영역 중 필요한 영역만 update하여 필요로 하는 데이터를 줄여
전력 소모 감소
• Display할 영역에 대한 정보를 전달하여 해당 부분만 update하도록 수행
• Home 화면에서 시간 부분만 update하는 경우에 많이 사용
16
17. 연습문제
14. System MMU의 기능에 대해서 설명하라
Memory Management CPU로, CPU가 메모리에 접근하는 것을 관리 및
가상 메모리 주소를 실제 메모리 주소로 변환
Cache를 관리하고 bus 중재 등의 역할을 담당한다.
간단한 8비트 아키텍처에서는 뱅크 스위칭을 담당하기도 한다.
17
모토로라 68010 마이크로프로세서와
함께 사용되었던 68451 MMU
18. 연습문제
15. USB에 대해서 설명하라
컴퓨터와 주변기기를 연결하는 표준
Pipe라고 불리는 logical channel로 연결
• Message pipe : 주로 짧고, 간단한 명령을 device에 보내거나, status response를 확인하
는 용도로 사용
• Stream pipe : Isochronous transfer, Interrupt transfer, Bulk transfe가 존재 (데이터 전송)
USB version
• USB 2.0
Speed : 480Mbps (Highspeed)
OTG (On-The-Go) : 두 개의 USB device가 host 없이 서로 통신하는 방법
• USB 3.0
USB 2.0과 호환
Speed : 5Gbps (Superspeed)
• USB 3.1
Speed : 10Gbps (Superspeed+)
18
19. 연습문제
16. PCIe에 대해서 설명하라
인텔의 주도하에 만들어진 serial 인터페이스
버스 throughput, 적은 I/O수, 적은 실장 면적 등을 지원
저전력 구현을 위한 ASPM (Active State Power Management) 지원
최근에는 하드웨어 I/O 가상화도 지원
PCIe 3.0이 현재 생산되는 확장 카드를 위한 최신 버전이며
주류 개인용 컴퓨터에 사용
19
20. ■17. 대표적 serial I/F인 SPI에 대해서 설명하라
기능
외부 디바이스와 연결하기 위한 Serial 통신
I2C와 비슷하게 널리 사용되지만 I2C 보다 빠른 속도를
지원
동작
Dataframe 을 initiate 하는 master device 로
master/slave mode 가 있음
Bus 구성
SCLK: Serial clock(master 출력)
MOSI : Master output, Slave Input (master 출력)
MISO : Master Input, Slave output(Slave 출력)
SS: Slave Select(master 출력)
20
21. ■18. DMA 의 기능과 주요 동작 모드에 대해서 설명하라
동작
메모리 주소를 생성하고 읽기와 쓰기를 동시에 수행하는 하드웨어 블록
DMA를 사용하지 않으면 CPU가 데이터를 이동시키는 동안 다른 작업을 수행할 수 없음
DMA를 사용하는 경우
CPU는 DMA 동작을 시작함
실제 데이터를 이동하는 동안 다른 작업을 수행
DMA는 동작이 완료되면 Interrupt를 발생시켜 CPU에 작업종료를 알림
동작모드
Burstmode
DMA가 버스 access 권한을 받으면 모든 데이터를 전송할때 까지 유지
전송 속도는 빠르지만, CPU가 해당 기간 동안 메모리 access 하지 못함
Cycle stealing mode
DMA는 매 데이터를 전달하고 버스 access 권한을 반환
전송속도는 느리지만 CPU가 해당 구간에 영향을 받지 앙ㄶ고 수행
Transparent mode
DMA 가 버스 access 권한을 받으면 CPU가 요청하지 않는 구간에는 계속 사용함
가장 효율적인 구조이지만 구현이 복잡함.
21
22. ■19. Interrupt controller의 용도와 동작에 대해서 설명하라
용도
IP에서 발생하는 인터럽트를 프로세서에 공급하는 역할
일부 interrupt controller는 우선순위를 정할수도 있음
동작
IP에서 발생한 인터럽트는 interrupt controller 로 전달
어떤 인터럽트를 프로세서에 전달할 것인자를 priority 에 의해 선택
Interrupt controller 는 발생된 인터럽트를 프로세서로 전달
프로세서는 interrupt controller 를 access 하여 인터럽트 소스 확인
인터럽트 소스에 해당하는 인터럽트 루틴을 수행하고 IP의 인터럽트 소스를 clear
22
23. 연습문제
20. AP의 reset 종류에 대해서 설명하라
Reset의 종류
Cold Reset
전원 공급 후 초기화 하기 위한 리셋
AP 뿐만 아니라 디스플레이를 포함한 디바이스 내의 모든 장치를 초기화
시간이 가장오래 걸리는 리셋과정
Warm Reset
전원이 인가되어 있는 상황에서 AP를 초기화 하기 위한 리셋
DRAM은 이전 상태를 유지하므로 리셋 이전의 상황을 확인할 수 있음
일반적으로 잘 사용되지 않으나 디버깅을 위해 주로 사용
시간이 cold reset 보다 상대적으로 짧게 걸림
Watch Dong Reset
하드웨어 또는 소프트웨어가 오동작 하는 경우 AP를 초기화 하기 위한 리셋
Cold reset 과 동일한 과정을 거치며, 하드웨어가 자동으로 초기화 한다는 점에
서 차이가 있음
Software Reset
소프트웨어가 하드웨어의 일부분을 초기화하고자 할 때 사용
23
24. 24
21. AP의 booting sequence에 대해서 설명하라
Power 가 공급되고 PMIC 가 AP 로 리셋(reset)신호를 가함
리셋후 내부 ARM core 는 내부의 ROM 을 access 하여 프로그램을 시작
내부 ROM은 외부 부팅디바이스를 Access 하기 위한 초기화 작업을 수행
이때, 외부에 연결된 booting 디바이스가 어떤 것인지도 외부 핀의 설정 등으로 자
동으로 구분하게 됨
외부 booting image 중 일부는 내부 SRAM 으로 이동
이동된 이미지를 이용하여 OS image 를 DRAM 등으로 이동
이미지의 이동은 직접 수행하거나 DMA(Direct Memory Access)를 통해 수행
25. 25
22. 저전력 설계 (power management)기법에 대해서 설명하라
Mobile 기기의 특성상 제한된 Battery 용량
사용자의 요구에 의해 긴 사간의 동작
저전력과 고성능 간의 trade-off 일반적으로 저전력 회로는 성능이 저하되는 경향이
있음
최적의 회로 성능을 얻기가 어려운 환경 Mobile 기기는 그 특성상 power saving 을
내포하고 있음.
대기모드와 최고 성능의 모드 간의 제어가 중요
26. 26
23. 저전력 기법으로 사용되는 DVFS(Dynamic Voltage Frequency scaling)에 대해
서 설명하라
DVFS(Dynamic Voltage Frequency scaling)
소모 전류는 동작 전압의 제곱과 동작 주파수에 비례
P = C(loading) * V2(voltage) * f(frequency)
이를 이용하여 동작 모드에 따라 주파수와 전압을 적절히 조절하여 전체 소모 전류
를 감소
IP 블록이 항상 최고 성능을 요구하지 않음
조그만 application의 경우 낮은 주파수에서 동작
낮은 전압에서 수행하는 경우 소모 전류를 줄일 수 있음.
DVFS 적용
DVFS 없는 경우 : t1 구간은 높은 전압으로 나머지는 낮은 전압으로 동작
DVFS 가 있는 경우: T2 전체를 적절한 전압으로 동작
동
27. 27
24. Thermal management를 해야 하는 이유에 대해 설명하라
기능 증가, 디스플레이크기 및 해상도 증가, 빠른 response 필요-> 고성능 필요
작은 크기의 제품, 인체에 직접 접촉->온도 solution
제안된 battery 크기-> 저전력 solution ㅣㄹ요
사용자 관점
고성능 기기의 외부 온도가 급격히 증가
신체 표면에 화상을 입힐 정도까지 높아짐
Hot skin Temperature
문제점
고성능 기기의 소모 전력 증가에 비해 기기의 heat dissipation이 제한적
이로 인하여 high skin temperature 유발
이를 해결할 방안이 필요
Thermal-aware design methodology
칩 셜계시 부터 온도를 고려하여 내부 배치
특히 hotspot 을 줄일 수 있도록 고려
모바일 기기의 열문제 많은 전력 소모: 고성능의 모바일 기기를 지원하기 위하여 많은 전력소모가 요구됨
적은 발열용량: 작은 패키지와 작은 모바일 기기의 크기로 인하여 열 방출 능력이 제한됨
발열 제어의 필요성
SoC device 가 over-heating 되는 것을 방지
모바일 기기가 안정적으로 동작할 수 있는 온도로 유지