イントロコンピュータアーキテクチャでTTLよりもFPGAを使用する利点は何ですか?
私は教養学部で唯一のコンピューターアーキテクチャコースを教えています。このコースは、コンピューターサイエンスのメジャーおよびマイナーに必要です。コンピューターエンジニアリング、電気工学、その他のハードウェアコースなどはありません。このコースでの主な目標は、学生がコンピューターの動作をゲートレベルまで理解することです。これは、ハードウェアラボと教科書だけでなく(Computer Organization and Designヘネシーとパターソン)。私の2番目の目標は、コンピューターアーキテクチャについて生徒を興奮させ、コンピューターサイエンスについての興奮を高めることです。それらを業界向けに直接準備することは目標ではありませんが、より多くのコンピューターアーキテクチャを研究するよう動機づけることは目標です。一般的に、学生は何かを構築したり、大学レベルのラボコースを受講した経験はありません。通常、学期ごとに10〜15人の学生がコースを受講します。 私は1998年から1980年代後半にMITでコンピューターアーキテクチャとデジタルエレクトロニクスを教えていたのと同様の方法でコースを教えてきました。電源付きブレッドボードでDIP TTLチップを使用します。最初のハードウェアラボの課題では、学生は全加算器を作成します。学期の中頃に、彼らは8ビットの命令セットを備えたシンプルなコンピューターの構築を開始します。配線を減らすために、いくつかの電子機器を備えたPCB(2つのDフリップフロップ、8ビットALUとして機能するように配線された2つの4ビットLS 181 ALU、およびトライステートバッファー)を提供します。これらの最初のラボでは、2つの命令形式の(非常に単純な)制御信号を取得して回路を構築し、スイッチの命令を入力してライトから結果を読み取ります。2番目のラボでは、プログラムカウンター(2 LS163)とEPROM(これは最初の質問は、イントロアーキテクチャを教える方法に切り替える前のことでした)。最終ラボでは、条件分岐命令を追加します。生徒は配線とデバッグにかなりの時間を費やしますが、そこから多くの学習が行われ、生徒は本当の達成感を持って出発します。 しかし、このフォーラムの人々は、FPGAに切り替えるべきだと言ってきました。私はソフトウェアエンジニアであり、コンピューターエンジニアではなく、しばらく学校を休んでいますが、学習することができます。既存のデジタルトレーナーを交換するためのお金(おそらく数千ドル)を得ることができません。単一のロジックアナライザーがあります。 私の目標と制約を考慮して、EEは、FPGAに基づくアプローチへの現在のアプローチに固執することを推奨しますか?後者の場合、自分自身を教育するための資料へのポインタを教えてください。 要求に応じて、ここにシラバスとラボの課題へのリンクがあります。 追加:はい、デジタルロジックコースでもあります。大学に着いたとき、学生はコンピュータアーキテクチャとデジタルロジックのそれぞれ1学期を履修する必要があり、それらを1つの学期に結合しました。もちろん、それは未来についてではなく、過去についての声明です。