Как стать автором
Обновить
13
-0.6

Пользователь

Отправить сообщение
Нет, кэш на процессоре отключался «на лету» специальной утилитой. Правда бывали проблемы на каких-то процессорах (если память не изменяет на части Intel-ов) и они вешались после отключения кэша.
Для того чтоб поиграться в такие «неправильные» игры приходилось отключать кэш на проце, а иногда и на материнке
EDO работал на SIS486/497, причем фишкой этого чипсета было то, что кэш второго уровня работал со всем объемом установленной оперативной памяти. Ну и конечно поддержка 5х86-133 (с разгоном до 160мгц)
И PnP ESS-ки на нем работали без проблем, главное инициализировать её ESSCFG при старте.
Ставка принята, 15 уе в банк на то что задержка старта у SpaceX будет не более недели, и старт состоится не позднее 23:59:59 3 июня по UTC.
Кто нибудь еще готов рискнуть и сделать свою ставку на время старта SpaceX?
Кстати можно делать ставки на успех миссии: что миссия будет неуспешной, частично успешной, полностью успешной. Делайте ставки!
По Боингу тотализатор можно будет устроить когда он назовет дату запуска Старлайнера.
Ставка принята, 20 уе в банк, старт не позднее 2-го июня 2020 года.
Кто нибудь еще готов рискнуть и сделать свою ставку на время старта SpaceX?
Как вариант имеет право на жизнь, кстати наиболее перспективный вариант реализации платья-хамелеона;)
А для такого применения e-ink должен быть таким дорогим?
Элемент может быть с размером с целую пайетку, DPI быть нулевым, а устройство сверхпростым, два прозрачных пластиковых лепестка, два электрода на противоположных концах, и капсулы изменяющие под воздействием электрического поля ориентацию, изменяя цвет или поляризацию света.
Только гибкий (дешевый) e-ink, тут плотность элементов не важна. В крайнем случае вся пайетка это один элемент. Плюс сразу нужно при изготовлении ткани платья вплетать в него питающие и управляющие нити пайеток. Ну и в идеале, это должна быть нить состоящая из крошечных e-ink управляемых и питаемых по одной линии. Тогда все проблемы сместятся на уровень интерфейсов подключения (управления и питания).
«И все таки убийца — это дворецкий!»
Большое спасибо, за заключительную часть этого технотриллера, с кровавыми чудесными расчленёнками подробностями!
Сделаем ставки на сколько недель, месяцев съедут пуски у SpaceX и Boeing?
Сеть на COM портах видел и пользовался, и применялась она не как средство связи игр которые могли соединятся между собой (в те времена их было в очень немного), а как средство организации общего совместного доступа к файлам/принтерам за небольшие деньги.
Нет, тут 65CE02 это старый добрый восьмиразрядный MOS6502, исправленный, перепланированный, конвейером, с блэкджеком, и девушками легкого поведения, накачанный стероидами (в хорошем смысле этого слова). Появись он на 7-8 лет раньше пейзаж рынка ПК был-бы совсем иным.
А 8088 это 8086, 16-ти разрядный процессор с 8-ми битной внешней шиной данных и уменьшенным конвейером очереди команд.
О том и речь, что COM и LPT были везде, а у когото их на ПК было больше одного свободного, и тогда возникали «экзотические» варианты. И через LPT файлы копировались быстрее и надежнее чем через дискетку
Что экзотичного? Наверное организация работы программ (игр) которое не поддерживало связь через COM/LPT порты, а ожидало наличие сетевого оборудования.
README for the Pipx TEST DRIVE Release
1. Program Release Information

This documentation accompanies TEST DRIVE release of Pipx, an ODI workstation driver which provides convenient parallel port networking for Netware Lite and other ODI-capable network software. Pipx will also support NDIS software, such as Windows for Workgroups, through the ODINSUP shim, with some limitations.

Pipx brings the extreme convenience and simplicity of parallel port networking to the ODI environment. Pipx is part of family of parallel port networking drivers; version for NDIS and Packet Driver interfaces will be released in the near future.

Pipx is different from other parallel port connectivity products:

— it allows you to use first-class networking software
— it allows integrated networking with Ethernet and Token Ring
— it supports all types of ports and four types of cables
— it offers low-end or high-end performance choices
Не стареющая классика демосцены, великолепно выглядит снаружи, а внутри всё ещё интереснее.
Было проще использовать, настроить, вплоть до совсем экзотичных вариантов без сетевых карт, используя COM и LPT порты подняв на них IPX. Насколько я помню, максимальное количество машин в такой «сети» достигало четырех. :) Но я лично использовал не более двух, и только по модному LPT кабелю (55-75кб/с).
Спасибо! Надо в копилку «житейских» хитростей сохранить ;)
Спасибо за перевод, почитаем «Руководство пользователя Starship'а» :)
Написанное не совсем верно. Да, сложные инструкции разбиваются, но их нельзя назвать RISC-овыми. Это просто микрооперации. CISC-овые load-op не разбиваются, а остаются одним МОП-ом.

LOAD-OP инструкции это один из признаков CISC.(1)

Вот в этой лекции "Исполнение процессорами инструкций x86 и x64 (Лекция)" подробно рассказывается про то как кодовый поток х86 разбивается на МОПы, и что делается чтоб процессор не захлёбывался на оборотах.
«Кэш инструкций в процессоре P-4 очень сильно отличается от I-кэша в процессоре классической архитектуры. В нём преобразование исходных x86-инструкций в МОПы производится перед кэшем, а в кэш помещаются целые трассы, составленные из этих МОПов. Поэтому такой кэш в процессоре P-4 называется «кэш трасс»»
Кусок из части Исполнение инструкций
Большинство процессоров обрабатывают и исполняют инструкции архитектуры x86 (называемой также IA-32) и расширенной архитектуры x86-64 (называемой также AMD64 либо EM64T). Принципиальных различий по структуре машинной инструкции между архитектурами x86 и x86-64 нет, поэтому по тексту будем везде использовать общее наименование «x86-инструкции». Эти инструкции имеют очень сложный и нерегулярный формат и могут состоять из нескольких составных частей: одного или нескольких однобайтных префиксов, кода операции длиной от 1 до 3 байтов, описателя типа адресации операндов (ModR/M), указателя регистров базы, индекса и масштаба индексирования (SIB), поля смещения адреса и непосредственного операнда. Длина x86-инструкции может варьироваться от 1 до 15 байтов.
Для суперскалярной обработки необходимо в каждом такте извлекать из входного потока несколько инструкций переменной длины и отправлять каждую из них в отдельный блок декодирования для преобразования в микрооперации (МОПы). Эта задача представляется очень трудоёмкой, поэтому необходимо применение специальных средств, которые позволили бы её облегчить. В разных процессорах x86 используются различные приёмы и механизмы, обеспечивающие бесперебойную обработку инструкций. Лишь для процессора PPC970 не требуется никаких ухищрений, так как в RISC-архитектуре IBM Power машинные инструкции имеют фиксированную длину (4 байта) и регулярный формат. По типу используемых механизмов рассматриваемые процессоры можно разбить на четыре класса:
PPC970: Не используется никакой механизм, так как инструкции имеют фиксированную длину и формат.
P-III, P8: После выборки из I-кэша производится разметка инструкций (определение их границ и положения кода операции) в устройстве, называемом определителем длины инструкций (Instruction Length Decoder, ILD).
K8: Перед помещением блоков инструкций в I-кэш производится предварительное декодирование (предекодирование) с аналогичной разметкой, информация о разметке записывается в дополнительные биты при каждом байте в I-кэше.
P-4: Перед помещением в кэш производится полное декодирование инструкций, сформированные МОПы записываются в этот кэш (Т-кэш) в виде трасс.
Ниже будет для примера рассмотрен процесс исполнения инструкций только для архитектуры P-III и P-8. Более подробно об исполнении инструкций процессорами другой архитектуры можно узнать из статьи, ссылка на которую сделана в конце лекции.
Процессоры Intel Pentium III, Pentium M и Core Duo
В процессорах семейства P6 инструкции считываются из I-кэша выровненными блоками по 16 байтов за такт. Выборка производится с опережением – у процессора есть два буфера, в которые помещаются два последних считанных блока. На вход подсистемы декодирования в каждом такте передаётся порция байтов, начинающаяся с того места, где была прекращена обработка в предыдущем такте. Длина этой порции ограничена также 16 байтами. Порция байтов поступает на вход определителя длины инструкций (ILD), который производит её разметку – нахождение границ и положения кода операции в каждой x86-инструкции.
Определитель длины инструкций должен быть обязательно реализован неконвейерным образом, с временем работы 1 такт – так как в следующем такте надо будет размечать новую порцию, начинающуюся после последней инструкции, размеченной в данном такте. Определитель содержит 16 одинаковых устройств, построенных на основе программируемых логических матриц (PLA). На вход каждого такого устройства подаётся фрагмент кода длиной 4 байта, начинающийся с одного из 16 байтов в обрабатываемой порции. Устройство (PLA) представляет собой примитивный декодер, который предполагает, что данный фрагмент является началом x86-инструкции (без префиксов), и пытается определить её длину. Кроме того, это устройство анализирует первый байт в фрагменте и определяет, не может ли он являться префиксом.
Результаты работы всех таких устройств собираются воедино с помощью цепочки схем быстрого переноса. По существу, эти схемы последовательно выстраивают список инструкций на основе данных о длинах и признаках наличия префиксов, начиная с первой инструкции в обрабатываемой порции байтов. По результатам этого выстраивания в специальных массивах делаются пометки о позициях кода операции и последнего байта в каждой инструкции. Эта информация используется в последующем такте для извлечения инструкций из буфера и передачи их на вход трёх каналов декодера.
В некоторых случаях определитель длины инструкций не может произвести разметку за один такт. Например, если встречается префикс, меняющий длину непосредственного операнда или смещения адреса в инструкции с 16 бит на 32 бита, либо наоборот, определитель переходит в «медленный» режим, размечая по 4 байта за такт. Однако такие случаи не часты и по существу представляют собой нарушение правил программирования. Кроме того, разметка замедляется, если в какой-то инструкции встречается два или более префиксов – в этом случае обработка каждого дополнительного префикса занимает один такт. На практике эта ситуация также очень редка.
После разметки три выделенные x86-инструкции передаются в основной декодер – точнее, в три параллельно работающих канала декодирования. Эти три канала не являются полностью симметричными – только первый из них может обработать любую инструкцию, а оставшиеся два имеют ограничения: инструкция должна иметь длину до 8 байтов и порождать только один МОП. У первого канала декодирования таких ограничений нет – он может породить до 4 МОПов в одном такте, параллельно с работой двух других каналов. Для обработки самых сложных инструкций (более 4 МОПов) требуются дополнительные такты, и в этом случае обработка ведётся последовательно.
Таким образом, схему работы декодера в процессоре P-III можно обозначить как «4-1-1 / >4»: он может обрабатывать в одном такте, либо три инструкции, порождающие до 6 МОПов (4+1+1), либо одну, порождающую более 4 МОПов. Порождаемые МОПы накапливаются в небольшой очереди перед отправкой (группами по три) в последующие тракты процессора. Схема «4-1-1» накладывает определённые ограничения на оптимальное размещение x86-инструкций в коде: сложные инструкции (в частности, инструкции типа Load-Op) должны чередоваться с простыми, а не следовать подряд друг за другом. Впрочем, даже при плотном размещении нескольких сложных инструкций всё равно в каждом такте будет порождаться как минимум 2 МОПа, а очередь МОПов после декодера позволит сглаживать возникающие неравномерности.
В процессоре P-III при декодировании инструкций загрузки из памяти с последующим исполнением (Load-Op) порождаются отдельные МОПы для загрузки и для выполнения. Аналогично, для инструкций выгрузки в память также порождаются два отдельных МОПа: для вычисления адреса, и для осуществления записи. В обоих случаях два МОПа обслуживаются в последующих трактах процессора по отдельности и занимают его ресурсы. Из-за частой встречаемости инструкций, содержащих загрузку из памяти и выгрузку в память, среднее число МОПов на одну x86-инструкцию может находиться в диапазоне от 1.3 до 1.5.
Начиная с процессора P-M, в декодере реализован механизм «слияния микроопераций» (micro-ops fusion), когда порождается единый МОП, содержащий два элементарных действия. Разделение на эти элементарные действия происходит при запуске МОПа на исполнение. Механизм слияния микроопераций похож на аналогичный механизм в процессорах AMD K7/K8. Этот механизм экономит ресурсы буферов и увеличивает эффективную пропускную способность трактов процессора. Благодаря такому механизму среднее число МОПов на одну x86-инструкцию значительно снижается и становится близким к единице. Кроме того, инструкции Load-Op могут теперь обрабатываться во всех трёх каналах декодера, что, практически, сводит на нет недостатки несимметричной схемы «4-1-1».

SIMD опять же никак не влияет на RISC-овость.
Набор инструкций увеличился и стал сложнее, команды явно не за один такт выполняются и это не оказывает влияние на конвергенцию с CISC?
А у CELL SPU — чистейшего RISC, как из книжки, вообще нет скалярной части.
Так у него (ядра на архитектуре POWER) сопроцессоров как у дурака фантиков. Правда разработчики игр на PS3 от такого богатства выбора тихо выли и готовы были стреляться, но «проблемы индейцев шерифа не волнуют». Так что мощный числогрыз, но нишевый.
Какое это имеет значение? Хоть на транзисторах реализуй — RISC отстанется RISC-ом.
Поскольку обсуждаются микропроцессоры (реализованные на одном чипе). А нам трааамзисторах тоже можно реализовать (на МП42), только в лучшем случае это будет калькулятор с системой команд RISC.
Кэш никак не связан с CISC/RISC подходом.
С RISC-ом кэш связан тем что он впервые смог поместится рядом с процессором, и мог работать с процессором в унисон, а не по заявке «когда там шина освободится, тогда байтики и поедут, а пока процессор сиди и жди пока флаг MRDY на шине не поднимется». А почему кэш на кристалл поместился? Возьмем к примеру кристалл 386 375000 транзисторов и процессор ARM2 — 27000 транзисторов. Если его разместить на кристалле 386 у нас останется незадействованными 348000 транзисторов. Много это или мало? Посчитаем для статической памяти и для динамической. Статическая ячейка памяти на один бит 6 транзисторов что дает нам 58000 бит или 7250 байт. Затратно? Затратно — но очень быстро и без задержек. На динамической все немного проще: 3 транзистора и конденсатор — 116000 бит или 14500 байт. Медленнее чем статика, но быстрее чем далекая память на шине. Надеюсь так я смог вам на пальцах объяснить как RISC приблизил кэш к процессору и объединился с ним на одном кристалле.
Пока что я вижу у вас непонимание смысла и признаков RISC.
RISC — reduced INSTRUCTION SET architecture.
EXTENDED (MIPS/Sparc/RISC-V нужное подчеркнуть) reduced instruction set computer — Расширенный Сокращенный набор инструкций компьютера, немного как оксюморон звучит, не находите? ;)
Микроархитектура — это блэкбокс. Она действует по правилам, прописанным Архитектурой.
Блин, а я о чем говорю уже сколько времени? Для упрощения можно считать что I9-9990XE это все тот же 8086 из 1978 года с небольшими ограничениями, просто работающий 5 гигагерц вместо 5 мегагерц. Просто они оба следуют ISA x86.
Статьи, которые вы цитируете, я давно прочитал.
Но возможно я освежил ив в вашей памяти, плюс подсказал вам о RISC ядре у AMD K5.
Можно документ от Интел увидеть?
Постараюсь найти, но у меня такое чувство что Intelпосле определенного времени стал документацию выдавать только под NDA. Так может Интел и попросим поделиться с нами?
В вики кто только не пишет (как и статьи для неспециалистов на популярных сайтах).
Так сделайте мир чище, поправьте википедию, напишите статьи для неспециалистов.
Отнюдь. Мир не ограничивается одними только высокопроизводительными процессорами.
А я такого нигде не утверждал, вон Zilog Z80 на куче SoC крутится, руководя более мощными специализированными процессорами.
Сходство микроархитектур не влияет на архитектуру, потому что микроархитектура лишь средство повышения производительности.
Я цитировал эту фразу, процитирую её еще раз "RISC это не технология, RISC это стратегия дизайна. Когда то RISC был бунтом против норм, сейчас он — норма". А поскольку RISC это стратегия дизайна то она может быть приложена к любой технологии.
Поспешил.
Бывает, ни каких проблем.
Имел в виду что-то типа:
Микроархитектура — физическая реализация Архитектуры, даёт возможность повышения производительности теми или иными методами, но всё это происходит в рамках Архитектуры.

Вот проплывает облако, похоже на слона. Но это не делает его слоном.
Не совсем правильная ассоциация, правильная будет такая: вот акула, целакант, дельфин и касатка, выглядят они похоже, но происхождение у них разное, кто то всегда был морским жителем, чьи-то родственники вышли на сушу, но через огромный период времени их потомки вернулись в океан. За счет одинаковых условий стратегия развития у них была одна и та же. Поэтому и внешний вид у них похожий.
Так и с «RISC-like» микрооперациями.
В P6 они действительно похожи на RISC, поэтому выражение RISC-like микрооперации можно использовать для объяснения сути (для людей, поверхностно знакомых с этими понятиями), а вот утверждать что у него RISC-ядро — нельзя.
Выше я уже приводил ссылку на лекцию, в которой прямо говориться о предварительном декодировании х86 команд в МОП, что МОПы загружаются в независимые конвейеры МОП, что МОПы реорганизуются в этих очередях, что регистры с которыми работают МОПы переименовываются, плюс с Р4 кэш команд заполняется именно МОПми, а не кодами х86. Разве этого мало чтоб назвать все это highly likely RISC-alike?
Именно. Это не верное утверждение.
RISC-V = ортодоксальный RISC (по крайней мере RV64IMAC).

Ну в RV64IMAC как минимум есть следующие расширения:
M — стандартное расширение для целочисленного умножения и деления
A — стандартное расширение для атомарных инструкций
C — стандартное расширение для сжатых инструкций
В RV32I даже умножения нет — слишком сложная инструкция :)
Умножение для слабаков, сдвиг наше все ;)
Он не только не остался в 80-х, а наоборот, увеличивает присутствие.
И RISC-V бодается с старичком MIPS-ом который родом именно из 80-х.
Ну и вообще RISC процессоров (почти таких же, как и в 80-е) сейчас выпускается огромное количество — ARM-ов в год продаётся > 20 миллиардов штук.
Так вы же сами говорили что ARM не кошерные настоящие? :D
Тем более я и не спорил с тем что RISC себя оправдал. Он просто эволюционировал все эти годы. А если серьезно на вскидку что на RISC у меня, древний фотик с китайским SUNPLUS-ом MIPS, читалка на Samsung SoC MIPS, древний видеоплеер на ARM, игровая приставка на ARM, SmartTV приставка на ARM, TV приставка на MIPS. Это только на вскидку в моем хозяйстве. Ааа вспомнил — Diamond Stealth S220 (Rendition Verite V2100) у меня был — в его ядре MIPS лежал.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность