<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Nick Ognev</title><generator>teletype.in</generator><description><![CDATA[Digital Creator from 🇷🇺
Pen-tester, WhiteHat, HSW Reverse-Engineer ]]></description><image><url>https://img1.teletype.in/files/80/bb/80bbfb5d-5ddf-4e55-8be1-d92eaf9f6aac.png</url><title>Nick Ognev</title><link>https://blog.nekkit.xyz/</link></image><link>https://blog.nekkit.xyz/?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/nekkitl?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/nekkitl?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Mon, 04 May 2026 11:50:12 GMT</pubDate><lastBuildDate>Mon, 04 May 2026 11:50:12 GMT</lastBuildDate><item><guid isPermaLink="true">https://blog.nekkit.xyz/CVE-2024-6769</guid><link>https://blog.nekkit.xyz/CVE-2024-6769?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/CVE-2024-6769?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>Очередной обход UAC в Windows: CVE-2024-6769</title><pubDate>Sat, 02 Nov 2024 19:53:57 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/29/b1/29b1dca6-2fa0-4aff-b772-f8e31b4c0a6b.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/7a/16/7a16e20e-4e45-4078-8b89-7d71d0abce91.jpeg"></img>В последние недели активно бурление об новой уязвимости, известная как CVE-2024-6769, которая позволяет злоумышленникам обходить механизм контроля учетных записей (UAC) в операционной системе Windows. Этот механизм был разработан для повышения безопасности, ограничивая права пользователей и требуя подтверждения для выполнения определенных действий. Однако новая уязвимость в очередной раз ставит под сомнение эффективность этого защитного механизма.]]></description><content:encoded><![CDATA[
  <figure id="h5mI" class="m_column">
    <img src="https://img4.teletype.in/files/7a/16/7a16e20e-4e45-4078-8b89-7d71d0abce91.jpeg" width="1280" />
  </figure>
  <h2 id="3Ssz">Что случилось?</h2>
  <p id="fo20">В последние недели активно бурление об новой уязвимости, известная как CVE-2024-6769, которая позволяет злоумышленникам обходить механизм контроля учетных записей (<em>UAC</em>) в операционной системе Windows. Этот механизм был разработан для повышения безопасности, ограничивая права пользователей и требуя подтверждения для выполнения определенных действий. Однако новая уязвимость в очередной раз ставит под сомнение эффективность этого защитного механизма.</p>
  <h2 id="qY1f">Механизм UAC и его значение?</h2>
  <p id="DqGb">Контроль учетных записей (<em>UAC</em>) был внедрен в Windows с целью защиты систем от несанкционированного доступа и выполнения вредоносного кода. При попытке выполнить действия, требующие повышенных привилегий, пользователю отображается запрос на подтверждение. Однако злоумышленники нашли способ использовать уровни целостности для обхода этого механизма, что позволяет им выполнять код с повышенными правами без ведома пользователя.</p>
  <h2 id="0Ftc">Метод атаки</h2>
  <p id="huZJ">Атака основана на манипуляциях с уровнями целостности, которые определяют, какие действия может выполнять пользователь. Злоумышленники могут использовать эту уязвимость для пересечения границ пользователей, что приводит к выполнению кода с привилегиями администратора. Это создает серьезные риски для безопасности систем, так как позволяет атакующим получать доступ к критически важным данным и ресурсам.</p>
  <p id="qjdl">Уязвимость <strong>CVE-2024-6769</strong> представляет собой цепочку атак, которая позволяет злоумышленникам повышать свои привилегии в системах Windows, используя два основных метода: перехват <code>DLL</code> и отравление кэша активации.</p>
  <h2 id="6N3a">Техническая реализация</h2>
  <ol id="bO8F">
    <li id="cbML"><strong>Перехват DLL:</strong><br />Злоумышленник использует функцию <code>NtCreateSymbolicLinkObject</code> для перенаправления корневого диска на контролируемую папку, например, с <code>C:\ </code>на <code>C:\users\public</code>. Это приводит к тому, что некоторые службы начинают загружать библиотеки из поддельной папки <code>system32</code>[<a href="https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2024-6769" target="_blank">1</a>][<a href="https://github.com/fortra/CVE-2024-6769" target="_blank">2</a>].</li>
    <li id="jn3A"><strong>Отравление кэша активации:</strong><br />Вторая стадия атаки включает использование механизма <strong>ALPC</strong> (<code>Advanced Local Procedure Call</code>) для взаимодействия с процессом <strong>CSRSS</strong> (<code>Client/Server Runtime Subsystem</code>). Атакующий может модифицировать кэш активации, что позволяет исполнять код с повышенными привилегиями без запроса UAC[<a href="https://github.com/fortra/CVE-2024-6769" target="_blank">2</a>][<a href="https://www.globalsecuritymag.fr/microsoft-vulnerability-cve-2024-6769-now-public-on-fortra-com.html" target="_blank">3</a>].</li>
  </ol>
  <p id="IYrU"></p>
  <h3 id="HQg9">Оценка Microsoft</h3>
  <p id="OTG2">Интересно, что Microsoft не классифицирует данное поведение как уязвимость. Это вызывает бурление разнообразных масс цвета детской неожиданности.</p>
  <p id="Odo2"></p>
  <hr />
  <p id="Vf4A" data-align="right"><em>Больше в <a href="http://t.me/devshitops" target="_blank">TG</a> (c) Nick Ognev</em></p>
  <p id="K8Ru"></p>
  <p id="4AEO"><br /><strong>Сноски:</strong></p>
  <ol id="wKCj">
    <li id="oMTl"><a href="https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2024-6769" target="_blank">CVE-2024-6769 | INCIBE-CERT </a></li>
    <li id="pIYu"><a href="https://github.com/fortra/CVE-2024-6769" target="_blank">fortra/CVE-2024-6769: Activation cache poisoning to ... - GitHub</a> </li>
    <li id="UhYZ"><a href="https://www.globalsecuritymag.fr/microsoft-vulnerability-cve-2024-6769-now-public-on-fortra-com.html" target="_blank">Microsoft Vulnerability CVE-2024-6769 Now Public on ...</a> </li>
    <li id="zHyU"><a href="https://www.coresecurity.com/core-labs/articles" target="_blank">CoreLabs Articles - Core Security</a> </li>
    <li id="fq7F"><a href="https://nvd.nist.gov/vuln/detail/CVE-2024-6729" target="_blank">CVE-2024-6729 Detail - NVD</a> </li>
    <li id="uJEp"><a href="https://nvd.nist.gov/vuln/detail/cve-2024-6769" target="_blank">CVE-2024-6769 Detail - NVD</a> </li>
    <li id="YKyB"><a href="https://www.darkreading.com/vulnerabilities-threats/exploit-chain-windows-uac-bypass" target="_blank">Novel Exploit Chain Enables Windows UAC Bypass - Dark Reading</a> </li>
    <li id="G36i"><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-6769" target="_blank">CVE-2024-6769 - CVE</a> </li>
  </ol>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.nekkit.xyz/unlock_youtube</guid><link>https://blog.nekkit.xyz/unlock_youtube?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/unlock_youtube?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>Создание конфига WARP для YouTube и Т.Д.</title><pubDate>Wed, 07 Aug 2024 20:13:46 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/65/02/6502a8e4-4afe-42ab-8db8-4626c261c29c.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/e6/30/e63093c6-b7c5-44bc-8506-e328c8539b0d.gif"></img>Для создания/получения конфига есть замечательный проект на Github. WGCF - это кроссплатформенный, неофициальный CLI для Cloudflare Warp.]]></description><content:encoded><![CDATA[
  <p id="3gZY">Для создания/получения конфига есть <a href="https://github.com/ViRb3/wgcf" target="_blank">замечательный проект</a> на Github. WGCF - это кроссплатформенный, неофициальный CLI для Cloudflare Warp.</p>
  <figure id="LWun" class="m_column" data-caption-align="center">
    <img src="https://img3.teletype.in/files/6e/36/6e36df53-bd98-4f1d-a827-aefa1dd4a272.png" width="1908" />
    <figcaption>&quot;wgcf&quot; на Github</figcaption>
  </figure>
  <p id="qiXl">Для начала посетим <a href="https://github.com/ViRb3/wgcf/releases/" target="_blank">страницу загрузки</a> и скачаем под свою платформу пре-компилированный исполняемый файл. В моём случае я возьму linux версию. <em>(Хоть и далее будут скрины с macOS - использование на всех платформах +- одинаковое)</em></p>
  <p id="Qgd0"></p>
  <p id="P2Sm">Для начала скачаем:</p>
  <pre id="6gp2" data-lang="shell">wget &quot;https://github.com/ViRb3/wgcf/releases/download/v2.2.19/wgcf_2.2.19_linux_amd64&quot;</pre>
  <p id="uatn">После сделаем скаченный файл исполняемым:</p>
  <pre id="9EuU" data-lang="shell">chmod +x wgcf_2.2.19_linux_amd64</pre>
  <p id="uec1">Проверим:</p>
  <pre id="I3yP">./wgcf_2.2.19_linux_amd64

wgcf is a utility for Cloudflare Warp that allows you to create
and manage accounts, assign license keys, and generate WireGuard profiles.
Made by Victor (@ViRb3).
Project website: https://github.com/ViRb3/wgcf

Usage:
  wgcf [flags]
  wgcf [command]
Available Commands:
  completion  Generate the autocompletion script for the specified shell
  generate    Generates a WireGuard profile from the current Cloudflare Warp account
  help        Help about any command
  register    Registers a new Cloudflare Warp device and creates a new account, preparing it for connection
  status      Prints the status of the current Cloudflare Warp device
  trace       Prints trace information about the current internet connection
  update      Updates the current Cloudflare Warp account, preparing it for connection
Flags:
  --config string   Configuration file (default &quot;wgcf-account.toml&quot;)
  -h, --help            help for wgcf
Use &quot;wgcf [command] --help&quot; for more information about a command.</pre>
  <p id="3cIk">Зарегистрируем аккаунт и <em>согласимся с соглашением</em> 😁</p>
  <figure id="S9lk" class="m_column" data-caption-align="center">
    <img src="https://img3.teletype.in/files/28/a6/28a6818e-a55b-4087-a6e1-4d4e754a7527.png" width="628" />
  </figure>
  <p id="Qh1g">Затем генерируем конфигурацию для подключения:</p>
  <pre id="eclA" data-lang="shell">./wgcf_2.2.19_linux_amd64 generate</pre>
  <p id="6Xb1">После должны получить строчку <code>Successfully generated WireGuard profile</code> и собственно сам файл конфигурации <code>wgcf-profile.conf.</code></p>
  <p id="PWep">Глянем в файл:</p>
  <pre id="UWlC" data-lang="makefile">[Interface]
PrivateKey = MyСrimeIsThatOfCuriosity [у Вас тут свой ключ]
Address = 172.16.0.2/32
Address = ThereIs:NoPlace:Like:1270:01/128 [у Вас тут свой ключ]
DNS = 1.1.1.1
MTU = 1280

[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408</pre>
  <p id="bwAj">Этот конфиг мы немного сразу отредактируем любым удобным способом на будущее:</p>
  <pre id="HHV0">[Interface]
PrivateKey = MyСrimeIsThatOfCuriosity [у Вас тут свой ключ]
Address = 172.16.0.2/32, ThereIs:NoPlace:Like:1270:01/128
DNS = 1.1.1.1, 1.0.0.1, 2001:4860:4860::8888, 2a02:6b8::feed:ff
MTU = 1280

[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0, 2000::/3
Endpoint = 162.159.193.5:2408</pre>
  <p id="Om9Y">Во-первых, мы привели конфигурацию к удобоваримому виду. Далее добавили IPv6 DNS, убрали Unicast адрес IPv6 (об этом позже). В целом этот конфиг уже можно использовать с обычным клиентом <a href="https://www.wireguard.com" target="_blank">WireGuard.</a></p>
  <p id="ikf2"><br /><br /><br /><br />___</p>
  <p id="OgtC"><em>Этот кусочек был вырван для моего ТГ из неопубликованной статьи.<br /><a href="https://t.me/devshitops" target="_blank">https://t.me/devshitops</a> - мой круглосуточный уголок shit-постинга на темы около DevSecOps, Reverse-Enginnering, NetDiscovery, DataMining. Ну и конечно же мемесы. Много мемесов.</em></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.nekkit.xyz/develnext-macos</guid><link>https://blog.nekkit.xyz/develnext-macos?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/develnext-macos?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>IDE DevelNext портирована на macOS Ventrura и новее.</title><pubDate>Mon, 31 Jul 2023 03:52:35 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/c4/8e/c48ef10b-8d24-4d99-88a4-68378b5a4d07.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/69/76/6976b8eb-0c2b-4a0a-8f70-84f3059b2901.jpeg"></img>Господа, немножко помучившись - получилось нормально завести и адаптировать IDE для работы в macOS.]]></description><content:encoded><![CDATA[
  <figure id="aAqW" class="m_original">
    <img src="https://img3.teletype.in/files/69/76/6976b8eb-0c2b-4a0a-8f70-84f3059b2901.jpeg" width="694" />
  </figure>
  <p id="9vIn">Господа, немножко помучившись - получилось нормально завести и адаптировать IDE для работы в macOS. </p>
  <p id="dbhq">DevelNext - это быстрая интегрированная среда разработки на стыке веба, jitPHP7.2 и Java. Разобрался - крайне легко, пару вечеров и по зубам будет почти любой интерфейс, еще пару вечеров - мощный инструмент для создания решения автоматизаций или же полноценных настольных приложений.</p>
  <p id="TdMB">Ну, что ж, поехали по изменениям:<br />- За основу была взята DevelNext 16.7.0.<br />- Для создания тяжелых проектов и нормальной работы с ними настроен аллакейт памяти. (8gb ОЗУ сейчас)<br />- Пересобраный JRE+JDK, для запуска мгновенно и на любом маке<br />- Частично обновлены библиотеки и в процессе написания бандл для работы с доком и туллбаром macOS.<br />- Вшиты плагины:</p>
  <ul id="Hq4D">
    <li id="AScC">AnimateFX 1.0.1</li>
    <li id="su5f">CompressoR 1.0</li>
    <li id="7iLN">ControlsFX 1.0.5</li>
    <li id="4LC0">DFFI 1.0.1</li>
    <li id="GL0w">ext4jphp-windows 1.5.8</li>
    <li id="yWfs">Graphics 1.0</li>
    <li id="iWQw">HTTP-SERVER 1.0</li>
    <li id="XzzQ">jURL 1.1</li>
    <li id="tQVd">Preg 0.2</li>
    <li id="BAdX">RichTextFX 1.0.0</li>
    <li id="pgA4">Semver 1.0</li>
    <li id="DLAV">SSH 1.0</li>
    <li id="L1va">Telegram Bot API 1.2</li>
    <li id="lnRm">Text Manipulator 1.0</li>
    <li id="Wz5h">Torrent 1.0.0</li>
    <li id="LZjh">Webcam 1.0.2</li>
    <li id="cBwl">WebSocket Client 1.1.6</li>
    <li id="Jjd4">windowsAPI 2.2</li>
    <li id="H60E">Yandex 0.2</li>
    <li id="qEWI">sadUI 0.9</li>
    <li id="JFaP">DarkThm 2</li>
  </ul>
  <p id="KQLd">Мог бы нормально и дальше расширять и развивать проект в свободное время, да вот jppm не подтягивает пакеты с офф сайта. Грустб, печаб.</p>
  <p id="k4eD">Оттестил на macpro7,1 и на MacBookPro15,1. [13.3.1 patch C]<br />По скольку код не подписан, запускаем через ctrl+click. (Или выключаем SIP).<br />Ну и конечно же личка открыта. Не факт, что сразу отвечу, но отвечу :)</p>
  <p id="AyCt"></p>
  <h2 id="kRHh">Если не запускается:</h2>
  <p id="MS68">Откройте терминал и вставьте туда:</p>
  <pre id="RSkD">sudo xattr -r -c /Applications/DevelNext.app</pre>
  <p id="ivcV">или же скачайте Java с официального сайта: <a href="https://www.java.com/ru/download/" target="_blank">https://www.java.com/ru/download/</a></p>
  <p id="CuDF"></p>
  <hr />
  <p id="z9MS"><a href="https://api.nekkit.xyz/u/DevelNext_16.7.1_0198.dmg" target="_blank">Скачать [обновленная, билд 0198]</a></p>
  <p id="AweW"><a href="https://api.nekkit.xyz/u/DevelNext_16.7.1_0196.dmg" target="_blank">Скачать [билд 0196] | </a><a href="https://www.virustotal.com/gui/file/2bf2822f7d5ecb54d9ee649cdbede8b446b949ec858023905e5c2a8bd7f8cfde/detection" target="_blank">Отчет VirusTotal</a></p>
  <p id="BZRG"></p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="58B5">Build 0198</h3>
    <ul id="R9wM">
      <li id="kqNa">Поправлен лаунчер </li>
      <li id="gmYQ">Поправил plist-файл и теперь система корректно отображает файлы IDE</li>
    </ul>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="i66S">Build 0196</h3>
    <ul id="R9wM">
      <li id="gUZS">Обновлен apache-ant для конечной сборки, обновлен launch4j, переписан SysJavaLess Launcher (Собственно лончер приложения) на GO, что облегчило моменты с окружением и инкапсуляцией. </li>
      <li id="7MCY">В коде оставлены заготовки под темную тему.</li>
    </ul>
  </section>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.nekkit.xyz/frogy</guid><link>https://blog.nekkit.xyz/frogy?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/frogy?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>[frogy]. Subdomain enumeration now on Mac.</title><pubDate>Sat, 01 Jul 2023 11:48:42 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/a3/16/a316364e-4a0e-4344-b947-91f646e7d35b.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/a0/89/a08953fd-2002-4394-99c6-f9ccf4bcfc90.png"></img>My goal is to create an open-source Attack Surface Management solution and make it capable to find all the IPs, domains, subdomains, live websites, login portals for one company.]]></description><content:encoded><![CDATA[
  <figure id="2buY" class="m_original">
    <img src="https://img3.teletype.in/files/a0/89/a08953fd-2002-4394-99c6-f9ccf4bcfc90.png" width="1000" />
    <figcaption>Made from 🇮🇳, forked by 🇷🇺 with ❤️</figcaption>
  </figure>
  <p id="DYMO">My goal is to create an open-source Attack Surface Management solution and make it capable to find all the IPs, domains, subdomains, live websites, login portals for one company.</p>
  <hr />
  <h3 id="why-was-the-project-forked">Why was the project forked?</h3>
  <p id="SMIC">Yo, I’m Nick, and I was disappointed by the lack of support for macOS.<br />We all know that many programs, for various reasons, can be built and run fine on the Mac. Basically, this project was released for Deb-based OS, but one night I rewrote and reworked the project for full Mac compatibility.</p>
  <hr />
  <h3 id="how-it-can-help-a-large-company-some-usecases">How it can help a large company (Some usecases):</h3>
  <ul id="Ufr7">
    <li id="nB6f"><strong>Vulnerability management team:</strong> Can use the result to feed into their known and unknown assets database to increase their vulnerability scanning coverage.</li>
    <li id="n1X5"><strong>Threat intel team:</strong> Can use the result to feed into their intel DB to prioritize proactive monitoring for critical assets.</li>
    <li id="0roY"><strong>Asset inventory team:</strong> Can use the result to keep their asset inventory database up-to-date by adding new unknown assets facing Internet and finding contact information for the assets inside your organization.</li>
    <li id="RGMy"><strong>SOC team:</strong> Can use the result to identify what all assets they are monitoring vs. not monitoring and then increase their coverage slowly.</li>
    <li id="9ukH"><strong>Patch management team:</strong> Many large organizations are unaware of their legacy, abandoned assets facing the Internet; they can utilize this result to identify what assets need to be taken offline if they are not being used.</li>
  </ul>
  <p id="NFfL">It has multiple use cases depending your organization’s processes and technology landscpae.</p>
  <h3 id="logic">Logic:</h3>
  <figure id="rjfs" class="m_column">
    <img src="https://user-images.githubusercontent.com/8291014/196818780-7335b67d-1fc2-4b19-9e46-0e7813fbd8ee.jpg" width="1201" />
  </figure>
  <h3 id="features">Features:</h3>
  <ul id="tixA">
    <li id="YfTK">🐸 Horizontal subdomain enumeration</li>
    <li id="h7Ga">🐸 Vertical subdomain enumeration</li>
    <li id="BFNJ">🐸 Resolving subdomains to IP</li>
    <li id="Wv1k">🐸 Identifying live web applications</li>
    <li id="1Ksp">🐸 Identifying all the contextual properties of the web application such as title, content lenght, server, IP, cname, etc. (through httpx tool)</li>
  </ul>
  <h3 id="installation">Installation:</h3>
  <pre id="p74c">git clone https://github.com/nekkitl/frogy.git &amp;&amp; cd frogy &amp;&amp; chmod +x install.sh &amp;&amp; bash install.sh
</pre>
  <h3 id="usage">Usage:</h3>
  <pre id="sHzg">./frogy.sh
</pre>
  <h2 id="demo">Demo:</h2>
  <figure id="8liN" class="m_column">
    <img src="https://user-images.githubusercontent.com/8291014/148625824-0760f6fe-6d8f-4217-85e7-1432388b1ee9.png" width="1526" />
  </figure>
  <h2 id="output">Output:</h2>
  <p id="nZsS">Output file will be saved inside the <code>output/&lt;company_name&gt;/outut.csv</code> folder. Where <code>company_name</code> is any company name which you give as an input to <code>Organization Name</code> at the start of the script.</p>
  <hr />
  <h4 id="a-very-warm-thanks-to-the-authors-of-the-tools-used-in-this-script">A very warm thanks to the authors of the tools used in this script.</h4>
  <p id="Dfly">Initial repo created - A few weeks back below date.</p>
  <ul id="ROrk">
    <li id="l2Ym">Date - 4 March 2019, Open-sourced</li>
    <li id="TmXa">Date - 19 March 2021, Major changes</li>
    <li id="69rm">Date - 30 July 2023, reworked for macOS</li>
  </ul>
  <p id="2GHD">Original logo credit - <a href="http://designevo.com/" target="_blank">www.designevo.com</a></p>
  <hr />
  <h4 id="additional">Additional:</h4>
  <p id="g29K"><code>nekkitl</code> a.k.a. <strong>Nick Ognev</strong>, 2023q3</p>
  <ul id="1O1R">
    <li id="EFcu">Read before all: <a href="https://nekkit.xyz/Disclaimer.html" target="_blank">Warning / Disclaimer</a></li>
    <li id="69px"><a href="https://me.nekkit.xyz/" target="_blank">Multilink</a> my to other media</li>
  </ul>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.nekkit.xyz/macfx_launch</guid><link>https://blog.nekkit.xyz/macfx_launch?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/macfx_launch?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>Запуск open-source аддона [macFX] для Fish-Shell</title><pubDate>Fri, 16 Jun 2023 05:27:57 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/42/6a/426a3a32-6494-492a-940c-04dad4821854.png"></media:content><category>fish-shell</category><description><![CDATA[<img src="https://img2.teletype.in/files/10/13/10136ed8-a1f8-4f60-a2d9-74e4a7adc44c.jpeg"></img>Этот проект содержит решения для устранения редких или странных проблем macOS самым простым способом.]]></description><content:encoded><![CDATA[
  <figure id="doZj" class="m_original">
    <img src="https://img2.teletype.in/files/10/13/10136ed8-a1f8-4f60-a2d9-74e4a7adc44c.jpeg" width="1000" />
    <figcaption>macfx realese promo picture.</figcaption>
  </figure>
  <p id="0g5K">Этот проект содержит решения для устранения редких или странных проблем macOS самым простым способом.</p>
  <p id="Ymjm">Этот проект полностью с открытым исходным кодом, и <strong>я просто хочу дать простые решения для сложных проблем.</strong> Любые Ваши исправления и дополнения будут проверены на безопасность и добавлены в проект.</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="l5WQ"><a href="https://github.com/nekkitl/macFX" target="_blank">GitHub проекта (клик)</a></p>
  </section>
  <hr />
  <h3 id="iORe">Библеотека решений:</h3>
  <pre id="Ugal">. macOS Fixer eXtention Library
├── Инструменты приложения:
│      ├──── discord - Показать ВСЕ устройства в приложении.
│      ├──── htop - Управление процессами с помощью sudo-user.
│      ├──── winex - Wine X launcher (требуется пропатченный Wine Crossover).
│      ├──── xattr - простое решение, если приложение не запускается по каким-то причинам.
│      └──── msf - Добавляет поддержку MSF в fish 3.*.
├──── Обновление функций:
│      └──── update
│             ├──── all - Обновить все
│             ├──── self - Обновить себя (macfx)
│             ├──── fish - Обновить fish и завершения через man
│             └──── locate - Обновление БД locate
├──── Управление услугами:
│      ├──── spell - служба SpellChk
│      ├──── airdrop - AirDrop через eth0 (при наличии Bluetooth)
│      └──── rdbug - перезапуск служб удаленного рабочего стола
└──── Системные инструменты:
    ├── rtcsnd - исправление RTC на системах хакинтош. [вырезано, в переработке]
    ├── tm - простой менеджер очистки TimeShift.
    ├── ip - получить публичный IP.
    ├── mathfix - исправление MKL Math для хакинтошных систем.
    ├── setenv - установить переменную Env.
    └── jenv - список и выбор среды Java.
</pre>
  <hr />
  <h3 id="rZr9">Установка</h3>
  <p id="rTsP">Просто скопируй и запусти в консоли. Вуаля.</p>
  <pre id="3OM7">curl https://api.nekkit.xyz/macfx/app &gt; ~/.config/fish/functions/macfx.fish &amp;&amp; source</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.nekkit.xyz/e2k_base_pt1</guid><link>https://blog.nekkit.xyz/e2k_base_pt1?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl</link><comments>https://blog.nekkit.xyz/e2k_base_pt1?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nekkitl#comments</comments><dc:creator>nekkitl</dc:creator><title>E2K: от истоков до нюансов Российской архитектуры [ч. 1]</title><pubDate>Thu, 15 Jun 2023 15:30:00 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/0e/e3/0ee3f9cc-0259-434c-8d74-d4562c9de241.png"></media:content><category>e2k</category><description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3e1/d37/715/3e1d37715c01895b3e034ea80e217edd.jpeg"></img>Эльбрус 2000 — это микропроцессорная архитектура, разработка которой началась в России в 1998 году. Процессоры на основе архитектуры Эльбрус 2000 сейчас используются в высокопроизводительных безотказных серверах и компьютерах, например, в решениях для банков, государственных учреждений и научных центров.]]></description><content:encoded><![CDATA[
  <figure id="yjB3" class="m_original">
    <img src="https://habrastorage.org/getpro/habr/upload_files/3e1/d37/715/3e1d37715c01895b3e034ea80e217edd.jpeg" width="807" />
    <figcaption>Материал собран из официальных документов, а так же личного опыта многих людей<br />и моих попыток поведать историю.</figcaption>
  </figure>
  <p id="cTsj"><strong>Эльбрус 2000</strong> — это микропроцессорная архитектура, разработка которой началась в России в 1998 году. Процессоры на основе архитектуры Эльбрус 2000 сейчас используются в высокопроизводительных безотказных серверах и компьютерах, например, в решениях для банков, государственных учреждений и научных центров.</p>
  <hr />
  <h2 id="77Sr">Предисловие</h2>
  <p id="nnew">В этой статье (или заметке?) я попробую обьяснить <strong>простым</strong> и <strong>понятным</strong> языком в чем «соль» этой архитектуры. Сразу оговорюсь, <strong>базовое понимание</strong> математики, информатики и принципов работы компьютера или телефона с которого читается статья — обязательна.</p>
  <p id="9X7W"><em>Статья разбита на части, пишу в свободное от работы и личных забот время. Эта творчество, скажем, пробник в первую очередь — себя. Если будет положительный фидбэк — то проба пера успешная:3</em></p>
  <figure id="y1E4" class="m_original">
    <img src="https://habrastorage.org/getpro/habr/upload_files/468/aaf/d19/468aafd19d3b4457a1aa3ac15dbb857f.jpeg" width="807" />
    <figcaption>Процессор, сгенерированный очередной моделью, силами<br />Эльбрус-8С на сервере ЯХОНТ-УВМ 312.</figcaption>
  </figure>
  <h2 id="Ucce">Историческая справка</h2>
  <p id="4bgd"><strong>Московский центральный научно‑исследовательский институт информатики и автоматизации (МЦСТ, первоначально Московский центр SPARC-технологий) был создан в 1992 году в результате реорганизации Московского научно‑производственного объединения «Электроника». Основной целью создания института было развитие отечественной вычислительной техники и программного обеспечения.</strong></p>
  <figure id="Hdw2" class="m_original">
    <img src="https://habrastorage.org/getpro/habr/upload_files/8da/6b5/f2d/8da6b5f2d177adf7b51a010cd638601f.jpg" />
  </figure>
  <p id="BKiQ">В свое время СССР добился достаточно серьезных достижений в создании компьютерной техники. Примером этому может служить серия советских суперкомпьютеров «Эльбрус», которые были созданы в Институте точной механики и вычислительной техники (ИТМиВТ) в 1970-1990-х годах прошлого века, это же название носит серия микропроцессоров и систем, созданных на их основе и выпускаемых сегодня ЗАО МЦСТ (Московский центр SPARC-технологий).</p>
  <p id="cvz8">При этом история «Эльбруса» достаточно обширна. Работы над первым компьютером с таким названием велись с 1973 по 1978 год в ИТМиВТ им. Лебедева, руководил этими работами Б. С. Бурцев, разработка велась при участии Бориса Бабаяна, который являлся одним из замов главного конструктора. В то время основным заказчиком данной продукции, конечно же, выступали военные.</p>
  <p id="yNBY">Первый компьютер «Эльбрус» обладал модульной архитектурой и мог включать в себя от 1 до 10 процессоров на базе схем средней интеграции. Быстродействие данной машины достигало 15 миллионов операций в секунду. Объем оперативной памяти, которая была общей для всех 10 процессоров, составлял до 2 в 20 степени машинных слов или, если применять принятые сейчас обозначения, 64 Мб. Однако самым интересным в «Эльбрусе-1» была именно его архитектура. Созданный в СССР суперкомпьютер стал первой в мире коммерческой ЭВМ, которая применяла суперскалярную архитектуру. Ее массовое применение за рубежом началось только в 90-х годах прошлого века с появлением на рынке доступных процессоров Intel Pentium.</p>
  <p id="4VcA">Позднее выяснилось, что подобные разработки существовали еще до «Эльбруса», ими занималась компания IBM, но работы по данным проектам не были завершены и так и не привели к созданию конечного коммерческого продукта. По словам В.С. Бурцева, являвшегося главным конструктором «Эльбруса», советские инженеры старались применять самый передовой опыт как отечественных, так и зарубежных разработчиков. На архитектуру компьютеров «Эльбрус» повлияли не только компьютеры компании Burroughs, но и разработки такой известной фирмы, как Hewlett—Packard, а также опыт разработчиков БЭСМ-6.</p>
  <figure id="4gnp" class="m_custom">
    <img src="https://habrastorage.org/r/w780/getpro/habr/upload_files/5d4/ae3/aed/5d4ae3aed9d265f9f2018138b389ed4e.jpg" width="640" />
  </figure>
  <p id="5cCO">После завершения работ над ЭВМ «Эльбрус-2» в ИТМиВТ взялись за разработку ЭВМ на базе принципиально новой процессорной архитектуры. Проект, который был назван достаточно просто – «Эльбрус-3», также значительно опередил аналогичные разработки на Западе. В «Эльбрусе-3» впервые был реализован подход, который Борис Бабаян называет «постсуперскалярным». Именно такой архитектурой в будущем обладали процессоры Intel Itanium, а также чипы компании Transmeta. Стоит отметить, что в СССР работы над данной технологией были начаты в 1986 году, а Intel, Transmeta и НР присупили к реализации работ в этом направлении лишь в середине 1990-х годов.</p>
  <p id="mXkF">К сожалению, «Эльбрус-3» так никогда и не был запущен в серийное производство. Его единственный работающий экземпляр был построен в 1994 году, но в это время он был никому не нужен. Логическим продолжением работ над данным компьютером стало появление процессора «Эльбрус-2000», известного также как Е2К. У российской компании имелись большие планы по серийному производству данного процессора, который должен был пойти в серию одновременно или даже еще раньше, чем Itanium. Но из-за отсутствия необходимого объема инвестиций, все данные планы не были реализованы и так и остались на бумаге.</p>
  <p id="uRqQ">Архитектура Эльбрус 2000 была создана в России в начале 2000-х годов. Проект разработки новой архитектуры был запущен в 1999 году в рамках программы &quot;Эльбрус&quot; Министерства промышленности, науки и технологий Российской Федерации.</p>
  <p id="WId2">Основной целью программы было создание отечественного высокопроизводительного процессора, который мог бы конкурировать с зарубежными аналогами. В рамках программы были разработаны несколько поколений процессоров, начиная с Эльбрус-1 и заканчивая Эльбрус-4.</p>
  <p id="zhaq">Однако основным достижением программы стала архитектура Эльбрус 2000, которая была представлена в 2002 году, в основе которой лежит подход VLIW. Эта архитектура была разработана с учетом современных требований к производительности и энергопотреблению, а также с учетом возможности выполнения параллельных вычислений.</p>
  <p id="Auso"></p>
  <figure id="2cyK" class="m_custom">
    <img src="https://habrastorage.org/r/w780/getpro/habr/upload_files/6b9/c79/d2f/6b9c79d2fd908034142fa307ec41de95.jpeg" width="807" />
    <figcaption>VLIW больше похоже на RISC, нежели на CISC, т.к., хоть команды и шире намного, чем даже в CISC, но у VLIW ширина команд фиксирована. К слову, Эльбрус – не единственный в мире, кто имел VLIW подход. Был ещё TILE64, MAJC, RAW, Transmeta, TMS320 и так далее...</figcaption>
  </figure>
  <p id="k8Q1">Архитектура Эльбрус 2000 была успешно протестирована на различных задачах, включая математические расчеты, обработку изображений и видео, а также на задачах, связанных с обработкой больших объемов данных.</p>
  <p id="Wlbw">Сегодня архитектура Эльбрус 2000 продолжает развиваться и улучшаться. На ее основе создаются новые процессоры, которые успешно используются в различных областях, включая научные и промышленные вычисления, обработку данных и телекоммуникации. А МЦСТ является одним из ведущих отечественных разработчиков компьютеров и программного обеспечения. Институт занимается разработкой вычислительных систем для различных областей применения, включая научные исследования, проектирование, финансы, государственное управление и т. д. Компьютеры МЦСТ используются во многих отечественных организациях и предприятиях, а также экспортируются за рубеж.</p>
  <hr />
  <h3 id="UWW3">Основные особенности</h3>
  <p id="sg1I">Начнем с основных особенностей архитектуры Эльбрус 2000:</p>
  <ol id="AXzJ">
    <li id="KPGz">Многопоточность — каждое ядро процессора может обрабатывать несколько потоков одновременно, что позволяет значительно увеличить производительность системы.</li>
    <li id="ERSv">Симметричная мультипроцессорность — архитектура поддерживает одновременную работу нескольких процессоров, что также способствует арифметическому увеличению производительности.</li>
    <li id="ipXH">Использование эффективных алгоритмов обработки данных, таких как алгоритмы сжатия данных и алгоритмы сортировки, параллельных вычислений, что позволяет ускорить выполнение задач. Например, определение ацикличных участков с дальнейшим разделением на суб‑процессинг, или же использование эффективных алгоритмов предварительного чтения данных из памяти, что снижает задержку при исполнии кода.</li>
    <li id="5e3e">Наличие защиты от ошибок и сбоев, что обеспечивает высокую надежность работы системы. А так же особый режим выполнения и матрицы доступа к памяти, который аппаратно исключает вмешательство в соседние страницы памяти ПО. (Вспомним со слезами о Meltdown и Spectra на x86-архитектуре и потере в среднем 15% производительности)</li>
    <li id="gZDy">Архитектура Эльбрус 2000 поддерживает ВСЕ операционные системы Linux и Windows, так как спокойно кушает 64-битные инструкции, а так же спокойно может переваривать ассемблер (двоичные инструкции процессора) Intel или AMD64 платформ. Lintel — более производительное решение, даже чем от Купертиновских конкурентов (Apple со своей Rosetta любого поколения.)</li>
  </ol>
  <p id="4nwO">Архитектура Эльбрус 2000 имеет ряд преимуществ перед другими архитектурами, такими как высокая производительность и надежность, но также имеет и недостатки, такие как ограниченная поддержка со стороны производителей программного обеспечения и высокая стоимость производства, а также (на момент написания) отсутствие локализации производства на территории РФ.</p>
  <p id="eyRy">Давайте начнем разбираться с описанными преимуществами и почему они таковыми являются.</p>
  <hr />
  <h3 id="ufpS">Мультипоточность</h3>
  <p id="epa8">Мультипоточность в процессорах Эльбрус - это возможность одновременного выполнения нескольких потоков инструкций на одном процессоре. Каждый поток может выполняться независимо от других потоков, что позволяет увеличить производительность и эффективность работы процессора.</p>
  <figure id="uPbH" class="m_custom">
    <img src="https://habrastorage.org/r/w780/getpro/habr/upload_files/462/f6b/43a/462f6b43abce4b33e5a1c9fe3d2af843.jpeg" width="759" />
    <figcaption><a href="https://m.vk.com/away.php?to=https%3A%2F%2Fwww.altlinux.org%2FImages.www.altlinux.org%2F9%2F97%2FE2k_internals.web.svg" target="_blank">https://www.altlinux.org/Images.www.altlinux.org/9/97/E2k_internals.web.svg</a></figcaption>
  </figure>
  <p id="zlBH">Процессоры Эльбрус поддерживают два типа мультипоточности: <strong>аппаратную</strong> и <strong>программную</strong>.</p>
  <h4 id="41iU">Аппаратная мультипоточность</h4>
  <p id="3Qrn">Аппаратная мультипоточность в процессорах Эльбрус реализуется с помощью технологии Hyper‑Threading. Она позволяет процессору выполнять два потока инструкций на каждом ядре, используя различные ресурсы процессора, такие как регистры и функциональные блоки.</p>
  <figure id="b0J2" class="m_custom">
    <img src="https://habrastorage.org/r/w780/getpro/habr/upload_files/96d/a72/8cb/96da728cb1fa7423ff9106bb93cb5b37.jpeg" width="807" />
    <figcaption>Hyper-Threading наглядно</figcaption>
  </figure>
  <p id="qa1g">Но тут я остановлюсь подробнее, так как с каждым годом всё больше и больше транзисторов задействуется в процессорах, но производителям постоянно приходится идти на ухищрения для роста производительности, т.к. больше параллелизма им со старым подходом не выжать. Поэтому в 2002-м году свет увидели процессоры Intel Pentium 4, которые первыми на потребительском рынке получили поддержку виртуальной многоядерности или многопоточности, которую назвали Intel <a href="https://m.vk.com/away.php?to=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2FHyper-threading" target="_blank"><u>Hyper‑Threading</u></a>. Суть этой технологии в том, что ядро физически у вас одно, но система его видит как 2 разных ядра, и ваши программы работают с одним ядром так, словно их 2.</p>
  <p id="KWxx">И, если ранее программы не могли задействовать все вычислительные возможности каждого из ядер процессора, то теперь они на каждом ядре старались задействовать больше ALU (до 2 раз больше).</p>
  <p id="GJ7c">2 виртуальных ядра делят между собой один и тот же набор арифметико‑логических устройств (АЛУ), один и тот же кэш, но разные регистры, тогда как в случае с двумя обычными ядрами у вас разделены для каждого из ядер и АЛУ, и кэш, и все регистры. За счёт того, что на АЛУ приходится больше параллельных команд (8 вместо 4 в случае с современным <a href="https://m.vk.com/away.php?to=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2F%D1%F3%EF%E5%F0%F1%EA%E0%EB%FF%F0%ED%EE%F1%F2%FC" target="_blank"><u>суперскалярным</u></a> подходом CISC процессоров), у вас удаётся загрузить одно ядро процессора в большей мере, и таким образом вы добиваетесь роста производительности в расчёте на каждое из ядер. Но по итогу, да, логические ядро, как правило, медленнее, чем физическое.</p>
  <h4 id="JrEw">Программная мультипоточность</h4>
  <p id="AZBa">Программная мультипоточность в процессорах Эльбрус реализуется с помощью технологии OpenMP. Она позволяет разделять задачи на несколько потоков, которые выполняются параллельно на разных ядрах процессора. Это позволяет ускорить выполнение задач, которые могут быть разделены на независимые подзадачи.</p>
  <p id="aB2X">Мультипоточность в процессорах Эльбрус позволяет увеличить производительность и эффективность работы процессора. Она позволяет выполнять несколько задач одновременно, что уменьшает время выполнения задач и увеличивает общую производительность системы.</p>
  <p id="y615">Кроме того, мультипоточность позволяет использовать ресурсы процессора более эффективно, что уменьшает нагрузку на систему и повышает ее стабильность и надежность.</p>
  <p id="Vfte">В целом, мультипоточность является важной технологией для повышения производительности и эффективности работы процессоров Эльбрус. Она позволяет использовать ресурсы процессора более эффективно и выполнять несколько задач одновременно, что делает систему более быстрой и стабильной.</p>
  <hr />
  <h3 id="P2tg">Симметричная мультипроцессорность</h3>
  <p id="dgug">Симметричная мультипроцессорность (SMP) — это архитектура компьютерной системы, в которой два или более процессоров работают параллельно и независимо друг от друга, обмениваясь данными через общую память. В этой архитектуре каждый процессор имеет доступ к общей памяти и периферийным устройствам, что позволяет им выполнять задачи более эффективно, чем в случае использования одного процессора.</p>
  <p id="0ft8">Симметричная мультипроцессорность позволяет распределять задачи между процессорами таким образом, чтобы каждый из них мог выполнять свою работу независимо друг от друга. Это позволяет увеличить производительность системы и сократить время выполнения задач, а также обеспечивает масштабируемость.</p>
  <p id="8E37">Архитектура Эльбрус 2000 представляет собой симметричную мультипроцессорную систему, которая имеет ряд преимуществ перед другими архитектурами.</p>
  <ol id="Ju8O">
    <li id="bW0r"><strong>Высокая производительность. </strong>Симметричная мультипроцессорность Эльбрус 2000 позволяет использовать несколько процессоров одновременно, что повышает производительность системы. Каждый процессор может выполнять свои задачи независимо друг от друга, что увеличивает скорость обработки данных и снижает время ожидания.</li>
    <li id="Pt2o"><strong>Гибкость системы </strong>Архитектура Эльбрус 2000 позволяет легко добавлять или удалять процессоры в системе в зависимости от потребностей пользователя. Это позволяет гибко настраивать систему под конкретные задачи и обеспечивает масштабируемость.</li>
    <li id="hDUK"><strong>Надежность. </strong>Симметричная мультипроцессорность Эльбрус 2000 обеспечивает высокую надежность системы. Если один из процессоров выходит из строя, остальные процессоры могут продолжать работу без проблем. Это позволяет избежать сбоев в работе системы и обеспечивает бесперебойную работу.</li>
    <li id="ecxR"><strong>Энергоэффективность. </strong>Архитектура Эльбрус 2000 потребляет меньше энергии, чем другие архитектуры. Это достигается за счет использования более эффективных алгоритмов обработки данных и оптимизации работы процессоров.</li>
    <li id="nrlH"><strong>Высокая безопасность. </strong>Симметричная мультипроцессорность Эльбрус 2000 обеспечивает высокую безопасность системы. Каждый процессор имеет свой собственный набор инструкций и операционную систему, что делает невозможным взлом системы через один процессор.</li>
  </ol>
  <p id="I8fd">Таким образом, симметричная мультипроцессорность архитектуры Эльбрус 2000 обеспечивает высокую производительность, гибкость, надежность, энергоэффективность и безопасность системы.</p>
  <hr />
  <h2 id="7TB4">Алгоритмы обработки данных</h2>
  <h4 id="uXbt">Prefetching и аппаратная асинхронная подгрузка данных (APB)</h4>
  <p id="Nw9F">Архитектура Эльбрус 2000 имеет ряд особенностей, которые позволяют эффективно обрабатывать данные. Одной из главных особенностей является наличие нескольких ядер процессора, которые могут работать параллельно. Это позволяет распараллеливать задачи и ускорять обработку данных, но что бы убрать ожидание данных для дальнейшей обработки — реализовано использование эффективных алгоритмов предварительного чтения данных из памяти, что в свою очередь снижает задержку при исполнии кода.</p>
  <p id="ddeY">Предварительное чтение данных из памяти (Prefetching) является одним из методов оптимизации производительности в архитектуре Эльбрус 2000. Он позволяет загрузить данные из памяти в кэш процессора заранее, до того, как они будут фактически использоваться в вычислениях. Это может существенно ускорить выполнение программы, так как время доступа к кэшу намного меньше, чем к памяти.</p>
  <p id="8Mq9">В Эльбрус 2000 предусмотрено несколько способов предварительного чтения данных.</p>
  <p id="czVp"><strong>Один из них</strong> — это использование инструкций PREFETCH. Эти инструкции позволяют загрузить данные из памяти в кэш процессора заранее, до того, как они будут фактически использоваться. Инструкции PREFETCH могут быть использованы как для чтения, так и для записи данных.</p>
  <p id="2FDv"><strong>Еще один способ</strong> предварительного чтения данных — это использование аппаратной поддержки предварительного чтения в кэше процессора, отдельный параллельно работающий модуль для подкачки данных, APB (Asynchronous Prefetch Buffer). В Эльбрус 2000 кэш оборудован специальным механизмом, который автоматически загружает данные из памяти в кэш заранее, если он обнаруживает, что эти данные скоро будут использоваться. Это происходит благодаря анализу обращений к данным и прогнозированию будущих обращений.</p>
  <p id="iXif">Предварительное чтение данных из памяти особенно полезно в случае работы с большими объемами данных или при обработке данных в циклах. Оно позволяет уменьшить время доступа к памяти и ускорить выполнение программы. Однако, необходимо учитывать, что неправильное использование предварительного чтения может привести к ухудшению производительности, так как может привести к загрузке ненужных данных в кэш. Поэтому, необходимо выбирать правильные параметры для инструкций PREFETCH и настраивать аппаратную поддержку предварительного чтения в соответствии с характеристиками программы и алгоритма.</p>
  <p id="bcvf">То есть Эльбрус чётко знает, с какими данными ему предстоит работать. Это ещё до того, как он с этими данными начал работу. Работает ли он с данными или же с указателем на данные, заранее известно из тэга, которым помечаются данные в регистрах. И эта информация также позволяет добиться более высокой защищённости. Есть ещё интересный момент с работой памяти. При работе с любым процессором у вас при выполнении цикла может процессор стопориться на большое количество тактов из‑за ожидания подгрузки данных для обработки.</p>
  <h4 id="DmNg">Single Instruction Multiple Data</h4>
  <p id="UIBL">Архитектура Эльбрус 2000 использует специальные инструкции <strong>SIMD</strong> (Single Instruction Multiple Data), которые позволяют выполнять одну операцию над несколькими данными одновременно. Это особенно полезно в задачах, связанных с обработкой графики, звука и видео.SIMD‑инструкции в Эльбрус 2000 реализуются через специальные регистры, называемые векторными регистрами. Каждый векторный регистр может содержать несколько элементов данных одного типа, например, 16 целых чисел или 8 чисел с плавающей точкой.Для выполнения операций над векторными регистрами в Эльбрус 2000 используются специальные команды, которые могут выполнять операции над всеми элементами векторного регистра одновременно. Например, команда ассемблера «ADDV» складывает все элементы двух векторных регистров и сохраняет результат в третий векторный регистр. <s>(Я прям чувствую как начали закипать мозги:D)</s></p>
  <p id="Pg0C">SIMD‑инструкции в Эльбрус 2000 могут быть использованы в различных областях, например:</p>
  <ul id="hQVl">
    <li id="6X74">Обработка графики и видео: SIMD‑инструкции позволяют быстро применять эффекты к видео и изображениям, например, изменять яркость и контрастность, применять фильтры и т. д.</li>
    <li id="LRkC">Обработка звука: SIMD‑инструкции могут быть использованы для обработки аудиосигналов, например, для уменьшения шума или изменения тональности.</li>
    <li id="Hlwm">Математические вычисления: SIMD‑инструкции позволяют быстро выполнять математические операции над большим количеством данных, например, для расчета физических моделей или статистических анализов.</li>
  </ul>
  <p id="DsAU">Использование SIMD‑инструкций позволяет значительно ускорить выполнение задач, связанных с обработкой больших объемов данных. В Эльбрус 2000 SIMD‑инструкции реализованы эффективно и позволяют достичь высокой производительности при работе с векторными данными.</p>
  <p id="u2pW">Также в архитектуре Эльбрус 2000 используется кэш‑память, которая позволяет ускорить доступ к данным. Кэш‑память хранит наиболее часто используемые данные, что позволяет уменьшить время доступа к ним. Смешно? Тогда вспомните, что огромное число процессоров до сих пор не умеют в L3-cache.</p>
  <p id="eKOu">В целом, архитектура Эльбрус 2000 имеет ряд особенностей, которые позволяют эффективно обрабатывать данные. Применение различных алгоритмов и использование SIMD инструкций и кэш‑памяти позволяет ускорить обработку данных и повысить производительность системы.</p>
  <h4 id="05bX">Текстовый процессинг</h4>
  <p id="JAGO">Архитектура Эльбрус 2000 предоставляет несколько алгоритмов для обработки текстовых данных, которые могут быть использованы в различных приложениях.</p>
  <p id="Vvz0">Один из таких алгоритмов — это алгоритм сжатия данных LZO (Lempel‑Ziv‑Oberhumer). Он используется для сжатия текстовых данных и может быть применен для уменьшения размера файлов или передачи данных по сети. Алгоритм LZO работает на основе словарного кодирования, когда повторяющиеся последовательности символов заменяются одним кодом. В Эльбрус 2000 реализована оптимизированная версия алгоритма LZO, которая позволяет достигать высокой скорости сжатия и декомпрессии.</p>
  <p id="IRNf">Еще один алгоритм для обработки текстовых данных — это алгоритм поиска подстроки в строке. Он может использоваться для поиска слов или фраз в тексте, а также для обработки запросов в поисковых системах. В Эльбрус 2000 реализована оптимизированная версия алгоритма Бойера‑Мура, который работает на основе сравнения символов справа налево.</p>
  <p id="Su3u">Также в Эльбрус 2000 реализованы алгоритмы сортировки данных, которые могут быть использованы для обработки текстовых данных. Например, алгоритм быстрой сортировки (QuickSort) может быть использован для сортировки больших массивов строк. В Эльбрус 2000 реализована оптимизированная версия алгоритма QuickSort, которая работает на основе разделения массива на подмассивы и их параллельной сортировки.</p>
  <p id="tmiI">В целом, архитектура Эльбрус 2000 предоставляет широкий набор алгоритмов для обработки текстовых данных, которые могут быть использованы в различных приложениях. Они отличаются высокой производительностью и оптимизацией под архитектуру процессора Эльбрус 2000.</p>
  <hr />
  <p id="YgEi">Продолжение следует…</p>
  <h3 id="McP8">Источники</h3>
  <ol id="ng3u">
    <li id="KTfp">PDF: <a href="https://m.vk.com/away.php?to=http%3A%2F%2Fwww.mcst.ru%2Ffiles%2F5ed39a%2Fdd0cd8%2F50506b%2F000000%2Felbrus_prog_2020" target="_blank"><u>Руководство по эффективному программированию на платформе «Эльбрус»</u></a></li>
    <li id="AqCe">PDF: <a href="https://m.vk.com/away.php?to=https%3A%2F%2Fikakprosto.ru%2Fwp-content%2Fuploads%2F2022%2F05%2Felbrus-8c1" target="_blank"><u>Кремнивые секреты</u></a></li>
    <li id="8xzU">Полезное: <a href="https://m.vk.com/away.php?to=https%3A%2F%2Feax.me%2Fassembler-basics%2F" target="_blank"><u>Шпаргалка по Assembler x86</u></a></li>
    <li id="5Hyf">Видео: <a href="https://m.vk.com/away.php?to=https%3A%2F%2Fwww.youtube.com%2Fembed%2F6SZZ7ASOR7s%3Fstart%3D833%26feature%3Doembed" target="_blank"><u>Архитектура процессора Эльбрус 2000 / Дмитрий Завалишин (Digital Zone)</u></a></li>
    <li id="fsav">История: <a href="http://webcache.googleusercontent.com/search?q=cache:i8qzjRydpKUJ:positron.ru/elbrus/istoriya-kompjuterov-elbrus" target="_blank">История компьютеров Эльбрус</a></li>
  </ol>

]]></content:encoded></item></channel></rss>