Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 11 Anuncio

Más Contenido Relacionado

Más reciente (20)

Anuncio

NANDからテトリスへ_前編.pdf

  1. 1. NANDからテトリス 前編 研究部 新海孝洋
  2. 2. 目的  コンピューターの動く仕組みを体系的に理解し たい  CPUを実際に作り、動いているところを見て納 得感を得たい © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 2
  3. 3. © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 3 題名:コンピュータシステムの理論と実装~モ ダンなコンピュータの作り方~ 著者:Noam Nisan Shimon Schocken 訳者:斎藤康毅 出版:株式会社オライリージャパン 内容: NAND 論理ゲート 加算器 CPU オペレーティングマシン コンパイラ バーチャルマシン を実装しコンピューターを作る。 その上でテトリスなどのアプリケーションを動作させる。 今回はここまで
  4. 4. 目次  1章: ブール論理  2章: ブール算術  3章: 順序回路  4章: 機械語  5章: コンピュータアーキテクチャ © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 4
  5. 5. ブール論理  NANDゲートのみを使って をHDL言語で組み立てた © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 5 NOT AND OR/XOR マルチプレクサ/デマルチプレクサ 多ビットNOT/AND/ORゲート 多ビットマルチプレクサ NANDのみから作れることに感動! a b out 0 0 0 0 1 0 1 0 0 1 1 1 AND in out 0 1 1 0 NOT
  6. 6. ブール算術  半加算器 / 全加算器 / 加算器 / インクリメンタ / ALU を今まで作った論理ゲートから構築  ALUでは16ビットの2つの入力から、それらの和、差、 論理積および論理和を計算する仕様となっている  補数表現を用いて引き算を行う理論について学ぶことが できた。 © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 6
  7. 7. 順序回路  D型フリップフロップが与えられた状態でレジスタ / RAM / カウンタを実装した。  16個のD型フリップフロップとマルチプレクサを組み合わ せることで16ビットの記憶ができるレジスタを実装した。  レジスタを組み合わせて、64KビットRAMを実装した。  フリップフロップから記憶装置が作れることを理解した。 © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 7
  8. 8. 機械語  ノイマン型コンピュータのHACKコンピューターのアセン ブリプログラムを書いた。  付属のアセンブラで機械語に変換したものを付属のCPUエ ミュレータで動かし、仕様通りの動作をすることを確認。  コンピューターの構成を理解したうえでアセンブリを書く ことができて面白い。 © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 8
  9. 9. コンピュータアーキテクチャ  メモリを実装した。 RAM、与えられたキーボード及びスクリーンを用いて組み立てた。ア ドレスを入力すると対応するメモリの値を読み込む/書き込む。  CPU を実装した。 実装済みの ALU / レジスタ / プログラムカウンタ / 論理ゲートを組 み合わせた。機械語の命令を入力すると演算およびレジスタやメモリ に記憶する。また、命令のジャンプ命令を処理する回路を実装した。  Hack コンピュータを実装し、与えられた機械語プログラムを実行 し正しく動作することを確認した。 ここまでに実装済みの CPU / メモリ / ROM を組み合わせた。ROM に機械語命令を予め記憶させる必要がある。 © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 9
  10. 10. まとめ  NAND/D型フリップフロップのみから機械語命令を実 行できるコンピューターを作ることができた。  単純なNAND/DFFからこれだけ複雑なモノを作れるこ とに感動した。  今までは本で読むだけだったことに対して、プログラム 上ではあるが実際に作ることで、コンピューターが動く ことに対しての納得感が得られた。  後編ではコンパイラやOSを実装するので楽しんで取り 組み、学んでいきたい。 © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 10
  11. 11. © 2018 ViSCO Technologies Corp. Confidential 2022/11/25 11

×