ALT Linux Team development discussions
 help / color / mirror / Atom feed
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


  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