(spoc)阅读简化x86计算机模拟器的使用说明,理解基于简化x86计算机的汇编代码。
(spoc)了解race condition. 进入race-condition代码目录。
./x86.py -p loop.s -t 1 -i 100 -R dx
, 请问dx
的值是什么?./x86.py -p loop.s -t 2 -i 100 -a dx=3,dx=3 -R dx
, 请问dx
的值是什么?./x86.py -p loop.s -t 2 -i 3 -r -a dx=3,dx=3 -R dx
, 请问dx
的值是什么?./x86.py -p looping-race-nolock.s -t 1 -M 2000
, 请问变量x的值是什么?./x86.py -p looping-race-nolock.s -t 2 -a bx=3 -M 2000
, 请问变量x的值是什么?为何每个线程要循环3次?./x86.py -p looping-race-nolock.s -t 2 -M 2000 -i 4 -r -s 0
, 请问变量x的值是什么?./x86.py -p looping-race-nolock.s -t 2 -M 2000 -i 4 -r -s 1
, 请问变量x的值是什么?./x86.py -p looping-race-nolock.s -t 2 -M 2000 -i 4 -r -s 2
, 请问变量x的值是什么? ./x86.py -p looping-race-nolock.s -a bx=1 -t 2 -M 2000 -i 1
, 请问变量x的值是什么? (spoc) 了解software-based lock, hardware-based lock, software-hardware-lock代码目录
int CompareAndSwap(int ptr, int expected, int new) { int actual = ptr; if (actual == expected) *ptr = new; return actual; }
Fetch-And-Add
int FetchAndAdd(int ptr) { int old = ptr; *ptr = old + 1; return old; } ```