mbbsemu:faq:performance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mbbsemu:faq:performance [2023/11/26 21:15] – enusbaum | mbbsemu:faq:performance [2023/11/27 15:23] (current) – enusbaum | ||
---|---|---|---|
Line 9: | Line 9: | ||
In summary, MBBSEmu' | In summary, MBBSEmu' | ||
+ | |||
+ | ===== MBBSEmu Performance Benchmark ===== | ||
+ | |||
+ | Within the MBBSEmu source code, a specialized benchmark tool has been developed to assess the core performance of the emulated CPU, located in the [[https:// | ||
+ | |||
+ | The core of this benchmark is a succinct and continuous loop, delineated as follows in the assembly code snippet ' | ||
+ | |||
+ | <file asm benchmark.asm> | ||
+ | reset: | ||
+ | MOV _word_ptr[0], | ||
+ | loop: | ||
+ | MOV AX, _word_ptr[0] | ||
+ | CMP AX, 0x7FFF | ||
+ | JE reset //If Equal, Reset memory value back to 1 | ||
+ | INC _word_ptr[0] | ||
+ | JMP loop //Continue the Loop | ||
+ | </ | ||
+ | |||
+ | This looping structure is selected for the benchmarking process due to its ability to engage various critical operations that are integral to CPU performance assessment: | ||
+ | |||
+ | - It involves both reading from and writing to registers. | ||
+ | - It executes memory read/write operations. | ||
+ | - The loop includes arithmetic operations, here exemplified by the CMP instruction, | ||
+ | - It incorporates both conditional (JE) and unconditional (JMP) jumps, allowing for a comprehensive examination of the CPU's ability to handle various control flow scenarios. | ||
+ | |||
+ | Through this compact yet effective loop, the benchmark provides a thorough evaluation of the CPU's capabilities in handling typical operations that would be encountered in a real-world emulation scenario. | ||
===== Performance Comparison Chart ===== | ===== Performance Comparison Chart ===== | ||
Line 18: | Line 44: | ||
| Intel Xeon E5-2680v4 (3.3Ghz) | 22.2 MIPS | 486DX @ 33Mhz | | | Intel Xeon E5-2680v4 (3.3Ghz) | 22.2 MIPS | 486DX @ 33Mhz | | ||
| Intel i7-10870H (4.2Ghz) | 33.4 MIPS | 486DX @ 50Mhz | | | Intel i7-10870H (4.2Ghz) | 33.4 MIPS | 486DX @ 50Mhz | | ||
+ | | Intel i9-9900k (4.6Ghz) | 39 MIPS | 486DX @ 66Mhz | | ||
| Apple M2 Pro (2Ghz) | 56 MIPS | 486DX2 @ 66Mhz | | | Apple M2 Pro (2Ghz) | 56 MIPS | 486DX2 @ 66Mhz | | ||
// | // | ||
mbbsemu/faq/performance.1701033328.txt · Last modified: 2023/11/26 21:15 by enusbaum