Hwang, R.-Y.R.-Y.HwangFEI-PEI LAI2020-04-162020-04-161994https://scholars.lib.ntu.edu.tw/handle/123456789/484471https://www.scopus.com/inward/record.uri?eid=2-s2.0-0028547574&doi=10.1049%2fip-cdt%3a19941519&partnerID=40&md5=9c1e6b504cbb341cd197bbff6e2c6541Exploiting loop parallelism is an important way to enhance system performance. For loop-carried dependence, the original DO loop is converted into a DOACROSS loop to function concurrently. In general, synchronization operations are inserted to maintain order dependence during parallel execution. For each processor in a shared memory multiprocessor, if the executing sequence is the same as the original source program, the action of synchronization operation is correct; however, if each processor is used out of order, such as in the superscalar machine, the action of synchronization operation may be incorrect. The synchronization marker insertion method proposed resolves this problem in two steps: (i) proper synchronization markers are appended into the array element of dependences, and (ii) synchronization markers are generated during intermediate code generation. Finally, algorithms are proposed to prevent error during instruction scheduling.Algorithms; Error analysis; Multiprocessing systems; Program compilers; Synchronization; Systems analysis; Data dependence; Guiding instruction scheduling; Shared memory multiprocessor; Superscalar based multiprocessor; Synchronization markers; Data handlingGuiding instruction scheduling with synchronization markers on a superscalar based multiprocessorjournal article10.1049/ip-cdt:199415192-s2.0-0028547574