JPS6229832B2 - - Google Patents

Info

Publication number
JPS6229832B2
JPS6229832B2 JP17078780A JP17078780A JPS6229832B2 JP S6229832 B2 JPS6229832 B2 JP S6229832B2 JP 17078780 A JP17078780 A JP 17078780A JP 17078780 A JP17078780 A JP 17078780A JP S6229832 B2 JPS6229832 B2 JP S6229832B2
Authority
JP
Japan
Prior art keywords
output
register
input
circuit
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP17078780A
Other languages
Japanese (ja)
Other versions
JPS5731071A (en
Inventor
Uein Buun Gerii
Jeemusu Kochiran Maikuru
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS5731071A publication Critical patent/JPS5731071A/en
Publication of JPS6229832B2 publication Critical patent/JPS6229832B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Calculators And Similar Devices (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Logic Circuits (AREA)
  • Digital Computer Display Output (AREA)
  • Electric Clocks (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明はモノリシツク集積回路の電子装置、キ
ーボードおよび出力装置とを含む電子計算装置に
関し、特に電子計算装置の基本的機能を単一の半
導体集積回路に組み込んだ汎用性ある電子装置
と、これにキーの数より少い本数の入力線をもつ
て接続されるキーボード入力装置と、電子装置の
中で得られる演算結果の出力信号により操作され
る出力装置とを有する超小型の汎用性ある電子計
算装置に関するものである。 半導体集積回路技術の発展にともない、電子式
卓上計算器の小型化および回路設計の多様化が進
んできているがこれに関し次の様な困難な問題が
ある。即ち半導体集積回路チツプを生産する側
は、そのチツプ価格を下げ、製造サイクルを短く
する為、できるだけ画一的な画一性のある集積回
路を設計者側に要求し、一方電卓を設計し生産す
る側は、次々と新しいモデルを販売する為に、多
種多様な計算(四則計算、定数計算、メモリー、
開平計算等)のできるいろいろな種類の集積回路
を半導体チツプ生産者の側に要求し、そこに二律
背反の問題が生ずるのである。計算機能の多様性
の要求に応えるには、集積回路の内部にその都度
変更を加えることになり、それぞれの電卓モデル
に対応するフオトマスク製造マスクからやり直す
必要が出てくるので、集積回路チツプの製造に時
間と費用がかかり、集積回路の持つ本質的利益を
損つてしまうおそれもある。この問題の解決法の
ひとつとして、多数の集積回路チツプの夫々を規
格化し、複数のチツプの組合せにより各種の電卓
モデルを揃えるという試みがなされたが、複数チ
ツプ間のリード線接続の信頼性の問題、チツプの
組合せ上の制限もあり、また依然として卓上計算
器の概念を越えられない等の問題がある。 一方コンピユーターは、汎用性があるものの、
サイズの大型であること、高価格であること、高
電力消費であること、記憶装置がコアメモリある
いは磁気テープ等の半導体以外の部分を通常含む
ことなどの理由から、その応用範囲が限定されて
いる。またそのCPU(中央処理ユニツト)は半
導体集積回路を使用しているが、演算スピードを
高くする為にMOS型に比べ集積度の低いバイポ
ーラ型の集積回路を多数使用し、極めて複雑な接
続が必要であり、その結果システムの小型化は困
難である。 本発明の目的は従来技術における上述の問題を
解決するものであつて、モノリシツク半導体集積
回路に構成され電子計算装置の基本的機能を組み
込んで汎用性のある電子装置を用いた、加減算等
の簡単な演算のみならず複雑なプログラム制御を
必要とする演算をも行い得る可変機能固定プログ
ラム電子計算装置を提供することである。 本発明の他の目的は基本的な卓上計算器として
作用する装置を提供することである。特にこれ
は、多桁演算数を浮動小数点で入れ、浮動あるい
は固定小数点で取出す、加算、減算、乗算、除算
のような基本10進演算を含む計算機能を提供する
ことである。この目的は本発明に従つて、例え
ば、数字及び制御データの記録用のダイナミツク
電荷記憶ランダム・アクセス・メモリ・シフト・
アレイを設けることによりなされる。計算器はプ
ログラム可能な論理アレイ(PLA)のような制
御メモリ、読取り専用メモリ(ROM)のような
プログラム・メモリ、及び2進化10進化
(BCD)、ビツト直列数字並列の10進算術、セツ
ト−リセツト−トグル(SRT)フラグ(FLAG)
データ修正を含む記録されたデータの算術及び論
理修正を行なう装置を含む。 本発明の他の目的はモノリシツク半導体装置と
して製造可能な計算器装置を提供することであ
る。特に、現在の金属−絶縁体−半導体技術を用
いたモノリシツク集積金属−絶縁体−半導体装置
として製造可能な計算器装置を提供することが本
発明の目的である。この目的は本発明に従つて、
従来のシフト・レジスタ装置の約1/3の領域しか
必要としないランダム・アクセス・メモリ・シフ
ト・レジスタ装置を設け、計算器には含まれてい
るがモノリシツク構造体にとつては外部の単位相
入力クロツクから多位相クロツクを内部発生し、
モノリシツク構造体とキーボード及び表示部との
間を最小の外部接続でキーボード・エンコードと
表示デイコードの両方を行なうためのモノリシツ
ク構造体中に共通プログラムの走査装置を設ける
ことによりなされる。モノリシツク構造体からキ
ーボード、表示及び電源供給部のような他のサブ
システムへの接続総数は従つて最小となり、モノ
リシツク構造体は従来の28又は40ピン・パツ
ケージに収めることが可能である。 本発明の別な目的は、基本となる計算器構造を
変えることなく、特に集積半導体装置のような基
本計算器構造を変えることなく計算器の機能、入
出力インターフエースを変更可能な融通性のある
計算器装置を提供することである。この目的は本
発明に従つて、計算器装置の所望機能により計算
器装置の固定されたプログラムを与えるプログラ
ム可能な読取り専用メモリを設け、入出力及び操
作データを所望形式にマスクすることにより前記
データをデコード及びエンコードするプログラム
可能な論理アレイを設けることによりなされる。
プログラム可能な読取り専用メモリとプログラム
可能な論理アレイは製造過程中に金属−絶縁体−
半導体集積装置のゲート絶縁体マスクを変えるこ
とにより容易に修正可能である。 本発明のさらに他の目的は、キーボード指令や
状態情報をエンコードし、表示デコーダとセグメ
ント表示そして又は個々の10進数表示間の直接イ
ンターフエース装置として作動する改良された装
置を提供することである。この目的は本発明に従
つて、キーボード入力と表示出力の両方に作動し
てキー入力装置のハードウエア必要物を最小にす
るプログラムされた走査装置を設けることによつ
てなされる。4個のキーボード入力ピンは11本の
走査出力ピンと結びついて全体で44個の異なるキ
ーそして又はスイツチを可能にする。読取り専用
メモリ中にあるプログラムされたルーチンはキー
ボード・アレイからの入力をプログラム制御の下
でコード化する。走査装置は外部キーボード・ド
ライブ回路を不要にする十分低い速度で動作し、
走査速度を矛盾しない応答の大容量負荷の直接駆
動を可能にする。走査プログラムは実質的に過渡
雑音やキーボードからのキー振動型外乱を打消す
エンコード・ルーチンを含む。キーボード走査装
置の別な利点は、ダイオードを殆んど必要とせ
ず、アンプは不要であり、スイツチは簡単なスイ
ツチで低抵抗又は低振動時間スイツチである必要
はないことである。表示出力は内部セグメント、
又は数字デイコード、数字ブランキング及びゼロ
サプレス論理部を含み、キーボードと同じ走査装
置を用いる。表示部自体は発光ダイオード、液
晶、冷カソード気体放電表示素子、螢光表示素
子、多数字単エンベロプ冷カソード気体放電管、
白熱表示素子等を含む。多重表示能力は、一般的
に形成された数字走査及びセグメント又は数字デ
コード装置により、また先縁及び後縁ブランキン
グ間隔とセグメント・ドライバ又は数字ドライバ
又は両者の内どれかへの適用により可変である内
部数ブランキング信号を与えることにより与えら
れる。出力デコーダは、任意の7,8,9,10
セグメント表示又は10進数表示加えることの小数
点の左右シフトに適用するためプログラム可能な
論理アレイ・セグメント・デコーダ回路を含む。
このように、本発明の計算器装置は用いる表示素
子の選択に基本的には無関係である。 本発明のさらに別な目的は計算器表示部の無効
先頭0を消去する内部装置を設けることである。
この目的は、最初に最有効出力数字を走査し先頭
0を探知し消去するハードウエア装置を最小にす
るプログラムされた走査装置により成される。 本発明の他の目的は、定数演算数及び連鎖中間
結果形式の計算の両方を完全に代数的な方法で可
能にすることである。この目的は定数演算数モド
を連鎖中間結果モードの演算から区別するため演
算子選択制御、すなわちモード・スイツチを設け
ることにより、また所望のモードを探知しそれを
実行するために読取り専用メモリに固定プログラ
ム決定ルーチンを設けることによりなされる。 本発明のさらに別な目的は、計算を高精度にす
るために自動4捨5入解を与える装置を含む計算
器装置を提供することである。この目的は本発明
に従つて、失われる最小有効桁数字に数字の5を
加える読取り専用メモリに記憶された固定プログ
ラム・ルーチンを用いることによりなされる。こ
のように、失われる最小桁数字が5以上の時には
保持される第2桁数字に1が加算される。 本発明の他の目的は、電池をあまり消費しない
携帯卓上計算器を提供するために最小電力消失の
計算装置を提供することである。この目的は本発
明に従つて、機能素子が実際に用いられている時
を除いて機能素子をオフにする特殊な制御回路を
設け、読取り専用メモリ、プログラム可能な論理
アレイ、算術論理装置機能サブシステムの金属−
絶縁体−半導体実施例内に特殊な予充電レシオレ
ス(ratioless)回路を設けることによりなされ
る。例えば、読取り専用メモリからの命令出力は
命令サイクル当り1回のみ探知すれば十分であ
り、DC電流を除くために名目静止電力消失の2/1
3のデユーテイ・サイクルを実行する読取り専用
メモリデコーダに電力制御を加えて、過度的な
CV2fの電力のみが消失する。 本発明のさらに別な目的と利点は本発明を説明
する以下の詳細な説明と特許請求の範囲から、ま
た添附した図面から明らかである。 本発明によると、読取り専用メモリに記憶され
た固定プログラムを含む可変機能プログラム化計
算器はモノリシツク集積半導体装置として製造可
能である。特に、記述した実施例は現在の金属−
絶縁体−半導体(MIS)技術を用いたモノリシツ
ク集積MIS装置として製造可能である。計算器装
置は浮動小数点演算を含む卓上計算器機能又は他
の有用な演算を実行するようにプログラムされ
る。計算器装置のモノリシツク構造体は、製造過
程中に5個又は7個のマスク(ゲート絶縁体マス
ク)の内の1個を修正することによりプログラム
可能な読取り専用メモリにプログラムされる固定
プログラムを含む。さらに、計算器装置内のデー
タの入力、出力及び演算形式も同りマスクを変え
ることによりプログラム可能な論理アレイにプロ
グラムすることが可能である。以下の節ではまず
様々なサブシステム間の機能関連性について記述
され、次いで特定の回路について、最後に読取り
専用メモリに記憶された固定プログラムについて
記述される。 計算器装置の機能説明 第1図及び第2図に、本発明計算器装置におけ
る5個の内部機能サブシステム間の機能依存性、
及び内部サブシステムと外部機能素子との間の関
係を示す。この実施例で5個の内部機能サブシス
テムは、モノリシツク集積回路として組込まれて
おり、外部機能素子は集積回路の外に構成されて
いる。プログラム・ブロツク201は計算器を所
望の方法で操作するための固定プログラムを記憶
する読取り専用メモリ(ROM)278とプログ
ラム・カウンタ(PC)209とを含む。制御ブ
ロツク202は、制御命令を記憶する命令レジス
タ(IR)190、制御命令をデコードする制御
デコーダ191、及びジヤンプ条件回路192を
含む。タイミング・ブロツク203はクロツク発
生器193、タイミング発生器194、数字及び
FLAGマスク・デコーダ195、及びキー入力論
理部196を含む。データ・ブロツク204はラ
ンダム・アクセス・メモリ・シフト・レジスタ装
置及びFLAGデータ記憶アレイ206、10進のデ
ータ算術論理装置207、FLAG論理装置229
を含む。出力ブロツク205はセグメント・出力
デコーダ198と数字出力走査器197とを含
む。 データ・ブロツク204 第3図を参照すると、データ・ブロツク204
の機能的説明が詳細に記述されている。データ・
ブロツク204は10進又は16進データ記憶用装置
と基本演算用装置とを含む。本実施例の記憶構成
は10進又は16進数字に対して並列であるため、
種々の機能素子と結合する各相互接続部210は
実際には4本の相互接続を記号化したものであ
る。メモリ・アレイ・シフト・レジスタ装置20
6のAレジスタ211、Bレジスタ212及びC
レジスタ213は計算器論理装置の基本的な10進
又は16進記憶装置を含む。1ビツト・ダイナミツ
ク・シフト・レジスタ遅延回路214が主レジス
タ211,212,213の再循環更新を行なう
ために用いられる。Aレジスタ211とCレジス
タ213の出力はUデータ・セレクタ・ゲート2
15に入力される。Bレジスタ212の出力と装
置223により与えられる定数NはVデータ・セ
レクタ・ゲート216に入力される。2進法又は
2進化10進法(BCD)加算器217はUとVと
の間の和又は差、すなわちU+V又はU−Vを計
算する。Uは加算器のプラス側に、Vは加算器の
マイナス側にある。Σデータ・セレクタ・ゲート
218は短又は長路シフト演算用の装置を与え
る。Σデータ・セレクタ・ゲート218へ入る加
算器217からの出力はシフトが行なわれない通
常路に相当する。Σデータ・セレクタ・ゲート2
18への遅延された加算器入力における1ビツト
遅延回路225は左シフトが行なわれる長路に相
当する。Σデータ・セレクタ・ゲート218への
入力におけるUV論理ORゲート224は右シフト
を行なう短路に相当する。データ・セレクタ・ゲ
ート219はAレジスタ211への入力を、Σデ
ータ・セレクタ・ゲート218のΣ出力、遅延B
レジスタ212出力、遅延Aレジスタ出力の内の
どれかから選択する。データ・セレクタ・ゲート
220はBレジスタへの入力を、Σデータ・セレ
クタ・ゲート218のΣ出力、遅延Aレジスタ2
11出力、遅延Bレジスタ212出力の内のどれ
かから選択する。データ・セレクタ・ゲート22
1はCレジスタへの入力を、Σデータ・セレク
タ・ゲート218のΣ出力、又は遅延Cレジスタ
213出力の内どちらかから選択する。ジヤンプ
条件をラツチするラツチ条件回路192は加算器
217の桁上げ借入れによりロードされる。 本実施例ではAレジスタ211、Bレジスタ2
12、Cレジスタ213の各々が13個の10進又は
16進数字のダイナミツク再循環記憶装置を与え
る。加算器217、Uデータ・セレクタ・ゲート
215、Vデータ・セレクタ・ゲート216、Σ
データ・セレクタ・ゲート218、Aデータ・セ
レクタ・ゲート219、Bデータ・セレクタ・ゲ
ート220、及びCデータ・セレクタ・ゲート2
21は、制御ブロツクを説明する節でこれから詳
細に記述されるセレクタ及び加算器制御の同期操
作によりレジスタ211,212,213の内容
の算術及び論理修正を行なう装置を与える。 第4図を参照すると、データブロツク204の
内容は1ビツト状態又はFLAG素子記憶及び操作
に関して図示されている。機能素子の結合は相互
接続230により示される。2つの12ビツト・レ
ジスタ、FAレジスタ226とFBレジスタ227
は状態、すなわちFLAG情報の記憶装置を与え
る。FAレジスタ226とFBレジスタ227の出
力はFLAG演算論理装置229に入力される前に
ダイナミツク、シフト・レジスタ素子228によ
つて1ビツト遅延される。FLAG演算論理装置2
29のA及びB出力はFLAGレジスタ226,2
27に結合される。FLAG演算論理装置の演算は
個々にアドレスされたFLAGの再循環、セツト、
リセツト及びトグルと、FA及びFB対のFLAGの
交換と比較を含む。制御SUB,FFLG,RFLG,
FLAG、及びXFLAGは特定のアドレスされた
FLAG又はFLAG対に所望の演算を行なうために
発生される。演算比較FLAGと演算テストFLAG
はFLAG演算装置からジヤンプ条件回路192へ
の出力を発生する。これらのFLAG演算の制御機
構は以下の制御ブロツク202を詳細に説明する
節で記述される。 制御ブロツク202 制御ブロツク202の機能は、プログラム制御
ブロツク201から命令語を受取り、命令語と条
件フリツプ・フロツプを以後の命令サイクルの指
令語として解釈し、データ・ブロツク204、プ
ログラム・ブロツク201、及び出力ブロツク2
05のデータ・セレクタと論理装置を操作する特
定の制御をデコードすることである。 基本的な指令語形式と命令地図は第5図に図示
されている。第5図を参照すると、Iビツト23
0は非ジヤンプ命令からジヤンプを区別する。I
ビツト230が論理0の時には、命令はジヤンプ
命令であり、Mビツト231は真及び偽条件ジヤ
ンプを区別する一方、Mフイールド232、Sフ
イールド233、Rフイールド234及びΣフイ
ールド235の残りのビツトはジヤンプに関連す
る絶対アドレスを含む。命令がジヤンプ命令(I
ビツトの論理0により示される)であるが、ジヤ
ンプ条件が満足されない場合は、通常のプログラ
ム・カウンタの増加が行なわれる。Iビツトが論
理1の場合には、レジスタ又はFLAG演算がデコ
ードされる。Mフイールド232全体は以下の第
1表に詳細に示すようにFLAG演算からレジスタ
を区別するために用いられる。Mフイールド23
2に含まれる2進コードが0と9の間の場合には
レジスタ演算がデコードされ、Mフイールド23
2に含まれる2進コードが10と15の間ならFLAG
演算がデコードされる。 レジスタ演算の場合、M=0からM=9の10
コードは3つの定数値(N)の内の1個と組合せ
た6個数字マスクの内の1つを選択するために用
いられる。第1表に示した選択は本発明による浮
動小数点計算器機能のプログラミングの際に用い
られる。 FLAG演算の場合、M=10からM=15の6コー
ドが6種のFLAGコード、すなわち比較、交換、
セツト、リセツト、トグル及びテストを区別する
ために用いられる。
The present invention relates to an electronic computing device including a monolithic integrated circuit electronic device, a keyboard, and an output device, and more particularly to a versatile electronic device that incorporates the basic functions of an electronic computing device into a single semiconductor integrated circuit, and a keypad thereof. An ultra-compact, versatile electronic computing device that has a keyboard input device connected with a number of input lines smaller than the number of input lines, and an output device that is operated by an output signal of the calculation result obtained in the electronic device. It is related to. With the development of semiconductor integrated circuit technology, the miniaturization of electronic desk calculators and the diversification of circuit designs are progressing, but the following difficult problems arise in this regard. In other words, manufacturers of semiconductor integrated circuit chips demand that designers produce integrated circuits that are as uniform as possible in order to lower the cost of the chips and shorten the manufacturing cycle. In order to sell new models one after another, the manufacturers perform a wide variety of calculations (arithmetic calculations, constant calculations, memory,
Semiconductor chip manufacturers are required to provide various types of integrated circuits capable of performing square root calculations, etc., and this creates a trade-off problem. In order to meet the demands for a variety of calculation functions, it is necessary to make changes inside the integrated circuit each time, and it becomes necessary to start over from the photomask manufacturing mask corresponding to each calculator model, so the manufacturing of integrated circuit chips is difficult. This takes time and money, and there is a risk that the essential benefits of integrated circuits may be lost. As one solution to this problem, attempts were made to standardize each of the many integrated circuit chips and create various calculator models by combining multiple chips, but the reliability of the lead wire connections between multiple chips was There are also problems, such as limitations on the combination of chips, and the fact that the concept of a desktop calculator still cannot be overcome. On the other hand, although computers are versatile,
Its range of applications is limited due to its large size, high price, high power consumption, and the fact that storage devices usually include non-semiconductor parts such as core memory or magnetic tape. There is. In addition, the CPU (central processing unit) uses a semiconductor integrated circuit, but in order to increase the calculation speed, it uses many bipolar type integrated circuits, which have a lower integration density than MOS type, and requires extremely complicated connections. As a result, it is difficult to downsize the system. An object of the present invention is to solve the above-mentioned problems in the prior art, and to solve the above-mentioned problems in the prior art by using a versatile electronic device that is configured in a monolithic semiconductor integrated circuit and incorporates the basic functions of an electronic computing device. It is an object of the present invention to provide a variable function fixed program electronic computing device capable of performing not only complex calculations but also calculations requiring complicated program control. Another object of the invention is to provide a device that acts as a basic desktop calculator. In particular, this is to provide computational functions including multi-digit floating-point input and floating-point output, and basic decimal operations such as addition, subtraction, multiplication, and division. This purpose is achieved according to the invention by, for example, a dynamic charge storage random access memory shifter for recording numbers and control data.
This is done by providing an array. The calculator has a control memory such as a programmable logic array (PLA), a program memory such as a read-only memory (ROM), and a binary coded decimal (BCD), bit-serial-number-parallel decimal arithmetic, set-bit Reset toggle (SRT) flag (FLAG)
Includes apparatus for performing arithmetic and logical modifications of recorded data, including data modification. Another object of the invention is to provide a computer device that can be manufactured as a monolithic semiconductor device. In particular, it is an object of the present invention to provide a computing device that can be manufactured as a monolithically integrated metal-insulator-semiconductor device using current metal-insulator-semiconductor technology. This purpose is achieved according to the invention by
A random access memory shift register device that requires only about one-third the area of a conventional shift register device is provided, and a unit phase that is included in the calculator but external to the monolithic structure is provided. Internally generates a multi-phase clock from the input clock,
This is accomplished by providing a common program scanning device within the monolithic structure for both keyboard encoding and display decoding with minimal external connections between the monolithic structure and the keyboard and display. The total number of connections from the monolithic structure to other subsystems such as the keyboard, display and power supply is thus minimized, and the monolithic structure can fit into a conventional 28 or 40 pin package. Another object of the present invention is to provide flexibility in that the functions and input/output interfaces of a computer can be changed without changing the basic computer structure, especially without changing the basic computer structure such as an integrated semiconductor device. The purpose of the present invention is to provide a computer device. This object is achieved according to the invention by providing a programmable read-only memory which provides a fixed program of the computing device according to the desired functionality of the computing device, and by masking the input/output and operational data to the desired format. This is done by providing a programmable logic array that decodes and encodes the .
Programmable read-only memory and programmable logic arrays are manufactured using metal-insulators during the manufacturing process.
This can be easily corrected by changing the gate insulator mask of the semiconductor integrated device. Still another object of the present invention is to provide an improved apparatus for encoding keyboard commands and status information and for operating as a direct interface device between a display decoder and a segment display and/or individual decimal display. This object is accomplished in accordance with the present invention by providing a programmed scanning device that operates on both keyboard input and display output to minimize the hardware requirements of the key input device. The four keyboard input pins combine with the eleven scan output pins to allow for a total of 44 different keys and/or switches. Programmed routines residing in read-only memory encode input from the keyboard array under program control. The scanning device operates at a speed low enough to eliminate the need for external keyboard drive circuitry;
Enables direct driving of large capacitance loads with scanning speed consistent response. The scanning program includes an encoding routine that substantially cancels out transient noise and key vibration type disturbances from the keyboard. Another advantage of the keyboard scanning device is that it requires few diodes, no amplifiers, and the switches need not be simple switches and low resistance or low vibration time switches. Display output is internal segment,
or includes numeric day code, numeric blanking and zero suppression logic and uses the same scanning device as the keyboard. The display itself includes a light emitting diode, liquid crystal, cold cathode gas discharge display element, fluorescent display element, multi-digit single envelope cold cathode gas discharge tube,
Including incandescent display elements, etc. Multiple display capabilities are variable by commonly configured digit scanning and segment or digit decoding devices and by application of leading and trailing edge blanking spacing and either segment drivers or digit drivers or both. This is provided by providing an internal number blanking signal. Output decoder can be any 7, 8, 9, 10
Includes programmable logic array segment decoder circuitry to apply left and right shifts of the decimal point for segmented representation or decimal representation addition.
The calculator device of the invention is thus essentially independent of the choice of display element used. Yet another object of the present invention is to provide an internal device for erasing invalid leading zeros from a calculator display.
This objective is accomplished by a programmed scanning device that first scans the most significant output digits and minimizes the hardware device to detect and erase leading zeros. Another object of the invention is to enable both constant arithmetic numbers and chained intermediate result type calculations in a completely algebraic manner. The purpose of this is to provide an operator selection control, or mode switch, to distinguish the constant arithmetic mode from the chained intermediate results mode of operation, and to provide a fixed read-only memory to detect and execute the desired mode. This is done by providing a program determination routine. Yet another object of the present invention is to provide a calculator device including a device for automatically rounding down to 50 solutions in order to increase the accuracy of calculations. This purpose is accomplished in accordance with the present invention by using a fixed program routine stored in read-only memory that adds the number 5 to the least significant digit that is lost. In this way, when the minimum digit that is lost is 5 or more, 1 is added to the second digit that is retained. Another object of the present invention is to provide a computing device with minimal power dissipation in order to provide a portable desktop calculator that does not consume much battery. This purpose is achieved in accordance with the invention by providing special control circuitry to turn off the functional elements except when they are actually in use, and by providing read-only memories, programmable logic arrays, arithmetic logic unit functional subsystems, etc. System metal
This is accomplished by providing a special precharge ratioless circuit within the insulator-semiconductor embodiment. For example, instruction output from read-only memory only needs to be probed once per instruction cycle, and 2/1 of the nominal quiescent power dissipation is required to eliminate DC current.
Power control is added to a read-only memory decoder that performs a duty cycle of 3 to avoid excessive
Only the power of CV 2 f is dissipated. Further objects and advantages of the invention will be apparent from the following detailed description and claims describing the invention, as well as from the accompanying drawings. In accordance with the present invention, a variable function programmed calculator containing a fixed program stored in a read-only memory can be manufactured as a monolithically integrated semiconductor device. In particular, the described embodiments are based on current metal-
It can be manufactured as a monolithic integrated MIS device using insulator-semiconductor (MIS) technology. The calculator device is programmed to perform desktop calculator functions including floating point operations or other useful operations. The monolithic structure of the computing device contains a fixed program that is programmed into a programmable read-only memory by modifying one of five or seven masks (gate insulator mask) during the manufacturing process. . Furthermore, the data inputs, outputs, and arithmetic formats within the computing device can also be programmed into the programmable logic array by changing the same mask. The following sections first describe the functional relationships between the various subsystems, then specific circuits, and finally fixed programs stored in read-only memory. Functional explanation of the computer device FIGS. 1 and 2 show the functional dependencies among the five internal functional subsystems in the computer device of the present invention,
and relationships between internal subsystems and external functional elements. In this embodiment, the five internal functional subsystems are implemented as a monolithic integrated circuit, and the external functional elements are constructed outside the integrated circuit. Program block 201 includes a read only memory (ROM) 278 and a program counter (PC) 209 that store fixed programs for operating the calculator in a desired manner. Control block 202 includes an instruction register (IR) 190 for storing control instructions, a control decoder 191 for decoding control instructions, and a jump condition circuit 192. Timing block 203 includes clock generator 193, timing generator 194, numbers and
Includes FLAG mask decoder 195 and key input logic 196. Data block 204 includes a random access memory shift register unit and FLAG data storage array 206, decimal data arithmetic logic unit 207, and FLAG logic unit 229.
including. Output block 205 includes a segment output decoder 198 and a numeric output scanner 197. Data Block 204 Referring to FIG.
A detailed functional description is provided. data·
Block 204 includes devices for decimal or hexadecimal data storage and basic arithmetic operations. Since the memory structure of this embodiment is parallel to decimal or hexadecimal digits,
Each interconnect 210 that couples to various functional elements actually symbolizes four interconnects. Memory array shift register device 20
6 A register 211, B register 212 and C
Register 213 contains the basic decimal or hexadecimal storage of the calculator logic unit. A one-bit dynamic shift register delay circuit 214 is used to perform recirculating updates of main registers 211, 212, and 213. The outputs of A register 211 and C register 213 are U data selector gate 2.
15 is input. The output of B register 212 and a constant N provided by device 223 are input to V data selector gate 216. A binary or binary coded decimal (BCD) adder 217 calculates the sum or difference between U and V, ie, U+V or UV. U is on the plus side of the adder and V is on the minus side of the adder. Σ data selector gate 218 provides a facility for short or long shift operations. The output from adder 217 into Σ data selector gate 218 corresponds to the normal path where no shifting occurs. ΣData selector gate 2
The 1-bit delay circuit 225 at the delayed adder input to 18 corresponds to the long path on which the left shift is performed. The UV logic OR gate 224 at the input to the Σ data selector gate 218 corresponds to a short circuit that performs a right shift. Data selector gate 219 connects the input to A register 211 to the Σoutput of Σdata selector gate 218, delayed B
Select from either register 212 output or delay A register output. Data selector gate 220 connects the input to the B register to the Σoutput of Σdata selector gate 218, delayed A register 2
11 output and the delay B register 212 output. Data selector gate 22
1 selects the input to the C register from either the Σ output of the Σ data selector gate 218 or the delayed C register 213 output. Latch condition circuit 192, which latches the jump condition, is loaded by the carry borrow of adder 217. In this embodiment, A register 211, B register 2
12, each of the C registers 213 has 13 decimal or
Provides dynamic recirculating storage of hexadecimal digits. Adder 217, U data selector gate 215, V data selector gate 216, Σ
Data selector gate 218, A data selector gate 219, B data selector gate 220, and C data selector gate 2
21 provides a means for performing arithmetic and logical modifications of the contents of registers 211, 212, 213 by synchronized operation of selector and adder controls, which will now be described in detail in the section describing the control blocks. Referring to FIG. 4, the contents of data block 204 are illustrated in terms of one bit state or FLAG element storage and operation. The coupling of functional elements is indicated by interconnects 230. Two 12-bit registers, FA register 226 and FB register 227
gives storage of state, ie FLAG information. The outputs of FA register 226 and FB register 227 are delayed by one bit by dynamic, shift register element 228 before being input to FLAG arithmetic logic unit 229. FLAG arithmetic logic unit 2
The A and B outputs of 29 are FLAG registers 226, 2
27. The FLAG arithmetic logic unit operations recirculate, set, and recirculate individually addressed FLAGs.
Includes reset and toggle and FLAG exchange and comparison of FA and FB pairs. Control SUB, FFLG, RFLG,
FLAG, and XFLAG are specific addressed
Generated to perform desired operations on a FLAG or FLAG pair. Arithmetic comparison FLAG and arithmetic test FLAG
generates an output from the FLAG arithmetic unit to jump condition circuit 192. The control mechanisms for these FLAG operations are described below in the section describing control block 202 in detail. Control Block 202 The function of control block 202 is to receive instructions from program control block 201, interpret the instructions and conditional flip-flops as instructions for subsequent instruction cycles, and process data block 204, program block 201, and Output block 2
05 data selectors and the specific controls that operate the logic units. The basic command word format and command map are illustrated in FIG. Referring to FIG. 5, I bit 23
0 distinguishes jumps from non-jump instructions. I
When bit 230 is a logic 0, the instruction is a jump instruction, and M bit 231 distinguishes between true and false condition jumps, while the remaining bits in M field 232, S field 233, R field 234, and Σ field 235 are jump instructions. Contains the absolute address associated with. The command is a jump command (I
(indicated by a logic 0 bit), but if the jump condition is not satisfied, normal program counter incrementation occurs. If the I bit is a logic one, a register or FLAG operation is decoded. The entire M field 232 is used to distinguish registers from FLAG operations as detailed in Table 1 below. M field 23
If the binary code contained in 2 is between 0 and 9, the register operation is decoded and the M field 23
FLAG if the binary code contained in 2 is between 10 and 15
Operations are decoded. For register operations, 10 from M=0 to M=9
The code is used to select one of a six number mask in combination with one of three constant values (N). The selections shown in Table 1 are used in programming the floating point calculator functions according to the present invention. In the case of FLAG operations, the 6 codes from M=10 to M=15 are the 6 types of FLAG codes: comparison, exchange,
Used to distinguish between set, reset, toggle and test.

【表】【table】

【表】 指令語のSビツト233はデータ・ブロツク2
04の3個の機能素子を制御する。Sビツト23
3は2進又はBCD加算器217の演算から加算
を区別し、Σシフト論理部の右シフトから左シフ
トを区別し、FLAG演算論理部のBからAを区別
する。加算、シフト及びFLAG演算は例外的な演
算であり、これ以上のデコードは必要しない。R
フイールド234は以下の第表に関して記述す
る算術、交換及びキーボード入力命令を区別す
る。Rフイールド234に含まれる2進数値が1
と5の間の時には、算術演算が指示され、Uデー
タ・セレクタ・ゲート215とVデータ・セレク
タ・ゲート216が加算器217への入力として
第表に示す変数を付勢するために制御される。
Rフイールド234に含まれる2進数値が6に等
しいと、加算値217とΣゲート218をバイパ
スし、数字マスクを用いることなくAとBの交換
が付勢される。Rフイールド234に含まれる2
進数値が0又は7の時には、算術非操作が指示さ
れ、キーボード同期とエンコード用の特殊命令を
実施する装置を与える。 Σフイールド235はAレジスタ211、Bレ
ジスタ212、Cレジスタ213へのΣデータ・
セレクタ・ゲート218からの出力の選択又はΣ
データ・セレクタ出力をこれらのどれにも送らな
いことを決定する。第表に示すように、3種の
コードがデコードされてΣデータ・セレクタ・ゲ
ート218の出力をAレジスタ211、Bレジス
タ212及びCレジスタ213に入力可能であ
り、第4コードはキーボード同期とエンコード命
令を付勢する非操作コード用装置を与える。
[Table] S bit 233 of the command word is data block 2
Controls three functional elements of 04. S bit 23
3 distinguishes addition from binary or BCD adder 217 operations, left shifts from right shifts in the Σ shift logic, and A from B in the FLAG arithmetic logic. Addition, shift and FLAG operations are exceptional operations and do not require further decoding. R
Field 234 distinguishes between arithmetic, commutative, and keyboard input commands described with respect to the table below. The binary value contained in the R field 234 is 1
and 5, an arithmetic operation is indicated and the U data selector gate 215 and V data selector gate 216 are controlled to activate the variables shown in Table 1 as inputs to the adder 217. .
When the binary value contained in R field 234 is equal to 6, it bypasses summation value 217 and Σ gate 218 and enables the exchange of A and B without using a numeric mask. 2 included in R field 234
When the hexadecimal value is 0 or 7, no arithmetic operations are indicated and provide a device for implementing special commands for keyboard synchronization and encoding. The Σ field 235 inputs Σ data to the A register 211, B register 212, and C register 213.
Selection of output from selector gate 218 or Σ
Decide not to send the data selector output to any of these. As shown in the table, three types of codes can be decoded and the output of the Σ data selector gate 218 can be input to the A register 211, B register 212, and C register 213, and the fourth code is keyboard synchronization and encoding. Provides a device for non-operational codes to activate commands.

【表】【table】

【表】 ジヤンプ条件回路192は固定プログラムの実
行中の任意の点における計算器の状態を反映す
る。これはMaビツト231と組合されてジヤン
プ命令が実行されたか又はスキツプされたかを決
定する。ジヤンプ条件回路192には、算術演算
の桁上げ−借入れ(C/B)の結果、共通の
(FMSK)アドレスを有するFLAG対のFLAGテ
スト又は比較(FA:FB)の内容、通常走査順序
におけるキーボード・スイツチのキー・マトリク
ス・交点の走査された導通(閉止は1に等しい)
状態、又は特定の数字走査器状態、例えばD11
がロードされる。 ジヤンプ条件回路192への桁上げ−借入れ及
びFLAG入力は都合のよいブランチ動作用の手段
を与え、これにより連続的なプログラム実行は、
データの結果、算術レジスタ演算、及び例えば2
6のFLAGが利用可能な図示した実施例のように
複数個の状態メモリ(FLAG)の何れかにより示
される計算器装置の現在の状態の夫々に依存して
なされ得る。 ジヤンプ条件回路192へのキーマトリクス及
び数字走査器入力はプログラム制御の下で複数個
のキーボード入力、例えば図示した実施例では4
4入力を都合よく、有効に同期しエンコードする
装置を与える。第表はこれらの命令のコーデイ
ングと操作を示す。WAIT操作は、WAIT条件
(D11,KN、又はKP)が満足されるまでプロ
グラム・カウンタ(PC)209をその現在の値
(増加せず)に再循環させる制御装置を与える。
さらに、Aレジスタ211の仮数から数字1を減
算するレジスタ演算はD11WAIT条件と関連
し、KN及びKP,WAIT条件命令と関連する。論
理シフトとFLAG初期化命令も第表に示されて
いる。
[Table] Jump condition circuit 192 reflects the state of the calculator at any point during the execution of a fixed program. This is combined with the Ma bit 231 to determine whether the jump instruction was executed or skipped. The jump condition circuit 192 includes the result of the arithmetic carry-borrow (C/B), the contents of a FLAG test or comparison (FA:FB) for FLAG pairs having a common (FMSK) address, and the keyboard in normal scan order.・Switch key matrix ・Scanned continuity of intersection points (closed equals 1)
state, or a specific digit scanner state, e.g. D11
is loaded. The carry-borrow and FLAG inputs to jump condition circuit 192 provide a convenient means for branching, so that continuous program execution is
data results, arithmetic register operations, and e.g. 2
This can be done depending on each of the current states of the computing device indicated by any of a plurality of state memories (FLAGs), such as in the illustrated embodiment where six FLAGs are available. The key matrix and numeric scanner inputs to the jump condition circuit 192 are provided by a plurality of keyboard inputs under program control, e.g., four in the illustrated embodiment.
To provide a device for conveniently and effectively synchronizing and encoding four inputs. The table shows the coding and operation of these instructions. The WAIT operation causes the controller to recycle program counter (PC) 209 to its current value (not incremented) until the WAIT condition (D11, KN, or KP) is satisfied.
Further, the register operation of subtracting the number 1 from the mantissa of the A register 211 is associated with the D11 WAIT condition, and associated with the KN and KP, WAIT condition instructions. Logical shift and FLAG initialization instructions are also shown in the table.

【表】 タイミング・ブロツク203 タイミング・ブロツク203内のサブシステム
の機能は外部単位相発信器電圧から3位相内部ク
ロツク(望ましいMOS実施例のモノリシツク構
造に関して内部)を発生し、クロツク入力を基に
して内部状態及びデジタル・タイミングを発生
し、数字及びFLAGマスク・デコーダを与えるこ
とである。計算器の基本命令サイクル・タイミン
グは第6図に図示されている。φシステム・タイ
ミング入力240は約50%のデユーテイ・サイク
ルの発信器により与えられる方形波である。3つ
の内部クロツクφ,φ,φは各々信号24
1,242,243を与え、これは循環リング・
カウンタによりφシステム・クロツクから派生さ
れる。本発明に従つて用いられる2進化10進法並
列算術により、加算又は減算の各数字はクロツ
ク・パルスφ,φ,φの完全な一組を用い
る。クロツク・パルスの完全な一組はある状態と
みなされる、例えば、対応する信号244の第1
状態S1を考えればよい。データ・ブロツク204
のレジスタ211−213の13個の数字循環に対
応する13個の前記状態S1−S13がある。13個の状
態はフイードバツク・シフト・カウンタ(第17
Y図の状態カウンタ589及びそのフイードバツ
クループ)により発生される。13個の状態及び13
個の数字レジスタは第6図に実線で示されたタイ
ミングにおいて13個の数字よりなる数の記憶を可
能にするが、プログラム記憶及びデータ処理の観
点からより便利な一般化された浮動小数点記法が
本発明に従つて用いられる。これは、以下の6個
の特定なフイールド・マスクをマスク又は分離す
るためにレジスタ211−213のマスク又はサ
ブアドレシングによりなされる、すなわちN個の
数字を有する仮数フイールド245であり、その
最初のものは最小桁有効数字(LSD)であり、そ
の最後のものはオーバ・フロー数字(OVF)で
ありその(N−1)番目の数字は最大桁有効数字
(MSD)である、従つてこの様に仮数、LSD,
MSD及びOVFに対してマスクが用いられる。ま
た指数(EXP)マスク及び小数点(DPT)マス
クに対する用意もある。これらの6個のマスクは
命令語のMマスク・フイールド232により指令
される様に数字マスク・デコーダ内に発生され
る。本発明によると、マスクは別々に調節可能で
あるので、可変機能装置を計算器装置内に収容す
ることが可能である。MOS実施例では、マスク
の変更は計算器操作を変更するための製造過程中
にゲート酸化マスクを変化させることによりなさ
れる。例えば、1変化例は2個の数字をカバーす
るため6個のマスクのうち1個以上を設定して、
2進化10進法の代りに16進法で演算するためにデ
ータ・ブロツクの加算回路を制御して計算器装置
による8ビツト2進数文字の処理を可能にする。 数字マスク装置に加えて、タイミング・ブロツ
ク203のサブシステムはFLAGのアドレシング
を制御する。FLAGのアドレシングは基本的には
13個の内の1個の選択であり、FLAGマスク・デ
コーダによりなされる。 第7図はキーボード及び表示走査部の走査サイ
クル・タイミングを図示し、走査サイクルを命令
サイクル・タイミング時間に関係づける。本発明
の本実施例によると、キーボード入力と表示出力
は同じ走査信号により走査される。この様にし
て、モノリシツク集積半導体構造として装置を収
容するために要するピンの数は最小にまで減少さ
れ内部装置論理部は簡単化される。ネオン管表示
部の様な従来の表示部に加えて例えば、液晶表示
部と矛循しない十分遅い速度で走査し、同時に非
常な高速度で計算することが望ましい。それゆえ
本発明の走査装置は1走査サイクル内で多重命令
サイクルを包含することにより動作する。図示し
た実施例では、10数字の数字表示加えることのエ
ラー(E)信号又はマイナス(−)符号の様な1
数字制御表示には十分な11個の走査信号がある。
これは又キーボード入力ルーチンの有効なコード
化を可能にする。各数字時間の間に、例えば、論
理1信号251を有するD11のような特定のレ
ジスタの1数字が同期してデコードされる。特定
のレジスタの様々な数字を順番に再生するために
は、出力デコーダは2重にバツフアされる。バツ
フアの入力は(等価:Si◎Di)に対応する状態2
52と時間を合わせている。出力は固定状態、例
えば、数字走査サイクルと同期した状態S13の信
号253と時間を合わせている。この方法で、数
字走査サイクルの間にレジスタからの各数字は順
番に再生され同期して表示される。数字カウンタ
自体は特定の状態、例えば、状態S13により時間
を合わせられ、状態フイード・バツク・シフト・
カウンタと同様のフイード・バツク・シフト・カ
ウンタにより操作される。即ち第7図に示すD11
からD1の各走査タイミングにおいてこれらを
夫々状態走査タイミングS11からS1の各々に対応
させ(D11はS11に対応、D10はS10に対応……D1
S1に対応)各レジスタの様々な数字を再生する。
本実施例では、数字フイード・バツク・シフト・
カウンタはモジユーロ11でカウント・ダウン
し、一方状態カウンタはモジユーロ13でカウン
ト・アツプしていく。この方法で生成する実時間
最大桁第1走査は表示部の0消去論理部を実施す
る装置を与える。 第6図に関して説明された例示された数字マス
クは第8図でさらに明瞭となる。第8図はAレジ
スタ211、Bレジスタ212、Cレジスタ21
3、FA FLAG記憶素子226,FB FLAG記憶
素子227及び表示部のデータ形式を図示する。
数字マスクの操作を明瞭にするため数字の例がレ
ジスタ形式260に示されている。図示した例で
は、小数点(DPT)は2に等しいものとして示
されている。それゆえ、表示形式261では小数
点はD3位置に現われる。上例では仮数フイール
ドは8数字計算器装置に対して示されていてS11
からS13の間に存在する。 FLAG形式262に対しては一般的な必要条件
が無いが、本実施例ではS11マスク又は時間アド
レスのFA FLAG記憶素子226及びFB FLAG
記憶素子227を表示用のマイナス(−)及びエ
ラー(E)FLAGSの記憶部に割当てることが便
利である。この方法でセグメント・デコーダ19
8及び出力ブロツク205の論理部は非常に簡単
化される。 最後にタイミング・ブロツク203のサブシス
テムはキー入力論理部を含む。この論理部により
行なわれる機能は内部命令サイクルのバツフアリ
ングとの同期である。本計算器装置によると過渡
雑音、機械的キー振動又は二重キー入力を打ち消
すためにハード・ウエアに装置を設ける必要はな
い、これらの機能の各々は固定プログラム・ルー
チンに含まれている。 プログラム・ブロツク201 第2図に図示する様に、プログラム・ブロツク
201のサブシステムは読取り専用メモリ
(ROM)208とプログラム・カウンタ(PC)
209を含む。読取り専用メモリ208は特定の
計算器機能を実行する固定プログラムを与えるた
めに本実施例では320個の11ビツト命令語を含む
リニア・プログラム・リストの記憶装置として作
用する。それ故計算器装置の様々な実施例は読取
り専用メモリ208のプログラムの様な組合せを
与えることによりうることが出来る。読取り専用
メモリ208は2進デコーダと云う名称のアー
ル・エツチ・クローフオード等の米国特許第
3541343号に記述されている技術に従つてプログ
ラムされる。プログラムはキーボード入力ルーチ
ン、内部形式ルーチン、内部計算ルーチン及び表
示形式ルーチンを含む。本発明の計算器装置の卓
上計算器機能と関連して用いられる特定のプログ
ラム及び他の機能を実行する計算器装置のプログ
ラムは以後の節には記述する。 本願ではプログラム・カウンタ209は各命令
サイクルの間に新たな入力を受けとる9ビツト・
ダイナミツク記憶レジスタである。新たな入力は
プログラム・カウント自体、1だけ増されたプロ
グラムカウント又は前の命令語からの9ビツトの
うちのどれかである。これらの3入力はWAIT命
令、普通の演算命令及びジヤンプ命令の各々を与
える。 プログラム・ブロツク201の1つの機能はキ
ーボードコード化処理の誤動作を防止する打消し
機構を設けることである。入力感知プログラムは
第9図に示すように過渡雑音、二重入力、先縁振
動、後縁振動に対する防御を与える。′IDLE′ル
ーチンは非静止入力を探知するまで〔KO〕、
〔KN〕及び〔KQ〕入力を連続的に走査する。入
力は2.5ミリセカンドの後に再び「TPOS」ルー
チンによりサンプルされて過度雑音から正しいキ
ー押下を区別する。テスト結果が正の場合は、つ
いで(最初の探知から5ミリセカンド後)プログ
ラム′NBR′又は′OPN′入力ルーチンへジヤンプ
し、さもなければ′IDLE′ルーチンへ復帰す
る。′NBR′ルーチンはキー入力された数を表示レ
ジスタに入れる、′OPN′はキー入力操作を実行す
る。両ルーチンとも、′TNEG′ルーチンへのジヤ
ンプで終結する。′TNEG′は全キーボードが静止
状態にあることを決めるために〔KN〕,〔KO〕
及び〔KQ〕入力の走査を実行する。テストがう
まくいくと(負の場合)プログラムは′IDLE′ル
ーチンへジヤンプする。 計算器装置に計算又は論理機能を実行するため
以下の5種類のキーボード入力及び結果のプログ
ラム・ルーチンが用いられる。すなわち数字キ
ー、モード・スイツチ、小数点スイツチ、演算キ
ー、インター・ロツク・キーである。「キー」と
「スイツチ」との間の相違は、キーは瞬間的にか
つ例外的に操作されるのに対し、スイツチは一般
に静止的なものであり通常閉位置を有する。プロ
グラムの種類は例によ説明される、例えばこれら
のキーを用いる計算器キーボードは第10及び1
1図に示されている。 数字キー:10個のキーと小数点キーがある。
Timing Block 203 The function of the subsystems within timing block 203 is to generate a three-phase internal clock (internal to the monolithic structure of the preferred MOS embodiment) from an external unit phase oscillator voltage and to It generates internal state and digital timing and provides numeric and FLAG mask decoders. The basic instruction cycle timing of the calculator is illustrated in FIG. The φ system timing input 240 is a square wave provided by an oscillator with approximately a 50% duty cycle. The three internal clocks φ 1 , φ 2 , φ 3 each have a signal 24
1,242,243, which is a circular ring
A counter is derived from the φ system clock. Due to the binary coded decimal parallel arithmetic used in accordance with the present invention, each digit added or subtracted uses a complete set of clock pulses φ 1 , φ 2 , φ 3 . A complete set of clock pulses is considered a state, e.g., the first
Just consider the state S1 . Data block 204
There are 13 said states S 1 -S 13 corresponding to the 13 digit cycles of the registers 211-213. The 13 states are the feedback shift counter (17th
state counter 589 and its feedback loop). 13 states and 13
The numeric registers allow storage of a number consisting of 13 digits at the timing indicated by the solid line in Figure 6, but the generalized floating point notation is more convenient from the point of view of program storage and data processing. Used according to the invention. This is done by masking or sub-addressing registers 211-213 to mask or isolate the following six specific field masks: the mantissa field 245 with N digits, the first of which is the least significant digit (LSD), the last of which is the overflow digit (OVF) and its (N-1)th digit is the most significant digit (MSD), so mantissa, LSD,
Masks are used for MSD and OVF. There is also provision for exponential (EXP) and decimal point (DPT) masks. These six masks are generated in the numeric mask decoder as commanded by the M mask field 232 of the instruction word. According to the invention, since the masks are separately adjustable, it is possible to accommodate variable function devices within the calculator device. In MOS embodiments, mask changes are made by changing the gate oxide mask during the manufacturing process to change computer operation. For example, one variation example sets one or more of six masks to cover two numbers,
The adder circuit of the data block is controlled to operate in hexadecimal instead of binary coded decimal notation, allowing the computing device to process 8-bit binary characters. In addition to the numeric mask unit, the timing block 203 subsystem controls FLAG addressing. FLAG addressing is basically
This is a 1 out of 13 selection and is made by the FLAG mask decoder. FIG. 7 illustrates the scan cycle timing of the keyboard and display scanner and relates the scan cycles to command cycle timing times. According to this embodiment of the invention, keyboard input and display output are scanned by the same scanning signal. In this manner, the number of pins required to accommodate the device as a monolithically integrated semiconductor structure is reduced to a minimum and internal device logic is simplified. In addition to conventional displays, such as neon tube displays, for example, it is desirable to scan at a sufficiently slow speed that is consistent with liquid crystal displays, while at the same time calculating at very high speeds. The scanning apparatus of the present invention therefore operates by including multiple instruction cycles within one scan cycle. In the illustrated embodiment, a ten-digit numeric display plus an error (E) signal or one such as a minus (-) sign.
There are 11 scanning signals, enough for numerical control display.
This also allows efficient encoding of keyboard input routines. During each digit time, one digit of a particular register, such as D11 with a logic 1 signal 251, is decoded synchronously. To play the various numbers in a particular register in sequence, the output decoder is doubly buffered. The buffer input is state 2 corresponding to (equivalent: Si◎Di)
The time is set to 52. The output is timed to a fixed state, eg signal 253 in state S13 , which is synchronized with the digit scanning cycle. In this manner, each digit from the register is played in sequence and displayed synchronously during the digit scanning cycle. The numeric counter itself is timed by a specific state, e.g.
It is operated by a feed back shift counter similar to a counter. That is, D 11 shown in FIG.
At each scan timing from D1 to D1 , these correspond to each of the state scan timings S11 to S1 ( D11 corresponds to S11, D10 corresponds to S10 ... D1 corresponds to
S 1 ) to play various numbers in each register.
In this example, the numerical feed, back, shift,
The counter counts down with modi-euro 11, while the status counter counts up with modi-euro 13. The real-time maximum digit first scan produced in this manner provides a means for implementing the zero erasure logic of the display. The illustrated numeric mask described with respect to FIG. 6 is more clearly illustrated in FIG. Figure 8 shows A register 211, B register 212, and C register 21.
3. Data formats of the FA FLAG storage element 226, the FB FLAG storage element 227, and the display section are illustrated.
An example number is shown in register format 260 to clarify the operation of the number mask. In the illustrated example, the decimal point (DPT) is shown as being equal to two. Therefore, in display format 261, the decimal point appears at position D3. In the example above, the mantissa field is shown for an 8-digit calculator device and is S 11
Exist between S and 13 . Although there are no general requirements for the FLAG format 262, in this embodiment the S11 mask or time address of the FA FLAG storage element 226 and the FB FLAG
It is convenient to allocate storage element 227 to storage of negative (-) and error (E) FLAGS for display. In this way, the segment decoder 19
8 and output block 205 are greatly simplified. Finally, the timing block 203 subsystem includes key input logic. The function performed by this logic is synchronization with internal instruction cycle buffering. With the present calculator device, there is no need to provide hardware hardware to counteract transient noise, mechanical key vibration or double keystrokes; each of these functions is included in fixed program routines. Program Block 201 As shown in FIG. 2, the subsystems of program block 201 include read-only memory (ROM) 208 and program counter (PC).
209 included. Read-only memory 208 serves as storage for a linear program list, which in this embodiment contains 320 11-bit instruction words to provide fixed programs to perform specific computer functions. Various embodiments of the computing device can therefore be obtained by providing a program-like combination of read-only memory 208. The read-only memory 208 is described in U.S. Pat.
Programmed according to the technique described in No. 3541343. The program includes keyboard input routines, internal format routines, internal calculation routines, and display format routines. Specific programs used in connection with the desktop calculator function of the calculator device of the present invention and programs for the calculator device that perform other functions are described in the following sections. In this application, program counter 209 is a 9-bit counter that receives new input during each instruction cycle.
It is a dynamic storage register. The new input is either the program count itself, the program count incremented by 1, or the 9 bits from the previous instruction word. These three inputs provide each of a WAIT instruction, a normal arithmetic instruction, and a jump instruction. One function of program block 201 is to provide a cancellation mechanism to prevent malfunctions in the keyboard encoding process. The input sensing program provides protection against transient noise, double input, leading edge vibration, and trailing edge vibration as shown in FIG. The ``IDLE'' routine KOs until it detects a non-stationary input.
Continuously scan [KN] and [KQ] inputs. The input is sampled again by the "TPOS" routine after 2.5 milliseconds to distinguish correct key presses from excessive noise. If the test result is positive, then (5 milliseconds after the first detection) the program jumps to the 'NBR' or 'OPN' input routine, otherwise returns to the 'IDLE' routine. The 'NBR' routine places the keyed number into the display register, and 'OPN' executes the keyed operation. Both routines terminate with a jump to the 'TNEG' routine. ``TNEG'' uses [KN], [KO] to determine that all keyboards are in a static state.
and [KQ] Executes scanning of input. If the test is successful (if negative), the program jumps to the ``IDLE'' routine. The following five types of keyboard input and result program routines are used to perform computational or logical functions on a calculator device. These are number keys, mode switch, decimal point switch, arithmetic keys, and interlock keys. The difference between a "key" and a "switch" is that a key is momentarily and exceptionally operated, whereas a switch is generally stationary and has a normally closed position. The types of programs are explained by examples, for example a calculator keyboard using these keys is number 10 and 1.
This is shown in Figure 1. Numeric keys: There are 10 keys and a decimal point key.

〔0〕,〔1〕,〔2〕,〔3〕,〔4〕,〔5〕,〔
6〕,
〔7〕,〔8〕、及び
[0], [1], [2], [3], [4], [5], [
6],
[7], [8], and

〔9〕キーの操作は表示レジス
タを1数字左にシフトし対応する数を最小桁数字
に入れる。〔・〕キーは数字入力の普通の順序で
操作される。もしこれが用いられないと、小数点
は最後に入れられた数字の後につくものとされ
る。入力モードは常に浮動形式である。 モード・スイツチ:常数スイツチ〔K〕は連鎖
操作と常数演算を選択する。常数キー〔K〕をア
ツプ(開放)にした計算器の普通の演算では中間
結果を失うことなく、連鎖計算を可能にする。
〔K〕をダウンした(閉じた)代りの演算は常数
演算数演算を可能にする。 小数点スイツチ:浮動又は固定モードの演算は
11−位置スイツチ〔F〕−
The operation of the [9] key shifts the display register one digit to the left and puts the corresponding number in the minimum digit. The [...] keys are operated in the normal sequence for entering numbers. If this is not used, the decimal point is assumed to follow the last digit entered. Input mode is always floating format. Mode switch: Constant switch [K] selects chain operation and constant operation. Normal operations on a calculator with the constant key [K] turned up (open) enable chain calculations without losing intermediate results.
An alternative operation that downs (closes) [K] allows constant arithmetic operations. Decimal point switch: 11-position switch [F]- for floating or fixed mode operations

〔9〕−〔8〕−〔7〕−
〔6〕−〔5〕−〔4〕−〔3〕−〔2〕−〔1〕−〔
0〕に
より選択される。
[9]-[8]-[7]-
[6]-[5]-[4]-[3]-[2]-[1]-[
0].

〔0〕からFrom [0]

〔9〕までの位置は
固定小数点計算結果に用いられ、〔F〕位置は浮
動演算を選択する。 演算キー:10個の数字キー、2個のモード・ス
イツチ、11−位置小数点スイツチ、及び44個の
マトリクス交叉点により、全体で21個の可能なキ
ーのスペースが残る。これらのキー位置は第10
及び11図に図示した2つの主キーボード形体を
含むのに十分である。〔+〕は加算指令を記憶し
先行する可能な演算を実行し、〔−〕は減算指令
を記憶し先行する可能な演算を実行し、〔×〕は
乗算指令を記憶し可能な先行演算を実行し、
〔÷〕は除算指令を記憶し可能な先行演算を実行
し、〔+/−〕は表示レジスタの符号を変更し、
〔=〕は先行する演算を実行し次に入る数に対し
クリアする指令を記憶し、〔〓〕は計算器に最後
にキー入力された数を入れて可能な先行する演算
を実行し、〔〓〕は計算器に最後にキーインされ
た数を入れて負数として入力し、〔C〕は3個の
レジスタと先行する演算の全てをクリアし、
〔CI〕は表示レジスタをクリアする。 インターロツク・キー:ルーチンは(瞬間的)
な演算キーと(静止)モード・スイツチの機能合
成である。これらは計算器装置の操作を他の装置
の演算にインターロツクする機構を与える。特
に、計算器装置はインターロツク・キー・ルーチ
ンの操作により以下の少くとも3つの別な形式の
使用例に対してプログラムされている。すなわち
スレーブ装置(例えば印刷機構又は印刷制御回
路)の制御をする計算器装置(マスター)、マス
ター装置(例えば実時間連絡媒体による遠隔制
御)による計算器装置のスレーブ操作、優先度の
決定及び相互連絡を行うためあらかじめプログラ
ムされたインターロツク・ルーチンに従つて複数
個の本発明の計算器装置によるマルチ・プロセシ
ング、の3つである。 出力ブロツク205 計算器装置の既述した実施例では、表示及びキ
ーボード走査を行うためかつ表示レジスタの内容
を同期してデコードするため22個の出力が与えら
れる。 第12図を参照すると、数字出力走査器197
の数字ドライバ(D1,D2,D3,D4,D
5,D6,D7,D8,D9,D10,D11)
出力はキーボードを走査コード化し表示を走査す
るために用いられる。内部数字ブランキング信号
はゲート・マスク・プログラムされていて特定の
表示装置のインターフエースの数字ドライバを消
勢する。数字信号の極性は正である、すなわちD
iの間はDiはVSSに導通している。これはキーボ
ード・マトリクスを有効に走査するために説明し
たMOS計算器装置実施例に与えられている。 セグメント・デコーダ198のセグメント・ド
ライバ(SA,SB,SC,SD,SE,SF,SG,
SH,SI,SJ,SP)出力は7−及び8−セグメン
ト(加えることの小数点)表示部と直接両立させ
るためにゲート・マスク・プログラムされてい
る。セグメント・コードに加えて、内部数字ブラ
ンキング及びセグメント極性の両者を選択するこ
とが可能である。従つて内部数字ブランキング信
号は12マイクロセカンド(名目上)の増分でプロ
グラム可能でありこれは数字ドライバ又はセグメ
ント・ドライバ又はその両者に印加可能である。
先頭0(小数点前の高位0又は非0数字)は全て
セグメント・ドライバを消勢することにより消去
される。 記述した計算器実施例数字及びセグメント・デ
コーダは、正のセグメント・デコード(セグメン
トA「オン」はSAがVSSに導通しているものと
デコードされる)を有する7バー数字ブランク特
性に対してプログラムされている。表示文字は第
13図に図示されている。数字、エラー(E)及
びマイナス(−)指示の完全なコーデイングが示
されている。SHは表示には用いられないが試験
用の出力情報には有用である。SIとSJは数字当
り1端子(すなわちカソード)を有する数字表示
に用いるためにハード・ウエアで利用可能であ
る。しかしながら、これらの出力は、計算器装置
のモノリシツク集積半導体実施例を28ピンパツ
ケージに収めるためにはセグメント表示には用い
られない。例えばクロツク時間が4マイクロセカ
ンドならば、走査速度は数字当り156マイクロセ
カンドである。例えば本実施例は数字ドライバの
みに12マイクロセカンド先縁ブランキング及び12
マイクロセカンド後縁ブランキングであるものと
してプログラムされている。それ故第14図に示
すようにセグメント・ドライブは数字ドライブを
カバーする。共通カソード・7バーLED表示の
バイポーラ・トランジスタ15を含むインターフ
エース回路は第15図に図示されている。本実施
例のインターフエース回路は別の半導体サブスト
レートに加工される。 第16図は記述した計算器実施例のキー割当て
を図示する。各キー、例えば340は通常開単極
形式単投入スイツチであり、ROM208にプロ
グラムされた特定の入力ルーチンを意味する。 プログラムブロツクの節で前に述べた「モー
ド・スイツチ」のあるものは、ある実施例ではジ
ヤンパ線形式でもよく、特定のモデル又は機器族
に対し特定のモードを永久的に選択することが出
来ると考えられる。この方法で、本発明の一実施
例を含む「マスター・プログラム」は異なる演算
特性の全ての場合を経済的にかつ容易にカバーす
ることが可能である。 MOS計算器装置実施例の論理及び回路説明 本発明による計算器装置は、第1及び2図各ブ
ロツク内の機能について説明してきた。以下の節
では計算器装置は前述したように、現在のMOS
又はMIS加工技術を用いたモノリシツク集積半導
体装置として加工可能な本計算器装置実施例を含
む論理装置及び回路素子に関して説明される。第
16図に別に図示したキーボード、第12から1
4図に別に示した表示素子及び第15図に別個に
図示した表示ドライバを除いて本実施例の完全な
計算器装置を以下に説明する。第17図の論理/
回路線図は26枚の図面、第17図に図示するよう
に一緒にされる第17Aから17Z図を含む。 前の章で記述した機能素子第17図では同じ番
号で識別される。プログラム・ブロツク201で
は、プログラム・カウンタ209がROM208
に9ビツト・アドレス501を与える。ROM2
08からのデータ出力502は命令レジスタ19
0に送られる。 制御ブロツク202では、命令レジスタ190
の出力503はジヤンプ制御回路192、制御部
202の制御デコーダ191のRデコーダ191
A、制御デコーダ191B、Σデコーダ191
C、及びタイミング・ブロツク203のマスク・
デコーダ回路195のFLAGマスク・デコーダ回
路195A及び数字マスク・デコーダ回路195
Bに分配される。Rデコーダ出力504はデータ
算術論理装置207のuデータセレクタ・ゲート
215及びVデータ・セレクタ・ゲート216を
制御する。ジヤンプ条件回路192の条件出力5
07はプログラムカウンタ機能素子209中のジ
ヤンプ・ゲート508を制御する。Σデコーダ1
91Cの出力509はデータ算術論理装置207
中のAデータ・セレクタ・ゲート219、Bデー
タ・セレクタ・ゲート220及びCデータ・セレ
クタ・ゲート221を制御する。制御デコーダ1
91Bの出力513はジヤンプ条件回路192中
の条件セレクタ・ゲート514を操作する。制御
デコーダ191Bの出力515はキーボード入力
回路196のWAIT−KN−KPセレクタ・ゲート
516を操作する。制御デコーダ191Bの出力
517は算術論理装置207中のΣゲート218
を操作する。 タイミング・ブロツク203では、FLAGマス
ク・デコーダ195の出力518はFA FLAG演
算論理ゲート519及びFB FLAG演算論理ゲー
ト520を駆動する。FLAGマスク・デコーダ1
95Aの出力521はキーボード入力論理部19
6中のキーボード同期バツフア制御回路522を
操作する。FLAGマスク・デコーダ195Aの出
力523はジヤンプ条件回路192へ同期時間パ
ルスを与える。数字マスクデコーダ195Bの出
力524はRデコーダ191Aに入力され、又デ
ータ演算指令からFLAG指令を分別するため
FLAGマスク・デコーダ195Aに入力される。
数字マスク・デコーダ195Bからの出力526
はサブ・アドレシング・タイミング・マスクをΣ
ゲート制御回路527に与え、Σデコーダ出力5
09を通して算術論理装置207中のAデータ・
セレクタ・ゲート510、Bデータ・セレクタ・
ゲート511及びCデータ・セレクタ・ゲート5
12に与え、さらにジヤンプ条件回路192の桁
上げ借入れ探知ゲート528に与えられる。数字
マスク・デコーダ195Bの出力529は算術論
理装置207中のΣゲート制御回路527に右シ
フト指令を与える。FLAG及びデータ記憶アレイ
206のAレジスタ211の出力信号536はセ
グメント・デコーダ198中のAAバツフア回路
542に伝送される。 以下の節ではブロツク201−205の回路説
明を詳細に記述する。計算器装置をよりよく理解
するためには、論理記法とそのMOS回路等価物
を第18A−D図を参照してここで説明する。第
17図は正論理を用いた従来の論理記法により記
述されている。しかしながら、装置の過渡、電圧
レベル及びタイミング必要条件を満すために選択
された特定のMOS回路実施例を明瞭にするため
別の記法が含まれている。第18A図は第17図
に現われる5個の異なるインバータとその各々の
等価MOS回路を図示する。同様に第18B図
は、5個の対応するNANDゲート形式と関連する
等価MOS回路を図示し、第18C図は5個の対
応するNORゲート形式とその等価MOS回路を図
示する。第18A−C図の各々に示されている
個々の異なる形式のMOS回路は以下の通りであ
る内部記号のない論理記号552は従来の負荷比
回路である。1個の数字記号1,2又は3を有す
る論理記号553はクロツク付負荷φIを有する
論理機能のダイナミツクな実施を示しここでIは
記号である。この形式の回路は低電力消費及びゲ
ート・バイアス電圧VGGを必要としないアレイに
用いる供給線路(DC電圧及びクロツク)の数を
減らすために用いられる。2個の数字記号IJを有
する論理記号554はφIの余充電と条件放電φ
Jを有する特殊なレシオレス形式回路を用いた論
理機能の実施を示しここでI及びJは集合(1,
2,3)のうちの要素であり条件は導通の論理条
件である。この形式の回路は電力を減らすため、
セル寸法を小さくするためそして又は回路速度を
増加するために用いられる。記号Gを有する論理
記号555は以後詳細に説明するブート・ストラ
ツプ負荷回路を用いた論理機能を実行するものと
して参照される。最後に記号ODを有する論理記
号556はドレイン開放回路を用いた論理機能の
実施を意味する。この形式の回路はワイヤOR論
理に用いられ、ここでいくつかの結合された論理
ゲートのうち1個のみが負荷を必要とする。 データ・ブロツク204の論理及び回路説明 データ・ブロツク204はAレジスタ211、
Bレジスタ212、Cレジスタ213、FA
FLAGデータ記憶レジスタ226、及びFB
FLAGデータ記憶レジスタ227を含むランダ
ム・アクセス形式のメモリ、アレイ・シフト・レ
ジスタ装置206と10進のデータ算術論理装置2
07及びFLAG論理装置229を含む。メモリ・
アレイ・シフト・レジスタ装置206は、12×14
のアレイすなわち電荷記憶セル10の12×14のア
レイ、すなわちマトリクス546とダイナミツ
ク・シフト・レジスタ遅延回路214を操作する
コミユテータ装置545を含む。電荷記憶セル1
0及びダイナミツク・シフト・レジスタ遅延回路
214のマトリクス546は3つの13数字の数及
び26個の2進数FLAGに対する並列シフト記憶装
置を与える。コミユテータ装置545は、各中間
シフト・レジスタ・セル541の出力を次のシフ
ト・レジスタ・セル541の入力に直列に結合す
ることにより直列に配置された12個のシフト・レ
ジスタ・セル541(第19図に詳細に図示され
ている)を含む。この様にしてシフト・レジス
タ・セル541は共通の読取り書込み制御信号を
連続的にマトリクス(記憶アレイ)546の隣接
する行へ分配することが出来る。アレイの14列の
各々に対し1個の入力と1個の出力を有する13ビ
ツト長の14個の並列にシフトするシフト・レジス
タの所望の特性に対応する回転の安定な像の交換
を行うためには、交換回路に別の装置547,5
44を設ける。NAND回路547及び遅延素子5
44は回転に対する1個以上の読取り書込み制御
の循環に対応する多重モード振動を取り除く。シ
フト・レジスタ・セル541の等価MOS回路は
第19図に図示されている。各シフト・レジス
タ・セル541は通常の6個のMOSトランジス
タ・シフト・レジスタ・ビツト部を含みさらに従
来の負荷回路と比較してすぐれた過渡応答を与え
るために容量性ブート・ストラツプ効果を用いた
負荷回路548を含み、読取り書込み制御パルス
の時間間隔をクロツクφ2の時間間隔に制限する
セル543及びキル回路551からのRPパルス
付勢550を含む。セル543の回路は第20図
に詳細に示され、セル543の回路はクロツクφ
2からの入力を有する二重反転増幅器回路により
タイミング・パルスRPを発生する。 再び第17図を参照すると、Aデータ・セレク
タ・ゲート219,Bデータ・セレクタ・ゲート
220及びCデータ・セレクタ・ゲート221は
各々Aレジスタ211(列A1,A2,A4及び
A8)、Bレジスタ212(列B1,B2,B4
及びB8)及びCレジスタ213(列C1,C
2,C4及びC8)の駆動入力装置である各セレ
クタ・ゲート510,511,512に結合され
る。Aレジスタ211,Bレジスタ212及びC
レジスタ213の出力装置536,537,53
8の各各は1ビツトダイナミツク・シフト・レジ
スタ遅延回路214を通してデータ・セレクタ・
ゲート219の通常入力NA、データ・セレク
タ・ゲート220のNB及びデータ・セレクタ・
ゲート221のNCに戻つて循環路を完成する。
通常路に加えて、Σデータ・セレクタ・ゲート2
18はAデータ・セレクタ・ゲート219のΣA
制御又はBデータ・セレクタ・ゲート220のΣ
B制御又はCデータ・セレクタ・ゲート221の
ΣC制御により選択可能である。これらの路に加
えて、遅延セル214を通して伝送されるAレジ
スタ211及びBレジスタ212の出力装置53
6,537は第3図に関して前述した様にΣA及
びΣB制御と組合せた交換制御部により各々Bデ
ータ・セレクタ・ゲート220及びAデータ・セ
レクタ・ゲート219を付勢することが可能であ
る。通常のΣの全て及び交換制御部はΣデコーダ
191Cによりデータ・セレクタ・ゲート21
9,220,221に与えられる。 ダイナミツク・シフト・レジスタ遅延回路21
4の最初の半分により遅延されたAレジスタ21
1の出力装置536とCレジスタ213の出力装
置538はUデータ・セレクタ・ゲート215に
より加算器217のプラス側に選択される(通常
ここのみに)。同様に、ダイナミツク・シフト・
レジスタ遅延回路214の最初の半分により遅延
されたBレジスタ212の出力装置537と装置
524により発生された定数Nはデータ・セレク
タ・ゲート216により加算器217のマイナス
側に選択される(通常ここのみに)。排他OR回路
554は、ノード55におけるその通常(加算)
極性に関して、加算器217へのV入力の補数を
条件的に取るため又前記補数条件が命令レジスタ
190の出力503からの減算指令である場合に
利用される。Uデータ・セレクタ・ゲート215
からのU出力552と排他OR回路554からの
条件的に補数を取られたV出力555は、2進和
Uに加えることのノード558における条件的に
補数を取られたVとノード559における2進桁
上げ信号を発生するために桁上げ入力557と共
にリプル桁上げ加算セル556により加算され
る。ノード558で発生した2進数和とノード5
59で発生した桁上げは論理装置563により
CK制御部564とCBRS制御565の状態に応
じて、10進数和及びT加算器ノード560と内部
数字桁上げノード561における桁上げに補正さ
れる。制御部564,565は2進化10進法
(BCD)演算ではなく2進法コードを選択するた
めかつレジスタ・データ循環の選択されたフイー
ルドにおける内部数字桁上げをブロツクするため
に用いられる。 T加算器563の出力560はノーシフト
(NS)又はリプル桁上げ加算セル(遅延素子)5
56と左シフト(LS)Σ路のどちらかを通して
Σデータ・セレクタ・ゲート218により選択可
能である。Σデータ・セレクタ・ゲート218は
また入力552において反転されたUと反転され
たV入力553を用いることにより右シフト路も
可能にする。Σゲート制御回路527は左又は右
シフト指令をΣデータ・セレクタ・ゲート218
の左又は右チヤネルに伝送し、左シフト又は右シ
フト指令の両方が存在しない場合には、ノー・シ
フト路を付勢する。さらに、左シフト指令が存在
する場合は、Σゲート制御回路527は、最初の
数字をブロツクしてマスクされた最小桁数字にお
ける0の挿入を保証するために、左シフト遅延素
子566により用いられる数字マスク制御用の出
力526の先縁探知を発生する。 算術論理装置207のレジスタ操作論理部と大
体同じFLAG論理装置229はデータ記憶アレイ
206により発生された循環路を完成する。FA
記憶セル568とFB記憶セル569の出力装置
はFLAG論理装置229のFAFLAG演算論理ゲ
ート519とFBFLAG演算論理ゲート520へ
の通常循環入力であり、かつジヤンプ条件回路1
92中のFLAG選択ゲート570へ伝送される。
数字マスク・デコーダ195Bからの出力である
FLAG指令入力518は、命令レジスタ503,
(FA又はFB)のSUBビツトによりかつFLAGマ
スク・デコーダ195AからのFMSK制御信号5
19′により(13のタイム・スロツト又は状態の
うちから1個を選択する)特定のFLAGがアドレ
スされた場合にセツト、リセツト又はトグルされ
ることが可能である。さらに、同じタイム・スロ
ツト(FMSK)のFLAGのFA及びFB対は数字マ
スク・デコーダ195Bからの出力であるFLG
指令518により交換される。FA及びFBFLAG
演算論理ゲート519,520はFLAGに対する
中間ゲートを完成するため各々FLAGデータ記憶
アレイ入力装置505,506にFLAGデータを
与える。 制御ブロツク202の論理及び回路説明 制御ブロツク202は命令レジスタ190,R
デコーダ191A、制御デコーダ191B,Σデ
コーダ191C及びジヤンプ条件回路192を含
む。 命令レジスタ190は11個のコンバータ575
の組を含み、その入力はブート・ストラツプ
NANDゲート571により命令サイクル当り1回
プログラム・ブロツクROM208のデータ出力
502からサンプルされる。他のデコーダと共に
第17図に図示されているR、制御及びΣデコー
ダ191は、デコーダは完全には発生されないこ
とを除けば構造的に読取り専用(ROM)デコー
ダ/エンコーダ回路と同じであるプログラム可能
な論理アレイに実施される。すなわち、Nビツ
ト・アドレスROMでは2N個の位置がデコードさ
れるが、PLAでは所望の状態のみがデコードさ
れる。例えば、第21図に図示されているPLA
を考える。真及び補数の両極性のA及びB入力5
71′は両方ともPLAの最初の半分(デコーダ)
に与えられる。この例では、4個の積項(デコー
ダ出力)572は第2(エンコーダ)アレイへの
入力として与えられる。デコーダ・ゲート57
2′とエンコーダ・ゲート573の回路は同様の
分岐ゲートである。すなわち論理NANDゲートで
ある。しかしながら、NAND−NAND論理は
AND−OR論理に還元されるため、特定の入力に
対する特定の積項の依存性が例えば574に示す
様に接合部における丸であらわされる場合には
PLA回路実施を記述するため積和記法を用いる
のが便利である。 MOS実施例の加工中に用いられるプログラム
可能なゲート・マスクにより、丸は又MOSゲー
トの物理的配置に対応する。 デコーダ(PLA)に対する上述の記法に従つ
てΣデコーダ191Cは、命令レジスタ190の
出力503からのΣA及びΣB入力から得られる
出力509の制御と及びRデコーダ191Aから
のEX交換指令用の出力504と数字マスク・デ
コーダ195Bからの数字マスク用の出力526
をデコードするために4項デコーダ回路578と
4線路出力エンコーダ部579を有する。同様に
Rデコーダ191Aは命令190のRフイールド
234の出力503を7項デコード・アレイ58
1と5線路出力エンコーダ・アレイ582を用い
てUV指令CU,AU,BV及びEX用の出力504
とR7WAIT条件コード580に変換する。Rデ
コード・マトリクス581の全ての項は出力50
3における命令レジスタ190のI−ビツト23
0の真状態によりかつ反転された状態のFLAG信
号525により条件づけられる。制御デコーダ1
91Bはキーボード条件を示す出力513、キー
ボードWAITを示す出力515及び左シフト右シ
フトを示す出力517の特定のキーボード命令に
対る命令の制御をデコードする。制御デコーダ1
91Bは12項デコーダ583と9線路出力エンコ
ーダ・アレイ584を用いる。 ジヤンプ条件回路192は、キーボード条件セ
レクタ・ゲート514、桁上げ借入れセレクタ・
ゲート528及びFLAGテスト及び比較ゲート5
70からの入力をラツチのSET側に交叉結合を
したラツチ回路584と、ラツチのリセツト側へ
のタイミング入力585と、ジヤンプ指令をデコ
ードしジヤンプ条件が真の場合にジヤンプ条件制
御用の条件出力507をジヤンプゲート508に
付勢するゲート回路586とを含む。 タイミング・ブロツク203の論理及び回路説明 タイミング・ブロツク203はクロツク発生器
193、状態及び数字タイミング発生器194、
数字及びFLAGマスク・デコーダ・アレイ195
及びキー入力論理部196を含む。 計算器装置の全てのタイミング情報は約250
KHzの方形波発生器又は発信器(17図に図示し
たモノリシツク半導体装置にとつては外部)によ
り与えられる。第17X図のφ端子503により
示すように入力クロツク・リードCは外部クロツ
ク信号をモノリシツク計算器装置に印加する装置
を与える。第17X図に示した基本クロツクと第
17z図に示した3位相クロツクは両方ともモノ
リシツク半導体装置に組込まれる。方形波φは第
17X図の基本クロツク回路により直ちに各々5
31,532で反対極性の半分の周波数の方形波
φB1とφB2に分割される。2位相クロツク出力φ
B1とφB2はまた3ビツト・リング・カウンタ58
8により分割されて、第17図の計算器装置実施
例の全ての論理及び回路素子の基本クロツクシス
テムとしての3位相クロツクφ1Lφ,φ2L,φ3L
を533,534,535で与える。 状態及び数字のタイミング信号を発生するタイ
ミング発生器194は状態カウンタ589、数字
カウンタ590、状態数字比較器591、状態デ
コーダ592及び数字デコーダ593を与えるた
めにダイナミツク・シフト・レジスタ素子と
PLA論理部を用いている。再びコード化された
状態デコーダ出力594は他の機能素子に分配さ
れて6つの独立なタイミング母線の各々の状態タ
イミングの任意な選択を行う装置を与える。状態
デコーダ出力595は又第17図の他の回路素子
により必要とされるように分配される。数字フイ
ード・バツク・シフト・レジスタの正しいフイー
ド・バツクを得るための装置を設けることに加え
て、数字デコーダ593の出力は数字出力走査器
197を駆動する。ここで第17I図のPLA
が、数字表示を行うにあたつて小数点の桁を探し
それを表示するための情報を第17E図に示すセ
グメント出力デコーダ198に送るためのアレー
として用いられる。 FLAGマスク・デコーダ195の13の積項
は、出力503における命令レジスタ190のR
及びΣフイールド234,235の各々からの
FLAGアドレスを、状態カウンタSのSA,SB,
SC及びSD入力からデコードされた1から13まで
の状態に対応させるために用いられ、FLAG演算
のタイミング・アドレスのようにFLAG演算論理
ゲート519,520にゲートされるFLAGアド
レシング信号FMSKを596に発生させる。同様
に、数字マスク・デコーダ195Bは出力503
における命令レジスタ190のMフイールド23
2に関連してかつ状態カウンタ589から数字マ
スク信号526を与える。この方法で6つの異な
るマスクの各々に対する状態とマスクの間の任意
のセツト、リセツト関連対応が得られる。数字マ
スクに加えて、数字マスク・デコーダ195Bは
FLAG制御の出力518、右シフト制御の出力5
29及び定数N発生用出力524のデコードを行
う。 出力ブロツク205の論理及び回路説明 セグメント出力サブ・システム198はデータ
記憶アレイ206の出力装置536をバツフアす
る遅延素子542と、セグメント・デコーダ
(PLA)601、及び11デコード・セグメント出
力信号を有する端子576を駆動する出力バツフ
ア回路602を含む。セグメント・デコード・ア
レイは選択再結合用の数字情報をデコードする装
置のための10個の積項を有する。すなわち数字セ
グメント出力602′のコード化と、FLAG情報
(例えば、エラー又はマイナス符号)をデコード
する積項及び0消去を行うための積項とフイー
ド・バツク信号603である。 数字出力走査器197は、内部数字ブランキン
グ能力用の数字BLANK信号606により数字デ
コーダ593の出力をブロツクする11個の2入力
NANDゲート604と、前述したようにキーボー
ド及び表示部の走査を行う端子576を駆動する
出力バツフア回路605とを含む。 プログラム・ブロツク201の論理、回路及びプ
ログラム説明 前述したように、プログラム・ブロツク201
はプログラム・カウンタ(PC)209と読取り
専用メモリ(ROM)208とを含む。プログラ
ム・カウンタ209と読取り専用メモリ208の
両者は各命令に要するアドレス修正を行ない、制
御ブロツク202に、例えば、記述した実施例で
は命令レジスタ(IR)190への11−ビツト入
力を与える。 現在の命令に要するアドレス修正は、WAIT操
作に対する無修正、通常の増加操作に対する2進
数の1を加えること、及び実行されないジヤンプ
操作、又は実行されるジヤンプ操作に対しては命
令レジスタ190からの9ビツトをプログラム・
カウンタの全9ビツトと置き換えることのどれか
である。WAIT操作に対する無修正及び通常増加
操作に対する2進数1の加算及び実行されないジ
ヤンプ操作は、プログラム・カウンタ209の
LSD出力652を再循環させるか又はLSDに1を
加えてそれをプログラム・カウンタ209の
MSBに循環させるかの各々どれかであるタイミ
ング・ブロツク203中のキー入力論理部196
からプログラム・カウンタ209のMSDへ直列
入力651を送ることにより満足される。どちら
の場合でも循環は命令サイクルと同期している。
実行されるジヤンプ演算に対しては、命令レジス
タ190からの9ビツトを全9−ビツト・カウン
トと置き換えることは命令サイクルの状態S12
の間に同時にプログラム・カウンタ209の全て
のビツトの入力653にジヤンプ条件回路192
の出力により命令レジスタ190の出力503を
並列にストローブすることにより満足される。 制御ブロツクの命令レジスタ190への命令語
の出力は、状態S13の間に各命令サイクル毎に
命令レジスタ190に新な入力を与えるNANDゲ
ート654によりストローブされる。プログラ
ム・カウンタ209の直列循環はS3からS12
の間にNANDゲート655によりクロツクされる
従来のシフト・レジスタ・ビツト656により与
えられる。ROMはビツト当り5個のNANDゲー
トのアレイ又は全部で55個のNANDゲートを駆動
する命令レジスタ190のビツト出力503毎に
64個の内の1個を取り出すデコーダを含む。これ
らの5個のゲートのうちの1個は各ビツトに対し
5個のうちから1個を取り出すエンコーダにより
アドレスされる。それ故、最大で320個の11ビツ
ト語の記憶装置が設けられ、任意の1語のランダ
ム・アドレシングに対して選択(デコード及びエ
ンコード)される。本計算器実施例のプログラ
ム・ブロツク201は固定プログラムを記憶する
ためのプログラム可能な読取り専用メモリ208
を含む。別の実施例では、しかしながら、読取り
専用メモリ208に置き換わる読取り書込みメモ
リが、記憶されたプログラムを連続的に変化する
装置を与え、それ故計算器装置の演算を変化させ
ることが可能である。 計算器演算用のプログラムをメモリに常駐させ
ておくことにより計算器演算を行うことが可能で
あるが、可変機能計算器装置の1実施例における
プログラム処理に対応するフロー・チヤートを第
22A乃至22T図に図示する。又、計算問題を
キーボード操作により解く操作手順の例を第表
に示す。
Positions up to [9] are used for fixed-point calculation results, and position [F] selects floating calculations. Arithmetic keys: 10 numeric keys, 2 mode switches, 11-position decimal point switch, and 44 matrix crossover points, leaving space for a total of 21 possible keys. These key positions are number 10
and 11 are sufficient to include the two primary keyboard features illustrated in FIGS. [+] stores an addition command and executes a possible preceding operation, [-] stores a subtraction command and executes a possible preceding operation, and [×] stores a multiplication command and executes a possible preceding operation. execute,
[÷] memorizes the division command and performs possible advance operations, [+/-] changes the sign of the display register,
[=] performs the preceding operation and stores a clear command for the next number entered, [〓] enters the last keyed-in number into the calculator and performs any possible preceding operations, and [ 〓〕 enters the last keyed-in number into the calculator as a negative number, [C] clears three registers and all preceding operations,
[CI] clears the display register. Interlock key: Routine (instantaneous)
It is a functional combination of arithmetic keys and a (static) mode switch. These provide a mechanism for interlocking the operation of a computing device with the operations of other devices. In particular, the calculator device is programmed for at least three different types of use cases by operation of interlock key routines: i.e. a computer device (master) controlling a slave device (e.g. printing mechanism or print control circuit), slave operation of the computer device by the master device (e.g. remote control by real-time communication medium), priority determination and mutual communication. multi-processing by a plurality of computing devices of the present invention according to pre-programmed interlock routines to perform the processing; Output Block 205 In the described embodiment of the calculator device, 22 outputs are provided for display and keyboard scanning and for synchronously decoding the contents of the display register. Referring to FIG. 12, numeric output scanner 197
number drivers (D1, D2, D3, D4, D
5, D6, D7, D8, D9, D10, D11)
The output is used to scan code the keyboard and scan the display. The internal digit blanking signal is gate mask programmed to disable the digit drivers of a particular display interface. The polarity of the digit signal is positive, i.e. D
During i , D i is conductive to VSS. This is provided in the MOS calculator device embodiment described to effectively scan the keyboard matrix. Segment driver of segment decoder 198 (SA, SB, SC, SD, SE, SF, SG,
The SH, SI, SJ, SP) outputs are gate mask programmed for direct compatibility with 7- and 8-segment (plus decimal point) displays. In addition to segment codes, it is possible to select both internal numeric blanking and segment polarity. The internal digit blanking signal is therefore programmable in 12 microsecond (nominal) increments and can be applied to the numeric drivers or the segment drivers or both.
All leading zeros (high zero or non-zero digits before the decimal point) are erased by deactivating the segment driver. The described calculator embodiment digit and segment decoder is programmed for a 7-bar digit blank characteristic with a positive segment decode (segment A "on" is decoded as SA conducting to VSS). has been done. The display characters are illustrated in FIG. The complete coding of numbers, error (E) and minus (-) indications is shown. SH is not used for display, but is useful for output information for testing. SI and SJ are available in hardware for use in numeric displays with one terminal (ie cathode) per digit. However, these outputs are not used for segment display in order to accommodate the monolithically integrated semiconductor implementation of the calculator device in a 28 pin package. For example, if the clock time is 4 microseconds, the scan rate is 156 microseconds per digit. For example, this embodiment uses 12 microsecond leading edge blanking and 12 microseconds for numeric drivers only.
Programmed to be microsecond trailing edge blanking. Therefore, as shown in FIG. 14, the segment drive covers the numeric drive. An interface circuit including a common cathode, 7-bar LED display bipolar transistor 15 is illustrated in FIG. The interface circuit of this embodiment is fabricated on a separate semiconductor substrate. FIG. 16 illustrates the key assignments of the described calculator embodiment. Each key, e.g. 340, is a normally open single-pole type single throw switch and represents a particular input routine programmed into ROM 208. Some of the "mode switches" mentioned earlier in the Program Blocks section may be in the form of jumper wires in some embodiments, allowing a particular mode to be permanently selected for a particular model or family of equipment. Conceivable. In this way, a "master program" containing an embodiment of the invention can cover all cases of different computational characteristics economically and easily. Logic and Circuit Description of MOS Calculator Device Embodiment The calculator device according to the present invention has been described in terms of functionality within each block of FIGS. In the following sections, the computer equipment is the current MOS
Alternatively, logic devices and circuit elements including this computer device embodiment that can be processed as a monolithic integrated semiconductor device using MIS processing technology will be described. Keyboard shown separately in Figure 16, Nos. 12 to 1
The complete calculator device of this embodiment will now be described, except for the display element shown separately in FIG. 4 and the display driver shown separately in FIG. 15. Logic of Figure 17/
The circuit diagram includes 26 drawings, drawings 17A through 17Z which are grouped together as shown in FIG. The functional elements described in the previous section are identified by the same numbers in FIG. In the program block 201, the program counter 209 is
A 9-bit address 501 is given to ROM2
Data output 502 from 08 is the instruction register 19
Sent to 0. In control block 202, instruction register 190
The output 503 of the jump control circuit 192 and the R decoder 191 of the control decoder 191 of the control section 202
A, control decoder 191B, Σ decoder 191
C, and the mask of timing block 203.
FLAG mask decoder circuit 195A of decoder circuit 195 and numeric mask decoder circuit 195
distributed to B. R decoder output 504 controls u data selector gate 215 and V data selector gate 216 of data arithmetic logic unit 207. Condition output 5 of jump condition circuit 192
07 controls jump gate 508 in program counter functional element 209. Σ decoder 1
91C output 509 is data arithmetic logic unit 207
A data selector gate 219, B data selector gate 220, and C data selector gate 221 are controlled. Control decoder 1
Output 513 of 91B operates condition selector gate 514 in jump condition circuit 192. Output 515 of control decoder 191B operates WAIT-KN-KP selector gate 516 of keyboard input circuit 196. The output 517 of control decoder 191B is connected to Σ gate 218 in arithmetic logic unit 207.
operate. In timing block 203, the output 518 of FLAG mask decoder 195 drives FA FLAG arithmetic logic gate 519 and FB FLAG arithmetic logic gate 520. FLAG mask decoder 1
The output 521 of 95A is the keyboard input logic section 19
6, the keyboard synchronization buffer control circuit 522 is operated. Output 523 of FLAG mask decoder 195A provides a sync time pulse to jump condition circuit 192. The output 524 of the numeric mask decoder 195B is input to the R decoder 191A, and is also used to separate the FLAG command from the data calculation command.
It is input to FLAG mask decoder 195A.
Output 526 from numeric mask decoder 195B
is the sub-addressing timing mask.
Σ decoder output 5
A data in the arithmetic logic unit 207 through 09
Selector gate 510, B data selector
Gate 511 and C data selector gate 5
12 and further to the carry borrow detection gate 528 of the jump condition circuit 192. The output 529 of numeric mask decoder 195B provides a right shift command to Σ gate control circuit 527 in arithmetic logic unit 207. The output signal 536 of the A register 211 of the FLAG and data storage array 206 is transmitted to the AA buffer circuit 542 in the segment decoder 198. The following sections provide a detailed circuit description of blocks 201-205. For a better understanding of the calculator device, logic notation and its MOS circuit equivalents will now be described with reference to FIGS. 18A-D. FIG. 17 is written using conventional logic notation using positive logic. However, other notations are included to clarify the particular MOS circuit implementation selected to meet the transient, voltage level, and timing requirements of the device. FIG. 18A illustrates five different inverters appearing in FIG. 17 and their respective equivalent MOS circuits. Similarly, FIG. 18B illustrates five corresponding NAND gate types and their associated equivalent MOS circuits, and FIG. 18C illustrates five corresponding NOR gate types and their equivalent MOS circuits. The individual different types of MOS circuits shown in each of Figures 18A-C are as follows: Logic symbol 552 without internal symbols is a conventional load ratio circuit. A logic symbol 553 with one numeric symbol 1, 2 or 3 indicates a dynamic implementation of a logic function with a clocked load .phi.I, where I is a symbol. This type of circuit is used for low power consumption and to reduce the number of supply lines (DC voltage and clock) used in arrays that do not require a gate bias voltage V GG . Logic symbol 554 with two numerical symbols IJ represents the residual charge and conditional discharge of φI.
shows the implementation of a logic function using a special ratioless form circuit with J, where I and J represent the set (1,
The elements and conditions of 2 and 3) are logical conditions for conduction. This form of circuit reduces power, so
Used to reduce cell size and/or increase circuit speed. Logic symbol 555 having the symbol G is hereinafter referred to as performing a logic function using the boot strap load circuit described in detail. Finally, the logic symbol 556 with the symbol OD signifies the implementation of the logic function using an open drain circuit. This type of circuit is used in wire-OR logic, where only one of several combined logic gates requires a load. Logic and circuit description of data block 204 Data block 204 includes A register 211,
B register 212, C register 213, FA
FLAG data storage register 226 and FB
Random access type memory including FLAG data storage register 227, array shift register unit 206 and decimal data arithmetic logic unit 2
07 and FLAG logic 229. memory·
Array shift register device 206 is 12×14
, a 12.times.14 array of charge storage cells 10 , or matrix 546 , and a commutator device 545 for operating a dynamic shift register delay circuit 214 . Charge storage cell 1
A matrix 546 of 0 and dynamic shift register delay circuits 214 provides parallel shift storage for three 13 digit numbers and 26 binary numbers FLAG. The commutator device 545 has 12 shift register cells 541 (19th (shown in detail in the figure). In this manner, shift register cell 541 can continuously distribute a common read/write control signal to adjacent rows of matrix (storage array) 546. To provide a rotationally stable image exchange corresponding to the desired characteristics of 14 parallel shifting shift registers of 13 bit length with one input and one output for each of the 14 columns of the array. has another device 547,5 in the switching circuit.
44 will be provided. NAND circuit 547 and delay element 5
44 eliminates multimode oscillations corresponding to cycling one or more read/write controls to rotation. An equivalent MOS circuit for shift register cell 541 is illustrated in FIG. Each shift register cell 541 includes a conventional six MOS transistor shift register bit section and uses a capacitive boot strap effect to provide superior transient response compared to conventional load circuits. It includes a load circuit 548 and includes an RP pulse activation 550 from a cell 543 and kill circuit 551 that limits the time interval of read/write control pulses to the time interval of clock φ2. The circuit of cell 543 is shown in detail in FIG.
The timing pulse RP is generated by a counter-inverting amplifier circuit with inputs from 2. Referring again to FIG. 17, A data selector gate 219, B data selector gate 220 and C data selector gate 221 are connected to A register 211 (columns A1, A2, A4 and A8), B register 212, respectively. (Columns B1, B2, B4
and B8) and C register 213 (columns C1, C
2, C4 and C8) are coupled to respective selector gates 510, 511, 512. A register 211, B register 212 and C
Output devices 536, 537, 53 of register 213
Each of 8 is connected to a data selector through a 1-bit dynamic shift register delay circuit 214.
Normal input NA of gate 219, NB of data selector gate 220 and data selector
Return to Gate 221 NC and complete the circulation path.
In addition to the normal path, Σ data selector gate 2
18 is ΣA of A data selector gate 219
Σ of control or B data selector gate 220
It can be selected by B control or ΣC control of C data selector gate 221. In addition to these paths, output devices 53 of A register 211 and B register 212 are transmitted through delay cell 214.
6,537 is capable of energizing B data selector gate 220 and A data selector gate 219, respectively, by an exchange control in combination with the ΣA and ΣB controls as described above with respect to FIG. All of the normal Σ and exchange control parts are connected to the data selector gate 21 by the Σ decoder 191C.
9,220,221. Dynamic shift register delay circuit 21
A register 21 delayed by the first half of 4
1 output device 536 and C register 213 output device 538 are selected by U data selector gate 215 to be on the positive side of adder 217 (usually only here). Similarly, dynamic shift
The output device 537 of B register 212 delayed by the first half of register delay circuit 214 and the constant N generated by device 524 are selected by data selector gate 216 to the negative side of adder 217 (usually only here ). Exclusive OR circuit 554 performs its normal (addition) operation at node 55.
Regarding polarity, it is used to conditionally complement the V input to adder 217 and when said complement condition is a subtraction command from output 503 of command register 190. U data selector gate 215
The U output 552 from It is summed by a ripple carry adder cell 556 along with a carry input 557 to generate an advance carry signal. Binary sum generated at node 558 and node 5
The carry that occurred at 59 is processed by logic unit 563.
Depending on the states of the CK control section 564 and the CBRS control 565, the decimal sum and the carry at the T adder node 560 and internal digit carry node 561 are corrected. Controls 564 and 565 are used to select binary codes rather than binary coded decimal (BCD) operations and to block internal digit carries in selected fields of register data rotation. The output 560 of the T adder 563 is a no shift (NS) or ripple carry addition cell (delay element) 5
56 and the left shift (LS) Σ path through the Σ data selector gate 218. Σ data selector gate 218 also enables a right shift path by using inverted U and inverted V inputs 553 at input 552. The Σ gate control circuit 527 sends a left or right shift command to the Σ data selector gate 218.
and energizes the no-shift path if both left shift or right shift commands are not present. In addition, if a left shift command is present, the Σ gate control circuit 527 controls the digits used by the left shift delay element 566 to block the first digit and ensure zero insertion at the masked lowest digit. Generates leading edge detection on output 526 for mask control. FLAG logic 229, which is generally similar to the register manipulation logic of arithmetic logic unit 207, completes the loop generated by data storage array 206. F.A.
The output devices of storage cell 568 and FB storage cell 569 are normally circular inputs to FAFLAG arithmetic logic gate 519 and FBFLAG arithmetic logic gate 520 of FLAG logic unit 229 and jump condition circuit 1.
92 to FLAG selection gate 570.
This is the output from the numeric mask decoder 195B.
FLAG command input 518 is input to command register 503,
FMSK control signal 5 by the SUB bit of (FA or FB) and from FLAG mask decoder 195A.
19' allows a particular FLAG (selecting one of 13 time slots or states) to be set, reset or toggled when addressed. Furthermore, the FA and FB pair of FLAG in the same time slot (FMSK) is the FLG which is the output from the numeric mask decoder 195B.
It is replaced by command 518. FA and FBFLAG
Arithmetic logic gates 519 and 520 provide FLAG data to FLAG data storage array input devices 505 and 506, respectively, to complete the intermediate gates for FLAG. Logic and Circuit Description of Control Block 202 The control block 202 includes instruction registers 190,R
It includes a decoder 191A, a control decoder 191B, a Σ decoder 191C, and a jump condition circuit 192. The instruction register 190 has 11 converters 575
, whose input is the boot strap
Data output 502 of program block ROM 208 is sampled by NAND gate 571 once per instruction cycle. The R, control and Σ decoder 191, illustrated in FIG. 17 along with other decoders, is programmable and structurally similar to a read-only (ROM) decoder/encoder circuit, except that the decoder is not fully generated. implemented in a logical array. That is, in an N-bit address ROM, 2N locations are decoded, whereas in a PLA, only the desired state is decoded. For example, the PLA illustrated in FIG.
think of. True and complement polarity A and B inputs 5
71' are both the first half of PLA (decoder)
given to. In this example, four product terms (decoder outputs) 572 are provided as inputs to the second (encoder) array. Decoder gate 57
The circuits 2' and encoder gate 573 are similar branch gates. That is, it is a logic NAND gate. However, NAND-NAND logic
Since it is reduced to AND-OR logic, if the dependence of a particular product term on a particular input is represented by a circle at the junction as shown in 574, for example,
It is convenient to use sum-of-products notation to describe PLA circuit implementations. Due to the programmable gate mask used during fabrication of the MOS embodiments, the circles also correspond to the physical placement of the MOS gates. According to the above notation for the decoder (PLA), the Σ decoder 191C controls the output 509 obtained from the ΣA and ΣB inputs from the output 503 of the instruction register 190, and the output 504 for the EX exchange command from the R decoder 191A. Output 526 for numeric mask from numeric mask decoder 195B
It has a 4-term decoder circuit 578 and a 4-line output encoder section 579 for decoding. Similarly, the R decoder 191A converts the output 503 of the R field 234 of the instruction 190 into the 7-term decode array 58.
Output 504 for UV commands CU, AU, BV and EX using 1 and 5 line output encoder array 582
and converts it to R7WAIT condition code 580. All terms of R decode matrix 581 are output 50
I-bit 23 of instruction register 190 at
Conditioned by the true state of 0 and by the inverted state of the FLAG signal 525. Control decoder 1
91B decodes command control for specific keyboard commands: output 513 indicating keyboard condition, output 515 indicating keyboard WAIT, and output 517 indicating left shift right shift. Control decoder 1
91B uses a 12-term decoder 583 and a 9-line output encoder array 584. Jump condition circuit 192 includes keyboard condition selector gate 514, carry borrow selector
Gate 528 and FLAG test and comparison gate 5
A latch circuit 584 cross-coupling the input from 70 to the SET side of the latch, a timing input 585 to the reset side of the latch, and a condition output 507 for decoding the jump command and controlling the jump condition when the jump condition is true. and a gate circuit 586 that energizes the jump gate 508. Logic and Circuit Description of Timing Block 203 Timing block 203 includes a clock generator 193, a state and numeric timing generator 194,
Numeric and FLAG mask decoder array 195
and key input logic 196 . The total timing information of the calculator device is approximately 250
It is provided by a KHz square wave generator or oscillator (external to the monolithic semiconductor device shown in FIG. 17). Input clock lead C, as shown by φ terminal 503 in FIG. 17X, provides a means for applying an external clock signal to the monolithic calculator device. Both the basic clock shown in FIG. 17X and the three-phase clock shown in FIG. 17Z are incorporated into a monolithic semiconductor device. The square wave φ is immediately divided into 5
31,532, it is divided into square waves φ B1 and φ B2 having half frequencies of opposite polarity. 2-phase clock output φ
B1 and φ B2 are also 3-bit ring counters 58
The three-phase clock φ 1L φ, φ 2L , φ 3L as the basic clock system for all logic and circuit elements of the computer device embodiment of FIG.
is given by 533,534,535. A timing generator 194 for generating state and numeric timing signals includes dynamic shift register elements to provide a state counter 589, a numeric counter 590, a state digit comparator 591, a state decoder 592, and a numeric decoder 593.
It uses PLA logic. The recoded state decoder output 594 is distributed to other functional elements to provide a means for making arbitrary selections of state timing for each of six independent timing buses. State decoder output 595 is also distributed as required by other circuit elements of FIG. In addition to providing a means for obtaining the correct feed back of the numeric feed back shift register, the output of numeric decoder 593 drives numeric output scanner 197. Here, PLA of Figure 17I
is used as an array for searching for the decimal place and sending information for displaying the decimal point to the segment output decoder 198 shown in FIG. 17E. The 13 product terms of FLAG mask decoder 195 are the R
and from each of the Σ fields 234 and 235.
FLAG address, SA, SB of status counter S,
596 generates a FLAG addressing signal FMSK which is used to correspond to the 1 to 13 states decoded from the SC and SD inputs and is gated to the FLAG operation logic gates 519 and 520 as the timing address for the FLAG operation. let Similarly, numeric mask decoder 195B outputs 503
M field 23 of instruction register 190 in
2 and provides a numeric mask signal 526 from the state counter 589. In this way, arbitrary set-reset related correspondences between states and masks for each of six different masks can be obtained. In addition to the numeric mask, the numeric mask decoder 195B
FLAG control output 518, right shift control output 5
29 and the constant N generation output 524 are decoded. Logic and Circuit Description of Output Block 205 The segment output subsystem 198 includes a delay element 542 that buffers the output device 536 of the data storage array 206, a segment decoder (PLA) 601, and a terminal 576 with eleven decoded segment output signals. It includes an output buffer circuit 602 that drives the . The segment decode array has 10 product terms for devices that decode numeric information for selective recombination. namely, the encoding of the numeric segment output 602' and the product term and feedback signal 603 for decoding FLAG information (eg, error or minus sign) and zero erasure. The digit output scanner 197 has 11 two inputs that block the output of the digit decoder 593 with a digit BLANK signal 606 for internal digit blanking capability.
It includes a NAND gate 604 and an output buffer circuit 605 that drives a terminal 576 for scanning the keyboard and display section as described above. Logic, circuit and program description of program block 201 As mentioned above, program block 201
includes a program counter (PC) 209 and a read only memory (ROM) 208. Both program counter 209 and read-only memory 208 perform the address modifications required for each instruction and provide control block 202 with, for example, an 11-bit input to instruction register (IR) 190 in the described embodiment. Address modifications required for the current instruction include no modification for a WAIT operation, a binary 1 addition for a normal increment operation, and a 9 from instruction register 190 for a jump operation that is not executed, or a jump operation that is executed. Program the bits
Either replace all 9 bits of the counter. An unmodified WAIT operation, a binary 1 addition for a normal increment operation, and a jump operation that is not executed are stored in the program counter 209.
Either recirculate the LSD output 652 or add 1 to the LSD and send it to the program counter 209.
Key input logic 196 in timing block 203, each of which cycles to MSB.
This is satisfied by sending a serial input 651 from to the MSD of program counter 209. In both cases the circulation is synchronous with the instruction cycle.
For a jump operation to be performed, replacing the 9 bits from instruction register 190 with a full 9-bit count is performed in state S12 of the instruction cycle.
jump condition circuit 192 to input 653 of all bits of program counter 209 simultaneously during
is satisfied by strobing the output 503 of the instruction register 190 in parallel with the output of . The output of the instruction word to the control block's instruction register 190 is strobed by a NAND gate 654 which provides a new input to the instruction register 190 every instruction cycle during state S13. The serial circulation of program counter 209 is from S3 to S12.
is provided by a conventional shift register bit 656 which is clocked by a NAND gate 655 in between. The ROM is configured for each bit output 503 of the instruction register 190 to drive an array of 5 NAND gates per bit or a total of 55 NAND gates.
Contains a decoder that extracts one of the 64 items. One of these five gates is addressed by an encoder that takes one out of five gates for each bit. Therefore, a maximum of 320 11-bit word stores are provided to be selected (decoded and encoded) for random addressing of any one word. The program block 201 of this calculator embodiment includes a programmable read-only memory 208 for storing fixed programs.
including. In another embodiment, however, a read-write memory replaces the read-only memory 208, providing a device for continuously changing the stored program and therefore the operation of the calculator device. Calculator calculations can be performed by making a computer calculation program resident in memory, but flow charts corresponding to program processing in one embodiment of the variable function computer device are shown in 22A to 22T. Illustrated in the figure. In addition, an example of the operating procedure for solving calculation problems by keyboard operations is shown in Table 1.

【表】【table】

【表】【table】

【表】【table】

【表】 第22図を参照すると、計算器プログラム論理
の流れは以下の通りである。 第22A図はフロー・チヤート記法の鍵を与え
る。箱の形は様々な種類の命令を区別するために
用いられ箱の中の記号を指定された種類内の特定
の命令を指定するために用いられる。 円記号はラベル、例えば第22A図のGO及び
CONTとして用いられる。長方形は代入を表わ
す。レジスタ操作には、数字マスクを表わす添字
と共に矢印が用いられる。フラツグ操作には、余
分な線を有する長方形が用いられ、修正されるフ
ラツグの記憶又は英数字識別と共に命令が与えら
れる。惰円記号は、テスト・フラツグ、比較フラ
ツグ、及び比較レジスタ命令を含む全てのテスト
操作に対して用いられる。ひし形はブランチ条件
命令に対して用いられ、指示された条件は先行す
るテスト又はレジスタ(桁上げ/借入れ)操作に
関連する。16進記号はWAIT操作に用いられる。
WAIT条件に加えて、例えば1加算のような関連
演算のD11又はKNが指示されている。 第22Bから22T図においてフローチヤート
の各ステツプに記載されている三桁の16進コード
の数字は読取り専用メモリ(ROM)208に記
載された対応するIRコードのROM位置(PC値)
を表わす。 第22B図を参照すると、4つの基本演算
(〓,〓,×,÷)ルーチンを結合し、フラツグ・テ
ストにより現在の操作と以前の操作状態を決定
し、図示した決定ツリーを更新する基本制御ルー
チンが示されている。 第22C図を参照すると、クリア・エントリー
(CE)、小数点(DPT)、クリア(C)、及びデー
タ・エントリーのルーチンが示されている。クリ
アは000から003に記載され全てのフラツグとA及
びCレジスタをクリアする装置を与えてLOCKに
復帰する。クリア入力は位置058にあり、Aレジ
スタと関連するフラツグをクリアするため021の
D2ルーチンへブランチする。データ・エントリ
ーは数字キーの入力と小数点スイツチ・ルーチン
の制御ルーチンであり、位置OIEに始まる。 第22D図を参照すると、全ての瞬間的なキー
ボード入力の静止(開放回路)をテストすること
により二重キー入力と単一操作エントリーの多重
実行を防止する装置を与えるLOCKで全ての操作
ルーチンは終結する。LOCKは位置004から008に
あり、静止用のIDLEにブランチする。位置009か
ら010の2つのWAITループでは、IDLEは先縁キ
ー振動と過渡雑音を打消す装置を与える。 第22E図を参照すると、OPNはどの操作が
要求されているかを決定するためにキーボード操
作入力(KOキー)を問合わせる装置を与える。
これはブランチ条件命令のリストによりなされ、
その実行順序は数字走査出力へのキー接続の順序
に対応し、WAIT D11命令により走査サイクル
に問合せを同期し、WAIT命令にともなうKO→
CONDによりキーボード入力の状態の条件ブラン
チを可能にする。OPNはROMの011と01Dに配置
され、以前のジヤンプが実行されない場合には、
数字入力用のデータ・エントリーのジヤンプで終
結する。 第22F図を参照すると、NBRは数字キーボ
ード入力、例えば数字キーと小数点位置スイツチ
を問合わせ、走査・コード化する装置を与える。
これは待機の各命令サイクルに対してAの仮数か
ら「1」を減算するために(A−1A)により位
置03Aの単一命令WAIT(D11+KN)により
なされる。 第22G,H,I,J,K,L、及びM図を参
照すると加算/減算(AS)と予備正規化
(PRE)が示されている。これらのルーチンは加
算又は減算の実際の実行に加えて様々なテスト及
び形式化処理を含む。 第22N,O,P,Q,R,R,S及びT図を
参照すると乗算/除算(MD)と事後正規化
(POST)が示されている。これらのルーチン
は、所望の機能を実施するためにシフト,テス
ト、及びカウント処理と組合せた繰り返し加算及
び減算を用いている。 第23図は本実施例の上述した信号と機能及び
現在の集積回路技術のパツケージ技術との間の実
際の関連を図示する。例えば、本実施例の入/出
力端子は、従来のDIPプリント回路基板処理使用
により本装置をよりアクセス可能な装置にするた
めに線導体及び熱圧縮結合を用いたセラミツク又
はプラスチツク・パツケージ・リード・フレーム
に結合される。 本発明の計算器装置の記述したMOS実施例で
は、正期の操作状態ではVSS−VDDとVDD−VGG
は例えば名目7.2ボルト(最大8.1ボルト、最小6.6
ボルト)である。クロツク(φ)周波数は名目
250KHz、最小200KHz、最大330KHzである。 非計算器機能用計算器装置のプログラミング 本発明の計算器装置は前述した卓上計算器機能
以外の機能を実行するためにプログラムされると
いる点で可変機能計算器である。本装置の可変機
能性は、装置に用いられるプログラム可能な読取
り専用メモリとプログラム可能な論理アレイのよ
うな種々のサブシステムのプログラム可能性によ
り基本的には与えられる。上述したように、これ
らのプログラム可能なサブシステムは、MOS又
はMIS実施例の製造中に単にゲート絶縁体マスク
を修正することにより任意にプログラムされる。 別な計算器実施例では、キーボードの別なキー
そして又はROMに記憶された別なプログラムを
用いた多数の別な機能は、例えば、右シフト、交
換演算、平方根、指数演算、対数演算、二重及び
三重の0操作、及びキー順序確認を含む装置を提
供することが可能である。 本発明の計算器装置は種々の実施例でプログラ
ム制御、データ制御算術及び論理装置及び入/出
力サブシステムを含むが、非計算器機能を実行す
るようにプログラムしてもよい。例えば、計算器
装置はデジタル・ボルト・メータ、事象計数、メ
ータ・スムージング、タクシー料金メータ、オド
メータ、重量測定用スケール・メータ等のような
メータ機能を実行するようにプログラムしてもよ
い。本装置は又制御器として作用するキヤツシ
ユ・レジスタ操作、算術テイーチング装置、時
計、表示デコーダ、自動車ラリー・コンピユータ
等を実行するようにプログラムしてもよい。 以上説明してきたように、本発明によれば、電
子装置が、製造工程中のマスクにより少くとも入
力ルーチンと演算と出力ルーチンとのためのプロ
グラム命令情報を固定的に記憶するプログラム記
憶手段を制御手段、入力手段、算術論理手段およ
び出力手段と共に単一の半導体基板に集積したモ
ノリシツク半導体装置を備えて構成されているた
め、 (1) 半導体装置の製造工程中の印刷工程における
フオトマスクのようなマスクを変更し、演算の
ためのプログラム命令情報を変更することによ
り、計算機能だけでなく、種々の非計算機能、
例えば制御機能を果させることができ、入力ル
ーチンおよび、または出力ルーチンのためのプ
ログラム命令情報を入力装置および、または出
力装置に合わせて変更するなら広範な入出力装
置と組合せることができ、多種多様な電子装置
を簡単な構造で形成できる。 (2) 半導体装置の製造工程中に上述の如く単にマ
スクを変更してその機能を変更できるというこ
とは、半導体装置のそれ以外の設計および製造
を全ての電子装置について基本的に共用できる
ことを意味し、電子装置の製造価格低下、開発
期間の短縮を図ることができる。 (3) 入力装置と出力装置とを除く各手段を単一の
半導体基板に集積できるということは、電子装
置の小型化に寄与し、したがつて従来電子制御
が困難な、あるいは不都合な装置、例えば家庭
用電気器具や事務機械を始め各種装置を電子装
置化することができる。 (4) 各手段を単一の半導体基板に集積できるとい
うことは、また、電子装置を構成する半導体装
置の数を減少させることになり、電子装置の組
立の簡略化、部品管理の容易化に寄与する。さ
らに、電子装置を構成する半導体装置が多くな
ると、その間のインターフエース回路用チツプ
が必要になることが多く、このようなインター
フエース回路用チツプを不要にすることで電子
装置の製造価格の低下を図れる。 (5) 電子装置の機能から判断される必要最小限の
プログラム命令情報を選択して半導体装置の一
部に固定的に記憶しているので、各手段を単一
の半導体装置上に集積可能となり、ひいては電
子装置の製造価格の低下、量産性の向上等に寄
与できる。 また、本発明によれば、半導体基板に集積され
た各手段を内部接続線により各情報が伝達可能な
ように接続されているため、 (1) 従来のように半導体装置間を結ぶ外部配線、
あるいは複雑な導体パターンの形成された基板
の如きものが不要になり、電子装置の製造価格
の低下を図れる。 (2) 外部配線、あるいは基板に印刷された導体パ
ターンによる接続を不要にできるということ
は、電子装置の組立中に生じる接続不良、さら
にその使用中に生じる断線を防止することがで
き、電子装置の信頼性を向上させることができ
る。 又、実施例の説明で述べたように、本発明によ
れば更に次のような優れた効果を得ることができ
る。 (1) 電子計算機の基本的機能を単一の半導体集積
回路に組込んだ汎用性のある電子装置を用いる
ことにより超小型の汎用性ある電子計算装置を
得ることができる。 (2) キーボード入力線をキーの数より少なくし、
モノリシツク電子装置の入力端子数を減少させ
ることができる。 (3) 非常に小さな電子装置で、モノリシツク半導
体集積回路内のプログラム記憶回路に固定的に
記憶されたプログラムにより、計算器機能のみ
ならず非計算器機能をも可能とする種々の機能
を持つことができる。所望のプログラムは本半
導体装置の製造工程中の印刷工程におけるフオ
トマスクのようなマスクにより任意に設定され
得る。従つて本発明は非常に広い種々の分野に
適用され得るものである。本電子装置の使用者
はこの半導体集積回路を全体として単一の非常
に小さなシステムとして認識することができ
る。従つて計算機に親しみがなかつた使用者で
も本半導体集積回路をより大きな又はより高い
レベルのシステム内のサブシステムとして容易
に用いることができる。 (4) 新たなプログラムを有する電子装置の設計サ
イクルを短縮することができる。本発明によれ
ば新たな機能を要する新装置は、プログラム記
憶回路用のマスクを変えることにより、モノリ
シツク半導体回路の他の部分を基本的に変える
ことなく設計することができる。新装置に普通
必要とされる試験工程は本質的に新たなプログ
ラム記憶部のみにおいて行えばよいことゝな
る。従つて設計、プロトタイプ製作、試験から
製造への工程のサイクルは非常に短縮すること
ができる。 (5) 本発明の電子装置は、半導体製造技術により
大量生産することが容易である。従つて製造コ
ストを低減でき、本発明の電子装置の応用分野
を拡大することもできる。 (6) 固定的に記憶されるプログラムにより種々の
分野に適用され得る本電子装置の大きさは数mm
平方以内に縮少され得、かつ従来の28ピン又は
48ピンパツケージ内に納めることができる。更
に、本発明の電子装置を用いることにより可変
機能固定プログラム計算装置が、その重要部分
である電子装置が小型であることにより同様に
小型化され得る。 (7) 本発明に係る電子装置が構成されているモノ
リシツク集積回路の大きさは、メモリ機能を2
つの部分、即ち、読取り専用メモリ(ROM)
のようなプログラム記憶回路とランダムアクセ
スメモリ(RAM)の様なデータメモリ回路と
に分けることにより縮少化され得る。この2つ
の異つた形式のメモリへの分離は半導体チツプ
の制限された面積の有効的な利用を可能とす
る。 本発明では半導体集積回路を絶縁ゲート型ト
ラスジスタで構成することにより、モノリシツ
ク集積回路内の集積密度をバイポーラ型式のト
ランジスタよりも大にすることができる。 (8) 各種の分野に適用し得る電子装置の電気的信
頼度は、プログラムメモリ、データメモリ、制
御回路、算術論理装置、入力回路及び出力回路
を小型のモノリシツク集積回路内で構成しこれ
らを集積回路内で相互接続することによつてパ
ツケージピン及び接続線の数が少くされること
により向上される。パツケージピン及び接続線
は、電気的雑音を拾い電子装置の機能誤りを起
させ得る好ましくない容量をもたらすものであ
るが、本発明によればパツケージピン及び接続
線の数を減らすことによりこれらの不都合を防
止することができる。 多相クロツク信号を供給するタイミング回路
がモノリシツク集積回路内で集積されているの
で本発明に係る種々の回路はチツプ内でクロツ
ク信号を受けることができ、これにより又ピン
及び接続線の数を減少させることができる。 (9) 各種の分野に適用し得る本電子装置の機械的
信頼性は、本願発明が用いられるシステムにお
けるパツケージピン及び接続線を少くすること
により向上させることができる。製造工程中に
おこる接続不良、断線等の問題が減少するから
である。また本発明を使用して計算装置を構成
した場合、その機械的信頼性も向上させること
ができる。 (10) 本発明が適用されるシステム内のインタフエ
ース回路用の集積回路チツプを減少させること
ができ又その設計も容易に行うことができる。
即ち、若し電子装置が幾つかの複数の集積回路
チツプにより構成される場合には集積回路パツ
ケージ間の接続においてインタフエース回路用
チツプが必要とされることが多く、これらの集
積回路チツプは幾つかのインタフエース回路を
通して動作することゝなる。本発明によれば単
一のチツプで各回路が構成されるのでインタフ
エース回路用チツプを減少させることができシ
ステム全体の設計が容易となる。 以上に述べた如く本発明によれば多くの価値あ
る技術的な利点をもたらすことができ、かつ同時
に関連産業に対しても経済的利益をもたらすこと
ができる。 本発明のいくつかの実施例を詳細に説明した
が、しかしながら、特定の実施例に対するこれら
の説明は単に発明の概念の下にある原理を説明す
るものである。開示した実施例の様々な修正や本
発明の他の実施例は、本発明の範囲と要旨を逸脱
することなく同業者には明らかであると考えられ
る。
[Table] Referring to FIG. 22, the flow of the calculator program logic is as follows. Figure 22A provides the key to flow chart notation. The shape of the box is used to distinguish between different types of instructions, and the symbol inside the box is used to designate a particular instruction within the specified type. Yen symbols are labels, e.g. GO and Figure 22A.
Used as CONT. Rectangles represent assignments. Arrows are used for register operations with subscripts representing numeric masks. For flag operations, a rectangle with extra lines is used and instructions are provided along with a memory or alphanumeric identification of the flag to be modified. The inertia symbol is used for all test operations including test flag, compare flag, and compare register instructions. Diamonds are used for branch conditional instructions, where the indicated condition is related to a preceding test or register (carry/borrow) operation. Hexadecimal symbols are used for WAIT operations.
In addition to the WAIT condition, a related operation D 11 or KN, such as 1 addition, is indicated. In Figures 22B to 22T, the three-digit hexadecimal code number written at each step of the flowchart is the ROM location (PC value) of the corresponding IR code written in the read-only memory (ROM) 208.
represents. Referring to Figure 22B, the basic control combines the four basic operations (〓, 〓, ×, ÷) routines, determines the current operation and previous operation state by flag testing, and updates the illustrated decision tree. The routine is shown. Referring to FIG. 22C, the clear entry (CE), decimal point (DPT), clear (C), and data entry routines are shown. CLEAR is described in 000-003 and provides a means to clear all flags and A and C registers and return to LOCK. The clear input is located at location 058 and is used at 021 to clear the A register and associated flags.
Branch to D2 routine. Data entry is a control routine for numeric key input and decimal point switch routines, starting at location OIE. Referring to FIG. 22D, all operating routines with LOCK provide a device to prevent double keystrokes and multiple executions of single operation entries by testing the quiescence (open circuit) of all momentary keyboard inputs. end. LOCK is at positions 004 to 008 and branches to IDLE for quiescence. In the two WAIT loops at positions 009 to 010, IDLE provides a means to cancel leading edge key vibrations and transient noise. Referring to FIG. 22E, OPN provides a device for interrogating keyboard input (KO key) to determine which operation is requested.
This is done by a list of branch conditional instructions,
Its execution order corresponds to the order of key connections to the numeric scanning output, and the WAIT D11 instruction synchronizes the query to the scanning cycle, and the KO→
COND allows conditional branching of the state of keyboard input. OPN is located in ROM 011 and 01D, and if no previous jump is performed,
Ends with a data entry jump for numeric input. Referring to Figure 22F, the NBR provides a system for interrogating, scanning and encoding numeric keyboard input, such as numeric keys and decimal point switches.
This is done by the single instruction WAIT (D11+KN) in location 03A by (A-1A) to subtract "1" from the mantissa of A for each instruction cycle of the wait. Referring to Figures 22G, H, I, J, K, L, and M, addition/subtraction (AS) and prenormalization (PRE) are illustrated. These routines include various testing and formalization operations in addition to the actual execution of addition or subtraction. Referring to Figure 22 N, O, P, Q, R, R, S and T, multiplication/division (MD) and post normalization (POST) are shown. These routines use iterative additions and subtractions combined with shift, test, and count operations to perform the desired functions. FIG. 23 illustrates the actual relationship between the above-described signals and functions of this embodiment and the packaging technology of current integrated circuit technology. For example, the input/output terminals of this embodiment may be made of ceramic or plastic package leads using wire conductors and thermocompression bonding to make the device more accessible using conventional DIP printed circuit board processing. attached to the frame. In the described MOS embodiment of the computer device of the present invention, in the regular operating state, V SS -V DD and V DD -V GG
For example, nominal 7.2 volts (maximum 8.1 volts, minimum 6.6 volts)
bolt). Clock (φ) frequency is nominal
250KHz, minimum 200KHz, maximum 330KHz. Programming the Calculator Device for Non-Calculator Functions The calculator device of the present invention is a variable function calculator in that it can be programmed to perform functions other than the desktop calculator functions described above. The variable functionality of the device is essentially provided by the programmability of the various subsystems used in the device, such as programmable read-only memory and programmable logic arrays. As mentioned above, these programmable subsystems are optionally programmed during fabrication of the MOS or MIS embodiment by simply modifying the gate insulator mask. In other calculator embodiments, a number of other functions can be performed using different keys on the keyboard and/or different programs stored in ROM, such as right shift, exchange operation, square root, exponential operation, logarithm operation, It is possible to provide a device that includes double and triple zero operations and key order confirmation. The calculator device of the present invention includes program control, data control arithmetic and logic units, and input/output subsystems in various embodiments, but may also be programmed to perform non-calculator functions. For example, the calculator device may be programmed to perform meter functions such as digital volt meters, event counting, meter smoothing, taxi fare meters, odometers, weight scale meters, and the like. The device may also be programmed to perform cash register operations, act as controllers, arithmetic teaching devices, clocks, display decoders, automobile rally computers, and the like. As described above, according to the present invention, an electronic device controls a program storage means that permanently stores program instruction information for at least an input routine, an operation, and an output routine using a mask during the manufacturing process. (1) A mask such as a photomask in the printing process during the manufacturing process of the semiconductor device. By changing the program instruction information for operations, you can perform not only calculation functions but also various non-calculation functions,
For example, it can perform control functions, can be combined with a wide variety of input/output devices if the program instruction information for the input routines and/or output routines is modified for the input and/or output devices, Various electronic devices can be formed with a simple structure. (2) The fact that the function of a semiconductor device can be changed simply by changing the mask as described above during the manufacturing process of a semiconductor device means that the design and manufacturing of other aspects of the semiconductor device can basically be shared by all electronic devices. Therefore, it is possible to reduce the manufacturing cost of electronic devices and shorten the development period. (3) The fact that all means except the input device and the output device can be integrated on a single semiconductor substrate contributes to the miniaturization of electronic devices, which makes it possible to reduce the size of devices that were previously difficult or inconvenient to control electronically. For example, various devices such as household electrical appliances and office machines can be converted into electronic devices. (4) Being able to integrate each means on a single semiconductor substrate also reduces the number of semiconductor devices that make up an electronic device, which simplifies the assembly of electronic devices and facilitates component management. Contribute. Furthermore, as the number of semiconductor devices that make up an electronic device increases, chips for interface circuits between them are often required, and by eliminating the need for such chips for interface circuits, it is possible to reduce the manufacturing cost of electronic devices. I can figure it out. (5) Since the minimum necessary program command information determined from the functions of the electronic device is selected and fixedly stored in a part of the semiconductor device, each means can be integrated on a single semiconductor device. In turn, it can contribute to lowering the manufacturing cost of electronic devices, improving mass productivity, etc. Further, according to the present invention, each means integrated on a semiconductor substrate is connected by internal connection lines so that each information can be transmitted, so that (1) external wiring connecting semiconductor devices as in the conventional case;
Alternatively, it becomes unnecessary to use a substrate with a complicated conductor pattern, thereby reducing the manufacturing cost of the electronic device. (2) Being able to eliminate the need for connections using external wiring or conductor patterns printed on the board makes it possible to prevent poor connections that occur during the assembly of electronic devices, as well as disconnections that occur during use. reliability can be improved. Further, as described in the description of the embodiments, according to the present invention, the following excellent effects can be obtained. (1) By using a versatile electronic device in which the basic functions of an electronic computer are incorporated into a single semiconductor integrated circuit, an ultra-small and versatile electronic computing device can be obtained. (2) Make the number of keyboard input lines smaller than the number of keys,
The number of input terminals in a monolithic electronic device can be reduced. (3) An extremely small electronic device that has various functions capable of performing not only computer functions but also non-calculator functions by means of a program fixedly stored in a program storage circuit within a monolithic semiconductor integrated circuit. I can do it. A desired program can be arbitrarily set using a mask such as a photomask in the printing process during the manufacturing process of this semiconductor device. Therefore, the present invention can be applied to a very wide variety of fields. A user of this electronic device can recognize this semiconductor integrated circuit as a whole as a single, very small system. Therefore, even users who are not familiar with computers can easily use the present semiconductor integrated circuit as a subsystem within a larger or higher level system. (4) The design cycle of electronic devices with new programs can be shortened. According to the present invention, new devices requiring new functionality can be designed by changing the mask for the program storage circuit without fundamentally changing the rest of the monolithic semiconductor circuit. Testing steps normally required for new equipment essentially only need to be performed on the new program storage. Therefore, the process cycle from design, prototyping, testing to manufacturing can be significantly shortened. (5) The electronic device of the present invention can be easily mass-produced using semiconductor manufacturing technology. Therefore, manufacturing costs can be reduced and the fields of application of the electronic device of the present invention can be expanded. (6) The size of this electronic device, which can be applied to various fields with fixedly stored programs, is several mm.
can be reduced to within a square and traditional 28 pin or
It can be stored in a 48-pin package. Further, by using the electronic device of the present invention, a variable function fixed program computing device can be similarly miniaturized because the electronic device, which is an important part thereof, is small. (7) The size of the monolithic integrated circuit of which the electronic device according to the present invention is constructed is such that it has two memory functions.
two parts, namely read-only memory (ROM)
This can be reduced by dividing the memory into a program storage circuit, such as a program storage circuit, and a data memory circuit, such as a random access memory (RAM). This separation into two different types of memory allows efficient use of the limited area of the semiconductor chip. In the present invention, by configuring the semiconductor integrated circuit with insulated gate type transistors, the integration density within the monolithic integrated circuit can be made higher than that of bipolar type transistors. (8) The electrical reliability of electronic devices that can be applied to various fields is determined by configuring program memory, data memory, control circuits, arithmetic logic units, input circuits, and output circuits in small monolithic integrated circuits. Improvements are achieved by reducing the number of package pins and connecting lines by interconnecting within the circuit. Package pins and connecting wires introduce undesirable capacitance that can pick up electrical noise and cause malfunctions in electronic devices, but the present invention eliminates these disadvantages by reducing the number of package pins and connecting wires. can be prevented. Because the timing circuits that provide multiphase clock signals are integrated within a monolithic integrated circuit, various circuits according to the invention can receive clock signals within the chip, which also reduces the number of pins and connecting lines. can be done. (9) The mechanical reliability of the present electronic device, which can be applied to various fields, can be improved by reducing the number of package pins and connection lines in the system in which the present invention is used. This is because problems such as poor connections and disconnections that occur during the manufacturing process are reduced. Furthermore, when a computing device is configured using the present invention, its mechanical reliability can also be improved. (10) The number of integrated circuit chips for interface circuits in a system to which the present invention is applied can be reduced, and the design thereof can be easily performed.
That is, if an electronic device is composed of several integrated circuit chips, interface circuit chips are often required for connections between integrated circuit packages, and how many of these integrated circuit chips are used? It operates through that interface circuit. According to the present invention, since each circuit is constructed with a single chip, the number of chips for interface circuits can be reduced and the design of the entire system can be facilitated. As described above, the present invention can provide many valuable technical advantages, and at the same time can provide economic benefits to related industries. Although several embodiments of the invention have been described in detail, these descriptions of specific embodiments are merely illustrative of the principles underlying the inventive concept. Various modifications of the disclosed embodiments, as well as other embodiments of the invention, will be apparent to those skilled in the art without departing from the scope and spirit of the invention.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図及び第2図は本発明の計算器装置を図示
するブロツク線図である。第3図は本発明の計算
器装置の1実施例のデータ・ブロツク204を機
能的に記述したブロツク線図である。第4図は
FLAGレジスタの動作を図示する該レジスタのブ
ロツク線図である。第5図は計算器装置の実施例
に用いられる基本指令語形式と命令地図である。
第6図は計算器装置の基本命令サイクル・タイミ
ングを図示するグラフである。第7図はキーボー
ド及び表示走査の走査サイクル・タイミングを表
わすグラフであり、走査サイクルを命令サイク
ル・タイミング時間と関係づけるものである。第
8図はAレジスタ、Bレジスタ、Cレジスタ、
FA FLAGレジスタ、FB FLAGレジスタ及び表
示部のデータ形式を表わす図である。第9図は、
入力感知プログラムが過渡雑音、二重エントリ
ー、前縁振動及び後縁振動に対する防御を与えて
いることを示すキーボード・プログラム・タイミ
ングを表わすグラフである。第10図及び第11
図は本計算器装置と関連して用いられる1例とし
ての計算器キーボードを示す平面図である。第1
2図は数字走査回路への入力接続を示す表示素子
の回路線図である。第13図は本発明の実施例に
関連して用いられる表示部の代表的な表示字体を
示す図である。第14図はセグメント駆動がいか
にして本発明の実施例の数字駆動を含むかを示す
グラフである。第15図は本発明の実施例におけ
る表示素子と走査回路との間のインターフエース
回路の回路線図である。第16図は走査回路への
相互接続を含む、説明された計算器実施例に関連
して用いられるキーボードの回路図である。第1
7図は本発明の計算器装置の金属−絶縁体−半導
体実施例の論理回路線図であり、第17A図〜第
17Z図を含む。第18A図〜第18D図は第1
7図に示した種々の論理ゲートの等価金属−絶縁
体−半導体回路を示す線図である。第19図は第
17図の実施例に用いられるランダム・アクセ
ス・メモリ・アレイ・シフト・レジスタ装置のコ
ミユーテータに用いられるシフト・レジスタ・セ
ルの等価金属−絶縁体−半導体回路を図示する回
路線図である。第20図は第19図のシフト・レ
ジスタ・セル用の金属−絶縁体−半導体ドライバ
回路を図示する回路線図である。第21図は第1
7図の実施例に用いられるプログラム可能な論理
アレイ(PLA)と等価な回路を図示する線図で
ある。第22A図〜第22T図は、浮動小数点演
算、入力ルーチン及び出力ルーチンを含む卓上計
算器機能を与えるため、計算器装置の実施例のプ
ログラム可能読取り専用メモリに記憶されたプロ
グラムを示すフロー・チヤートである。第23図
はキーボード、表示ドライバ及び電源への端子相
互接続を示すパツケージ化されたモノリシツク構
造体の平面図である。 201……プログラム・ブロツク、202……
制御ブロツク、203……タイミング・ブロツ
ク、204……データ・ブロツク、205……出
力ブロツク、208……読取り専用メモリ、20
9……プログラム・カウンタ、190……命令レ
ジスタ、191……制御デコーダ、192……ジ
ヤンプ条件回路、195……数字及びFLAGマス
ク・デコーダ、196……キー入力論理部、20
6……ランダム・アクセス・メモリ・シフト・レ
ジスタ及びFLAGデータ記憶アレイ、207……
10進算術装置、229……FLAG論理装置、19
8……セグメント出力デコーダ、197……数字
走査器出力。
1 and 2 are block diagrams illustrating the computer apparatus of the present invention. FIG. 3 is a block diagram functionally describing data block 204 of one embodiment of the computer device of the present invention. Figure 4 is
2 is a block diagram of the FLAG register illustrating the operation of the register; FIG. FIG. 5 shows the basic command word format and command map used in the embodiment of the computer device.
FIG. 6 is a graph illustrating the basic instruction cycle timing of a computing device. FIG. 7 is a graph representing scan cycle timing for keyboard and display scans, relating scan cycles to instruction cycle timing times. Figure 8 shows A register, B register, C register,
FIG. 3 is a diagram showing data formats of a FA FLAG register, a FB FLAG register, and a display section. Figure 9 shows
2 is a graph representing keyboard program timing showing that the input sensing program provides protection against transient noise, double entry, leading edge vibration, and trailing edge vibration. Figures 10 and 11
The figure is a plan view showing an example of a computer keyboard used in connection with the present computer device. 1st
FIG. 2 is a circuit diagram of the display element showing the input connections to the numeric scanning circuit. FIG. 13 is a diagram showing typical display fonts of the display unit used in connection with the embodiments of the present invention. FIG. 14 is a graph illustrating how segment drives include numerical drives in an embodiment of the present invention. FIG. 15 is a circuit diagram of an interface circuit between a display element and a scanning circuit in an embodiment of the present invention. FIG. 16 is a circuit diagram of a keyboard used in conjunction with the described calculator embodiment, including interconnections to the scanning circuitry. 1st
FIG. 7 is a logic circuit diagram of a metal-insulator-semiconductor embodiment of the computer device of the present invention, including FIGS. 17A to 17Z. Figures 18A to 18D are the first
7 is a diagram showing equivalent metal-insulator-semiconductor circuits of the various logic gates shown in FIG. 7; FIG. FIG. 19 is a circuit diagram illustrating an equivalent metal-insulator-semiconductor circuit of a shift register cell used in the commutator of the random access memory array shift register device used in the embodiment of FIG. It is. FIG. 20 is a circuit diagram illustrating a metal-insulator-semiconductor driver circuit for the shift register cell of FIG. 19. Figure 21 is the first
FIG. 7 is a diagram illustrating a circuit equivalent to a programmable logic array (PLA) used in the embodiment of FIG. 7; Figures 22A-22T are flow charts illustrating programs stored in programmable read-only memory of an embodiment of a calculator device to provide desktop calculator functionality including floating point operations, input routines, and output routines; It is. FIG. 23 is a plan view of the packaged monolithic structure showing the terminal interconnections to the keyboard, display driver and power supply. 201...Program block, 202...
Control block, 203...Timing block, 204...Data block, 205...Output block, 208...Read-only memory, 20
9...Program counter, 190...Instruction register, 191...Control decoder, 192...Jump condition circuit, 195...Numeric and FLAG mask decoder, 196...Key input logic section, 20
6...Random access memory shift register and FLAG data storage array, 207...
Decimal arithmetic unit, 229...FLAG logic unit, 19
8...Segment output decoder, 197...Numeric scanner output.

Claims (1)

【特許請求の範囲】 1 (a) 入力情報を発生可能な複数のキーを有
し、該キーの数より少数の出力端子を通じて該
入力情報を出力する入力装置と、 (b) 製造工程中のマスクにより少くとも入力ルー
チンと演算と出力ルーチンとのためのプログラ
ム命令情報を固定的に記憶するプログラム記憶
手段と、 上記プログラム命令情報を受け、制御情報を
発生させる制御手段と、 入力ルーチンのためのプログラム命令情報に
基づき発生する制御情報に応答して上記入力情
報を判読する入力手段と、 演算のためのプログラム命令情報に基づき発
生する制御情報に応答して演算操作を行ない、
演算結果情報を発生させる算術論理手段と、 出力ルーチンのためのプログラム命令情報に
基づき発生する制御情報に応答して演算結果情
報を出力する出力手段とを単一の半導体基板に
集積し、上記各手段を内部接続線により上記各
情報が伝達可能なように接続してなるモノリシ
ツク半導体装置と、 (c) 上記半導体装置の出力手段から演算結果情報
を受けて動作する出力装置とを備えた電子装
置。
[Claims] 1. (a) An input device having a plurality of keys capable of generating input information and outputting the input information through output terminals smaller than the number of keys; program storage means for fixedly storing program instruction information for at least an input routine, an operation, and an output routine by a mask; a control means for receiving the program instruction information and generating control information; input means for reading the input information in response to control information generated based on program instruction information; and performing an arithmetic operation in response to control information generated based on program instruction information for the operation;
Arithmetic logic means for generating operation result information and output means for outputting operation result information in response to control information generated based on program instruction information for an output routine are integrated on a single semiconductor substrate, and each of the above (c) an electronic device comprising: a monolithic semiconductor device in which means are connected by internal connection lines so that each of the above information can be transmitted; and (c) an output device that operates upon receiving calculation result information from the output means of the semiconductor device. .
JP17078780A 1971-07-19 1980-12-03 Electronic computing device Granted JPS5731071A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16356571A 1971-07-19 1971-07-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP63156001A Division JPH01140264A (en) 1971-07-19 1988-06-23 Programmed system

Publications (2)

Publication Number Publication Date
JPS5731071A JPS5731071A (en) 1982-02-19
JPS6229832B2 true JPS6229832B2 (en) 1987-06-29

Family

ID=22590581

Family Applications (4)

Application Number Title Priority Date Filing Date
JP7196972A Pending JPS5732375B1 (en) 1971-07-19 1972-07-18
JP55170788A Expired JPS595937B2 (en) 1971-07-19 1980-12-03 electronic computing device
JP17078780A Granted JPS5731071A (en) 1971-07-19 1980-12-03 Electronic computing device
JP63156001A Granted JPH01140264A (en) 1971-07-19 1988-06-23 Programmed system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP7196972A Pending JPS5732375B1 (en) 1971-07-19 1972-07-18
JP55170788A Expired JPS595937B2 (en) 1971-07-19 1980-12-03 electronic computing device

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP63156001A Granted JPH01140264A (en) 1971-07-19 1988-06-23 Programmed system

Country Status (5)

Country Link
JP (4) JPS5732375B1 (en)
DE (2) DE2235430A1 (en)
FR (1) FR2146368B1 (en)
GB (2) GB1401265A (en)
IT (1) IT965091B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5173856A (en) * 1974-11-19 1976-06-26 Texas Instruments Inc Hyojisochito kiiboodo no sosashutsuryokunikanshi tasunokoodokumiawaseojusuru denshikeisanki aruiha deijitarushorikichitsupu
GB2083669B (en) * 1980-09-05 1985-01-03 Casio Computer Co Ltd Key data entry system
JPS5940778U (en) * 1982-09-09 1984-03-15 富士電機株式会社 Cold air circulation type open house case
JPS6270527U (en) * 1985-10-23 1987-05-06
JPH01166884U (en) * 1988-04-28 1989-11-22

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1030069B (en) * 1955-08-26 1958-05-14 IBM Deutschland Internationale Büro-Maschinen Gesellschaft m.b.H., Sindeliingen· (Württ.) Memory keyboard
US2989729A (en) * 1958-12-10 1961-06-20 Burroughs Corp Keyboard checking apparatus
DE1183130B (en) * 1963-09-12 1964-12-10 Telefunken Patent Arrangement for reading and decimal display of a result contained in a multi-decade counter
US3462742A (en) * 1966-12-21 1969-08-19 Rca Corp Computer system adapted to be constructed of large integrated circuit arrays
US3566153A (en) * 1969-04-30 1971-02-23 Texas Instruments Inc Programmable sequential logic

Also Published As

Publication number Publication date
JPH0241062B2 (en) 1990-09-14
JPH01140264A (en) 1989-06-01
JPS5727357A (en) 1982-02-13
GB1401204A (en) 1975-07-16
GB1401265A (en) 1975-07-16
FR2146368A1 (en) 1973-03-02
JPS595937B2 (en) 1984-02-08
JPS5732375B1 (en) 1982-07-10
JPS5731071A (en) 1982-02-19
DE2235430A1 (en) 1973-02-01
FR2146368B1 (en) 1973-07-13
DE2265696C2 (en) 1984-09-13
IT965091B (en) 1974-01-31

Similar Documents

Publication Publication Date Title
US4074351A (en) Variable function programmed calculator
US4326265A (en) Variable function programmed calculator
US4128873A (en) Structure for an easily testable single chip calculator/controller
US4038643A (en) Microprogramming control system
US3988717A (en) General purpose computer or logic chip and system
US3296426A (en) Computing device
US3984670A (en) Expandable digital arithmetic logic register stack
US6650317B1 (en) Variable function programmed calculator
EP0303009B1 (en) Signal generator for circular addressing
US4125901A (en) Electronic calculator or microprocessor having a multi-input arithmetic unit
EP0229734A2 (en) Microprogram control device
US4242675A (en) Display and keyboard scanning for electronic calculation or the like
JPS6229832B2 (en)
US4471461A (en) Variable function programmed system
US4476541A (en) Variable function programmed system
US4100606A (en) Key debounce system for electronic calculator or microprocessor
US4290121A (en) Variable function programmed calculator
US3932846A (en) Electronic calculator having internal means for turning off display
US4089062A (en) Switching control circuits for electronic calculator with push-button on-off system
US4014013A (en) Direct drive display system for mos integrated circuits using segment scanning
US3958223A (en) Expandable data storage in a calculator system
US4342094A (en) Display method for variable function programmed system
US3944983A (en) Expandable data storage for a calculator system
US3987416A (en) Electronic calculator with display and keyboard scanning signal generator in data memory
US3934229A (en) External register memory chip in a calculator system