カテゴリー
電子技術

SN74LS08N

SN74LS08N
SN74LS08N

ChatGPTに聞いてみた。

User
SN74LS08Nは何ですか。

ChatGPT
SN74LS08Nは、4つの2入力ANDゲートを含む、4個のゲートがある14ピンのデジタルIC(集積回路)です。LSシリーズの低消費電力TTL(Transistor-Transistor Logic)のファミリーに属しており、入力に対して出力が論理AND演算を行います。また、Nは、プラスチック製のデュアルインラインパッケージ(DIP)を表します。SN74LS08Nは、広く使用されている汎用的なデジタルICの1つであり、論理回路の構築に使用されます。

カテゴリー
Free

コンピュータの仕組み23

最小コンピュータ
最小コンピュータ

 演算を選ぶだけではなくその入力や出力も選択できるようにしてみました。

 演算の入力は外部入力、レジスタ、プログラムレジスタ(カウンター)、アキュームレーターで、

 演算の出力は外部出力、レジスタ、プログラムレジスタ(カウンター)、アキュームレーターでそれぞれを選択して組み合わせできます。

 演算も4つの中から選択できます。演算の入力と演算の種類、出力先を組み合わせる手順はROMから読み出します。

 プログラムレジスタを書き換えれば実行する命令をジャンプすることもできます。ソフトウェアでいう分岐処理が可能になります。

 だいぶコンピュータらしくなってきました。

カテゴリー
Free

コンピュータの仕組み22

レジスタ付き論理演算回路
レジスタ付き論理演算回路

 論理演算の内一つをフリップフロップのレジスタにしてみました。そして入力を一つ減らし入力Aとレジスタの間で論理演算するようにします。そうすることで一つ前の動作がその次の動作につながっていきます。

S0S1動作
00レジスタにAの値を保存する
01レジスタの値とAのNANDをXに出力
10レジスタの値とAのORをXに出力
11レジスタの値とAのNORをXに出力
レジスタ付論理演算回路

カテゴリー
Free

コンピュータの仕組み21

論理演算器
論理演算器

 もう少し複雑な演算装置でソフトウェアとは何かを考えてみます。

 上の図は4種類の演算ができる回路です。でマルチプレクサ、デマルチプレクサを使って演算の種類を切り替えできます。

 S1=0、S2=0のときはAND、S1=0、S2=1のときはNANDと S1、S2の値により演算の種類を切り替えます。

 S1、S2、A、Bの組み合わせで演算が色々できるためこの手順もソフトウェアといえますがまだ単に演算回路切り替えて順次演算を行なっているだけです。

カテゴリー
電子技術

ディスプレイ

 ディスプレイといえば四角い画面に映像が写し出される装置を思い出しますが、コンピュータ黎明期のディスプレイは、ランプが点灯したり、単に数字が表示するだけのものでしたでしょう。

 LEDを16個並べてバイナリ表示する、8ビットを2桁の16進で表示する、16ビットを4桁の16進で表示するディスプレイを組み立てました。

 8ビットのCPUは命令が8ビット、アドレスは16ビットなのでこのディスプレイで十分です。

 16ビットのバイナリカウンターもきっと色々役に立ってくれるでしょう。0から65535まで数えたり、分周できたりします。

カテゴリー
Free

コンピュータの仕組み20

NAND回路
NAND回路

 例えば電源電圧5VのNAND回路の入力Aに5V、Bには0Vの電圧が加わっているとします。その時、出力Xは5Vとなります。

 この動作の5Vや0Vの電圧を加えることを記号化すると次の文章になります。(5VはHighとし略してH、0VはLowとし略してLとする)

 入力AをH、BをLとすると出力XはHとなる。

NAND
NAND

 HとLしか無いならばHは電圧が有る状態なので1、Lは無い状態なので0と置き換えることもできます。そうすると次の式でも良いことになります。

 A NAND B = X なので
 1 NAND 0 = 1 となります。

4bit NAND
4bit NAND

 次にNAND を4つ並べてみます。
{A1, A2, A3, A4} NAND {B1, B2, B3, B4} =
{X1, X2, X3, X4}

 4bitのNAND演算になります。実際の数字を入れると

1111 NAND 0000 = 1111
1111 NAND 0001 = 1110
1111 NAND 0010 = 1101



0000 NAND 0000 = 1111

4桁同士の2進数の論理演算ができます。

 二つの数値を決めた手順で次々と演算していくとき、その手順がソフトウェアとなり、演算を行う装置がハードウェアとなります。しかし単に論理演算を繰り返すだけでは今のコンピュータのソフトウェアとはまだかけ離れています。

カテゴリー
Free

コンピュータの仕組み1F

 今までハードウェア仕組みを説明をしてきましたが、ここからはソフトウェアの仕組みの説明に移ります。

 ここでのソフトウェアの定義はCPUに出す命令の集まりをソフトウェアとし、物体として存在している物をハードウェアとします。

 人や立場によってソフトウェアとハードウェアの境界が若干異なることもありますが目に見える装置をハードウェア、装置を動かすための手順をソフトウェアと考えてください。

 ガスコンロやフライパンはハードウェア、料理の方法はソフトウェアになります。

 料理に置き換えて気づいたのですが食材や調味料はどっちに入るのでしょうか。人それぞれどちらでも良しとします。

カテゴリー
学び

信号処理とシステム制御

岩波講座 情報科学20 1982年発行

信号処理とシステム制御
信号処理とシステム制御

 難しくてわかりません。出直します。


2021.05.24 最初は膨大な数式を見ておののいたのですが理解できたことがあったので記載します。

 対象物の入力や出力信号をフーリエ変換してスペクトル解析し最小の線形モデルを推測し最適フィルターを使って予測を行いフィードバックにより制御する。

 要約し過ぎましたがこのようなことを数学をもとに書かれていました。何事も数学上で完全になってから実際の物になっていくのですね。数学と工学の境がよくわかる本でした。

カテゴリー
電子技術

ロジックIC

https://en.m.wikipedia.org/wiki/List_of_7400-series_integrated_circuits

型番品名用途
7400SN74S00N4-ch, 2-input NAND gates
7404SN74HC04N6-ch, inverters
741474HC14AP6-ch, inverters with Schmitt-Trigger inputs
747474LS74NDual D-Type Positive-Edge-Trggered Flip-Flop with Preset and Clear
7474SN74S74NDual D-Type Positive-Edge-Trggered Flip-Flop with Preset and Clear
7475HD74LS75P4-Bit Bistable Latches
7475M74LS75P4-Bit Bistable Latches
7486SN7486N4-ch, 2-input, XOR (exclusive OR) gates
7412574HC125N4-ch, buffers with 3-state outputs
7413874LS138N3-Line To 8-Line Decoders/Demultiplexers
7413874LS138P3-LineTo 8-Line Decoders/Demultiplexers
7413874LS138PC3-LineTo 8-Line Decoders/Demultiplexers
7413974HC139PDual 2-LineTo 4-Line Decoders/Demultiplexers
7415374LS153NDual 4-Line To 1-Line Data Selectors/Multiplexers
74163SN74163NSynchronous 4-Bit Counter
7416474HC164N8-Bit Parallel-Out Serial Shift Registers
74164MC74HC164N8-Bit Parallel-Out Serial Shift Registers
7416574HC165AP8-Bit Parallel-Load Shift Registers
7417574HC175AP4-Bit D-Type Flip-Flop with Reset
74181SN74LS181NArithmetic Logic Unit
75188SN75188NQuadruple Line Driver
75189SN75189NQuadruple Line Receivers
74193SN74LS193NSynchronous 4-Bit Up/Down Counters (Dual Clock With Clear) 
7424574LS245NOctal Bus Transceivers With 3-State Outputs
74245SN74LS245NOctal Bus Transceivers With 3-State Outputs
74249SN74LS249NBCD-to-Seven Segment Decoders/Drivers (Open Collector)
74259SN74HC259N8-Bit Addressable Latches
7427374LS273PCOctal D-Type Flip-Flop With Clear
7437374LS373NOctal D-Type Transparent Latches And Edge-Triggered Flip-Flops
744066SN74HC4066N4-Ch Analog Switch
744069TC4069UBPHex Inverter
8212M5L8212P8-Bit Registered Bus Transceiver
8216uPB8216C4-Bit Bus Driver/Transceivers
ロジックIC一覧

カテゴリー
電子技術

M74LS75P

M74LS75P
M74LS75P

ChatGPTに聞いてみた。

User
M74LS75Pは何ですか。

ChatGPT
M74LS75P は、シリーズ74LSのロジックICの1つで、プリセット可能な4ビットカウンタである。2つのパッケージタイプがあり、プラスチック製のPDIP(Plastic Dual In-line Package)とセラミック製のDIP(Dual In-line Package)がある。各パッケージには4つのフリップフロップがあり、直列に接続され、1つのクロックパルスでカウントアップすることができる。また、プリセット入力により、カウンタの初期値を設定することができる。M74LS75Pは、電子回路で頻繁に使用され、特にカウンタとタイマー回路でよく用いられる。

カテゴリー
電子技術

SN74163N

SN74163N
SN74163N

ChatGPTに聞いてみた。

User
SN74163Nは何ですか。

ChatGPT
SN74163Nは、4ビット同期アップカウンタICで、デジタル回路で使用されるタイプのICです。このICは、カウント方向を制御する入力端子、クロック入力端子、リセット入力端子などがあります。SN74163Nは、集積回路内に4つのフリップフロップを持ち、カウント値を保持することができます。カウント方向を制御することで、このICは、カウントアップ、カウントダウン、または同期リセット動作ができます。また、このICは、複数のカスケード接続にも対応しており、多ビットのカウンティング操作が可能です。SN74163Nは、デジタルカウンタやタイミング制御などのアプリケーションに使用されます。

カテゴリー
電子技術

SN74S74N

SN74S7474N
SN74S74N

ChatGPTに聞いてみた。

User
SN74S74Nは何ですか。

ChatGPT
SN74S74Nは、デュアルDタイプポジティブトリガJKフリップフロップICです。このICは、2つの独立したDタイプフリップフロップを備え、各入力に対してJ、K、クロック、およびクリア入力があります。フリップフロップはポジティブエッジトリガであり、出力はTTLレベルです。SN74S74Nは、高速動作と信頼性の高い動作を提供するために設計されています。

カテゴリー
電子技術

SN74HC259N

SN74HC259N
SN74HC259N

ChatGPTに聞いてみた。

User
SN74HC259Nは何ですか。

ChatGPT
SN74HC259Nは、8ビット同期/非同期双方向4線式シフトレジスタです。このICは、2つの独立した4ビット入力ポートを持ち、8ビットのデータを同時に入力できます。また、2つのゲートを介して同期リセット機能を提供し、複数のデバイスを接続してカスケードすることができます。SN74HC259Nは、CMOS技術を採用しており、低消費電力と高速動作が可能です。このICは、デジタル回路の設計に使用されます。

カテゴリー
電子技術

uPB8216C

uPB8216C
uPB8216C

ChatGPTに聞いてみた。

User
uPB8216Cは何ですか。

ChatGPT
uPB8216Cは、NECエレクトロニクス(現在のルネサスエレクトロニクス)が製造した、ビデオスイッチング用の高速CMOS ICです。4つの2:1のマルチプレクサと1つの1:4のデマルチプレクサを内蔵しています。その高速性能と低消費電力から、映像機器やビデオカメラなどのアナログ信号を扱う機器で広く使われました。

カテゴリー
電子技術

SN7486N

SN7486N
SN7486N

ChatGPTに聞いてみた。

User
SN7486Nは何ですか。

ChatGPT
SN7486Nは、Texas Instruments(テキサス・インスツルメンツ)が製造する、4つの2入力XORゲートを含む14ピンのデジタル集積回路(IC)です。各XORゲートは、2つの入力ビットが異なる場合に1を出力し、入力ビットが同じ場合には0を出力します。SN7486Nは、高速で信頼性が高く、広く使用されているICの1つです。主にデジタル回路やコンピュータの論理演算回路で使用されます。

カテゴリー
電子技術

M5L8212P

M5L8212P
M5L8212P

ChatGPTに聞いてみた。

User
M5L8212Pは何ですか。

ChatGPT
M5L8212Pは、8ビットCMOSマイクロプロセッサの一種で、日本のメーカーである三菱電機が製造したものです。Z80プロセッサの互換品として設計されており、Z80と同様に広く使用されました。M5L8212Pは、周辺デバイスを制御するための一連のポートやタイマー、シリアル通信インターフェース、DMAコントローラ、メモリ管理回路などを備えています。1980年代に広く使用され、一部の古いコンピューターシステムで使用されていました。

User
マイクロプロセッサではないと思います。CPUの周辺ICだと思います。

ChatGPT
正解です。M5L8212Pは、8ビットデータバスを備えた2K x 8ビットの静的RAMです。CPUの周辺ICとして使用されます。また、M5L8212Pは、日立製品の一部であり、1980年代に人気がありました。

User
RAMというよりBUFFERSでは。

ChatGPT
確かに、M5L8212Pは、8ビットバッファICであり、RAMではありません。このICは、8つの入力と8つの出力があり、信号が入力から出力に転送されるときに信号を増幅する役割を持っています。つまり、信号の増幅器として機能するため、入力信号を増幅し、出力に向けて強めることができます。したがって、このICは、入力信号を増幅し、出力信号を制御するために使用されます。

User
改めてM5L8212Pは何か説明してください。

ChatGPT
M5L8212Pは、NEC(現在はルネサスエレクトロニクスに統合)が製造している8ビットバスインタフェース用トライステートバッファで、RAMやROM、I/Oポート、CPUなどを接続するバス回路において、バスの双方向性を制御するために使用されます。

M5L8212Pは、高速なデータ伝送を可能にするトライステート技術を採用しており、入力バッファ、出力バッファ、制御回路から構成されています。このICは、主に8ビットマイクロプロセッサシステムにおけるバス制御回路に使用されます。

M5L8212Pは、DIP(デュアルインラインパッケージ)やSOP(スモールオーダーインラインパッケージ)などのパッケージで提供され、広く普及しています。

User
先頭のMは三菱製を意味しています。
もう一度説明してください。

ChatGPT
おっしゃる通りです。M5L8212Pは、三菱電機(Mitsubishi Electric)が製造するCMOSロジックICの1つです。このICは、8ビットのバスを介してCPUと接続され、CPUからの制御信号に基づいて、データの読み取りや書き込みを実行するバッファ回路を備えています。M5L8212Pは、主に古い8ビットマイクロコントローラーやマイクロプロセッサの周辺回路として使用されていました。また、データ転送や信号増幅など、一般的なロジック回路での使用にも適しています。

カテゴリー
電子技術

HD74LS75P

HD74LS75P
HD74LS75P

ChatGPTに聞いてみた。

User
HD74LS75Pは何ですか。

ChatGPT
HD74LS75Pは、デュアルJ-Kフリップフロップ(Dual J-K Flip-Flop)を実装したTTL(Transistor-Transistor Logic)IC(Integrated Circuit)です。J-Kフリップフロップは、デジタル回路で使われる基本的な回路の1つであり、入力信号に応じて出力を切り替える機能を持っています。デュアルJ-Kフリップフロップは、2つの独立したJ-Kフリップフロップが1つのパッケージに実装されたものであり、データシートによれば、HD74LS75Pは、低消費電力・高速動作・TTL出力の特徴を持っています。

カテゴリー
Free

コンピュータの仕組み1E

 コンピュータの仕組みを演算の基本部品であるCPUにたどり着くまで説明してきましたが、ここで周辺の装置を見ていきます。

 パソコンやスマホを完成形とした場合のCPU以外の重要な構成部品を大別すると

記憶装置
 レジスタはCPUの内部に有る記憶回路でしたが容量が少ないので外部の記憶装置を使います。RAMは通電していないと記憶が失われ、ROMは電源が切れても記憶し続けます。

 マイクロコントローラ呼ばれる場合は一つのLSIの中にCPUに必要な回路とROMやRAMが入っています。一つの部品で一通りの仕事ができるように作られました。誕生はマイクロプロセッサとほぼ同時期です。

 RAMやROMもそれぞれたくさんの種類があります。これらはみな半導体なのでICやLSIの形状をしています。他に円盤やテープ状のものに情報を記憶させる方法があります。機械的な動作があるのでコンピュータと筐体を分けてケーブルなどで接続します。

 純然たる記憶装置ではありませんが利用している側から見るとクラウドも記憶装置として分類してもいいと思います。物理的にはクラウド自身先にあげた半導体やディスクで構成され、クラウドシステムに組み込まれています。ネットワークがここまで自然にあるようなインフラとなって皆が無意識のうちに利用している時代になったならばクラウドも記憶装置の一つと思えます。自分で用意する物理的な記憶装置よりも安全かもしれません。

入力装置
 コンピュータ以外から情報を取り込むときは入力装置を経由してCPUで扱える情報に変換します。人間が入力する場合はキーボードのようなボタン類、マウスやタッチスクリーンのように値が連続的に変化する情報などがあります。マイクやカメラも入力装置です。

 何かの量や状態を2進数に定義できればコンピュータに入力できます。逆に言えば2進数に定義できないものや事象はコンピュータに入力できないことになります。人知がまだ到達していないことは入力が出来ないのです。

出力装置
 何に対して出力するかで大きく分かれます。人間に対して出力するにはデジタル信号を人間が認識できるようにします。

 目で認識させる方法としてデジタル信号に応じて光の明滅させます。ディスプレイと呼ばれる装置はこの原理を利用しています。光の明滅を様々組み合わせて文字を出したり、色をつけたりします。

 耳で認識させる方法はデジタル信号に応じて音の強弱や周波数を変えます。音楽をダウンロードして聴いたり地デジテレビから聞こえてくる音声は全てデジタル情報です。

 触覚、味覚、嗅覚を利用した出力装置は一般的に普及していませんが未来にはそれを応用した出力装置が出てくるかもしれません。

 人間以外でデジタル信号を受け取れる相手への出力であればそのまま渡すことができます。この時情報の劣化がおきません。

 人間以外でデジタル信号を受け取れない相手への出力は受け取れるような形に変換します。大概何かしらの物理量に変換するのですがこの時信号の劣化がおきます。

カテゴリー
Free

コンピュータの仕組み1D

 Computerがナゼ動くかの説明を電気が作られるところから始めてCPUの説明まで続けてきました。ここで少しまとめておきます。

 スイッチング素子で基本論理ゲートを作ることができます。

 基本論理ゲートを組み合わせて色々な機能を持つ論理回路を作ることができます。

 論理回路を並べて使用すれば複数ビットに対して操作することができるようになり、一つのICに組み込めば容易に多ビットの演算回路を作ることができます。

 それぞれ単機能だったICに役割を与えて組み合わせ一つのLSIにすればCPUが完成します。

 CPUに周辺機器を付け加えるとコンピュータになります。

カテゴリー
Free

コンピュータの仕組み1C

Programmer’s Reference Manual TMS 1000 Series MOS/LSI One-Chip Microcomputers Texas Instruments 1975
Programmer’s Reference Manual TMS 1000 Series MOS/LSI One-Chip Microcomputers Texas Instruments 1975

 引き続きTMS-1000を題材にCPUを学習していきます。TMS-1000を構成するブロック毎の動作を仮説を立てて追ってみます。実物がないので実験できませんが後でマニュアルで確認します。

 まずはOSCILLATORでクロック信号を発振します。内蔵しているOSCILLATORはRCなのかセラミックなのかクリスタルを使用しているのかわかりませんが矩形波を一定周期で出力しています。この信号が全てのブロックに伝わりますので各ブロックはその信号の都度に逐次状態を進めていきます。

 電源投入後、各FFでできたレジスタの状態は不安定なのでリセットが必要です。リセットを行い全体を初期状態にします。

 初期状態は命令の実行を待っている状態ですので次にプログラムカウンタが指す番地の命令を実行せよと何かしらの信号を与えます。

 最初はプログラムカウンタが0なのでROMの0番地のビット列が命令デコーダに入ります。命令デコーダはその最初の命令(ビット列)に基づきFFでできているレジスタやバッファと論理回路の塊であるALUにビット列を送り命令を実行します。

 次のクロック信号が来た時はプログラムカウンタ繰り上がります。前の命令を実行したので各レジスタの値が設定されている状態から最初と同じようにROMの次の番地のビット列を命令デコーダに送ります。

 以下次々とクロック信号が変化する度にROMの命令が命令デコーダに送られます。例えばSUBROUTINE RETURNレジスタに次に実行する値を設定してからプログラムカウンタに飛んだ番地を書き込み、そこから新しい命令を実行し、SUBROUTINE RETURNの番地に戻すようなことでサブルーチンが実行できるように思えます。

 こうしてみると命令デコーダが他のブロックに比べてだいぶ複雑な機構を持っているように見えます。
1 ROMからレジスタにビット列を複製する、RAMであればレジスタからRAMへ逆にRAMからレジスタへビット列の複製ができる。
2 使うレジスタを選択できる。
3 出力するバッファを選択できる。
4 ALUの演算を選択できる。
5 PROGRAM COUNTERやPAGE ADDRESS、SUBROUTINE RETURNを書き換え命令の実行順を変えることができる。
 このようなことを実行するために命令のビット列ごとにどこをどうするか決定する回路になっていると思われます。

 命令ごとに回路を作っていくとすると個人の手作りではTTLを使ったとしても4bitで十数個位が限度だと思います。ましてディスクリートトランジスタやリレーで作るとなったら数個の命令で根を上げそうです。

 やはり1個数十円から買えるCPUは偉大な存在です。