応用情報知識メモ05(コンピュータ回路)


確認問題

以下にスラスラ答えられる人は読まなくても大丈夫。
・論理回路6種(AND, OR, NOT, NAND, NOR, XOR)の図(MIL論理記号)を覚えよ。
・フリップフロップ回路について説明せよ。入力値Set、Resetと出力値Qの関係についても説明すること。
・半加算器の図を描け。入力値はAとB、出力値はSとCとすること。
・半加算器の出力値S、Cのそれぞれの意味を答えよ。また、どちらが1桁目で、どちらが繰り上がりなのかを答えよ。
・減算の方法を説明せよ。
・マスクパターンとは何かを説明せよ。
・ビット列を反転させる方法と、ビット列を取得する方法を、それぞれ下記形式で答えよ。なお記号の数と文字数は一致しない。
→「8桁の2進数において、上4桁を反転、取得したい場合はそれぞれビット列○○○○を用いてXXX演算、◇◇◇◇を用いてYYY演算を実行すれば良い」
・LSIとは何かを説明せよ。
・SoC、SiPとは何かを説明せよ。
・PLDとは何かを説明せよ。
・アナログデータを取得する機器、デジタルデータを元にアナログ機器を動かす機器、それぞれの名称を答えよ。

論理回路

論理回路とは論理演算を行う回路のこと。
例えば値Aと値Bに対してAND演算を行う場合は「論理積(AND)」回路が使われる。
試験では代表的な論理回路について、MIL記号も含めて覚えておくと便利。
AND回路とOR回路の形を覚えて、NOTは出力箇所に〇がつくもの、XORはOR回路の亜種、と覚えればよい。

フリップフロップ回路

2つの入力値を保持しておくための回路。NOT回路2つとNAND回路2つで構成される。
重要な特徴は、入力値の組み合わせと出力値の変化。入力値はSet(S)とReset(R)の2つ。なお出力値は下図のQのことを指すので注意。
覚える内容としては入力値の4パターン。
(S,R)=(0,0)→値を保持
(S,R)=(0,1)→出力値はSの値と同じ0になる。
(S,R)=(1,0)→出力値はSの値と同じ1になる。
(S,R)=(1,1)→値が不定となるので入力自体が禁止されている。

加算器

半加算器、全加算器を覚えればよい。
半加算器とは繰り上がりを考慮せず足し算する加算器。
0+0=00, 0+1=01, 1+0=01, 1+1=10 の4パターンが計算できればよい。
このとき2桁目をC(carry)、1桁目をS(sum)と呼称する。
出力Cは上記4パターンにおいてAND回路と同じ挙動を取り、出力Sは上記4パターンにおいてXOR回路と同じ挙動を取る。つまり下図のようになる。

全加算器は、半加算器に繰り上がりの数が追加された加算器のこと。上記の値A、値Bに加えて値Dの考慮が必要になる。
このとき、値Aと値Bで半加算器の計算をし、1桁目の出力S、2桁目の出力Cを計算したのち、出力Sと値Dを半加算器にかけて、出力S`と出力C`を算出する。出力S`はそのままでよいが、出力Cと出力C`をOR回路にかけて、最終的な出力C``を計算する必要がある。

減算のイメージ

加算処理は上記の加算器によって実行できる。減算をするときは減算器を作る……のではなく、「2の補数を計算してから加算処理を行う」ことで減算を実施する。
2の補数を算出するには、ビットを反転(0⇔1)して1を足せばよい。
例えば8桁のビット列を反転させたいなら、11111111とのXOR演算を行う。これなら0は1に、1は0になる。

マスクパターン

反転させたい(もしくは取得したい)ビットの箇所を1で埋めたビット列のこと。先述した通り、8桁全部を反転させたい場合は11111111を使う。上4桁のみ反転させたいなら11110000を使用する。
ただ、マスクパターンは「反転させたい」用途だけでなく「取得したい」用途にも使用できる。例えば8桁全部を取得したい場合は11111111とのAND演算を行う。これなら0は0、1は1になる。

集積回路(IC)

これまで述べてきた論理回路を1パーツとして部品化するのではなく、回路を半導体としてまとめたものを集積回路(IC:Integrated Circuit)と呼ぶ。

LSI(Large Scale Integration)

まず応用情報で覚えておくべきなのはLSI(Large Scale Integration)。名前通り、大規模の集積回路をまとめたもの。
システムLSI:演算処理LSIやグラフィック処理LSIなど、システムに必要な複数の機能をまとめたLSI。
SoC(System on a Chip):システムLSIを構成する複数の機能が、1つの半導体素子(チップ)にまとまっているもの。
SiP(System in Package):システムLSIを構成する複数の機能が、1つのパッケージにまとまっているもの。半導体素子(チップ)は複数ある。

カスタムIC

カスタムIC:特定の回路を発注して作るもの。一度作ったら修正できず、また高コストな点がネック。
ASIC(Application Specific Integrated Circuit):特定の用途に向けて作成したICのこと。
これら2つは作り直しが出来ずコストも高いという欠点がある。そこで登場したのがPLD。

PLD(Programmable Logic Device)

PLD(Programmable Logic Device)は名前通り、プログラム可能な集積回路のこと。電気刺激で内容を変更できる。
この代表例がFPGA(Field Programmable Gate Array)。現場(Field)でプログラムできる回路(Gate)。

ハードウェア言語

ICへの書き込みはプログラム言語ではなくハードウェア言語を使用する。
HDL(Hardware Description Language)が有名。

センサーとアクチュエータ

例えば洗濯機を動かすとき、洗濯物の量を考慮してどのぐらい洗剤を入れるべきかを提示してくれたりする。
このとき、アナログ量を測定し、センサーによってアナログ→デジタルに変換(A/D変換)を行い、集積回路(IC)によって処理内容を決定し、処理内容をアクチュエータによってデジタルをアナログに変換する(D/A変換)ことで実際の処理(洗濯槽を回すなど)を行う。
センサーは温度、湿度、加速度などを測定する。
アクチュエータはモーター等を実際に動かす。
実際の動作を行う際に、洗濯機のように一方通行で処理を行う方式を「シーケンス制御」、エアコンのように室温や湿度といったフィートバックを得つつ処理を進める方式を「フィードバック制御」と呼ぶ。

参考・引用


この記事が気に入ったらサポートをしてみませんか?