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

Комментарии 36

Знаете, Владислав, когда вы пишете статью, где делитесь какой-то информацией, прочитайте её сами, представляя себя на месте читателя, который не делал с вами этот процессор или что вы там в статье описываете. И попробуйте вообразить, понял он что-то из этих черных квадратов и общих фраз что-либо, или ничего не понял. Если второе — тогда надо бы статью сделать информативнее.
Спасибо, учту

Уже давно нет никакого смысла в разработке процессоров работать на уровне отдельных регистров
И уж тем более не нужно делать это так
Изучайте vhdl и пишите на нем.
ЗЫ проектировать сложные системы имхо стоит всеже по методике водопад по крайней мере до первого релиза https://m.habr.com/ru/company/edison/blog/269789/

Здесь же задача была разобраться в работе существующих процессоров. Так что, почему бы и нет?

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

Ага, примитивная для тех, кто уже разобрался.
У нас в институте, например, два семестра был курс, посвященный этому. Начиная, с элементарного — бинарной логики, карт Карно, до более сложных вещей. И это был курс по весьма старым микропроцессорам — ни о каких предсказаниях ветвлений и речи не шло.
Сдается мне, конструирование процессора с нуля и до конца будет примерно равно этому курсу.
имхо если этого курса нет в голове то и думать о разработке процессора не стоит
Это же не о разработке процессора, а о получении знаний. Во время такой разработки получил новые знания, ничего плохого в этом нет.

В каждой статье должен быть человек, который напишет, что автор сделал велосипед.)

Компьютер в цифровом симуляторе — это интересное начало для Homebrew computers хобби. Но "железка" ещё интереснее! Homebrew computers очень разнообразны — релейные, с процессорами на дискретных элементах (а особо отважные и память на сердечниках делают), с процессорами на МИС/СИС, компьютеры с процессорами на FPGA, компьютеры с 8080/Z80/6502/6800… и самодельной периферией… Причём процессоры от четырёх до 32-битных, на любой вкус.

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

Текст ну слишком уж оборванный, вообще никаких подробностей

А на транзисторах его можно будет спаять самому?
Да, вполне. Ещё нужны кнопки и питание и прочие штуки. Канал на YouTube, где как раз это делают. Этот парень просто гений, он не только делает красочные схемы, но ещё и объясняет так, что понятно будет любому.
Спасибо за статью, было интересно. Я думал я один подобным страдаю :) Тоже сейчас делаю свой процессор, правда делаю его на ПЛИС. Сейчас процессор в целом готов, занимаюсь интерфейсами (UART реализовал, i2c в процессе). Если интересно, код процессора тут. Ассемблер для данного процессора реализовал с нуля (код компилятора тут). Все собираюсь написать статью, но пока руки не дошли. Про компиляторы даже записал несколько видео, если интересно, вот ссылка на плейлист :)
Пишу вот себе симулятор этого процессора на джаве, чтобы ассемблер делать. Заодно и джаву подучу. А почему компилятор, если ассемблер 1 к 1 транслирует? Спасибо, что поделились, интересно
Вы правы, пока это просто транслятор из ассемблера в машинный код. А компилятор он скорее в моих мечтах :)
По сути ассемблер и есть транслятор, но там есть ньюансы с адресацией — надо отслеживать метки, ограничения на относительную адресацию, вызовы «вперёд» когда адрес метки ещё не известен… макроподстановки, в целом это и есть компилятор. когда-то написал такой для Z80 чтобы не мучатся ручными пересчетами для самодельной конструкции на его основе.
Про компиляторы даже записал несколько видео, если интересно, вот ссылка на плейлист :)

Вот спасибо огромное! Сейчас как раз курю эту тему, как хобби ))
> Немного погрустив, я понял, что Ассембли — тоже язык программирования, и создание полноценного Ассемблера с нуля займёт много времени.

Сделайте Форт. Пишется за две недели даже таким тупым человеком, как я. А умным человеком — за один вечер. Да и писать на форте поприятнее, нежели на ассемблере.
Я тоже так думал, но совсем недавно решил, что не так уж это и сложно написать ассемблер. Если не затрагивать понятия переменных, одного вечера так же хватит, имхо
Секс в гамаке стоя. Не надо собирать процессоры на чем-то, кроме Verilog и vhdl. Пару вентилей, сумматор — окей. АЛУ на низком уровне — это уже пустая трата времени и сил, если у вас нет цели стать лучшим в мире собирателем АЛУ.
Если вы хотите сделать процессор — делайте его на верилоге, предварительно почитав Харриса и Харрис.
И компьютер виснуть не будет, и в железе потом можно будет попробовать недорого, со всех сторон одни плюсы.

Ощущение, что статья неполная, резко обрывается на введении. Понимаю, что тема обширная, но стоило в общих чертах описать не то, что вы сделали, а как, и показать инструменты, подводные камни, куски кода в конце концов.
Тоже давно мучаюсь подобным, но каждый раз садясь разбираться детально I get overwhelmed, как говорится, объемом информации и предстоящей работы, и руки опускаются. Рад, что вы не опускаете руки, и хотелось бы статью (или серию статей) о вашем хобби.

Я посчитал, что не интересно будет смотреть на логические вентили (видимо, сам так насмотрелся, что уже не хочется), и ошибся. Спасибо

это как раз самое интересное. добавьте пожалуйста

В таком случае советую вам пройти курс Nand to Tetris самому. Либо можете взять на изучение книгу по этому курсу. Количество материала не подходит для публикации на Хабре, а писать кратко об этом я не вижу смысла.
Это та тема, которую нужно вкушать самому, по моему мнению

ок спасибо! попробую

А вы не пробовали сопутствующую программу на курсере? https://www.coursera.org/learn/build-a-computer
Новый курс как раз сегодня стартует. Там есть видеолекции и можно задать вопросы.

Nand to Tetris — курс в MIT, по которому книга была написана. Вроде так

Я, кажется, не так понял. Программу в смысле ПО, а не курс? Пробовал, но она мне своим функционалом совсем не понравилась.

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

Они в принципе идентичны.
Что странно, я использовал курс для сложных случаев, хмм

НЛО прилетело и опубликовало эту надпись здесь
я тоже ждал, но потом увидел тег Из песочницы, потом увидел, что автор вроде как учится и понял, что тут скорее всего просто попытка понять как работает компьютер, а не DIY статья, хотя ожидал, что будет и сборка на железке, но нет
Не знаю насколько имеет смысл сегодня так зарываться с собственной сборкой, ИМХО.
Для понимания работы ПК могу посоветовать книгу «Модернизация и ремонт ПК» (Скотт Мюллер). Зайдет даже новичку.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации