はてなキーワード: MMXとは
ので、unixbenchの結果を貼っておく。
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: thinkpad-x260: GNU/Linux
OS: GNU/Linux -- 5.4.0-45-generic -- #49-Ubuntu SMP Wed Aug 26 13:38:52 UTC 2020
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4999.9 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 1: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4999.9 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 2: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4999.9 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 3: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4999.9 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
21:26:57 up 1:01, 2 users, load average: 0.00, 0.00, 0.15; runlevel 2020-09-04
------------------------------------------------------------------------
Benchmark Run: Fri Sep 04 2020 21:26:57 - 21:55:00
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 38124852.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 6422.0 MWIPS (9.9 s, 7 samples)
Execl Throughput 4264.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 515046.2 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 140474.5 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1617517.8 KBps (30.0 s, 2 samples)
Pipe Throughput 697605.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 170352.7 lps (10.0 s, 7 samples)
Process Creation 10427.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9734.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2353.1 lpm (60.0 s, 2 samples)
System Call Overhead 398924.8 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 38124852.7 3266.9
Double-Precision Whetstone 55.0 6422.0 1167.6
Execl Throughput 43.0 4264.8 991.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 515046.2 1300.6
File Copy 256 bufsize 500 maxblocks 1655.0 140474.5 848.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 1617517.8 2788.8
Pipe Throughput 12440.0 697605.3 560.8
Pipe-based Context Switching 4000.0 170352.7 425.9
Process Creation 126.0 10427.0 827.5
Shell Scripts (1 concurrent) 42.4 9734.6 2295.9
Shell Scripts (8 concurrent) 6.0 2353.1 3921.8
System Call Overhead 15000.0 398924.8 265.9
========
System Benchmarks Index Score 1152.9
------------------------------------------------------------------------
Benchmark Run: Fri Sep 04 2020 21:55:00 - 22:23:04
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 103355568.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 22425.8 MWIPS (9.9 s, 7 samples)
Execl Throughput 10514.5 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 878593.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 237997.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2896282.9 KBps (30.0 s, 2 samples)
Pipe Throughput 1718493.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 381500.2 lps (10.0 s, 7 samples)
Process Creation 26280.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 18979.1 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2716.0 lpm (60.1 s, 2 samples)
System Call Overhead 951109.4 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 103355568.3 8856.5
Double-Precision Whetstone 55.0 22425.8 4077.4
Execl Throughput 43.0 10514.5 2445.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 878593.5 2218.7
File Copy 256 bufsize 500 maxblocks 1655.0 237997.4 1438.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 2896282.9 4993.6
Pipe Throughput 12440.0 1718493.4 1381.4
Pipe-based Context Switching 4000.0 381500.2 953.8
Process Creation 126.0 26280.8 2085.8
Shell Scripts (1 concurrent) 42.4 18979.1 4476.2
Shell Scripts (8 concurrent) 6.0 2716.0 4526.6
System Call Overhead 15000.0 951109.4 634.1
========
https://en.wikipedia.org/wiki/X86_assembly_language#Execution_modes
Real mode (16-bit)
Protected mode (16-bit and 32-bit)
Long mode (64-bit)
Virtual 8086 mode (16-bit)
System Management Mode (16-bit)
https://software.intel.com/en-us/articles/introduction-to-x64-assembly
General Architecture
Since the 64-bit registers allow access for many sizes and locations, we define a byte as 8 bits, a word as 16 bits, a double word as 32 bits, a quadword as 64 bits, and a double quadword as 128 bits. Intel stores bytes "little endian," meaning lower significant bytes are stored in lower memory addresses.
「私、プログラミング好きだよ」と言うプログラマに、好きな言語や開発ツールを聞いて「C/C++/C#」の名前があがってくるとげんなりする。心底がっかりする。C/C++/C#は俺も大好きだし、素晴らしい曲開発環境だと思うけども、臆面も無く低レベルプログラミング言語を挙げる人のほとんどが、それ以外の低レベルプログラミング言語を知らないんだもの。それどころか、IA-32の仕様書があることすら知らないし、興味が無い。せめて4004の基本構造くらい理解してから言ってもらえませんかね。
要するに「プログラミングを理解する知識の深い私」を演出するために、いちばんてっとり早くて優等生な回答なんですよね。C/C++/C#は。あと、アセンブリ言語や、機械語もこのカテゴリに入る。
確かにUnixを記述したC言語として鉄板なことは間違いないけど、本当にプログラミングが好きならもっとたくさんの名前が挙がってもいいと思う。もっと書けよ!インテル系以外も!最近のも!「C」「アセンブラ」「MMX」「SSE」「3DNow!」のコンボはもう飽きました。
1度だけ悲しきAdaという回答が返ってきて、土下座せんばかりに感動したことがあります。あ…この方、本当にプログラミングを趣味でやってるんだ…と思ったよ。
ごめんなさい、僕、嘘をつきました。