From: Alexey Tourbin <alexey.tourbin@gmail.com> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] Не проприетарные, а суверенные / Apple M1 (Was: I: gcc 11.2.1 && binutils 2.37) Date: Thu, 23 Sep 2021 12:20:59 +0300 Message-ID: <CA+qzenmpMKActxGqbhVgwSyaW+iEqCp9WCHVQNA3omN4L4dFGg@mail.gmail.com> (raw) In-Reply-To: <YUw8z7LPl9Lh3GiY@portlab> Кстати вышло описание процессора Apple M1. Там объясняется, как ему удается исполнять по 8 инструкций за такт. Боюсь что VLIW его не догонит. What most code looks like is that it consists of short chains of sequentially dependent macroinstructions (say 5 to 7 macroinstructions, 10 to 20 instructions long in total) which store their result to memory or a register, and that memory or register is not accessed until many (hundreds) of cycles later. This means that while each sequentially dependent macroinstruction has to execute one after the other, you can execute many of the chains in parallel... That sounds good but you need a variety of machinery to track which instructions are independent of previous instructions, and to track the program order of instructions so that as branches are resolved as correct, you know which of the instructions in program order now resolve as correct. (This fact is why so many people’s intuition about the value of superscalarity is so flawed. Most people hone their assembly optimization skills on long stretches of sequentially dependent instructions; but such code is actually unrepresentative of most of what runs on a CPU. This fact is also why OoO superscalarity works so well, whereas most attempts to create static wide machines have been problematic. All the pieces -- out of order, prediction, and superscalarity -- work synergistically. In particular most of these chains that are running in parallel come from different basic blocks [ie are separated by some sort of if() statement that the compiler can’t see past] and so are impossible to aggregate statically.) https://drive.google.com/file/d/1WrMYCZMnhsGP4o3H33ioAUKL_bjuJSPt/view
next prev parent reply other threads:[~2021-09-23 9:20 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-21 21:45 [devel] I: gcc 11.2.1 && binutils 2.37 Gleb Fotengauer-Malinovskiy 2021-09-23 8:17 ` Michael Shigorin 2021-09-23 8:37 ` [devel] NM: Проприетарные форки aka sisyphus_e2k (Was: I: gcc 11.2.1 && binutils 2.37) Vladimir D. Seleznev 2021-09-23 9:20 ` Alexey Tourbin [this message] 2021-09-27 10:46 ` [devel] sisyphus_e2k vs GPL Dmitry V. Levin 2021-09-27 10:57 ` Michael Shigorin 2021-09-27 11:00 ` Dmitry V. Levin 2021-09-27 11:19 ` Dmitry V. Levin 2021-09-27 11:38 ` Anton V. Boyarshinov 2021-09-27 11:31 ` Michael Shigorin 2021-09-27 11:42 ` Paul Wolneykien 2021-09-27 12:21 ` Илья Курдюков 2021-09-27 11:46 ` Anton V. Boyarshinov 2021-09-27 11:50 ` Michael Shigorin 2021-09-27 11:56 ` Anton V. Boyarshinov 2021-09-27 11:58 ` Anton Farygin 2021-09-27 12:04 ` Anton V. Boyarshinov 2021-09-27 12:35 ` Anton Farygin 2021-09-27 17:07 ` Dmitry V. Levin 2021-09-27 21:22 ` Andrey Savchenko 2021-09-27 22:47 ` Dmitry V. Levin 2021-09-27 23:13 ` Alexey Gladkov 2021-09-28 5:34 ` Anton Farygin 2021-09-27 23:21 ` Dmitry V. Levin 2021-09-28 8:29 ` Alexey V. Vissarionov 2021-09-28 10:22 ` Dmitry V. Levin 2021-09-28 8:11 ` Alexey V. Vissarionov 2021-09-27 21:26 ` Andrey Savchenko 2021-09-27 12:35 ` [devel] [OT] FARA (was: sisyphus_e2k vs GPL) Michael Shigorin 2021-09-27 12:42 ` Anton V. Boyarshinov 2021-09-27 12:34 ` [devel] sisyphus_e2k vs GPL Leonid Krivoshein 2021-09-23 17:33 ` [devel] I: gcc 11.2.1 && binutils 2.37 arbars 2021-09-24 3:32 ` Илья Курдюков 2021-09-24 5:48 ` Anton Farygin 2021-09-24 6:30 ` Илья Курдюков 2021-09-24 9:05 ` Konstantin Lepikhov 2021-09-24 12:06 ` Andrey Savchenko 2021-09-24 15:34 ` Dmitry V. Levin 2021-09-24 15:41 ` Илья Курдюков 2021-09-24 16:10 ` Dmitry V. Levin 2021-09-24 19:13 ` Anton Farygin 2021-09-24 20:35 ` Dmitry V. Levin 2021-09-24 17:15 ` Andrey Savchenko 2021-09-24 15:27 ` Dmitry V. Levin 2021-09-24 15:18 ` Dmitry V. Levin 2021-09-24 15:19 ` Anton Farygin 2021-09-24 17:04 ` Andrey Savchenko 2021-09-24 18:29 ` Dmitry V. Levin 2021-09-24 19:48 ` Andrey Savchenko 2021-09-24 20:20 ` Dmitry V. Levin 2021-09-24 20:47 ` Andrey Savchenko 2021-09-24 21:06 ` Anton Farygin 2021-09-24 22:19 ` Andrey Savchenko 2021-09-25 8:04 ` Anton Farygin 2021-09-25 11:21 ` Andrey Savchenko 2021-09-25 8:35 ` Anton Farygin 2021-09-24 12:13 ` Gleb Fotengauer-Malinovskiy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CA+qzenmpMKActxGqbhVgwSyaW+iEqCp9WCHVQNA3omN4L4dFGg@mail.gmail.com \ --to=alexey.tourbin@gmail.com \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git