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

Я не знал, как работают процессоры, поэтому написал программный симулятор

Время на прочтение6 мин
Количество просмотров44K
Всего голосов 72: ↑68 и ↓4+64
Комментарии33

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

НЛО прилетело и опубликовало эту надпись здесь

Я знал как работают процессоры, поэтому сделал свой на телеграфных реле.

Краткое содержание: "Оказывается, компьютер спроектировали люди, пользующиеся какой-то хренью под названием "логика" и "математика", и её, оказывается, можно даже понять! Я просто охренел!".


Ждём следующую статью от автора — "оказывается, как работают живые клетки, тоже можно понять!"

НЛО прилетело и опубликовало эту надпись здесь

Там ничего непоятного нет, от слова "совершенно" — если не перескакивать уровни абстракции. Всё замечательно цепляется одно за другое; как "транзисторы бибикают" в принципе неважно — скажем, я начинал с двоичной логики ("да & нет = нет" и проч), далее триггеры, далее простейший CPU (скажем, Z80), "далее — везде".

Кстати да, неплохой подход. У меня одно время были проблемы с пониманием ассемблера и всей этой низкоуровневой вакханалии. В итоге сначала написал свой ассемблероподобный скриптовый движок, итеративно пытаясь уложиться в как можно более мелкие команды, реализовывая более высокие за счёт них внутри скрипта. Затем, с чуть большим пониманием, перекинулся на тот самый Z80, на спектруме, у которого и мнемоника элементарная. И в итоге как-никак допёр :-)

На хабре есть несколько статей. Например эта: habr.com/ru/post/132486 прям с основ, как они там бибикают.
НЛО прилетело и опубликовало эту надпись здесь

Я сказал — "можно понять". Что Вам непонятно на "этом сайтеце"?

На эту тему достаточно хорошо написано в книге Харрисов — Юрий Панчул активно рассказывает о ней и о возможностях изучения архитектуры MIPS.
Здравствуйте. Спасибо за статью, аж ностальгия нахлынула. Не так давно тоже решил, что хочу узнать больше о железе и вообще о том как все работает. Для лучшего понимания посмотрел лекции Carnegie Mellon — Computer Architecture. Рекомендую, там рассказывают про работу более актуальных процессоров. Сейчас пытаюсь создать свой процессор на ПЛИС, и рассказываю о процессе создания на youtube. Если интересно, то вот ссылка на канал.
«Код. Тайный язык информатики» — моя вообще любимая книга на эту тему. Интересно, что ее автор Чарльз Петцольд работал в Microsoft (и из-за этого некоторые крутые программисты имеют к ней предубеждение и не хотят читать), но при этом книга просто шедевральна.

Везде есть в PDF на русском. Её собираются переиздавать кстати: www.mann-ivanov-ferber.ru/books/kod-tajnyij-yazyik-informatiki
Рекомендую автору найти книжку Толкиена — Микропроцессоры, курс и упражнения, изданную у нас в 1988 году (именно этого года).
Если у вас хорошая наблюдательность и развитая логика, то это как раз для вас книжка. В ней мноо-о-ожество ошибок. Исправляя их вы самосовершенствуетесь и одновременно изучаете тему.)) Без захода в железо. С самопроверкой.
Оригинал — R.L.Tokheim — Theory and Problems of Microprocessor. Fundamentals. Mc Graw-Hill, 1983.
На основе виртуального intel 8080. Актуально и сейчас для начинающих. )
НЛО прилетело и опубликовало эту надпись здесь
Рекомендую игру MHRD.
Как раз про проектирование собственного процессора.
Хочу написать эмулятор Intel 80486, способный запускать Windows 95. Вопрос: стоит ли пробовать реализовывать его, или для начала лучше что-то попроще взять?
Думаю стоит с 8080.
ao486 — готовый 80486 на Verilog, можно погонять на плис/симуляторе, модифицировать или помодульно воспроизводить/дополнять своими силами
github.com/alfikpl/ao486
Сколько подобных материалов про устройство процессора на уровне логических единиц, но нет материалов про уровень ещё ниже — уровня технической работы элементов.
Транзистор — знаменитый революционный элемент, закон Мура и всё-такое, а для чего он — так и неизвестно.
слово «транзистор» можно растолковать, как преобразователь сопротивления. Примерно так же, как в гидравлике изменение потока жидкости регулируется задвижкой. У транзистора такая «задвижка» изменяет количество электрических зарядов, создающих электрический ток. Это изменение есть не что иное, как изменение внутреннего сопротивления полупроводникового прибора.
Непонятно, зачем и в каком месте в этой схеме процессора применяется, почему при увеличении его количества процессор работает быстрее…
image
Логические элементы создаются из транзисторов. youtu.be/RwSLO953anc?t=225
Советую вам поиграть в Minecraft. Принцип работы транзистора вы уже знаете, так что провести аналогию будет не трудно. А вот что решает количество — поймёте на практике, сделав парочку сумматоров.
Спасибо, но видео выше помогло понять, что всё было банально просто.

Но раз транзистор выдаёт два состояния, тогда получается, что ноль — это не отсутствие сигнала, а очень слабый сигнал, чтобы его можно было передать?
Вообще говоря, вольтаж очень мал, а сопротивление велико, поэтому считается, что сигнал отсутствует и воспринимается это как логический ноль. А физика берёт своё, и ток, пытаясь преодолеть сопротивление, начинает нагревать транзистор.
P.S. оценки стоит принимать относительно размеров. Для больших транзисторов и напряжение больше.
Так вот почему чипы нагреваются и приходится охлаждать.
Выходит, что чем больше чип имеет дело с нулями, тем сильнее греется?
Но если будет оперировать больше «единицами», то тогда возрастает энергопотребление?
Питание vs Тепловыделение :)
НЛО прилетело и опубликовало эту надпись здесь
В смысле передавать? Должно быть просто отсутствие тока.
Там вроде тактовые генераторы в этом участвуют, да? Надо передать файл из 10 нулей — отсчитал 10 тактов, а там ему и не важно что передаёт — нули или единицы.
На уровне транзисторов нет нулей и единиц, если наличие тока и отсутствие. Тактовым генераторам, да, не важно, есть ток или нет.
Хочу дополнить видео. Там показаны pnp или npn транзисторы, а в процессорах используют полевые с изолированным затвором.
Хех, похоже на мой диплом. И ведь пришлось писать микрокод и микроассемблер, ассемблер и демонстрационные программы, монитор. Сам эмулятор. Воспоминания, воспоминания… Только архитектура процессора иная.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории