Hacker News Digest

Тег: #computer-architecture

Постов: 3

Writing a RISC-V Emulator in Rust (book.rvemu.app)

Создание эмулятора RISC-V на Rust — это активно развивающийся проект, позволяющий собрать 64-битный эмулятор с нуля. После завершения курса вы сможете запускать в нем xv6 — простую Unix-подобную операционную систему. Проект охватывает основы компьютерной архитектуры: ISA, привилегированный режим, исключения, прерывания, периферийные устройства и системы виртуальной памяти. Исходный код доступен на GitHub в репозитории d0iasm/rvemu-for-book.

Проект разделен на два основных раздела: в первом рассматриваются аппаратные компоненты, необходимые для работы xv6, включая процессор с двумя инструкциями, память, системную шину, регистры управления и состояния, а также контроллеры прерываний и UART. Второй раздел посвящен наборам инструкций, начиная с базового RV64I Integer и включая расширения "M" для умножения и деления, и "A" для атомарных операций.

by signa11 • 26 октября 2025 г. в 07:34 • 96 points

ОригиналHN

#rust#risc-v#xv6#computer-architecture#isa#virtual-memory#assembly

Комментарии (39)

  • Доступны только первые три главы из десяти.
  • Рекомендация использовать ассемблер для реализации.
  • Наличие rv64-интерпретатора на x86_64 ассемблере.

"Special register groups" invaded computer dictionaries for decades (2019) (righto.com)

Как «специальные группы регистров» 50 лет жили в словарях

Фраза «special register groups» внезапно появилась в определении «CPU» в 1960-е и до сих пор мелькает в учебниках.

В старом глоссарии Минсельхоза США (1960) читаем:

«MAIN FRAME — центральный процессор; включает основную память, арифметическое устройство и special register groups».

Это описание относилось к мэйнфрейму Honeywell 800 (1959), где для многозадачности каждая из 8 программ получала собственный аппаратный набор из 32 регистров — именно их Honeywell назвала «special register groups».

Определение скопировали чиновники, оно попало в Automatic Data Processing Glossary, затем — в сотни книг и статей. Постепенно «main frame» стало синонимом «тип большого компьютера», а «special register groups» превратились в бессмысленную клишированную строчку, которую перепечатывали до 2017 года включительно.

by Bogdanp • 26 августа 2025 г. в 18:57 • 90 points

ОригиналHN

#cpu#registers#multithreading#honeywell#mainframe#history-of-computing#computer-architecture

Комментарии (39)

  • Участники обсудили странное определение «special register groups» в старых словарях: оно неясно и не упоминает обычные регистры.
  • Упомянули, что IBM в 1954 году определяла CPU как совокупность арифметических и управляющих функций, без «специальных регистров».
  • Появились примеры старых машин, например Honeywell 800, где у каждой программы был свой набор регистров — предшественник barrel- и multithread-процессоров.
  • Отмечено, что терминология часто копировалась без проверки, создавая «человеческий слаг» вроде «tongue map» или «brushless DC».
  • Участники сравнили путаницу в терминах с другими примерами, включая RAM, ROM, SMT и «micom» в японских рисоварках.

A Simple CPU on the Game of Life (2021) (nicholas.carlini.com)

Схема простого процессора в «Жизни» — часть 4

Строим первый настоящий компьютер: 2-конвейерную машину неограниченных регистров (URM). Она факторизует 15 за несколько минут.

Что такое URM

  • Теория: бесконечное число регистров с неограниченными целыми.
  • Практика: 16 регистров по 4 бита.
  • Инструкции:
    1. INC Rx — увеличить.
    2. DEC Rx — уменьшить.
    3. JNZ Rx, Addr — переход, если не ноль.

Этого достаточно для полной Тьюринговой машины. Например, сложение:

ADD:
  jnz R1, END
  dec R1
  inc R2
  jmp ADD
END:

Архитектура

  • Верхний левый угол: тактовый генератор.
  • Рядом: регистровый файл (16×4 бит) — вся RAM.
  • Справа: АЛУ, умеет только инкремент.
  • Ниже: счётчик команд (PC) и ПЗУ на 128 4-битовых команд.
  • Слева от ПЗУ: конвейерные триггеры для одновременного чтения и исполнения.
  • Край справа: четыре семисегментных дисплея для вывода.

Особенности «Жизни»

В реальном железе минимизируют транзисторы; в «Жизни» главное — минимизировать площадь и задержку клеток.

by jxmorris12 • 06 августа 2025 г. в 15:17 • 75 points

ОригиналHN

#conways-game-of-life#turing-machine#assembly-language#computer-architecture#registers#alu#program-counter

Комментарии (11)

  • Пользователи в восторге от наглядности «жизни» как модели вычислений, хотя кто-то считает её сложнее обычных логических символов.
  • Conway, по мнению комментаторов, был бы в восторге.
  • Вопрос о стеке сайта остался без ответа, но все хвалят дизайн.
  • Пошутили о запуске DOOM и о «человеческом компьютере» из «Задачи трёх тел».