Обсуждение:X86

Материал из Lurkmore

Перейти к: навигация, поиск

Так всё же с каких пор этот калькулятор стал полноценно многозадачным ?

"Несмотря на свою молодость, даже этот режим уже обзавелся парой костылей, имя коим LAHF и SAHF." Этим командам уже лет 20.

Любая архитектура имеет некоторое кол-во костылей. По сравнению с некоторыми (Итаник, Спарк) х86 вовсе не выглядит особо извращенной. Система команд вполне симметричная. х86 ассемблер я читаю легко, в то время как итаниковый асм мне выносит моск сразу. 90.176.40.79

Всем похуй на читаемость асма. Прямизна/кривизна архитектуры ей совершенно ортогональна. Обычно RISC архитектуры менее читаемы, а CISC - более. —Noser 06:37, 11 ноября 2009 (MSK)
Инженеры рвали анусы, делали с нуля архитектуру с разбором зависимостей в опкоды для упрощения разбиения одного треда на несколько ядер, а независимые иксперты сразу «костыль, костыль!» А по-моему, по сравнению с суперскалярностью и out-of-order execution это гладко отполированный фундамент, который в силу специфики индустрии возненавидили по всему миру неосиляторы. А зря, скажу вам… —Анонимус

Анон, скажи мне, нахуя тут примеры ассемблерного кода для разных архитектур? Эта статья посвящена x86, на кой пень тут это? Примеры перенести в ассемблер а отсюда сделать ссылку.

EM64T уже не используется как термин наверное года полтора. Intel 64 оно сейчас. Вы мистер слоупок-с.

нихуянепонял.жпг

Кстати, причем тут IA-64? Учите матчасть, прежде чем вешать плашки.

Кстати, да. Тема итаника не раскрыта.
И правильно, ибо Итаниум не имеет отношения к x86. Он мог лишь эмулировать его, но к семейству ни разу не относился. Так же можно сказать, что тема PowerPC не раскрыта.

Нормальная такая статейка. Заебали хуйню всякую вешать в заголовок. IA64 - итаниум же - т.е. ксеоны и прочие говна, под которые есть только венда2003 "фор итаниум" (или как там) и линупсы xawari 18:13, 1 февраля 2009 (MSK) Ксеоны ничего общего с итаниумом не имели и до сих пор не имеют.

Блджад, снова школота . IA-64 = архитектура Итаниума; EM64T = тот же AMD-64, только интелловский (так и назвали Интел в спецификации на проц "поддержка AMD-64", ага).

ненависти маловато, ещё нужно добавить Криса Кашперского и его взлом процесора жаваскриптом

Статья полнейший бред, написанный дебилом не понимающим о чем он пишет. Уже с первых строк - "В последнее время постепенно сдувается под прессом совсем уж бессмысленной и беспощадной платформы — ARM", ясно, что в статье будет предвзятая поебень. ARM и х86 это разные ниши и никто никого не теснит. Что же касается прямого сравнения, то ARM откровенно сосет у x86 как по абсолютной производительности, так и по соотношению производительность на ватт. Все чем может похвастаться ARM - то, что он простой как 3 рубля и мало жрет, на этом все его плюсы и заканчиваются.

Реквестирую лулзы. Я верю, они тут есть. А пока статья тянет разве что на выпил.

Эээ... А где пиздеж то? Имхо, плашка "пиздеж" тут никчему, да и с Тёмой поспорил бы.

X86 является чуть ли не единственным современным CISC'ом — CISC с RISC-ядром, блджад. Ещё со времен «незначимого» Pentium Pro.

И какая фхуй разница, что внутре у ей неонка, если программист видит галимый CISC?
Программист вообще ни хуя не видит, кроме своего билдера или вижуал студио.
Это быдлокодер. Программист видит и хуй, и пизду, и все что ему требуется для написания нормальной программы.
Я собственно это и имел в виду. Если заниматься низкоуровневой оптимизацией на асме, сразу становится видна разница и между RISC и CISC, и между P2/P3/P4.

Содержание

Epic Spoiler

Нашёл в спойлере такую последовательность слов:

...и попутно, засовыванием фрагментом его топологии кристалла внутрь легендарнейшего MCU MC68000, без которого не обходилась ни одна 8-битная приставка Dendy лишь за полную командную совместимость сего зверя с Z80! И способность исполнять его код без существенной переделки.

Тот самый спойлер

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

В 8-битной нинтенде, с которой спиратили Dendy, 68000 не было, а было что-то похожее на 6502, который очень мало похож на Z80 и тем более на 68000. Зато 68000 был в приставке SEGA MegaDrive. На пару с Z80. Z80 достался мегадрайву в наследство от SEGA Master System как рудимент и оправдывал своё существование шурованием сэмплов в ЦАП и иногда ещё проигрыванием музычки.

Про топологии кристаллов не в курсе, но после разгребания всего этого бреда закрадываются сомнения.

Галерея ЦП

Хоть бы второпень показали, а то школота-то и не видала слотовых камней

X86-64?!

Блджад, из какой пизды родилось это обозначение данной архитектуры?!
Все расово правильные ОС называют это amd64!
inb4: мне похуй на интел и на амд, мне главное чтобы компы были хорошими

удолил

> прозреваю неиллюзорную значимость х86 процессоров для существования этих ваших интернетов в их нинешнем виде lolz

ты еще скажи — "значимо™"
вы ебнулись? это ваше значимо™ совершенно незначимо™

В русском языке нет слова "биллион", асёл!

Статья годная, зря Тёма к ней прицепился. Не раскрыта тема войны Intel и AMD, а также тема меньших производителей, пытавшихся развивать 86-ю линию самостоятельно, как-то напр. Cyrix и NexGen -- последний выпустил процессоры 586 и 686 (ставший более-менее успешным AMD K6-2). Хотя процессорная война, имхо, вполне заслуживает отдельной статьи.

Статья охуенна и познавательна, я так считаю.

Арифметическая ошибка.

Добавил лулз про арифметическую ошибку. Кошерно?

Ага. Как же без неё.

Срач в примечаниях

Адресуемое пространство памяти — 4Gb.

На самом деле там все несколько сложнее. Это максимальный размер сегмента, который можно адресовать в 32-разрядном режиме, а всего таких сегментов возможно адресовать 8192 (2^13). При этом требуется перезагрузка сегментных регистров. Короче, в хуй никому не упершийся полный матан (см. формат GDT/LDT/селекторов), поскольку все Нормальные ОС с приходом 32-разрядного режима забили на сегментацию и использовали исключительно плоскую модель памяти, разделенную на страницы. Сегментация стала рудиментом, который в конце концов выпилили в 64-битном режиме.
На самом деле, упёршийся, поскольку уже Pentium Pro позволил таким макаром адресовать до 64 гигабайт памяти (см. далее), и позволяет (в виде более современных поколений) адресовать до сих пор. Так что все, кто думают, что для использования 8—64 гигов памяти 64-битный процессор обязателен, сосут хуйца. Правда, при этом вылезают другие забавные ограничения, такие как ограничение объёма памяти на процесс (4 гигабайта, в форточках — 2) и общее ограничение на доступный к адресация объём памяти (в Linux 2.6 — 24GiB) в связи с замапливанием верхних виртуальных адресов на всякие вкусности типа memory mapped file и прочая память видеокарты и других девайсов
Господа, не путайте теплое с мягким, один говорит про сегментацию, а другой пишет про PAE. Для начала разберитесь в самой архитектуре. Сегментация сейчас действительно нахуй никому не уперлась, а вот PAE - действительно, вещь нужная, хотя это и костыль.
Платон мне друк, но истина дороже. Все верно про сегментацию и PAE, но все-таки адресуемое пространство у сабжа не 4 Гб, не надо вводить людей в заблуждение. Мы взрослые солидные люди и поймем друг друга, но ведь школьники читают лурк (в том числе и эту статью), хуй убедишь их потом в обратном. Кстати, там 2^13-1 по идее, поскольку первую запись в GDT Интел требует делать нулевой, но вот это точно не так уж и важно.
Адресное пространство любого процесса в любой конкретный момент времени - 4 гигабайта (потому что 32 бита, d'oh). Страницы и сегментирование - совершенно другая тема. Идите учить матчасть, а то вы так расскажете, что у Z80 адресное пространство 24-32-64-128 бита за счёт внешних MMU. Адресуемое пространство = к скольки ячейкам непосредственно может обратиться инструкция.
Процесса, а не процессора. Прошу не путать. Тут говорится о процессорах линейки x86, а не организации адресного пространства процесса в операционных системах.
Про адресуемое пространство - вообще сферический бред в вакууме. Инструкция может использовать разные режимы адресации, в том числе и формат селектор:смещение. Не забывайте, что именно сегмент делится на страницы и курите режимы адресации.
Курите сами, на страницы делится линейный адрес, получившийся после сегментных преобразований. Строго говоря, страницы с сегментами не связаны никак (хотя выравнивание крайне желательно).

Анонимус превращается в нефритовый стержень

Покрова сорваны. И, то есть вы хотите сказать, что на этом с...ном куске кремния, который непонятно как работает (точнее, теперь понятно, но от этого становится только страшнее), я зарабатываю баблос последние 10 лет??? Воистину, меньше знаешь - крепче спишь.

Unreal Mode

Напишите тоже плиз (когда возвращается обратно из защищенного).

УДОЛИЛ!!!11

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

Хуи сосешь?

/r/ статью про PPC

сабж

Начинай тогда.
Реквестирую сравнение x86 с VAX, Alpha, PowerPC, SPARC. Или отдельные статьи про них.
Боюсь,что это никому не нужно. ОК, для сравнения: Firefox® 4.0 теперь x%$86 only, Opera 10.7x теперь x&^86 only, Fedora теперь x~@86 only, Open SuSe теперь x)%86 only (и, похоже, была первой), Macromedia/Adobe® Flash® — x%$86 only.....
Ойлоло, а как же дроид? На нём даже ARM-буки всякие работают. И флэш там же.
Гугловский. Свой. Пропид^Wпроприетарный.

Предки 8086

Блядь, безмозглое школие заебало!

Косяки 8086 растут корнями из предыдущих поколений процессоров. И 8086 прямой наследник всего говнищща, которое интел понаделала до запиливания х86. Подробнее, блядь, пидарасы ебаные смотрите в педивикии. Конкретно - вот тут: http://ru.wikipedia.org/wiki/8086 в разделе "Работа с памятью". Далее, о калькуляторах: 4004 _ИЗНАЧАЛЬНО_ разработан как проц для калькулятора. Другое дело, что оказался настолько винрарным, что куда его только не пихали. А спижженный 8080 наши доблесные электронщики в 91-м году упихали даже в домашний шахматный компьютер: http://www.leningrad.su/museum/show_calc.php?n=328

Я не понимаю, откуда такое неистовое желание, чтобы были упомянуты всякие 4004, 8080 и прочая хуета, от которой х86 унаследовал примерно столько, сколько экскаватор от лопаты? Вот же, блядь, охеренно важная инфа, необходимая любому читателю статьи. Ведь можно пойти и дальше. 4004 тоже не на пустом месте вырос. Вспомнить изобретателей первой интегральной схемы. Потом первого транзистора. Проследить родословную основателей фирмы Интел до Адама и Евы. А там и до Большого Взрыва недалече. Лечитесь от задротства, мой вам совет. —Noser 23:34, 10 февраля 2010 (MSK)

И таки да, вплоть до 80С186 существовало 2 параллельных развития архитектуры на одной и той же элементной базе (писюки и калькуляторы). Но это означает лишь то, что калькуляторное говнищще архитектура вынуждена была реализовывать в новых поколениях камней, равно как и тянет оное говнищще до сих пор.

Как пример: в процессоре х86 реализованы вещественные умножение и деление. Нахуя ж оно нужно для процессора общего назначения? Нах не надо, пережиток калькуляторного времени. Так оно и было в RISCах: вычислениями там занимались либо программно, либо со-процессор. Ввели со-процессоры в х86 и получилась идиотская ситуация, когда математическими вычислениями могли заниматься одновременно 2 железки в компутере. А народ хавал и платил.

>в процессоре х86 реализованы вещественные умножение и деление.
>со-процессор
Bitches don't know about mah en.w:x87? И про пайп-лайн начиная с 486, когда х87 интегрировали? И про FP SIMD-расширения в RISC-архитектурах? Алсо, тыкни пальцем, что именно тащится с 4004, который на CISC нихуя не тянул. Заодно расскажи, какие костыли тащатся с 8080, кроме 8-битных регистров и пары операций типа lahf/sahf. Я послушаю с интересом.

Светлое будущее

А какие есть кошерные альтернативы сабжу? На какую архитектуру переходить, если в деньгах не ограничен, и потрахать мозги готов, лишь бы не работать на этом убожестве? Реквестирую кого-нибудь разбирающегося в тонкостях вопроса, дабы запилить подобный раздел в статью.

ARM, конечно. Если хорошо поискать в восточном направлении, можно найти и нетбуки и неттопы — если меня не подводит склероз, даже на базе NV Tegra.

Ещё такие процы были Cyrix

"Галерея ЦП"? тонко

Надо бы обновить или дополнить  галерейку фотками ЦП помоложе чем первый пень и пень овердрайв.А то это уже не CP  ,а геронтофилия ,или что похуже.

Pentium 1.99995758493

поясните, что за фигня? гугл не отвечает

IEEE 754 в помощь

Смартфон на базе X86

Похоже что ARMяшки всё-таки соснут в ближайшем будущем. Почему? Читаем вот здесь и вот здесь И, кстати, стоит это внести в статью.

Не сбылось. Первую попытку Интел просрал.

кошерные ОС для 80286

Следующим был 80286. ...... толком использовать больше 1MB реально умел лишь M$ Xenix

В топку ксеникс.
OS/2 до версии 1.3 включительно работала на 286-ом камне. 2 мегабайт оперативы хватало для работы под текстовым шеллом (filebar?).
Пополама давала возможность параллельного выполнения N штук найтивных 16-битных апликух и одной DOS-задачи.

Автор хуй и говно и ничего не понимает в архитектурах процессорах

Собственно автор вещает в стиле "Вот эти гондоны из интела понапихали в свои железки костыли, а я дартаньян и считаю что они не нужны". Да, в измученной архитектуре х86/х64 полно атавизмов, но на мой взгляд нужно пояснить хотя бы почему их оставили или почему от них нельзя избавится. Сама по себе архитектура довольно годная и для PC подходит лучше некуда. Так же стоит пояснить почему альтернатив нет и почему они не нужны ,а не ругать старый добрый х86. Да и статья по сути - википидота с ненавистью на луркоязе.

Статья-то хорошая

Написана хуево. 80% статьи — совершенно ненужные подробности, непонятные 95% читающих, разбавленные имхотой, спискотой, срачами (и важными пояснениями (которые никак нельзя вписать в общий текст (без скобок)))! "Иди нахуй отсюда, быдло" конечно весомый контраргумент, но не разбираться в конкретной теме — не синоним былда.

Срач о том, что x86 отстой не может быть понятен более чем 5%, по-определению. Хотя, если ты пришёл за аргументами потроллить x86-фагов, то могу предложить несколько простейших: 1) x86 жрёт ватты как печка; 2) происходит это из-за CISC архитектуры; 3) которая приводит к перегреву декодера команд; 4) подробности почему так, изложены в статье; 5) RISC рулез!; 6) особенно X, где X либо ARM, либо MIPS (если китайский путь ближе сердцу).

Самого главного в статье вообще нет. Где принцип работы микропроцессоров для чайников? Почему х86 так уж уебищен? В чем принципиальная разница между Интелом, АМД и ППС? Что из этого лучше и почему? "Архитектура x86 — это победа маркетинга над здравым смыслом." — почему? Что такое костыль и можно ли без него? VME, PSE, CMPXCHG8B, MMX, SSE, SSE2, SSE3, CISC, RISC — какой физический смысл несут в себе все эти аббревиатуры?

Принцип работы микропроцессора тот же самый, что и принцип работы процессора -- логика, то есть кучка логических вентилей соединённых определённым образом. Логические вентили реализуются на транзисторах. Единички/нолики или истина/ложь кодируются разными уровнями напряжения. Единственное отличие процессора от микропроцессора -- это исполнение вида "всё в одном", вместо десятков микрух процессора на плате стоит ровно один чип. Почему x86 так уёбищен написано в статье. Разница между интелом и амд в том, что открыватель закона Мура основал Intel, а AMD он не основывал. Что такое ППС -- не знаю, м.б. пожарно-прикладной спорт? Победа маркетинга потому, что интел подпирал платформу костылями, боясь сделать нерабочей хотя б одну программу какого-нибудь ебанутого хакера (в частности, хакеров из ms или ibm), который был достаточно ебанутым для использования недокументированных фичей процессора. Костыль -- это подпорка, нарушающая красоту божественного замысла, и необходимая инвалиду для дальнейшего движения в заданном направлении. VME -- virtual x86 mode (способ запуска real mode софта из protected mode, позволил запускать дос в вендовс, а не вендовс в дос без создания полноценного программного эмулятора x86), PSE -- page size extension (страницы разнообразных размеров), MMX -- MultiMedia eXtensions (первое SIMD расширение на x86, работает с целочисленными векторами, храня их в регистрах FPU), SIMD -- Simple Instruction Multiple Data (одной командой выполняется несколько операций над разными значениями, пример -- сложение двух векторов одной командой), SSE -- Streaming SIMD Extension (типа MMX, но для векторов из float'ов и с добавлением регистров), SSE2/SSE3 -- продолжения банкета SSE (типа чисел двойной точности, целочисленных данных, дополнительные команды и чёрта в ступе), CISC -- Complex Instruction Set Computer (весьма были популярны, когда память была дорогая, поскольку программы кодировались короче), RISC -- Reduced Instruction Set Computer (команд резко меньше, они проще и единообразнее в кодировании, зато больше регистров, от чего упрощается схематика и энергопотребление декодера команд и некоторых других блоков, но код становится более громоздким, и писать его руками или читать глазами гораздо скучнее).

Объяснить всё это простым, человеческим языком по аналогии с ОТО и КМ. Это же единственная статья про микропроцессоры на лурке.

Ты видел хоть одного программиста/системного администратора, который мог бы объяснить это простым человеческим языком? Вот и я не видел. Есть основания полагать, что в простом человеческом языке не хватает слов для таких объяснений.

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

А я предлагаю пойти всем предлагаторам нахуй. Здесь не учебник по архитектуре процессоров. Если начать объяснять каждое расширение, приводить список команд и примеры задач (с кусками наиболее вкусного кода), для которых расширение предназначено, то статья раздуется до идиотских размеров, и лишь редкий посетитель сможет её осилить. Пихать сюда основные принципы работы процессора -- типа логических вентилей, злоебучих схем из этих вентилей, например, 128-разрядного сумматора или простейшего декодера команд -- это тоже нахрен никому не надо. Туда же идёт идея рисовать блоксхемы, с кешами, декодерами, ALU, и прочими блоками (хотя какую-нибудь одну блоксхемку с сайта Intel можно было бы вставить, чисто по приколу). Те кто и без статьи знают или могут догадаться из общих соображений, что такое cmpxchg, задолбаются продираться через изложение азбучных истин. Те кто не знают этих азбучных истин, тем скорее всего и не положено их знать, во всяком случае мозгов въехать в тему по краткому описанию хватит максимум у 5% таких, остальные съебутся до того как дочитают до конца.
Очень круто. Не, я, конечно, тебе благодарен, за то, что ты потрудился, понаписал столько, вместо того, чтобы просто послать меня нахуй, как это сделали все, кто ничего не написал. Но из всего написанного следует 2 вывода:

1. Написать всё это доступным языком (не для 5%) никто не сможет, ввиду специфики работы мозга шарящих в теме.

2. То, что здесь понаписано, и так понятно всем шарящим в теме (для 5%), т.к. это основы основ.

Возникает закономерный вопрос: нахуя вообще всё это говно нужно? Лурк уже давно плотно заселен быдлом, с этим надо смириться. Не желаете делиться сокровенной инфой с массами? Ну чтож, это печально, но, видимо, нихуя не сделать. Просто тема-то интересная, хотелось почитать на человеческом языке.
Насколько я понимаю, статья написана исключительно для того, чтобы означенные 5% смогли угореть с неплохого слога автора, и с этой задачей она справляется замечательно.

х86 рулит

архитектура винрарна и прекрасна. проста для программирования. правильный вектор развития - для процессора нет ничего важнее совместимости, мощности сосут. костылей не очень много, а те, что есть, ни разу не мешают. сегментация нужна, ибо TSS и task gate. CISC, а значит, полноценный и дает программисту свободу выбора: сегментация или страничная адресация, PSE или PAE... еще раз: сегментация нужна и юзабельна, relocation надо в загрузчике использовать и все ее мнимые проблемы исчезают, но почему-то все равно большинство предпочитает странички... а ведь эти ваши странички не умеют в NX-бит без PAE и прочих расширений. если бы все использовали сегменты, никакого переполнения буфера мы бы не знали. но нет, продолжают кричать "не нужно"... или вот аппаратная многозадачность. она такая удобная. ну подумаешь, 900 наносекунд против 60 по тестам на переключении контекста... все равно ведь это сраные наносекунды! а зато удобно как!

ARM

постепенно сдувается под прессом совсем уж бессмысленной и беспощадной платформы — ARM.

Кто писал эту хуйню? Наоборот x86 выдавил из серверного сегмента всё что там есть (Alpha, TItanic, SPARC, MIPS) и весело там процветает.

А ваши армы и прочие мелкие мипсы для кофемолок засуньте себе в жопу. Вместе с атомом, который был ненужным выкидышем в надежде быстренько срубить бабла на популярности нед(о)буков в 10-12 годах.

Двухъядерный арм с 1.5GHz на ядро сливает по производительности семилетнему коредвадуо с такой же ТЧ как труба сечением три квадратных километра. Не говоря уже о том, что под него нет ни нормальных ОС, ни нормального софта. Играть в портированный энгрибёрдс вообще можно на пекарне 14-летней давности (Radeon 8500, Pentium 4, 1Gb DDR1).

Сравнивать ARM с х86, это как сравнивать Фольксваген Гольф с Кадиллаком Эльдорадо. Последний жрёт натурально сотни нефти, и не везде на стоянку встанет, но зато мощный, оборудован всякими удобными плюшками вроде кондея, и тёлок в нём легче развести на минет.
Короче, АРМ хорошо подходит для мобилок, x86 - для десктопов (да-да, есть такие монстры, как игровые ноутбуки, но они шумят кулерами как стартующая ракета, и батарею сажают на раз-два). Но классический писюк в виде гудящей под столом коробки, монитора, и клавиатуры с мышкой, идёт в музей, а его место занимают ноутбуки, нетбуки, и планшеты.
Писюк 14 летней давности кушает электричество как 10 планшетов.


Наибольший шаг/радикальные изменения со времен 386 процессора

Анон никак не может вспомнить источник, где читал, и про какой именно (что-то из i3/5/7 линейки), что эта архитектура - наибольший радикальный шаг изменений со времен 386-го. Помогите нагуглить.