Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Обработка аппаратных прерываний в архитектуре intel. i8080 — i80486, PIC, ISA, conventional PCI

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

Спойлер
Я понял, что никогда уже не допишу этот грандиозный обзор во всей его полноте, поэтому я просто убрал «часть 1» из названия. Возможно эта часть всё же будет кому-нибудь полезна.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Просмотры6.3K
Комментарии 8

Трясем стариной: перехват потока данных между i386 и контроллером ATA средствами STM32

DIY или Сделай сам
Добрый день, уважаемые хабровчане. В сегодняшней статье мы предадимся ностальгии, поработаем со старым добрым железом, и постараемся прикрутить к нему не менее доброе новое. А заодно вспомним, как работает шина ISA и как вообще происходит общение х86-процессора с периферией.
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Просмотры20K
Комментарии 30

Наборы команд должны быть свободны: доводы за RISC-V

Open source
Перевод
Примечание переводчика. В оригинале статьи авторы (один из них — пионер RISC-процессоров Д. Паттерсон) аргументируют необходимость развития открытых ISA (instruction set architecture, наборов команд процессоров) и продуктов на их основе. В качестве аргументов выдвигается стимулирование развития тех областей вычислительной техники и экономических ниш, в которых коммерческие компании не заинтересованы или же недостаточно гибки. Они напоминают об успехах открытых стандартов и свободного программного обеспечения.

На расширенную версию этой статьи (а также на контр-статью от представителей ARM и контр-контр-параграф от авторов!) я наткнулся в августовском выпуске Microprocessor Report (MPR). Доступ к MPR ограничен и распространяется только на подписчиков, однако в открытом доступе есть оригинальный отчёт, размещённый на сайте университета Беркли. Его перевод я и предлагаю далее.

Instruction Sets Should Be Free: The Case For RISC-V by Krste Asanović and David A. Patterson. EECS Department, University of California, Berkeley — Technical Report No. UCB/EECS-2014-146 www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.html

Copyright notice and disclaimers
Перевод делается с любезного разрешения авторов.

Copyright © 2014, by the author(s).
All rights reserved.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission.

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

Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Просмотры17K
Комментарии 11

Старые ISA-видеокарты и AVR

Старое железоВидеокартыDIY или Сделай самЭлектроника для начинающих
Recovery mode
Лет десять тому назад достались мне предназначенные на помойку ISA-видеокарты от 286...486 машин. Видеокарты были опробованы и с тех пор пылились в ящике. Пару лет назад появилась у меня мысль, а не подключить ли такую видеокарту к микроконтроллеру? Вот об этом я и расскажу в статье.
Читать дальше →
Всего голосов 76: ↑76 и ↓0+76
Просмотры43K
Комментарии 56

Эмулятор мультикарты с дисководом для компьютеров с шиной ISA

Старое железоDIY или Сделай сам

Для обмена данными с компьютером с шиной ISA можно использовать нуль-модемный кабель или переходник SD-IDE. А вот ещё одно удобное приспособление: эмулятор мультикарты с дисководом, в основу которого положена микросхема IDT7130 — двухпортовое ОЗУ на 1 килобайт. Она взаимодействует, с одной стороны, с шиной ISA вашего винтажного компьютера, с другой — с установленной прямо на плату эмулятора «малинкой».
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Просмотры9.9K
Комментарии 12

Новый золотой век для компьютерной архитектуры

Open sourceПроизводство и разработка электроникиКомпьютерное железоПроцессоры
Перевод
Авторы — Джон Хеннесси и Дэвид Паттерсон, лауреаты премии Тьюринга 2017 года «за новаторский систематический и измеримый подход к проектированию и проверке компьютерных архитектур, оказавший долговременное влияние всю отрасль микропроцессорной техники». Статья опубликована в журнале Communications of the ACM, февраль 2019, том 62, № 2, стр. 48-60, doi:10.1145/3282307

«Те, кто не помнит прошлого, обречены повторить его» — Джордж Сантаяна, 1905

Свою лекцию Тьюринга 4 июня 2018 года мы начали с обзора компьютерной архитектуры, начиная с 60-х годов. Кроме него, мы освещаем актуальные проблемы и пытаемся определить будущие возможности, которые сулят новый золотой век в области компьютерной архитектуры в следующем десятилетии. Такой же, как в 1980-е, когда мы проводили свои исследования по улучшению в стоимости, энергоэффективности, безопасности и производительности процессоров, за что и получили эту почётную награду.

Ключевые идеи


  • Прогресс программного обеспечения может стимулировать архитектурные инновации
  • Повышение уровня программно-аппаратных интерфейсов создаёт возможности для инноваций архитектуры
  • Рынок в конечном итоге определяет победителя в споре архитектур
Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Просмотры31K
Комментарии 89

External Interrupts in the x86 system. Part 1. Interrupt controller evolution

Системное программирование
Tutorial
This article is about the interrupt delivery process from external devices in the x86 system. It tries to answer questions such as:

  • What is PIC and what is it for?
  • What is APIC and what is it for? What is the purpose of LAPIC and I/O APIC?
  • What are the differences between APIC, xAPIC, and x2APIC?
  • What is MSI? What are the differences between MSI and MSI-X?
  • What is the role of the $PIR, MPtable, and ACPI tables?

If you want to know the answer for one of these questions, or if you simply want to know about interrupt controller evolution, please, welcome.
Read more →
Всего голосов 20: ↑19 и ↓1+18
Просмотры11K
Комментарии 0

Упражнения в эмуляции: инструкция FMA консоли Xbox 360

AssemblerАлгоритмыРеверс-инжинирингПроцессорыИгры и игровые приставки
Перевод

Много лет назад я работал в отделе Xbox 360 компании Microsoft. Мы думали над выпуском новой консоли, и решили, что было бы здорово, если эта консоль сможет запускать игры с консоли предыдущего поколения.

Эмуляция — это всегда сложно, но она оказывается ещё труднее, если твоё корпоративное начальство постоянно меняет типы центральных процессоров. В первом Xbox (не путать с Xbox One) использовался ЦП x86. Во втором Xbox, то есть, простите, в Xbox 360 использовался процессор PowerPC. В третьем Xbox, то есть в Xbox One, использовался ЦП x86/x64. Подобные скачки между разными ISA не упрощали нам жизнь.

Я участвовал в работе команды, которая учила Xbox 360 эмулировать многие игры первого Xbox, то есть эмулировать x86 на PowerPC, и за эту работу получил титул «ниндзя эмуляции». Затем меня попросили изучить вопрос эмуляции ЦП PowerPC консоли Xbox 360 на ЦП x64. Заранее скажу, что удовлетворительного решения я не нашёл.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Просмотры6.1K
Комментарии 3

Шины и протоколы в промышленной автоматике: как всё это работает

IT-инфраструктураПромышленное программированиеПроизводство и разработка электроникиИнженерные системы


Наверняка многие и вас знают или даже видели, каким образом управляются большие автоматизированные объекты, например, атомная станция или завод со множеством технологических линий: основное действо часто происходит в большой комнате, с кучей экранов, лампочек и пультов. Это комплекс управления обычно называется ГЩУ — главный щит управления для контроля за производственным объектом.

Наверняка вам было интересно, как всё это работает с точки зрения аппаратной и программной части, и какие там используются протоколы передачи данных. В этой статье мы разберемся, как различные данные попадают на ГЩУ, как подаются команды на оборудование, и что вообще нужно, чтобы управлять компрессорной станцией, установкой производства пропана, линией сборки автомобиля или даже канализационно-насосной установкой.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Просмотры23K
Комментарии 32

Древности: 1992 год в компьютерной прессе

Блог компании «Лаборатория Касперского»История ITСтарое железо
Временной период для чтения старых журналов мне помогли определить судебные разбирательства. В конце восьмидесятых и начале девяностых компании AMD и Intel регулярно встречаются в суде. Изначально они обменивались технологиями. AMD выпускала по лицензии процессоры вплоть до 286-го (наличие второго поставщика было требованием IBM), но после выпуска Intel 80386 ситуация изменилась: американский производитель решил не делиться разработками с AMD, и пытался запретить производство клонов. Судебные тяжбы окончательно прекратились только в 1996 году, Intel в целом проиграла, но сумела задержать появление на рынке 386-х процессоров от конкурента до марта 1991 года.

Пытаясь наверстать упущенное, AMD выпускает самый мощный клон 80386 — процессор AM386DX с частотой 40 мегагерц (Intel остановилась на 33 Мгц). Компьютеры на базе этого процессора появляются в конце 1991 — начале 1992 года. А в 1995 году 40-мегагерцевый 386-й становится моим первым личным компьютером. На тот момент он уже устарел, и Windows 95 на нем работала неторопливо, но выбора (как и денег) особо не было: этот компьютер прослужил мне аж до 2001 года.

В 2019 году я решил восстановить свою компьютерную систему из 90-х, а заодно изучить компьютерные технологии начала девяностых. Для меня это времена скорее темные и непонятные. И выходит так, что самый мощный 386-й был актуальным ровно один год, после чего (для производительных ПК конечно), окончательно уступил место 486-м системам. Пока ко мне едет новое-старое железо, следует изучить контекст подробнее, по первоисточникам. Я уже делал похожую подборку по материалам выставки Комтек 1997 года. А сегодня расскажу, о чем писали и что рекламировали в компьютерных изданиях за 1992 год.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Просмотры23K
Комментарии 131

Реверс-инжиниринг неизвестного процессора по единственной программе

Ненормальное программированиеAssemblerРеверс-инжиниринг
Перевод

TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось…

В прошлые выходные мы с командой CMU PPP поучаствовали Teaser CTF 2019 команды Dragon Sector, чтобы расслабиться и отойти от жёсткого дедлайна CHI 2020. Dragon Sector — это уважаемая польская команда, имеющая историю интересных CTF, поэтому мне было интересно, что у них есть в запасе.

Решив “ummmfpu”, — задачу, в которую входил реверс-инжиниринг байткода для сопроцессора с плавающей запятой Micromega uM-FPU, я решил поучаствовать в соревновании по решению задачи CPU Adventure, которая на тот момент не была решена ни одной из команд (в результате мы оказались единственными, кто справился с заданием).

Вот описание задачи CPU Adventure:

Мой дедушка в 60-х годах занимался разработкой компьютеров. Наводя порядок на его чердаке, я нашёл странную машину. Рядом с машиной лежала стопка перфокарт с пометкой “Dragon Adventure Game”. Спустя какое-то время мне удалось подключить её к современному оборудованию, но игра слишком сложная и я не могу добраться до конца без читерства. Сможете мне помочь? Прилагаю транскрипцию перфокарт, используемых в машине. Утверждается, что машина имеет 4 регистра общего назначения, 1 кибибайт памяти данных и 32 кибибайта памяти команд. Чтобы сыграть в игру, подключитесь к серверу следующим образом: socat tcp4-connect:cpuadventure.hackable.software:1234 fd:0,rawer Подсказка: процессор машины уникален, не пытайтесь гуглить информацию по нему.

game.bin
Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Просмотры13K
Комментарии 18

Древности: трудный выбор звуковой карты для DOS-игр

Блог компании «Лаборатория Касперского»Старое железоЗвук
Звуковая карта — один из самых важных элементов ретрокомпьютера, а для многих это основная причина сборки такового. В отличие от офисного софта компьютерные игры не стареют: запускать их на аутентичном железе — это приятная и почетная задача. Хотя и не обязательная: есть же DosBox, в которой если не все, то многие игры работают без проблем. Выбрать правильную звуковую карту для моего 386-го компьютера было непросто: вариантов много, нюансов совместимости еще больше, а некоторые экземпляры потихоньку превращаются в с трудом добываемые раритеты. Вот какая из них лучше?


Но это сейчас выбор трудный, а в девяностых он был простой: какую звуковую карту удалось добыть, та и лучшая. В реальности мне тогда не удалось добыть никакую, и мой 386-й компьютер тех времен так и прожил всю жизнь, издавая звуки только жестким диском, PC-спикером и модемом. Зато первые пробы Doom с «саундбластером» у знакомых и друзей в 1994 году производили невероятное впечатление. К реалистичной (по тем временам) графике добавились не менее жизненные (тоже по тем временам) звуковые эффекты. Круто же!

Окей, в моем ретрокомпьютере точно будет установлена звуковая карта Sound Blaster компании Creative. Какая именно — тоже непростой вопрос, и итоговый выбор будет зависеть не только от предоставляемых картой возможностей, но и от наличия или отсутствия определенных багов, тоже аутентичных. Какие у меня есть варианты? И какие варианты существуют вообще? Причем тут гуси? В этом теоретическом посте я попробую на данные вопросы ответить, и заодно расскажу о древних технологиях извлечения звука из вашего IBM-совместимого ПК.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Просмотры12K
Комментарии 133

Разговор с техническим директором RISC-V Марком Химельштейном

Блог компании НПП ИТЭЛМАOpen sourceПромышленное программированиеПрограммирование микроконтроллеровПроцессоры
Перевод
image Летом 2020 RISC-V International (организация-член группы RISC-V) объявила о назначении 16 членов правления в новую компанию с штаб-квартирой в Швейцарии в связи с упразднением старого подразделения RISC-V Foundation.

В июне 2020 года в компанию пришел новый CTO – Марк Химельштейн. Мы взяли у него онлайн-интервью, в котором поговорили о его роли в компании, проблемах (если они имеются) внедрения RISC-V и влиянии геополитики на различные процессы.

EE Times: Расскажите нам о своем бекграунде и почему вы решили присоединиться к RISC-V.

Марк Химельштейн: Думаю, можно выделить три основных пункта моей биографии:
1) Я работал в MIPS и занимался компиляторами, ПО для оптимизации, ОС и помогал с разработкой ISA;
2) Затем я пять лет работал в Sun Microsystems и руководил разработкой Solaris;
3) Я был сооснователем и CTO стартапа, занимавшегося разработкой системой параллельных вычислений для работы с флеш-памятью (Graphite Systems, купленная EMC в 2015 году).

Я занимался всем – от ISA до приложений. Одна из причин, почему Калиста [Калиста Редмонд, CEO RISC-V International] пригласила меня заключается в том, что и ISA и экосистема имеют равную и очень высокую важность. Компании нужен был человек, приближенный к разработке ПО – потому что именно в этой сфере ей нужно расти и работать, чтобы обеспечить RISC-V успешное будущее.

Некоторые из моих коллег в MIPS говорили о том, что я стану CTO RISC-V, хотя я тогда об этом не думал. В конечном итоге я выбрал эту работу потому что она показалась мне интересной с технической точки зрения, а также мне понравились люди, которые меня собеседовали. Это основные аспекты, на которые я обращаю внимание при выборе работы.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Просмотры2.6K
Комментарии 2

Радости экспериментов с ISA и PCI

Блог компании RUVDS.comКомпьютерное железоСтарое железо
Перевод
С момента появления домашних компьютеров существует возможность расширять их функционал путём установки большего количества RAM, более ёмких накопителей, дополнительных комплектующих. Но только с появлением IBM PC привычной стала идея о полностью открытой модульной компьютерной системе. А именно, концепция карт расширения позволила пользователям компьютеров не зависеть от конфигураций систем, предлагаемых производителями. Подобные конфигурации можно было, в ограниченных пределах, расширять комплектующими, рассчитанными исключительно на эти системы. Благодаря универсальным картам расширения появились целые отрасли промышленности, они стали и причиной возникновения большого рынка любительских устройств, которые можно было подключать к компьютерам.



В первом IBM PC было пять 8-битных слотов расширения, подключённых прямо к процессору 8088. Компьютер IBM PC/AT был основан на процессоре 80286, в результате слоты стали 16-битными. С помощью слотов расширения к компьютеру можно было подключать практически всё что угодно: графические и сетевые карты, дополнительную память, какие-то особые платы. Хотя для этих слотов расширения и не существовало официального наименования, во времена PC/AT их называли, соответственно, PC-шинами и AT-шинами. А название Industry Standard Architecture (ISA) — это ретроним, который придумали создатели клонов PC.

Такая открытость ISA означала то, что можно было достаточно легко и дёшево создавать собственные ISA-карты. То же касалось и шины PCI, которая появилась после ISA и была такой же открытой. В результате до сих пор существует полная жизни экосистема, в которой есть место и любительским звуковым картам, рассчитанным на слоты PCI или ISA, и картам расширения, позволяющим оснастить IBM PC 1981-го года поддержкой USB, и много чему ещё.

С чего начать тому, кто в наши дни хочет заняться работой с ISA- и PCI-картами?
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Просмотры8K
Комментарии 11