看板 LinuxDev 關於我們 聯絡資訊
hi 以下是今天我面試所遇到的考題 來這裡請教一下大家: Q1:以下哪一段程式碼在arm plarform執行有較好的performance? 1.char fun (char a) { return a+1; } 2.short fun (short a) { return a+1; } 3.int fun (int a) { return a+1; } Q2:interrupt不能做甚麼 a.setup DMA control b.system call c.fetch device data d.record time e.trigger another I/O -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.35.138 ※ 編輯: apey 來自: 114.34.227.2 (06/13 23:23)
pico2k:Q1:3 Q2:e 06/13 23:41
askacis:Q1我也認為是3,32bit CPU下利用interger傳參數可以避免 06/14 00:02
askacis:還要浪費指令幫short 跟char補成32bit的時間... 06/14 00:05
keyword1983:3 e 06/14 23:48
inses:第二題的答案如果用嚴格的說法應該不只一個 06/16 00:38
iman00b:推樓上, 我也覺得不止一個~ 06/18 16:09
CriLit:我覺得是 Q1:3, Q2:b 06/28 12:20
CriLit:Q1應該是要多作 alignment 的動作 06/28 12:20
CriLit:Q2則是 system call 有可能會牽涉到睡覺 06/28 12:21
CriLit:Q2 的 a,c 感覺沒什麼問題, 這本來就是interrupt該做的 06/28 12:22
CriLit:d 的話用一般的 rdtsc 或是 tick 都是這樣做的 06/28 12:22
CriLit:e 的話 nested 也是有可能的 06/28 12:22
CriLit:相較起來 system call 有太多會休眠的動作了 06/28 12:23
askacis:tick也是timer中斷啊,其實我覺得Q2問法很奇怪... 06/29 00:56
askacis:也沒說中斷是SWI還是IRQ/FIQ之類的,很難回答XD 06/29 01:01