Я преподаю единственный курс по компьютерной архитектуре в гуманитарном колледже. Курс обязателен для специалиста по информатике. У нас нет курсов по компьютерной инженерии, электротехнике, другим аппаратным средствам и т. Д. Моя основная цель в курсе заключается в том, чтобы студенты поняли, как работают компьютеры, вплоть до уровня ворот, что, я полагаю, они изучат лучше всего в аппаратной лаборатории и не только через учебник ( Компьютерная организация и дизайнХеннесси и Паттерсон). Моя вторичная цель состоит в том, чтобы побудить их к компьютерной архитектуре и повысить их интерес к информатике. Подготовка их непосредственно для промышленности не является целью, хотя мотивировать их изучать больше компьютерных архитектур. Студенты, как правило, не имели опыта создания чего-либо или прохождения лабораторного курса на уровне колледжа. Как правило, 10-15 студентов проходят курс в семестр.
Я преподаю курс с 1998 года в манере, подобной тому, как меня учили компьютерной архитектуре и цифровой электронике в конце 1980-х годов в Массачусетском технологическом институте: использование чипов DIP TTL на мощных макетах. На первом аппаратном лабораторном задании студенты строят полный сумматор. Примерно в середине семестра они начинают создавать простой компьютер с 8-битным набором инструкций. Чтобы уменьшить проводку, я предоставляю им плату с некоторыми электронными компонентами (два D-триггера, два 4-битных LS 181 ALU, соединенных вместе, чтобы действовать как 8-битный ALU, и буфер с тремя состояниями). В первой из этих лабораторий они получают (очень простые) управляющие сигналы для двух форматов команд и строят схему, вводя инструкции на переключателях и считывая результаты с индикаторов. Во второй лаборатории они добавляют счетчик программ (2 LS163) и EPROM (которыйМой первоначальный вопрос был о том, что до того, как я перешел к тому, как я должен преподавать вводную архитектуру В последней лаборатории они добавляют инструкцию условного перехода. В то время как студенты тратят немало времени на подключение и отладку, я чувствую, что именно там происходит большая часть обучения, и студенты уходят с настоящим чувством выполненного долга.
Люди на этом форуме говорили мне, что я должен перейти на FPGA, с которыми я раньше не работал. Я инженер по программному обеспечению, а не компьютерный инженер, и некоторое время я не ходил в школу, но я способен учиться. Я не смог бы получить много денег ( возможно, несколько тысяч долларов) за замену наших существующих цифровых тренеров. У нас есть один логический анализатор.
Учитывая мои цели и ограничения, вы, советники EE, порекомендовали бы мне придерживаться моего нынешнего подхода к переходу на тот, который основан на FPGA? Если последнее, можете ли вы дать мне какие-либо указатели на материалы, с помощью которых я могу обучаться?
По запросу, здесь есть ссылка на учебную программу и лабораторные задания .
Дополнение: Да, это тоже курс цифровой логики. Когда я поступил в колледж, студенты должны были пройти один семестр по каждой компьютерной архитектуре и цифровой логике, и я объединил их в один семестр. Конечно, это утверждение о прошлом, а не о будущем.