編譯器
編譯器的自動向量化所使用的指令種類,下列何者正確?
- A引發中斷的指令
- B同時處理多筆資料的SIMD指令
- C一次清除快取全部內容的指令
查看答案與解析
正確答案:B. 同時處理多筆資料的SIMD指令
自動向量化是一種最佳化,會找出對陣列的每個元素進行相同計算的迴圈,並替換為一次處理多個元素的SIMD指令。例如若是128位元的SIMD暫存器,可以同時將4個32位元的數相加,順利的話迴圈的運算次數可減為四分之一。其條件包括重複之間沒有相依、資料排列連續等,若可能有指標重疊,也會放棄向量化。這與中斷或快取操作的指令無關。
- A. 不會使用引發中斷的指令。
- B. 正確。以SIMD指令一次處理多個元素。
- C. 與清除快取的指令無關。