[3][34][多选]测试与设置指令Test&Set是解决互斥访问临界区的硬件方法。下列关于该指令功能的叙述中,哪些是正确的
测试 W 的值,若 W = 1,则返回重新测试
测试 W 的值,若 W = 0,置位 W = 1,进入临界区
退出临界区时,复位 W = 0
测试 W 的值,若 W = 1,则给 W 清零,并进入临界区
测试 W 的值,若 W = 0,则返回重新测试
答案
测试 W 的值,若 W = 1,则返回重新测试
测试 W 的值,若 W = 0,置位 W = 1,进入临界区
退出临界区时,复位 W = 0
解析
TS 指令实现互斥的基本思想是:测试某变量的值,若为 1,则重复执行本指令,不断重复测试变量的值;若为 0,则立即将该变量值置为 1,进入临界区;TS 指令是一条完整的指令,而在一条指令的执行中间是不会被中断的,保证了读的测试和修改的连续性;退出临界区时,将该变量测试值复位为 0。故本题答案选择测试 W 的值,若 W = 1,则返回重新测试、测试 W 的值,若 W = 0,置位 W = 1,进入临界区、退出临界区时,复位 W = 0 选项。涉及考点为第 4 章 并发与同步。
转载请注明出处。