Rhyddhad cyntaf Blink, efelychydd x86-64 perfformiad uchel

Mae datganiad sylweddol cyntaf y prosiect Blink wedi'i gyhoeddi, gan ddatblygu efelychydd o broseswyr x86-64 sy'n eich galluogi i redeg cymwysiadau Linux a adeiladwyd yn statig ac yn ddeinamig mewn peiriant rhithwir gyda phrosesydd efelychiedig. Gyda Blink, gellir rhedeg rhaglenni Linux a luniwyd ar gyfer pensaernïaeth x86-64 ar systemau gweithredu eraill sy'n gydnaws â POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) ac ar offer gyda phensaernïaeth caledwedd eraill (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Mae cod y prosiect wedi'i ysgrifennu yn iaith C (ANSI C11) ac yn cael ei ddosbarthu o dan drwydded ISC. O'r dibyniaethau, dim ond libc (POSIX.1-2017) sydd ei angen.

O ran ymarferoldeb, mae Blink yn debyg i'r gorchymyn qemu-x86_64, ond mae'n wahanol i QEMU yn ei ddyluniad mwy cryno a chynnydd sylweddol mewn perfformiad. Er enghraifft, dim ond 221 KB y mae gweithredadwy Blink yn ei gymryd (gydag adeiladwaith wedi'i dynnu i lawr - 115 KB) yn lle 4 MB ar gyfer qemu-x86_64, ac mewn rhai profion, megis rhedeg yn efelychydd GCC a pherfformio gweithrediadau mathemategol, mae'n perfformio'n well QEMU erbyn tua dwy waith.

Er mwyn sicrhau perfformiad uchel, defnyddir casglwr JIT, sy'n trosi cyfarwyddiadau ffynhonnell ar y hedfan yn god peiriant ar gyfer y platfform targed. Mae'r efelychydd yn cefnogi lansiad uniongyrchol o ffeiliau gweithredadwy mewn fformatau ELF, PE (Portable Executables) a bin (gweithredadwy Fflat), wedi'u llunio gyda'r llyfrgelloedd C safonol Cosmopolitan, Glibc a Musl. Cefnogaeth adeiledig ar gyfer galwadau system 180 Linux ac efelychu tua 600 o gyfarwyddiadau prosesydd x86 yn cwmpasu i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED setiau cyfarwyddiadau a RDTSCP.

Yn ogystal, yn seiliedig ar Blink, mae'r cyfleustodau blinkenlights yn cael ei ddatblygu, sy'n darparu rhyngwyneb ar gyfer delweddu cynnydd gweithredu rhaglenni a dadansoddi cynnwys y cof. Gellir defnyddio'r cyfleustodau fel dadfygiwr sy'n cefnogi modd dadfygio gwrthdro ac sy'n eich galluogi i symud yn ôl yn yr hanes gweithredu a dychwelyd i bwynt a weithredwyd yn flaenorol. Datblygir y prosiect gan awdur datblygiadau o'r fath fel llyfrgell Cosmopolitan C, porthladd o fecanwaith ynysu addewid ar gyfer Linux a system ffeiliau gweithredadwy gyffredinol Redbean.

Rhyddhad cyntaf Blink, efelychydd x86-64 perfformiad uchel


Ffynhonnell: opennet.ru

Ychwanegu sylw