Оглавление:

Обзор 8-битного компьютера на макетной плате: 3 шага
Обзор 8-битного компьютера на макетной плате: 3 шага

Видео: Обзор 8-битного компьютера на макетной плате: 3 шага

Видео: Обзор 8-битного компьютера на макетной плате: 3 шага
Видео: 8-битный компьютер: финальная версия. Подключаем декодер инструкций и проверяем работу программ 2024, Декабрь
Anonim
Обзор 8-битного компьютера на макетной плате
Обзор 8-битного компьютера на макетной плате

Моя цель в этом проекте состояла в том, чтобы лучше понять архитектуру компьютера, дизайн оборудования и языки уровня сборки. Будучи младшим в университете, изучая компьютерную инженерию, я недавно прошел курсы по электронике, лабораторные занятия, знакомящие меня с языком ассемблера и архитектурой оборудования. Получая введение в эти темы, я хотел лучше понять мельчайшие детали всех трех курсов, а что может быть лучше, чем работа над проектом?

Мое первоначальное намерение состояло в том, чтобы полностью собрать этот 8-битный компьютер, используя видео лекций, представленных на канале Ben Eater на YouTube, которые отлично справляются с разбивкой процесса проектирования на твердое сочетание материала, который я рассмотрел, и аспектов, которые я еще не изучил. учиться. Учитывая, что у меня уже было базовое понимание комбинаторного дизайна и базовой логики электроники, я хотел испытать себя, пытаясь спроектировать и построить части компьютера после обзоров дизайна, но не следя за инструкциями по сборке. На протяжении всего проекта моей целью было изучить и улучшить свое понимание, а не просто создать что-то новое, поэтому на каждом этапе проекта я немного читал онлайн-статьи и форумы по архитектуре компонентов и базовым соглашениям, используемым для каждого из них. из них.

Шаг 1. Исследование в пути

Исследования в пути
Исследования в пути
Исследования в пути
Исследования в пути

Этот проект действительно заставил меня читать намного больше, чем я ожидал. Один из моих основных подходов к каждому компоненту заключался в том, чтобы прочитать обзор с онлайн-форума или статью, посмотреть лекции из видео Eater и попытаться спроектировать свою собственную деталь перед сборкой, тестированием и большую часть времени, когда нужно было выбросить ее на более управляемый подход от канала Eater. Примером этого было, когда я создавал компонент ALU для ПК. Когда я смотрел видеоролики о дизайне, я читал статьи о компонентах микросхем, которые обладали более высокой функциональностью, и о триггерных входах, которые позволяли бы переключать типы команд и инвертировать входы в дополнение до 2 внутри. Однако, прежде чем покупать эти упрощающие микросхемы, я рассмотрел подход к проектированию, о котором говорил Бен Этер в своих видеороликах, со смешением сумматоров и логических вентилей XOR для увеличения функциональности модуля ALU без необходимости использования более дорогих микросхем. Это заставило меня оценить использование дискретной логики и ее применимость к компьютерному проектированию, а также изучить различные подходы к построению компонентов. Объединив микросхемы нижнего уровня на макетной плате, я также узнал о некоторых ключевых архитектурных особенностях, используемых внутри ALU, что расширило мое понимание этого компонента выполнения на ПК.

Еще один ключевой компонент, о котором я узнал, - это использование трансиверов, также известных как буферы. Прежде чем углубиться в проект, я подумал, что просто активирую и деактивирую различные компоненты с помощью управляющих сигналов, но быстро обнаружил в статьях, что буферы необходимо использовать для правильной работы этой архитектуры в стиле фон-Неймана. Поскольку компьютер использует общую шину для передачи данных между различными модулями на ПК, синхронизация циклов была продиктована часами. Однако, позволяя сохранять и загружать данные без вмешательства в данные, доступные на шине, я обнаружил, что трансиверы жизненно важны для работы в качестве шлюзов, требуя сигнала разрешения, чтобы данные могли поступать на шину своевременно. Возможность чтения было не так сложно понять, так как провода всегда будут хранить значения на шине, но использование правильного значения означало, что регистры могут хранить новое значение.

Последним выводом из исследований, проведенных в рамках этого проекта, было понимание различий в спецификациях схожих чипов. Часто я находил чипы с одинаковыми значениями идентификатора, но разными буквами дескриптора, такими как LS и HC. Я пришел к выводу, что дело не только в производстве этикеток, но и в технических характеристиках микросхем по времени и мощности. К счастью, поскольку в моем компьютере использовались компоненты довольно низкого уровня с высокими допусками, мне не нужно было беспокоиться о согласовании многих спецификаций, но при проектировании более высокого уровня я узнал, что такие вещи, как тактовая частота и потребляемая мощность, имеют решающее значение для успеха или отказа электронных устройств. дизайн

Шаг 2: обнаруженные трудности

Довольно быстро в проекте я смог разработать простые компоненты, такие как часы для синхронизации процессов и базовую архитектуру памяти, но необходимость заказывать детали вместе с тяжелым семестром курса затрудняла выделение внешнего времени для проекта, что снова заставило меня вернуться к работе. график завершения. После моей первой большой неудачи из-за необходимости ждать доставки деталей в течение недели, я в конечном итоге избежал дальнейших задержек, заказав все детали, которые, как я думал, мне понадобятся для завершения этого проекта, что оказалось полезным, поскольку я больше не сталкивался с задержками до публикации этого. Изучив некоторые базовые подходы к отладке, я начал упускать из виду некоторые сборки, что означало, что мне приходилось возвращаться и повторно смотреть видео, чтобы отловить свои ошибки, что обычно приводило к разборке большей части платы. У этого не было ярлыка. Я понял ценность проверки вашего прогресса в создании любого электронного устройства. Попутно отлаживая каждую плату, я смог перейти к их объединению с большей уверенностью, после чего отладка комбинированных плат стала намного проще.

Шаг 3: достижения и размышления

В общем, в настоящее время я завершил работу с часами, кодом операции и счетчиком программ, блоком ALU, регистрами rs rt и rd и ОЗУ. Помимо необходимости завершить сборку шины и периферийных устройств для завершения этого проекта, я многое узнал о компьютерной архитектуре, и я надеюсь продолжить это на факультативах в старших классах, пройдя курс компьютерной архитектуры.

M5 предоставил мне все необходимые инструменты для работы над моим проектом, а компоненты были очень хорошо разложены вдоль стенок деталей, поэтому я очень рано знал, какие детали нужно заказывать, а какие можно обойтись. Если бы другой ученик взялся за этот проект, я бы определенно отметил, что этот проект занимает много времени, если вы пытаетесь понять все, что происходит на компьютере. ЭТО НЕ ТРУДНО, но требует осторожности, если вы хотите, чтобы он функционировал успешно. Я настоятельно рекомендую просмотреть видео-плейлист на канале Ben Eater на YouTube, чтобы понять все части, которые вам нужно использовать, чтобы не отставать вовремя, если вы не планируете разрабатывать свой собственный подход. Поскольку я купил большую часть деталей, я планирую взять это с собой, чтобы завершить в свое время, но было бы здорово передать это, чтобы позволить другому студенту завершить его, что будет означать воздействие света на дизайн остальных частей., но большое внимание уделялось языку ассемблера, над которым мне, к счастью, пришлось поработать во время других занятий.

Рекомендуемые: