Pull to refresh

Comments 192

У меня довольно долго опосля появления Р4 стоял NAS на туалатин селероне, ибо я по-прежнему считал его очень удачным, быстрым и холодным решением на фоне первых Р4. Да и вообще питал теплые чувства к P6 архитектуре и взял ноут только, когда вышел первый мобильный merom, переждав обрезки Р4. Хотя в защиту Р4 могу сказать, что 130нм Норсвуд 2.4 с 512 кэшем очень неплохо гнался, и под этим самым разгоном вполне меня радовал.

Похоже, P4 все недолюбливали ))

Я любил P4. Был компьютер на первом P4 1.4 ГГц (Willamette?), который разогнался почти до 2.8 ГГц.


Как же был удивлён, когда заменил его на P4 где-то на 2.4 ГГц, тот разогнался до 2.6 ГГц и дальше не захотел!

Похоже, P4 все недолюбливали


Да, пришлось выкинуть отличный и дорогой корпус 3R System AIR Silver — системы на Р4 в нем дико перегревались, а других у меня уже не было.

image
Я начинал с 386SX (25 МГц), путем последовательного апгрейда дошел до i7-6700 (3.4 GHz)
На этом пути наиболее интересными и стабильными были системы на Pentium 266MMX и Pentium 2 350, продержавшиеся у меня довольно долго.

Все свои многочисленные системы на Pentium 4 я вспоминаю как страшный сон, особенно чудо под именем Pentium D930.

Покой и стабильность обрел только с Core 2 Quad (все еще в эксплуатации), далее везде.
Я всегда был в лагере Интел, но с Коппермайна перешел на Атлон, потом на Атлон 64, и вернулся в лагерь только с Core2. Правда, сейчас у меня опять AMD — Ryzen
Аналогично, 16 лет с интелом. До вчерашнего дня.
А вчера наконец приехал threadripper 1950x — мне был критичен рендер трехмерки и ничего хоть близко сравнимого по соотношению цена/производительностью у интела и рядом нет. А как он упакован… просто космос, даже отвертку для откручивая соккета положили. Сказал интелу «ну пока». Чувствую, надолго.
Все же вы — идеальный потребитель многоядерного процессора, где АМД будет всегда лучше Интела. А для обычных нужд лучше 8700k наверное ничего нет, производительность ядра решает.
Главное что опять появилась конкуренция и это хорошо.
У меня так получилось что всё время был на AMD с 386DX-40, был перерыв на P100, очень горячий CyrixM2 233? потом К6, Duron, Athlon64, X4, PhnomII X4, но вернулся к интелу с макбуком.
Я начинал с
80486DX2 (66 MHz) — как раз с картинки. Обходился без охлаждения.
На картинке DX2-50, которые сейчас уже относительная редкость, так как почти все были перепилены в DX2-66
Сейчас это вспоминается как нечто весьма необычное. Надо поменять? Выдрал руками, вставил новый и готово.
без охлаждения, но грелся очень прилично.
Во времена P4 отлично сиделось на Athlon 64 (Venice), который при сильно меньшей частоте, драл интел просто без шансов. Но с выходом Core все изменилось.
Четвертые пни помню как сплошное недоразумение и порожняк. Сначала непонятный 423 сокет, который требовал дорогущую RDRAM и был медленнее последних P3. Потом с 478 ситуация вроде бы наладилась, в 2002 взяли 3,06 ГГц, но Intel раскатал губу и начал обещать кукурузу Prescott — Tejas — Nehalem (не тот Nehalem, который в итоге таки вышел, а который должен был взять 10 ГГц на двух ядрах к 2005-2006). По факту они не шмогли даже в 4 ГГц Prescott. В 2005 пытались заткнуть дыру пресловутым D(umb), в то время как зеленые планомерно переходили на 64 бита… Ну а реальное используемое железо тех времен помню под совершенно другими именами — Thunderbird, Thoroughbred, Barton...:))
Абсолюно совпадают у меня с вами воспоминания.
Особенно впечатлил первый Атлон 64 на 1,6ГГц вроде, хотя память может уже подводить. Помню, что Р4 к тому времени были далеко за 2 ГГц, и все равно не могли его одолеть.
Попытался вспомнить и с удивлением осознал, что забыл, какой именно атлон купил в 2006 году. Поработал он у меня всего 2 года с 1 гигом памяти и X1600 радеоном и был заменен на интеловский квад 6700 с 4 гигами и 4870. Который уже 10 лет без месяца работает, только памяти уже 8 гиг и это максимум:(.
До этого атлона, когда в 2003-04 подрабатывал сборкой и настройкой компов, от силы один новый 4 пень на 5 атлонов или дуронов, особенно популярными были модели 1700+ и 1800+. У одного клиента только помню пень на 1,5 ГГц — вероятно, 423. Третьи пни на 1,1–1,2 были гораздо популярнее, но чуть раньше. Тогда же была схожая тема, что GeForce 3 (Ti) лучше, чем 4 (MX 440).
GeForce 3 хуже, чем GeForce 4 была, просто GeForce 4 MX — это вовсе не GeForce 4, это урезаная GeForce 2. nVidia тогда решила использовать грязный маркетинг для MX серии.
Да nv гореть за это на костре. Но больше всего убивали наши коммерсанты втюхивающие всем подрят якобы игровые компьютеры с MX. Сколько раз наблюдал знакомых наступающих на эти грабли. Куда лучше пример с урезанными титанами — типа Geforce 4 Ti 4200.
Да ладно, за свои деньги вполне неплохая карта была — 3ти/радеон 8500 стоили ощутимо дороже. И быстрее она была, чем 2ти, про разгон вообще молчу — у меня несколько экземпляров с 250 до 350 шли влёгкую, до 450 со сменой охлаждения (но толку уже не было — упиралось в память).

Другое дело, что появившийся позже 9000 за эти же деньги смотрелся в разы интересней.
Дело же не в этом. Её продавали, как ДжиФорс 4, на волне мощной рекламы новых игр, которым нужна была именно ДжиФорс 4, или Радеон 8500, то есть ДайректИкс 8. А она не поддерживала 8й. Только 7, фиксированный конвейер.
Тот же Радеон 7500 продавался честнее, как предыдущее поколение карт.
Ну тогда уж про 9000-9100-9200 можно тогда вспомнить ;)
Кушать все хотят, тем более вон на фоне процессоров это ещё цветочки)

И, повторюсь, цена у неё была ниже, чем у 3ти, т.е. соответственно производительности. Глянул в вики — многие технологии от 4ти там таки были, та же компрессия памяти (2ти очень затыкался на ПСП, 4мх сильно менее — даже на сдрам памяти в разгоне был быстрее, с 128бит ддр — почти догонял 4200 в стоке в дх7). Технологии до появления FX-серии были очень дорогой фишкой, это тогда начали несколько чипов клепать, а не переделывать старые.
Да, Радеон 9000 из этой же серии, отличились все в своё время.
А по технологиям, у МХ было много всего, но не было самого главного, из-за чего все хотели ДжиФорс 4.
FX серия тогда тоже странной была, но я долго пользовался FX5200 до перехода на PCI-E. 2D по тем временам хватало, а о DXVA тогда мало знали, HD2600 тут чуть-чуть помог потом.
А почему у вас дос 6.22 поддерживает всего 512 мб?
Начиная с DOS 4.0 размер раздела до 2 гб, а при нештатном размере сектора вроде и 4 гб.
Вы совершенно правы, я перепутал лимит FAT16 и лимит BIOS при адресции CHS.
Исправлю, спасибо!
Приходишь вечером в четверг домой, открываешь хабр — а там уже пятничный лонгрид )
К пятнице надо готовиться заранее )
Был у меня туалатин 1.2 ГГц, разгонялся спокойно до 1.4. Классный процессор.
Мой гнался до 1.6 стабильно после прожига, туалатины были годные. В принципе Core вышли из P3 типа туалатина, а не из P4
RISC ядро Intel вроде начало впихивать в процы еще начиная с 486.
А RAMBUS была не только дорогая — ее так и не смогли заставить работать больше двух планок на материнку. В остальные слоты приходилось ставить заглушки.
486 был классическим CISC, просто скалярным — добавился конвеер.
Pentium стал суперскалярным, с 2мя конвеерами, но все еще исполнял инструкции нативно.
850 чипсете нормально работал с 4мя планками RDRAM
RISC\CISC и скалярность — это не связанные между собой вещи (на RISC просто проще сделать мультискалярность).
RISC 486 был на уровне ядра, оставаясь снаружи CISC, как и в современых x86\x64.
Честно говоря, нигде ничего подобного не слышал.
Не подскажете, где про это можно почитать?
Я все время был уверен, что первый х86 процессор, который транслировал нативные х86 инструкции в свои собственные, а не исполнял их напрямую, был Nx586
Если точнее, то Intel ввела в ядро 486 RISC частично.
Погодите, RISC — это Reduced Instruction Set Computing, CISC — это Complex Instruction Set Computing. Я могу ошибаться, конечно, но имхо либо набор команд урезанный, либо не урезанный (сложный), частично там быть не может.

Я не утверждаю, что я прав, я хотел бы разобраться.

Как я понимаю, плюс RISC в том, что инструкции короткие, то есть мало шагов надо для исполнения одной инструкции, соответственно исполнительный блок проще, путь сигналов короче, и, при прочих равных, частота его работы может быть выше.
Плюс CISC в том, что инструкции есть на любой вкус и программировать на ассемблере проще, одна CISC инструкция может заменить сразу несколько RISC.

Соответственно, чтобы процессор был RISC внутри и CISC снаружи, он должен полученные CISC инструкции переводить в свои собственные инструкции, и исполнять непосредственно их. При этом CISC инструкции нативно он исполнять не может — в этом нет смысла, иначе зачем их переводить в RISC?
То есть тут я тоже не понимаю, как процессор может быть RISC частично.
В подробности для 486 я не вникал. Возможно сложные CISC переводились в простые CISC.
Вот нашел кое-что интересное, в подтверждение вашей точки зрения:

books.google.fr/books?id=fuJbAwAAQBAJ&pg=PA275&lpg=PA275&dq=RISC+core+486&source=bl&ots=RFLy72QEA9&sig=qo-vaXma0VJJ_glFlOPG-38CnWg&hl=fr&sa=X&ved=2ahUKEwiwk6XvuOLcAhUKdxoKHWgBCAMQ6AEwA3oECAcQAQ#v=onepage&q=RISC%20core%20486&f=false

Все еще не совсем понятно, и не все страницы доступны для чтения, источников тоже не нашел, но это крайне интересно, я ранее ничего такого не видел.
Вот еще не совсем понятный документ:

www-5.unipv.it/mferretti/cdol/aca/Charts/01-risc-MF.pdf

но из него, по крайней мере, следует, что вся RISCовость 486 заключалась в конвейеризации простых инструкций, то есть как бы выделении сабсета нативных х86 команд, которые походили на RISC, то есть были короткими и простыми. Они выполнялись на конвейере, в то время, как более сложные х86 команды выполнялись вне этого конвейера. В статье также написано, что только для сложных команд использовался микрокод, тогда получается, что это было как бы 2 процессора в одном — часть была hard wired для простых инструкций, другая основана на микрокоде для сложных. И, видимо, сложные еще и не конвейеризировались. Интересно все это, но под RISC-ядром я подразумевал нечто совершенно иное. То, что вошло в итоге в Р6.
Почитайте даже в той же самой википедии раздел философия RISC.

Идея RISC не в том, что у него команд меньше, а в том, что они простые. Одна команда может содержать либо обращение к памяти, либо арифметику — но не то и другое сразу. Что позволяет поднять частоту.

Ничего подобного в 486м нет.
ПРимерно как я и подозревал, спасибо!
Reduced — тут надо понимать как «упрощённый», т.е. «не переусложнённый». Набор команд RISC-процессора сделан таким, чтобы исполняющий его процессор был простым (ну, «имел мало транзисторов»).

Инструкции RISC-процессора — не короткие. Например, у ARM = 32 бита.
В частности, это значит, что процессор всегда знает, где начинается следующая команда; т.е. ему не надо ждать распознавания очередной команды, чтобы начать загружать и распознавать следующую.
Кроме того, RISC-инструкции внутри себя устроены так, чтобы увеличить параллелизм. Это значит, что конвейер RISC-процессора, скорее всего, будет короткий. Вроде бы, длинный конвейер — это хорошо или как минимум не плохо; однако, это только на прямых участках кода. Безусловные переходы при длинном конвейере выполняются плохо, условные — ещё хуже, табличные (включая возврат из подпрограммы) — вообще мрак, а аппаратные прерывания — кромешный ужас. А RISC-процессор может готовить аргументы команды ещё до того, как распознал команду — там вариантов очень мало.

К моменту, когда появились RISC-процессоры — программировать на ассемблере брались очень немногие, большинство людей программировали на ЯВУ. А вот для компилятора RISC-процессор куда более удобен.

«Чтобы процессор был RISC внутри и CISC снаружи» — надо иметь раздельный кэш для команд и для данных. Наружние CISC-команды компилируются в RISC-команды, результат компиляции хранится в кэше (обратите внимание: ёмкость такого кэша указывается не в байтах, а в командах).
Теперь при исполнении закэшированного кода — можно воспользоваться преимуществами RISC.

PS: Моя хабра-репутация не позволяет мне писать чаще чем раз в сутки. Поэтому лучше пишите в личку.
Не любят тут людей, мыслящих не-мейнстримно.
Спасибо за развернутый ответ!
Инструкции RISC-процессора — не короткие. Например, у ARM = 32 бита.

Под «короткими» я подразумевал не длину команды в байтах, а количество шагов исполнения, то есть как раз длину конвейера.
Кэш у 80486, насколько я помню, был единым для команд и данных.
Но мне казалось, что раздельный кэш = внутренная гарвардская архитектура, разве RISC не возможен в фон неймановской?
Но мне казалось, что раздельный кэш = внутренная гарвардская архитектура, разве RISC не возможен в фон неймановской?
Возможен. Более того: Pentium Pro, где впервые появились микрооперации отдельяющие обращение в память от вычсилений, то есть тот самый «CISC снаружи, RISC внутри» — имеет общий кеш L1 для кода и данных.

Почему вообще в Pentium Pro (и в Nx586 до него) появилась эта идея — превращать CISC команды в RISC-команды? Нет, не для того, чтобы их сохранять в tracing cache — эта идея появилась в P4, показала себя паршиво, от неё отказались, потом она опять вернулась как «кеш L0 для инструкций». В общем ерунда это. То есть да — такой эффект есть, но это эффект «второго порядка».

Главное же отличие инструкций, которые обращаются в память от «вычислительных» инструкций — это их непредсказуемость.

Данные могут быть в кеше, а могут и не быть, две инструкции могут зависеть друг от друга, а могут и не зависеть. Да даже если никаких кешей нет, и команды друг от друга не зависят — может же оказаться, что память у нас просто медленная! В общем сплошная беда с ними.

А вот инструкции, которые с кешами не работают (за исключением деления и всяких синусов-косинусов) — мы знаем точно сколько времени на них потребуется и на что они повлияют.

Вот для чего команды делят на два класса в процессорах класса «CISC снаружи, RISC внутри». Без этого суперскалярность фактически невозможна (то есть теоретически, наверное, сделать-то можно, но практически — суперскалярные CISC процессоры без RISC ядра науке не известны).
Спасибо за развёрнутый ответ, очень интересно!
Пошёл изучил матчасть ещё раз. Горе мне: таки и Nx586 и Pentium Pro имеют раздельные каши. Однако по крайней мере у Pentium Pro там даже тегирования нету — просто отдельный кеш рядом с огромным декодером (там, на самом деле, три декодера, но только один может декодировать инструкции, обращающиеся в память...)
А по поводу жалоб Karpion'а на то, что на Хабре не любят «мыслящих не-мейнстримно» — так нет, дело не в этом. Для того, чтобы понять, что за проблема с ним достаточно процитировать Фейнмана:
Пока я занимался всей этой тригонометрией, я не очень-то жаловал обозначения для синусов, косинусов, тангенсов и так далее. Для меня «sin f» выглядел как s раз i раз n раз f! Так я изобрел другое обозначение, как знак квадратного корня (это была Сигма с вытянутыми длинными концами) и поместил под ним f. Тангенс обозначался буквой Тау с расширенным верхом, а косинус Гаммой, немного напоминающей квадратный корень.

Обратный синус обозначался той же Сигмой, отображенной слева направо, так, что она начиналась с горизонтальной линии, под которой располагалась величина. Это был обратный синус, НЕ sin-1 f — это казалось безумием! И у них это было в книгах! Для меня sin-1 был обратной величиной 1/sin. Мои обозначения были лучше.

Мне не нравилось f(x), мне казалось, что это x, обозначенный f раз. Мне
также не нравилось dy/dx — появлялось желание сократить это до d's — поэтому я придумал другой знак, что-то вроде знака &. Для логарифмов я использовал заглавную L, продолженную вправо, так, чтобы можно было поместить туда величину логарифма, и тому подобное. Я полагал, мои обозначения были достаточно хороши, если не лучше общепринятых, что нет разницы, какими обозначениями вы пользуетесь, но позже понял, что разница все же существует. Однажды я объяснял что-то парню из колледжа и, не задумываясь, стал записывать все своими обозначениями, а он спросил: «Это что за чертовщина?» Тогда только я догадался, если я хочу объяснить что-либо кому-то еще, я должен использовать стандартные обозначения, и мне пришлось
расстаться с моей системой.

Так вот Karpion — расставаться со своей системой не хочет, а вместо этого требует, чтобы все «входили в его положение» и при общении с ним использовали термины не так и не для того, для чего они используются во всей другой литературе.

Мой вам совет: не стоит оно того. Чтобы получить от Karpion'а какое-то знание, а потом перевести его на человеческий язык у вас уйдёт больше времени, чем на то, чтобы узнать то же самое у кого-то, кто не пытается вытребовать себе право «мыслящих не-мейнстримно» путём смешивания всех понятий в кучу.
Иногда каноны все же надо ломать: на римских числах невозможно делать операции в столбик, поэтому новая «более лучшая» система обозначений (иногда) имеет значение.
И, тем не менее, процесс ввода новых обозначений занял не одно столетие.

Именно потому, что каноны не так-то просто менять. И уж тем более не стоит это делать тогда, когда единственный довод — «мне имеющиеся термины не нравятся».
Количество шагов конвейеризации — параметр довольно произвольный, слабо зависящий от системы команд. Собственно, мы это чётко видим на этапе эволюции процессоров серии *86 — там конвейер то рос, то сокращался, и это на одной и той же неизменной системе команд.
Поэтому я резко против формулировки «RISC-процессор имеет систему команд с коротким конвейером» — эта фраза порождает у слушателей вредные ассоциации. Тут надо скорее говорить о том, что система команд заточена на высокий параллелизм — т.е. при составлении набора команд думали об этом.

Про кэш у 80486 я не помню. Могу однозначно сказать, что L2 там был внешний, а внешний кэш однозначно был общим (вообще говоря, внешний кэш можно было бы сделать раздельным — но так не делали). А вот внутренний L1 — не помню; думаю, что на тот момент он был общий, т.е. кэшировал содержимое памяти.

Я рассматриваю эволюцию процессоров/компьютеров так:
Сначала были фон-неймановские и гарвадские компьютеры.
По ходу дела — фон-неймановские оказались эффективнее (т.к. у гарвардских ресурсы изначально разделены на два типа — и горе тому, кто сильно промахнулся в оценке того, как их правильно распределить). Гарвардские были вытеснены в основном в нишу embedded, где нужна высокая эффективность, а распределение ресурсов хорошо предсказуемо — ибо известно, какая задача там будет выполняться.
Однако, через какое-то время гарвардские схемы стали появляться в отдельных элементах фон-неймановских компьютеров. Это и кэш; и запрет самоизменяющихся в ходе выполнения программ; в Android это вообще довольно сильно. Да собственно: конвейер — для кода, регистры — для данных, уже гарвардская схема.

А вот формулировка «внутренная гарвардская архитектура» для меня звучит необычно. Мне вообще не нравится дуализм «внешнее-внутренне», т.к. в реальных системах обычно имеется намного больше слоёв.

Что же касается вопроса «разве RISC не возможен в фон неймановской?»…
Есть чистый RISC — он не нуждается в раздельном кэше; ну или если нуждается (например, для предсказания ветвлений или типа того), то нуждается гораздо слабее, чем CISC. Можно и вообще без кэша.
Есть чистый CISC — он не использует раздельный кэш (например, потому что до этого ещё не додумались; или пока что не умеют делать достаточно много транзисторов на кристалле). Можно и вообще без кэша.
А есщё есть вариант, вызвавший у Вас недоумение: «процессор — RISC внутри и CISC снаружи». У меня это тоже вызывало недоумение, пока я не прочёл про раздельный кэш. И тогда, сопоставив два этих факта, я вывел непротиворечивую картину: «процессор бывает RISC внутри и CISC снаружи — только при раздельном кэше (или, Вашими словами — при внутренней гарвардской архитектуре)». Кэш — необходим, и именно раздельный; с khim я тут не согласен.

PS: Допустим, в процессоре — многоуровневый кэш. В этом случае все нижние слои (допустим четыре нижних слоя) будут общими, а все верхние слои (допустим, три верхних) — раздельными. В формулировке «все нижние/верхние» — это «от нуля и более».
Иными словами, раздельный кэш никогда не окажется под общим.

Это я так, для пояснения.
И вот это, собственно — пример того, почему Karpion может писать раз в сутки. Ибо читать эту «альтернативную историю» — никому не интересно.

Да, она, в некотором смысле, непротиворечива… и в каком-то другом, альтернативном мире она могла бы быть правдой — но она описана в других обозначениях, в других терминах, чем вся документация, мануалы и прочее.

Поэтому я резко против формулировки «RISC-процессор имеет систему команд с коротким конвейером» — эта фраза порождает у слушателей вредные ассоциации.
Как вы верно заметили — RISC это не о конвеере и не о малом наборе команд. У POWER8 число команд измеряется сотнями, а количество транзисторов — миллионами, но тем не менее это — типичный RISC. А вот 6502, у которого транзисторов меньше пяти тысяч — это типичный CISC.

Почему? Да потому что команды POWER'а следуют подходу Load/store architecture, команды либо что-то вычисляют, либо обращаются в память! А у 6502 — наоборот: какая-нибудь команда «ADC (123, X)» делает целую кучу разных вещей: складывает 123 с X'ом, смотрит в эту ячейку памяти и в соседнюю с ней, находит там адрес, образется в память ещё раз и вот только после этого складывает содержимое этого адреса с аккумулятором.

Да, в ранней литературе были разные способы описать CISC и RISC, но сегодня всё устаканилось и основным признаком RISC'а считается Load/store architecture.

Что касается Гарвардской и Фон-Неймановской архитектуры, то это — вообще совершенно другая характеристика процессора. Ранние архитектуры склоняются скорее к Фон-Неймановским архитектурам (и CISC 6502 и RISC ARM2 какой-нибудь — вполне классические Фон-Неймановские архитектуры), более поздние — Гарвардские. Потому что Гарвардская архитектура эффективнее, но требует больше транзисторов.

И тогда, сопоставив два этих факта, я вывел непротиворечивую картину: «процессор бывает RISC внутри и CISC снаружи — только при раздельном кэше (или, Вашими словами — при внутренней гарвардской архитектуре)». Кэш — необходим, и именно раздельный; с khim я тут не согласен.
И вот в этом месте — мы изобретаем какую-то альтернативную историю.

Причём тут вообще кеш? CISC снаружи, RISC внутри — это всего лишь построение архитектуры процессора, где ядро работает не с исходными инструкциями, а μopsами, которые реализуют Load/store architecture и никто, кроме декодера с «оригинальными» инструкциями в ядре процессора не работает. Всё. Вот совсем всё!

Стоит ли у вас декодер до кеша или после, и даже есть ли у вас вообще кеш — неважно. Важно — есть ли у вас μopsы и соотвествует ли их архитектура RISC'у.

Действительно, появление процессоров класса CISC-on-RISC — совпало по премени с появлением систем с разделёнными L1 кешами… ну так ними и полноценные RISC'и со временем обзавелись — это просто эффективнее. Но вот кеши эти в первых процессорах такого типа хранили таки байты. Потом появилась разметка (около байта была записана длина команды). А уже μopsы в кеше — это Pentium 4… что, кстати, себя сильно не оправдало. В современных процессорах есть L0 кеш такого типа, но он используется в основном для очень маленьких циклов.
И вот это, собственно — пример того, почему Karpion может писать раз в сутки. Ибо читать эту «альтернативную историю» — никому не интересно.
Меня минусовали в основном за утверждения «невидимая рука рынка в этой конкретной области не работает, эту проблему может решить только государство». Т.е. — за политику.

Да, она, в некотором смысле, непротиворечива…
Ну так я ввожу свои понятия из-за того, что описания в общепринятых обозначениях — противоречивы.

Например, в своё время я читал, что локальные сети отличаются от глобальных — то ли размером (протяжённостью), то ли количеством пользователей (в разных книгах приводился тот или другой критерий). При этом буквально на той же (или на следующей) странице утверждалось, что Ethernet, Novell Netware и MS Network — это локальные сети (при том, что размер всех трёх м.б. сколь угодно большим, в т.ч. размером с Землю); а Internet — это глобальная сеть. Т.е. противоречие было совершенно явным, но его никто не видел.
Кстати, в первые годы существования Internet — в нём было меньше пользователей, чем в MS Network крупной корпорации в наше время. Т.е. и количество пользователей — никак не показатель.

Мне кажется, Вас должны сильно напрягать понятия типа «скалярное произведение функций» — ведь скалярное произведение определяется как произведение длин векторов на косинус угла между ними, а у функций нет ни длины, ни угла между ними.

Что жу касается документации и мануалов — то там бывает лютый бред.

У POWER8 число команд измеряется сотнями
Большая проблема ещё и в том, что считать одной командой, а что — разными командами. Например, ADD, ADC и SUB — вполне можно считать одной командой, где выполняемая операция является одним из аргументов.

а количество транзисторов — миллионами
После появления внутреннего кэша — количество транзисторов перестало зависеть от архитектуры.

Да, в ранней литературе были разные способы описать CISC и RISC, но сегодня всё устаканилось и основным признаком RISC'а считается Load/store architecture.
Странно. Мне всегда казалось, что гораздо важнее — иметь однородный набор регистров; а не так, как у *86, когда для любого регистра можно найти операцию, где его нельзя заменить на другой (например, IN/OUT [DX],AX — оба регистра незаменимы).

Ранние архитектуры склоняются скорее к Фон-Неймановским архитектурам (и CISC 6502 и RISC ARM2 какой-нибудь — вполне классические Фон-Неймановские архитектуры)
Ну, я бы не сказал, что 6502 и ARM — это ранние архитектуры.

CISC снаружи, RISC внутри — это всего лишь построение архитектуры процессора, где ядро работает не с исходными инструкциями, а μopsами, которые реализуют Load/store architecture
Ну, допустим, декодер получает «внешнюю» команду типа ADD [адрес_памяти], регистр — тут надо загрузить данные, сложить их с регистром и запихнуть обратно. Декодер делает из одной команды три и передаёт их на выполнение. А в чём можно выиграть от такого декодирования, если три команды будут выполняться достаточно долго?

Стоит ли у вас декодер до кеша или после, и даже есть ли у вас вообще кеш — неважно.
А вот если декодер проанализирует весь поток команд на достаточную глубину — то можно будет сформировать очень оптимизированный код. Одна беда — подобная глубокая оптимизация делается очень долго; поэтому смысл в ней м.б. только если результат оптимизации где-то хранится и используется много раз.
А то место, где что-то хранится и используется много раз — как раз и называется «кэш».

Но вот кеши эти в первых процессорах такого типа хранили таки байты.
А что ещё можно хранить в кэше?
Например, в своё время я читал, что локальные сети отличаются от глобальных — то ли размером (протяжённостью), то ли количеством пользователей (в разных книгах приводился тот или другой критерий). При этом буквально на той же (или на следующей) странице утверждалось, что Ethernet, Novell Netware и MS Network — это локальные сети (при том, что размер всех трёх м.б. сколь угодно большим, в т.ч. размером с Землю); а Internet — это глобальная сеть.
Ещё один великолепный образчик примера: смотрю в книгу — вижу фигу.

Вас не смутило то, что эти книги читали тысячи, возможно миллионы, читателей, изучали рецензенты — и никакого протиовречия не видели? Да, локальные сети отличаются от глобальных размером. И да, размер-таки имеет значение.

Смею предпложить, что речь в книжке шла о премерах технологий используемых в локальных сетях и, возможно, там даже обсуждалось, почему их в приципе нельзя масштабировать на весь земной шар.

Проще всего понять почему это невозможно на примере Ethernet'а. У него есть так называемое slot time — врямя за которое два любых участника сети должны иметь возможность обменяться сигналами. И даже в старом древнем 10-мегабитном Ethernet'е это время — всего-навсего 51.2 μsec. За это время сигнал даже в вакууме не может преодолеть 20км (а в проводе он движется ещё медленнее), так что ни о каких глобальных сетях и мечтать не приходится.

Причины, по которым NetBEUI и IPX не могут быть расширены на всё Землю — несколько другого класса, но тоже похожие. Дело в том, что в этих сетях клиенты посылают друг-другу «keep-alive» сигналы, количество которых, понятно, растёт как квадрат от количества клиентов. И уже при нескольких тысячах клиентов эти служебные пакеты занимают всю пропускную способность канала. Тем самым с мечтами о сетями на всю Землю, увы, приходится распрощаться.

Т.е. противоречие было совершенно явным, но его никто не видел.
И вот именно тут у вас и возникает проблема: ситуация «противоречие явное, но его никто не видит» обычно обозначает, что никакого противоречия нет, однако для того, чтобы это увидеть — нужно поискать дополнительную информацию. Вы же вместо этого переселяетесь в какой-то воображаемый мир, имеющий мало общего с реальностью.

Иногда противоречие, правда, отсуствовало на время написания книги, но появилось потом. Так, современные версии MS Network и Novell Netware — конечно могут быть использованы в глобальной сети. Но это произошло потому, что они, помимо родных NetBEUI и IPX сегодня умеют использовать TCP/IP — но было бы странно требовать от авторов книги уметь предвидеть будущее.

Мне кажется, Вас должны сильно напрягать понятия типа «скалярное произведение функций» — ведь скалярное произведение определяется как произведение длин векторов на косинус угла между ними, а у функций нет ни длины, ни угла между ними.
Почему вдруг? Одно из определений использует косинус угла, да. Однако у многих математических понятий есть сильно больше, чем одно определение. В частности гораздо более часто используемое на практике алгебраическое определение прекрасно обощается на функции…

Большая проблема ещё и в том, что считать одной командой, а что — разными командами. Например, ADD, ADC и SUB — вполне можно считать одной командой, где выполняемая операция является одним из аргументов.
Тут вы, конечно, правы. Проще, пожалуй, сравнить не ADD и ADC (которые обычно всё-таки считаются разными на всех процессорах), а, скажем, команда сложения векторов. У Intel — это четыре команды (отдельно для 8-битных, 16-битных, 32-битных и 64-битных чисел), а ARM — одна.

Но это как раз не сильно важно, так как уже давно договорились считать, что CISC от RISC отличается не по количеству команд.

Странно. Мне всегда казалось, что гораздо важнее — иметь однородный набор регистров; а не так, как у *86, когда для любого регистра можно найти операцию, где его нельзя заменить на другой (например, IN/OUT [DX],AX — оба регистра незаменимы).
Эти идеи как раз пали жертвой эффективности. Рассмотрите ARM Thumb: в Thumb1 при пересылке из R0 в R5 флаги выставляются, при пересылке из R3 в R10 — нет, «младшие» регистры кладутся в память одной командой, старшие — только по одному… в Thumb2 это пофиксили, но R13 нельзя сохранить вместе с остальными регистрами всё равно… а R14 сохранить можно… а восстановить можно только R15…

Ну, я бы не сказал, что 6502 и ARM — это ранние архитектуры.
Раньше разве что 4004, но все они гораздо дальше от нас, чем друг от друга.

Или вы про дискретную логику? Да, этот доисторический период тоже интересен — но там совсем другие заморочки…

Ну, допустим, декодер получает «внешнюю» команду типа ADD [адрес_памяти], регистр — тут надо загрузить данные, сложить их с регистром и запихнуть обратно. Декодер делает из одной команды три и передаёт их на выполнение. А в чём можно выиграть от такого декодирования, если три команды будут выполняться достаточно долго?
Конечно если у нас программа состоит из одной инсрукции и кроме неё в ней вообще ничего нет, то никакой разницы, конечно.

А вот если у нас таких инструкций много… Если мы исполняем эту интрукцияю как «единое целое», то мы вынуждены под неё задейстовать блок на чипе, который умеет образаться в память и выполнять арифметические операции. А если эта команда разбита на три, то в то время пока загрузчик вытаскивает данные из памяти сумматор может складывать данные в каких-нибудь других инструкциях.

А вот если декодер проанализирует весь поток команд на достаточную глубину — то можно будет сформировать очень оптимизированный код. Одна беда — подобная глубокая оптимизация делается очень долго; поэтому смысл в ней м.б. только если результат оптимизации где-то хранится и используется много раз.
Эта «гениальная» идея — центральная в архитектуре Pentium 4. И она же — привела к его чудовищной неэффективности. Проблема не в том, что оптимизация делается долго. Проблема в том, что когда мы пытаемся отпимизировать что-то «не имея всех карт на руках» (не зная, в частности, есть данные в кеше или нет), то мы можем всё сделать так, что в 90% случаев всё будет великолепно, но оставшиеся 10% случаев — нас уничтожат. Потому что мы не знаем заранее — займёт обращение к памяти один такт или двести (да, двести! именно столько занимает обращение к памяти на современных процессорах, если данных нет ни в одном кеше). И мы регулярно делаем вычисления, результат которым нам приходится выкинуть.

На в процессорах до Pentium 4, ни в процессорах после него этого подход не использовался. Он вернулся в сильно ограниченном и урезанном виде только несколько лет назад. И используется только для очень коротких циклов, как я говорил.

Но вот кеши эти в первых процессорах такого типа хранили таки байты.

А что ещё можно хранить в кэше?
Микрооперации, как бы — вы же сами только что написали, что так и нужно делать… Но… Так не делают… Pentium 4 — неудачное исключение… Ну и L0 в современных процессорах — но он крошечный…
Мне кажется, Вас должны сильно напрягать понятия типа «скалярное произведение функций» — ведь скалярное произведение определяется как произведение длин векторов на косинус угла между ними, а у функций нет ни длины, ни угла между ними.


Если вы обратите внимание на то, что внутри интеграла в таком скалярном произведении функций, вы заметите, что функции представляются бесконечномерными векторами.
Помните, чему равно скалярное произведение в 3D? V(vx,vy,vz) U(ux,uy,uz) VxU=vx*ux+vy*uy+vz*uz. Так вот, интеграл от (F(x)*G(x))dx и есть сумма произведений точек v=F(x) и u=G(x). Вот и весь секрет скалярного произведения функций.
Хороший ответ — но всё-таки мимо.

То, что Вы назвали «скалярное произведение в 3D» — это разложение скалярного произведения в декартовой системе координат, оно же — в ортонормированном базисе. А в исходном определении — никакого базиса нет, перемножаемые векторы «висят в пустоте» (в смысле — не в декартовой сетке).

Разложение скалярного произведение в декартовскую форму — надо доказывать. И отдельно обратить внимание на то, что при изменении базиса (при повороте системы координат) произведение не изменится.
Тогда как исходное определение — совершенно точно от системы координат не зависит, ибо нет там координат. Этим оно, кстати, и нравится математикам.

Что же касается скалярного произведения функций — то оно совсем не обязательно «интеграл произведения функций». В простейшем случае — там бывает нормирующий множитель (неотрицательная функция).
А можно придумать ещё более сложные варианты типа интеграла по иксу от такого:
a(x) * (b(x-1)+b(x+1))
где a(x) и b(x) = перемножаемые функции.

А ведь есть ещё более извращённые скалярные произведения — например, дивергенция векторного поля расписывается как скалярное произведение {очень-псевдо}-вектора «Набла» на это векторное поле. (Фраза «очень-псевдо» означает, что Набла отличается от нормального вектора гораздо сильнее, чем обычный псевдо-вектор.)
Я не готов тут рассказывать про дивергенцию и прочие применения Наблы (ротор и градиент). Кто не в теме (или просто забыл) — в Википедию.

Так что с расширенным толкованием понятий — в математике всё в порядке. Например, математики расширили понятие векторного произведения векторов — на пространство произвольной размерности и произвольное количество векторов. Т.е. можно взять произведение четырёх векторов в семимерном пространства. Правда, произведение будет не вектором, а трёхмерной (кубической) матрицей; вот если векторов будет шесть (на один меньше размерности пространства), то будет действительно вектор (ну, точнее — псевдо-вектор).

А попытка удержать понятия (значения терминов) в прежнем состоянии — резко тормозит прогресс. Что, собственно, мы сейчас и видим.
Заглушки требовались при установке двух модулей вместо четырёх, таковы уж особенности шины этой памяти, терминировать надо. Про проблемы с четырьмя модулями не помню ничего. Стоили системы под первые P4 и RDRAM безумно дорого, продали мы их несколько десятков всего, но из них половина была с четырьмя модулями. Платы Asus и Gigabyte, в основном.
В смысле их уже покупали затаренными во все 4 слота? Они же дорогущими были, а в комплекте к каким-то пням шел даже один модуль на 128 Мбайт, непонятно зачем.
Контроллер памяти в 850 был двухканальным, так что 2 модуля был минимум. Думаю, набрать 256 МБ 4мя плашками по 64 было банально дешевле, чем 2мя по 128.
Была ещё категория покупателей, для которых ПК был просто символом престижного потребления. Как хрусталь в серванте в прежние годы.
Вполне вероятен вариант, который old_gamer упомянул, но я не помню сейчас цены уже.
Помню даже в продаже были эти П4 уже с планками памяти.
У меня был комп видеонаблюдения с 4мя не одинаковыми планками RDRAM и он нормально работал, был разобран года 3 назад.
П4 1,6 ГГц 2х первых вариантов с кешем 256 КБ по производительности в играх проигрывал 1,3 ГГц целерону сокет 370 с ядром туалатин.
У меня долгое время был с целероном 1,2 ГГц с ядром туалатин разогнанным до 1,6 ГГц переключением шины со 100 на 133 МГц.
годно. понастальгировал.

П.С. исправтьте пожалуйста «частоте профессора» :)
и «интернет экспортера»
понастальгировал
WarCraft II, Diablo, StarCraft… Ещё бумажная «Компьютерра», ходившая по рукам стопка «Game.EXE» и «Навигатора игрового мира» :)
Очень интересная статья. Благодарю автора.
Только «режет» глаз постоянное использование оборота «представлял из себя». Грамотнее конечно писать «представлял собой». Исправьте, если можете.
Мой легендарный сервер на матери ASUS TUSL-2 и Intel Pentium-III 800 (Coppermine) идет на рекорд. Два с половиной года без перезагрузки! О как. Сегодня роясь в нашем компьютерном хламе нашел ему новый процессор Intel Pentium 1200 (Tualatine), буду апгрейдить. Еще не решил, что делать ждать когда он сдохнет на боевом посту или выключить и в музей. А ведь ему уже 14 лет. Писал в 2015 году, отключил в прошлом году. Стоит исправный. Нашел в него еще два диска по 500 ГБ. Легенда жива.
image
У меня на домашнем серваке стоит Core 2 Quad. Файлопомойка, TFS, Readmine, торренты и т.д. Процессора 2008 года выпуска хватает на все задачи.
Аналогично. Но еще плюс ZoneMinder с четырьмя камерами на непрерывной записи!
У меня под файлопомойку и торренты Ryzen 7 1700 ((
Мне вот хватает первого MacPro 1.1. Да это 2хXeon DualCore 5150 (2.66), 16 Gb RAM, 4870. 2006 год.
У меня так стоял Q6600 на NAS лет пять, но он уж ну очень горячий. Сейчас на X3440 крутится. И нехай, что ему будет?
Самая-самая экзотика — это П3 с Рамбусом, 820 чипсет. Вживую никогда не видел. А для полного раскрытия темы не хватает ранних Атомов. Пусть и не десктоп, но идейно очень близко к сабжу. А еще у них очень маленькие ядра — 20-30 мм2, как семечка от подсолнуха
Да, 820й чипсет — большая редкость. Года 3 назад бидовал такую плату на ибее, просто из интереса, но она ушла более, чем за 100 долларов, что для бессмысленного хобби, по мне, совсем неразумные деньги.
А Атомы как-то совершенно мимо меня прошли, я, если честно, о них даже и не думал при написании статьи… Они были чистыми 32 бит, или все 64-бит?
Первое поколение, которое пошло в нетбуки, совершенно точно 32 бита. Там еще могут быть интересные нюансы по микроархитектуре — на недавней волне Спектра и Мелтдауна промелькнуло, что они не подвержены, потому что там какой-то сильно другой конвейер. В детали не вникал, настаивать не буду
Нет там никакого «другого конвеера». Первые Атомы — это простые суперскаляры, без спекулятивного исполнения инструкций, потому все проблемы связанные со спекулятивном исполнением их не затрагивают. А те, которые со спекулятивным исполнением (Silvermont и новее) — те уже x64, они под тему этой статьи не попадают…
У знакомой админши до сих пор один клиент с 820 чипсетом реально пашет на предприятии.
Кстати, 820 это еще не гарантия Rambus памяти. Были варианты с дополнительным чипом MTH — memory translation hub. Он позволял подключить обычную SDR SDRAM к шине Rambus. Насколько я помню статьи, работало все это жутко медленно. Но 815й поддерживал лишь 512 МБ ОЗУ, что уже тогда было не слишком много, а 810й только 100 МГц шину. И, если мне не изменяет память, 815й появился после 820го.
С этим клиентом тоже непонятки. Две планки по 128, два терминатора, а BIOS показывает 512 почему то.
А для полного раскрытия темы не хватает ранних Атомов


Что можно цивильного сказать по ранние Атомы? )
Ну знаете, они побыстрее большинства описанных в статье процессоров будут. И да — они 32х-битные.
Ну знаете, они побыстрее большинства описанных в статье процессоров будут.


У меня на хозяйстве есть несколько компов с Атомами (N270 Q2'08, N280 Q1'09 и D525 Q2'10)
Это боль — даже под ХР с 2 гигами памяти и SSD на борту — они еле шевелятся под непрерывной 100% загрузкой процессора на обычных офисных задачах. И началось это с ними довольно давно.

При том, что Core 2 Duo E6600 Q3'06, Core 2 Quad Q6600 Q1'07 и Core 2 Quad Q8400 Q2'09 — на офисных задачах работают без каких-либо заметных проблем.

Ну блин, вы по энергопотреблению их сравните.
N270 — 2.5 w
E6600 — 65w
Неудивительно, что они еле шевелятся. Был у меня пегатрон маленький комп на 270 как раз. Продал к чертям, ибо никакой.

Ну блин, вы по энергопотреблению их сравните.


Все эти «атомы» — десктопы от рождения. Там энергопотребление не существенно.
На момент их выпуска они позиционировались как полноценные офисные машины.
Вот одна из них (AT5NM10T-I):
image
Ну если кто-то собрал десктоп на компьютере для промышленных систем и нетбуков — то кто ж им судья? Атом — это дешёвый низкотребляющий процессор изначально, а то что кто-то на нём собирает что-то, где «энергопотребление не существенно» — то Intel не виноват…

P.S. Кстати во многих случаях энергопотребление — очень даже существенно, если это какая-нибудь касса или электичество в стране не самое дешевое.
Ну если кто-то собрал десктоп на компьютере для промышленных систем и нетбуков


См. на плату выше — для промышленных систем и касс на ней слишком много портов USB, SATA и аудиоразъемов и слишком мало портов RS-232.
Это типичная десктопная плата для офисного/мультимедийного компьютера.
Извиняюсь, опечатка: не на «компьютере для промышленных систем и нетбуков», а на «процессоре для промышленных систем и нетбуков».

Тут претензии больше к ASUS, чем к вам… но и у вас тоже, как бы, голова на плечах должнга быть?
Я не понимаю что вы с атомами делаете, что у вас тормоза. Если не ставить MS Office 2007 или чего-нибудь подобное, что жрёт ресурсы как не в себя — то всё достаточно быстро работает.

Некоторые веб-сайты со «свителками и перделками» будут тормозить, возможно — ну так это не к Атомам претензии.
Я планировал на кухне спрятать за монитор и получить просиотр киношек, инета и скайп.
В результате только побраузить можно было, но остальное — труба.
А уж если какой фоновый процесс запустить типа анализатора движения через веб камеру, то вообще хоть плач.
В результате это чудо было продано, а его место занял ноутбук в закрытом состоянии.
Думаю, из системы на атоме можно сделать тихую и мало потребляющую торрентокачалку+файлопомойку. Хотя, наверное, роутер с OpenWRT будет ещё лучше.
Я планировал на кухне спрятать за монитор и получить просиотр киношек, инета и скайп.
А чем вы всё это хотели смотреть и какие киношки? XBMC отлично работет на Xbox (оригинальном), а он куда медленнее Атома.

Конечно если вы хотите на малопотребляющий проц повеcить 4K-рипы, то из этого мало что выйдет…
Процессоры то не плохие были, но чипсета под них так и не выпустили. Использовался урезанный 945й, который расходовал раз в 10 больше энергии чем процессор.
А так где-то до сих пор валяется нетбук N130 на таком проце, с ХП СП2, так работает всё хорошо, если не лазить в интернет. Музыку крутит, видео тоже, но максимум .264 в HD качестве, 1080 не тянет.
Вот ИМХО современным сайтостроителям нужно ставить на стол рабочий компьютер не i7, а второй пень со 128 Мб оперативки, и добиваться, чтобы на нём их творения при открытии летали. То же самое касается авторов многих других разжиревших приложений типа скайпа, ICQ, МюТоррента версий 3.х+ и т.д.
ICQ? Кто-то еще пользуется асей?:)
UFO just landed and posted this here

qip 2005, build 8097
не в сети — 69 человек
в сети — 5
:)

А бекендеров на шестую шапку с гигом оперативной памяти и cheetah сказишных.
C полулегальным первоначальным статусом чипсетов VIA для P4 и DDR у меня остались интересные воспоминания. Закупил наш магазин партию как бы безымянных плат (то есть под брендом VIA, но оформление коробок было предельно минималистичным. Оформление мануала и цвет платы позволяли опознать в ней Soltek, но тут уж «не пойман — не вор». Видимо, VIA таким образом защищала своих клиентов от возможных исков, беря ответственность на себя.
Ещё один артефакт, связанный с RDRAM — злополучные платы производства Intel на чипсете i820. Изначально чипсет был рассчитан на работу с RDRAM (да-да, Rambus в связке с Pentium III!). Продавалось это плохо, поэтому к чипсету решили добавить чип MTH (memory translation hub), который обеспечивал работу с SDRAM PC-100. Закупили по дешёвке аж штук 20 таких матерей, долго и мучительно продавали, но в итоге почти все пришлось поменять из-за спонтанных зависаний. Проявлялись под высокой нагрузкой, в основном в играх, редко, но регулярно. Как выяснилось позже, виноват был именно MTH, вот платы и сливали по символической цене.
Ох, не видел ваш комментарий про MTH, только что про него написал вверху. Да, очень забавно было.
И платы в коробках VIA тоже помню. Помню и статьи на ixbt, где угадывали, кто реально произвел какую плату в коробке VIA. Весело было )
В MTH обнаружился баг, и Интел бесплатно меняла свои платы 820 с МТН на 820 без МТН+128Мб RDRAM.
Помню, сколько статей было про этот RAMBUS DRAM. Все так хвалил, так убеждали накопить денежек и все-таки взять её, в ней будущее.
Не купил и благодарен авторам подобных статей за привитый скептицизм в отношении подобных заявлений.
Да-да. Читаю сейчас статью 1999 года:
Многие пользователи, думающие о своем кошельке, сегодня предпочтут VIA Apollo Pro133A, обладающий практически такими же характеристиками. С другой стороны, нельзя отрицать и то, что перспективы i820 выглядят гораздо более заманчиво, чем у чипсетов конкурентов. Технология RDRAM при поддержке Intel скорее всего приживется и системы на i820 станут не только доступны, но и необходимы рядовому пользователю. Но это — завтра.

«Завтра» так и не наступило.
Помню, вроде в 2001 читал статью про то, как Рамбус кинул всех остальных производителей памяти, прибрав к рукам все патенты. Так я впервые в жизни узнал о патентных троллях. Хотя их тогда так и не называли.
Рамбус — это очень нетипичный пример и то, что он сделал — это было куда тоньше. Он был членом консорциума, который разрабатывал DDR память (не помню какого поколения) и там было требование что все участники — должны передавать патенты в JEDEC. А Rambus некоторое время там посидел, поподкидывал идеи… а потом вышел. И сказал, что поскольку теперь его в комитете нет — все должны платить ему денежку.
В молодости у меня был 386dx на AMD, я разгонял его до 54 Mhz, после 60 работать было невозможно, так как зависания становились стабильными. При 54 их практически не было.
По ощущениям такой прирост при разгоне ощущался не вооруженным глазом. Это был единственный раз когда я разгонял, так как потом прирост в 1%-5% меня не устраивал :)
Еще не упомянули про линейку Pentium Pro, у меня был WS на 2 таких процессора, Win2000 на них летала, но у процессоров отсутствовало MMX и в плане игр и развлечения он был печален :)
Кто то хоть раз отжимал кнопку Turbo специально и какой в этом был смысл подскажите? :)
Про Пентиум Про я упоминал несколько раз в статье, но это был Xeon, не массовый процессор. Их я намеренно не рассматривал.
А турбо на 286 помогала в Диггер играть )
А по разгону для меня идеалом навсегда остается Celeron 300A, который практически гарантировано запускался на 450МГц, и с большой вероятностью на 504МГц (112 по шине).
Прирост скорости был более 50%.
Двухядерный Opteron 165 1,8ГГц у меня несколько лет проработал на 2,7ГГц, это тоже 50% прироста. Мой Core i5 2500K тоже способен на 50% с 3,3 до 5,0. Но столько тепла с него при полной загрузке даже кулер на 12 х 6мм тепловых трубках не снимает.
О, кнопка «Турбо» была загадкой и моего детства. А вообще это, кажется, просто переключение частоты с нормальной на пониженную. Подозреваю, для совместимости с ПО, разработанным для более старых собратьев, которое синхронизировалось по частоте процессора. Короче, кнопка, чтобы пакмэн не летал на околосветовой, а мирно ползал.
Для совместимости, да.
Но она далеко не всегда понижала частоту. Иногда она просто вводила wait states, слышал даже, что были реализации, где она отключала кэш на плате (но не видел сам таких).
Из-за таких различий в исполнении, замедление тоже было на разных платах разным, и совместимостью там и не пахло, на самом деле.
К сожалению, когда я дорос до того, чтобы испытывать научный интерес к таким вещам и проводить сознательные эксперименты, все компьютеры с кнопками «Турбо» вокруг меня уже отправились в микроэлектронный рай. А поскольку я не очень большой энтузиаст старой электроники, то проверить уже вряд ли удастся.
Насколько я помню, кнопка турбо переводила компьютер в режим ХТ-совместимости. У меня была история, связанная с этим. Пару лет после моего первого знакомства с компьютерами, ко мне каким-то образом попала мамка с Pentium 60mhz. Я это дело собрал как мог и решил поиграть в новые доступные мне игры — Quake 1 и HoMM2. Каково же было мое удивление, когда игры удавалось запустить, но они были абсолютно неиграбельны. В итоге, я решил перебрать вверенное мне хозяйство и обнаружил подозрительную перемычку, которую решил снять за ненадобностью. Удивлению не было предела снова, когда я увидел скорость работы компьютера на этот раз! Как Вы можете понять, эта перемычка стояла на том самом джампере Turbo и заставляла постоянно работать компьютер в режиме совместимости с ХТ!
Я думаю, что она могла отключать кэш CPU первого уровня. Сам так делал на Duron-750 через Bios Setup и производительность даже там реально падала почти до уровня XT (ну или 286-10). А на более поздних процессорах вроде бы отключение кэша уже не работает. Но говорят, что на разных платах функция этой кнопки реализовалась самыми разными методами.
Технических деталей реализации я, увы, не знаю. Но удивлен, что отключение кэша первого уровня дает такой нереальный провал в производительности.
Я думаю там отключалось кеширование вообще. А «поход в память» на современных процессорах — это 200 тактов.

На Duron, скорее всего, было где-то 100, так что замедление было 200-кратным. На самом деле не вплоне XT, но очень чувствительно.
Предположу, что современная архитектура CPU с длинными конвейерами просто не приспособлена к отсутствию кэша L1 и в итоге система будет просто зверски тормозить. Надо сказать, что даже для процессора класса 386 наличие хотя бы одного килобайта внутренней кэш-памяти (лучше, конечно, 8, как это сделала IBM) в некоторых бюджетных upgrade-решениях выводило производительность системы на уровень «почти» 486, во всяком случае, эффект был гораздо сильнее, чем от увеличения кэша на материнской плате, увеличения тактовой частоты с 25 до 33 и тому подобного. Во многом скачок скорости на 486 и был связан с обязательным наличием в них L1 Cache.
У меня был клон 386sx-40 от AMD. И в свое время я очень долго думал как же разогнать его на частоту побольше. И если частоты в штатном диапозоне переключались перемычками, то выше 40 перемычек просто не было. У меня была идея менять какие-нибудь кварцы на частоту побольше (12 летний подросток, что с меня взять) и паять, но для меня это было за гранью. Так как Вы разогнали свой?
Не помню подробностей, но там скорее всего под разгон выше 40 мегагерц не была рассчитана сама системная плата, прежде всего шина ISA, которая скорее всего тоже попыталась бы разогнаться с фиксированным делителем, а снизить его коэффициент те платы, скорее, всего, еще не умели. Во всяком случае, на 486 с шиной VL-Bus точно уже была эта проблема — на шине 50 Mhz работали только некоторые модели CPU, плюс число работающих слотов при этом сокращалось, кажется до двух.
На 50 МГц шине официально работал только интеловский 486DX-50 и неофициально некоторые ревизии DX4-100. А завести на 50 МГц VLB хотя бы одну карту уже было победой, но даже для самых качественных карт приходилось добавлять вейт-стейты на шине, и скорость их не впечатляла. В общем, надежная VLB — это 33 МГц VLB.
Texas Instruments оказывается делали 50-мегагерцевый процессор под гнездо 386 (TI486SXLC2-G50), но скорее всего, он запаивался на специальную плату для него (100-контактное гнездо?). Помню в те времена пару раз «386-50» в рекламе (очень удивляло...), вероятно это оно и было. Подозреваю, что это был идейный предшественник процессора 486SX-80 от тех же TI (ультра-бюджетный CPU)
SLXC2-50 работал на шине 25 МГц и умножал частоту на 2. Продавался и в керамическом корпусе PGA-132
Интересно. И правда похоже на бюджетную модель. Интересно, догонял ли хотя бы полноценный 386DX-40?
Обгонял, причём заметно. Процессор имел встроенный кэш 1го уровня (если мне не изменяет память, 1 КиБ) и был весьма неплох по скорости. Сравним с 40 МГц 486м.
А DX вариантов таких не было, хочу проапгрейдить старый комп.
Со встроенным 486 FPU под 386 гнездо, то есть фактически полноценный 486DX — невозможно. В этом и засада, хотя можно использовать с ним сопроцессор 387, сильно уступающий в скорости, и были варианты процессора 486DLC Blue Lightning от IBM под 386 сокет со скоростью вроде бы до 100 мегагерц, по скорости был бы примерный аналог 486DX2-66 (на приложениях, не полагающихся на FPU). Если найдете такой раритет, напишите, это интересно.
IBM делала только smd процы с умножением, и никому их не продавала. Их можно найти только в PS/2.
А 486DX в 386DX сокет таки можно ))
под DX вроде только DLC, они без умножения.
Чипсет i915 не поддерживает двухядерные Pentium D
Вы совершенно правы, поправил в статье, спасибо!
кстати довольно много этих процессоров в свое время продал. D серия, там еще была какая Pro версия, были ну очень крутыми процессорами, молотили быстро, 2000 винда на них просто летала. Показывали невероятную производительность на тот момент.

Вся жизнь пронеслась перед глазами. Первый мой ПК был XT-совместимый тайваньский клон с процессором 8088. Там был CGA адаптер и 2 5-дюймовых флопа. Вот, начиная с этого раритета, я почти все поколения процессоров поюзал. А прошло то всего каких-то 35 лет...

Во времена 8088 и 286 у меня был Спекки, а первый IBM-клон был уже на 386м Интеле, 33 МГц. Год 1992, на вскидку, точно не припомню. Что интересно, это уже было время средних 486, 50-66 МГц, и Пентиум уже был не за горами, но компьютер не казался устаревшим, хотя те самые 486 раза в 4 минимум были быстрее. Интересное было время.
Хорошая статья, почти слеза навернулась от воспоминаний. Начинал с системника на 486DX2-66, в коробке храню камни Р-75 и Р-90, Целерон-366 (который по слухам лучше всех разгонялся), карточка Вуду-2 и прочий веховый хлам, от названия которого в своё время у народа увеличивалось слюноотделение.))
А какая версия SuperPi использовалась? Я испытал несколько (с superpi.net и с TechPowerUp), и самая быстрая на тесте 8M digits, 22 iterations справилась за 1 m 36 s. Выходит Pentium II 233, с его 1 min 19.320s, быстрее Core i7-8700 (o0) или я что-то не понимаю.
Версию не вспомню уже, а посмотреть негде пока — я в отпуск уехал.
Это была вроде последняя версия, работавшая на Вин 9х
Но 1 мин для i7 звучит жестоко… Скорее там 1 секунда должна быть, или меньше.
Вот тут разогнанный до 7,344.53MHz i7-8700k за 4 минуты насчитал 32M, что более подходит под мои измерения. Посмотрите, как будет возможность, пожалуйста, хотел сравнить как было и как стало, а сейчас и подавно интересно. За статью спасибо!
Вот мне тоже, начиная с Pentium II 233, показались странными результаты SuperPI. Проверил на своём i7-3770, для 8М в версии 1.5 получил 1 min 51.497s
Только что перепроверил на 486DX2-66, получилось 20 минут, 23.634 сек. 8М. 22 итерации.
Вполне в пределах того, что ожидал из цифр в статье.
Всё же как-то странно, хотя этот результат немного реалистичней. У вас в статье DX4-100 — около 8 минут, не может же между ними быть разница в 2 с лишним раза.
Вполне может. В DX4-100 и кэша больше, и памяти сильно больше в той системе было.
Думаю, дело в версии. Попробуйте 1.1
Да они все пишут 1.1, в том числе модифицированные. Оригинальная версия, кстати, не писала доли секунд, только минуты-секунды. Попробовал её, по сути так же — 1m 51s. Кроме того, там в одном из txt-файлов написано, что 32М на Pentium 90 считались три дня, а у вас P-60 с 8M за 7 минут справляется, что тоже по-моему как-то не так.
Там же сложность не линейная. Я поэтому 8М и выбрал.
По поводу вашего результата, не забывайте также, что это жутко устаревшее ПО. Там используется только FPU, когда современные процессоры показывают Асю свою мощь на SIMD. Так что результат в целом закономерен.
А скажите, вы часом не значение ли первой строки от расчёта указываете, то которое «The initial value finished», тогда всё примерно встаёт на свои места (у меня оно равно 1.310s), за исключением того что это не весь расчёт, а только начальный его огрызок.
Я указываю последнюю строку. Вроде как, это полный рассчет.
Тогда, возвращаясь к изначальному вопросу, непонятно, что, как и чем вы измеряли, что у вас в расчётах SuperPI P-II оказывается быстрей чем Core i7.
Посчитайте 8М на i7, а не 32М. Там сложность не линейная.
Тогда ответить нечего.
У меня под рукой ничего быстрого на Винде нет.
Попробую на Райзен3 установить Винду, когда болванки придут.

Ещё идея. Сколько у вас итераций делает тест?
У меня 22
Слышал что бывают читерские версии, выдающие более хорошие результаты. Возможно можно попробовать запустить тот же самый exe-шник, можете его прислать, или хэш. (на 8 M делает 22 итерации за полторы минуты)
Попробую выложить екзешник.
Но у меня 2 разных, на 95 не то, что на ХР. Их результаты друг с другом бьются. Выложу оба.
Результат запуска
(i7-8700, кликабельно)
image

Meltdown & Spectre? Винда? Заговор? Или просто пора апгрейдится на P4) Надо будет проверить на Athlon 64 X2, если заведу)
Пора на P4 однозначно!
Есть теория, что FPU каким был в P4, таким и остался теперь, ибо никому особо не нужен теперь с SIMD. Приложение однопоточное, частоты близки, вот и результаты близки.
В том то и дело, что мои полторы минуты даже близко не валялись с 5-ю секундами у P4 (разница в 18 раз) =)
Да, это странно, согласен.
Попробуйте на Атлоне, если получится.
Сейчас пересмотрел скриншоты и сам засомневался.
Есть ненулевая вероятность, что я везде брал значение первой итерации, а не 22х, о чем ранее мне уже говорили, но я почему-то отмахнулся.
Перепроверю.
Простите, что так долго… Отпуск длинный у нас )
Версия 1.1 от 21 сентября 1995 года.
Больше всего меня бесит маркетинг. Началось все как "супер-пупер открытая система позволяющая апгрейды" а закончилось принудительной сменой поколений. Продать процессор хорошо, а продать к процессору ещё и чипсет ещё лучше. Вот и появлялись заявления типа "Платы под старые процессоры не могут поддерживать Coppermine!" — одна изолированная ножка на процессоре и один проводок соединяющий две ноги на сокете и все работает. Точно так же Tualatin'ы устанавливались на платы для Coppermine.
А как обидно было купив топовую систему на чипсете i925XE с процессором P4 3.6 Ghz узнать, что выходящий в следующем году процессор с индексом D(двухъядерный) на нее просто не встанет(вероятно во блаж маркетологам)…
… при том, что спецификации шины не менялись особо со времён первых п4 до 1156 включительно, что особо обидно, и AsRock выпускала материнки на 865 под core2quad.

Корки 65-45 тоже были хороши, кто-то делал обновление биоса, кто-то зажал и выпускал новые ревизии материнок.
Там обычно все упиралось в VRM. С уменьшением техпроцесса снижалось напряжение но сильно роста сила тока, не каждая система питания могла с этим справиться. Соответственно, если VRM позволял, можно было часто добиться совместимости модификацией биоса. Иногда требовалась модификация сокета, конечно, но все это было продиктовано опять же VRM’ом, чтобы процессоры, требовавшие 1,6V не запускались на платах, которые давали 2,0В.
Вот примерно таким — должен быть официальный блог Интел! Почитал, понастольгировал…
А не тот хабра-твиттер, который у них сейчас.

Мне показалось, или некоторые материнки редких переходных разновидностей ISA+PCI?
Спасибо!
ISA и PCI долго жили вместе, но если вы про матерински гибриды 386/486, то увянет, там только ISA/VLB и её разновидности.
ISA+PCI — это абсолютный стандарт.

Редкость — это одновременно «VL-BUS и PCI» и «PCI-Express и ISA». Вот такие матери — да, большая редкость.
Мне не удалось найти программу-кодировщик MP3, которая работает под Windows 95

Эээ может быть LAME спасет лонгрид?
LAME compiles on Windows, DOS, GNU/Linux, MacOS X, *BSD, Solaris, HP-UX, Tru64 Unix, AIX, Irix, NeXTstep, SCO Unix, UnixWare, Ultrix, Plan 9, OpenVMS, MacOS Classic, BeOS, QNX, RiscOS, AmigaOS, OS/2, SkyOS, FreeMiNT(Atari) and probably a few more.
Может в качестве теста/бенчмарка использовать System Speed Test 4.78?



не обижайтесь, это просто мелкие придирки.
А так аплодирую стоя, месье знает толк (в хорошем смысле) в извращениях.
Мой боевой путь на PC платформе: 8086-4,77 (Искра 1030), TurboXT 8088-12, первая личная машинка на UMS U5S-33 (разгонялась до 50), далее 5х86-133(160) на SIS486/7, далее P166MMX на Zida100, и далее К6, Celeron и т.д.
Да, LAME — первое что вообще пришло в голову, но заставить его работать у меня так и не получилось. Может, руки кривоваты. В итоге, плюнул.
А есть же под DOS от фраунхофера L3ENC. Под виндой запускается, но только 2000, на ХП почему-то расширитель его не работает.
Осознал, что не помню какой у меня сейчас процессор. Да что процессор, объем памяти и то не сразу вспоминаю, тоже самое с видяхой.
Начинал со спектрума, потом 286 и т.д., штук 10-15 точно. Всегда всё про них знал досконально, разгонял все что мог. Игроман был конченный.
Толи я постарел, толи действительно както все стало скучновато в этой области.
После освобождения от RAMBUS, Intel предложила россыпь чипсетов для DDR SDRAM, сначала одноканальный i845D, затем — двухканальные i865 и i875. Чипсет i915, поддерживающий шину PCI Express и DDR2 SDRAM, формально, был рассчитан на 64х разрядные Pentium 4 в исполнении Socket LGA 775, однако некоторые производители предлагали платы для Socket 478 с таким чипсетом.
Незаслуженно забыт обрезок от i865 — скромный трудяга i848

Хотел бы я купить книгу про современную историю компьютеров, написанную в вашем стиле. Я много чего хотел бы.

Приятно, черт возьми!)
Спасибо.
У меня до сих пор стоит в углу аутентичный P-233MMX 64MB на ATX(!) плате явно от бренд вендора с распаяным matrox millenium. Пробовал лет 8-10 назад ставить туда генту для роутинга, дешёвый хоум-роутер оказался сильно быстрее :/
Но выкинуть рука не подымется, чот слишком много молодости у меня с этим хламом связано =)
UFO just landed and posted this here
А с ATX-то что не так? Для MMX первых пней ATX плат было навалом.

Athlon действительно поражали.


У меея был 3й системник на нем: когда его "штатный" поенциал кончился, я взял в руки карандаш, зарисовал перемычку…
Короче мой 1.4 спокойно работал зимой на 2.8 и летом на 2.6.


Как сей час помню медный павлиний хвост Zlaman, торчащий из лежащего на боку корпуса денег на новый не было, да и не ясно было зачем а вот охлаждать было нужно!


Самый первый мой (именно мой) компьютер был LEO в корпусе full tower. Это был 486 DX3 (тут я уже не уверен) и он имел свою коробку, мышку м клавиатуру! Просто космос по всем понятиями, даже сей час. А еще у него был супер глюк: Win95 на него ставилась только с отключенным 5-ти дюймовым дисководом, иначе инсталляция висла (это спустя лет 7 я узнал что это глюк и как его обходить)… Именно по этому я пропустил эту систему, так как сразу на нем встала 98я...


Корпус дил со мной долго, даже упомянутый выше атлон работал именно в нем.


Папки в коробкпх с цветными иллюсирациями, золотое теснение на первой странице мануала…
Папки так и жили со мной очень много лет (хранил в них все те же мануалы, но от новых систем, пока, в очредной переезд я не отпустил их в вольное плаванье.


З.Ы. я так и не могу найти его фото в сети, а у меня с того времени ничего нет.

486 DX3 (тут я уже не уверен)
Правильно не уверены. DX3 (с можителем 2.5) так и не покинул стены лабораторий… в продаже были процессоры DX4… в которых использовался множитель 3. Вот такая странная история…
486 Overdrive на шинах 16 или 20 тоже были, кажется, со внутренним умножением 3x. Один из самых редких процессоров 486 вроде бы.
Точнее, в 486 Overdrive для частоты 16/20/25 мегагерц был встроен множитель 2x, 2.5/3x видимо получалось неофициально при разгоне платы по шине.
В 386 была такая штука, как «буфер предистории трансляции» объемом 16 байт. Не кило-, просто байт. Можно считать, что это был зародыш кэша команд.
Не знаю, как оно влияло на производительность, но вот самомодифицирующийся код делать мешало.
История 32 бит на этом не закончилась: самым первым Core был 32-битный ноутбучный Core Solo.
В следующем году ему на замену был выпущен 32-битный двуядерный Core Duo.
Далее для ноутбуков сделали 64-битный Core 2, и 32-битность на некоторое время задержалась только в атомах.
Ну это не настольные процессоры основной линейки все же. Хотя у меня был именно настольный комп на core duo (не core 2). Это был один из первых Мак мини на Интеле
Интересно Cyrix 486DX2-66 тянул MP3 WinAmp? Он у меня был 14 лет назад, да, уже тогда это было раритет, но что было. Я тогда был уверен что для WinAmp'а 3.* требовался пентиум как минимум поэтому даже не пытался его установить.
AMD k5-75 тянул, но «на пределе» (нельзя было шевелить мышью). Так что скорее всего нужен хотя бы минимальный Пентиум. С другой стороны, существовали аудио и видеоплееры под чистый DOS, и там меньше системные требования.
На 486DX4-100 Winamp заикался даже на низких битрейтах. Зато под DOS вполне можно было слушать музыку. Помню как уже в начале двухтысячных мой основной домашний комп отдал концы и я несколько месяцев сидел на 486. Windows 95, IE4, FAR… вполне можно было жить.
У меня есть ноут на Pentium (вроде 50 МГц, т.к. мобильный) 1996 года, со звуковухой, там mp3 можно слушать примерно до 128 кбит/с, выше тормозит и прерывается. Да и AudioCD он играет со скрипом, малейшая левая нагрузка на проц и начинаются заикания.
Даже AMD K5 PR133 не тянул на полном качестве и включённой 486 оптимизации, хотя P100 работал с 30% загрузки. На четвёрке можно только было слушать с дискретизацией в 22кГц
Моя первая рабочая машина — 80286, 1Мб РАМ, 20Мб жесткий, правда монитор был цветной на 14 дюймов, ДОС 5.0. И на этом агрегате я вёл учет в 5-ти магазинах и на 3-х складах. Пока обсчитывалась инвентаризация, можно было выкурить пару сигарет.
Sign up to leave a comment.

Articles