JPH0564374B2 - - Google Patents
Info
- Publication number
- JPH0564374B2 JPH0564374B2 JP7575085A JP7575085A JPH0564374B2 JP H0564374 B2 JPH0564374 B2 JP H0564374B2 JP 7575085 A JP7575085 A JP 7575085A JP 7575085 A JP7575085 A JP 7575085A JP H0564374 B2 JPH0564374 B2 JP H0564374B2
- Authority
- JP
- Japan
- Prior art keywords
- list
- address
- data
- list cell
- register
- 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 - Lifetime
Links
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
Landscapes
- Devices For Executing Special Programs (AREA)
Description
(産業上の利用分野)
本発明は、リスト処理に代表される非数値処理
を高速に行う電子計算機等のリスト処理装置に関
する。
(従来の技術)
知識処理用の言語としてリスプ(Lisp)言語が
広く用いられており、リスプ言語で書かられたプ
ログラムは計算機ではリストセルとデータとによ
つて表現され実行される。
第2図aは従来形式のリストセルの形式を示
す。従来のリストセルはデータタイプ部とアドレ
ス部とから成り、アドレス部はベースアドレス部
とオフセツトアドレス部とから構成される。第2
図bは上記リストセルを用いて、リストデータ
(AB)を表現した場合を示す。すなわち、リス
トのノードは、上記リストセルを2個用いて表現
される。また、リストセルとデータAとBとは記
憶装置では異なる領域に保存されアドレス部のベ
ースアドレス部が領域を固定し、オフセツトアド
レス部はベースアドレス部で選択された領域の中
のアドレスを示す。
1つのリストセルは通常32ビツトで表現され、
この場合にはアドレス部は24ビツトで表現され
る。従つて、リストセルやデータを保存できるア
ドレス空間は24ビツトで表現される範囲に限定さ
れる。
(発明が解決しようとする問題点)
しかしながら、リスプで書かれたプログラム
は、24ビツトを越えるリストセルやデータを扱う
必要がしばしば生じる。このような場合には、従
来のリストセルでは構成を32ビツトから拡大しな
ければならないという問題点がある。そこで本発
明は、リストセルの拡大を行わずに、アドレス空
間を拡げることが可能なリスト処理装置を提供す
るものである。
(発明が解決しようとする問題点)
本発明の装置は、リストセルおよびデータの種
類を規定するデータタイプ部とオフセツトアドレ
ス部とから成るリストセルと前記リストセルによ
り指定されるデータとを格納する記憶手段と、前
記記憶手段から取り出されたリストセルを一時格
納するリストセルレジスタと、前記リストセルと
前記データのベースアドレスを格納するベースア
ドレス記憶手段と、前記リストセルレジスタのデ
ータタイプ部によつて選択された前記ベースアド
レス記憶手段から取り出されたベースアドレスと
前記リストセルレジスタのオフセツトアドレス部
とからなる前記リストセルのアドレスと前記デー
タのアドレスを一時格納するアドレスレジスタ
と、前記リストセルと前記データを処理する演算
手段とを含み前記リストセルおよび前記データを
リストセルのデータタイプにより規定される前記
ベースアドレス記憶手段に格納されたベースアド
レスによつて指定することを特徴とするリスト処
理装置を提供するものである。
(実施例)
次に図面を参照して本発明の実施例を説明す
る。第1図は本発明の一実施例を示すブロツク図
である。第1のリスト処理装置は記憶部1と、リ
ストセルレジスタ2と、ベースアドレス記憶部3
と、アドレスレジスタ4と、演算部5と制御部6
とから構成されている。
記憶部1は32ビツトを1語とする語構成で構成
され、リストセルとリストセルにより指示される
データとを格納している。リストセルレジスタ2
は32ビツト長のレジスタである。ベースアドレス
記憶部3は8ビツトを1語とする語構成で構成さ
れ、後述するようにデータタイプに対応するベー
スアドレスを格納している。アドレスレジスタ4
は32ビツト長のレジスタで記憶部1に供給するア
ドレスを一時格納するものである。演算部5はリ
ストセルとデータとを処理する回路であり制御部
6はリスト処理装置の各部を制御する制御信号を
発生する回路である。
第3図aは本実施例で用いられるリストセルの
構成を示す。リストセルは8ビツトのデータタイ
プ部と24ビツトのオフセツトアドレス部とから構
成される。又、第3図bはデータタイプ部とデー
タタイプおよびベースアドレスの対応の一例を示
す。
第3図bでデータタイプ部およびベースアドレ
スは8ビツトの長さであり、16進表現の2桁で示
している。データタイプ部では、リストセルおよ
びスタツク、2進データ、文字データ、フルワー
ド領域などのデータを規定しており、それぞれに
対応するベースアドレスはリストセルおよびデー
タが記憶部で格納されているベースアドレスを規
定している。本実施例では、データタイプ部とベ
ースアドレスは同じ値になつているが、自由に設
定することが可能である。
第4図は第2図bに示した従来のリストセルで
表現したリストデータ(AB)を本実施例のリス
トセルで表現した時の構成を示す。
第4図は記憶部1ではリストセル
(Industrial Application Field) The present invention relates to a list processing device such as a computer that performs non-numerical processing such as list processing at high speed. (Prior Art) The Lisp language is widely used as a language for knowledge processing, and a program written in the Lisp language is expressed and executed in a computer using list cells and data. FIG. 2a shows the format of a conventional list cell. A conventional list cell consists of a data type section and an address section, and the address section consists of a base address section and an offset address section. Second
FIG. b shows a case where list data (AB) is expressed using the above list cells. That is, a list node is expressed using two of the above list cells. In addition, the list cell and data A and B are stored in different areas in the storage device, the base address part of the address part fixes the area, and the offset address part shows the address in the area selected by the base address part. . One list cell is usually represented by 32 bits,
In this case, the address field is expressed in 24 bits. Therefore, the address space in which list cells and data can be stored is limited to the range expressed in 24 bits. (Problems to be Solved by the Invention) However, programs written in Lisp often need to handle list cells and data exceeding 24 bits. In such a case, there is a problem in that the configuration of the conventional list cell must be expanded from 32 bits. Therefore, the present invention provides a list processing device that can expand the address space without expanding the list cells. (Problems to be Solved by the Invention) The device of the present invention stores a list cell, which is composed of a data type field and an offset address field that define the type of data, and data specified by the list cell. a list cell register for temporarily storing the list cell taken out from the storage means, a base address storage means for storing the base address of the list cell and the data, and a data type section of the list cell register. an address register for temporarily storing the address of the list cell and the address of the data, comprising a base address taken out from the selected base address storage means and an offset address section of the list cell register; and arithmetic means for processing the data, and the list cell and the data are specified by a base address stored in the base address storage means defined by the data type of the list cell. It provides equipment. (Example) Next, an example of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing one embodiment of the present invention. The first list processing device includes a storage section 1, a list cell register 2, and a base address storage section 3.
, address register 4, arithmetic unit 5 and control unit 6
It is composed of. The storage unit 1 has a word structure of 32 bits per word, and stores list cells and data indicated by the list cells. List cell register 2
is a 32-bit long register. The base address storage section 3 has a word structure of 8 bits as one word, and stores base addresses corresponding to data types, as will be described later. address register 4
is a 32-bit register that temporarily stores the address to be supplied to the storage unit 1. The calculation section 5 is a circuit that processes list cells and data, and the control section 6 is a circuit that generates control signals to control each section of the list processing device. FIG. 3a shows the configuration of the list cell used in this embodiment. The list cell consists of an 8-bit data type field and a 24-bit offset address field. Further, FIG. 3b shows an example of the correspondence between the data type section, data type, and base address. In FIG. 3b, the data type field and base address are 8 bits long and are shown as two digits in hexadecimal representation. The data type section defines data such as list cells and stacks, binary data, character data, full word areas, etc. The base address corresponding to each is the base address where the list cells and data are stored in the storage section. stipulates. In this embodiment, the data type field and the base address have the same value, but they can be set freely. FIG. 4 shows the structure when the list data (AB) expressed by the conventional list cell shown in FIG. 2b is expressed by the list cell of this embodiment. Figure 4 shows list cells in storage unit 1.
【式】(以下これを“文字(AO)、
100”と記す)を7F100番地に、リストセル“リ
スト(7F)、201”を7F101番地に、リストセル
“文字(AO)、100”を7F201番地に、データAを
AO100番地に、データBをAO101番地に格納し
ていることも示している。
第5図は第3図bで示したデータタイプ部とベ
ースアドレスとを規定する場合にベースアドレス
記憶部3に貯えるベースアドレス値を示し、16進
表現で00番地には値00、7F番地には値7F、AO番
地には値AOが格納されることを示す。
本実施例では、60番地には値00が、01番地には
値01が、…AO番地には値AOが格納されている
が、これらの値は他の自由な値に設定することも
可能である。
先ず最初に、第4図に示したリストデータ
(AB)についてリスプ関数Atomを実行する過程
を説明する。すなわちAtom〔(AB)〕を実行する
場合には、演算部5より信号線51を介してリス
トセル“リスト(7F)、100”がリストセルレジ
スタ2にセツトされる。この値を信号線23を介
して演算部5に取り込み、データタイプ部の値
“7F”をしらべることによりリストセルであるこ
とが判る。このため、リスプのAtomデータでな
いことが判明し、False値を出力する。
次に、第4図に示したリストデータ(AB)に
ついてリスプ関数Cdaarを実行する過程を示す。
すなわち、Cdaar〔(AB)〕を実行する場合には、
演算部5より信号線51を介して、“リスト
(7F)、100”がリストセルレジスタ2にセツトさ
れる。リストセルレジスタ2のデータタイプ部の
値“7F”により信号線21を介してベースアド
レス記憶部3をアクセスし、7F番地の値7Fを信
号線31を介して取り出しアドレスレジスタ4の
上位部にセツトする。同時に、リストセルレジス
タ2のオフセツトアドレス部の値“100”を信号
線22を介してアドレスレジスタ4の下位部にセ
ツトする。
次に、アドレスレジスタ4にセツトされた値
“7F、100”を信号線41を介して記憶部1に送
り、Cdaarのcdr処理を行うために、“7F、100”
の次の番地である“7F、101”のデータを読み出
し、リストセルレジスタ2にセツトする。この処
理によつて、リストセルレジスタ2には第4図で
示されるように“7F、201”がセツトされる。同
様な処理を行つてアドレスレジスタ2には“7F、
201”がセツトされる。
この値をもとにcar処理を行うために信号線4
1を介して“7F、201”を送り、“文字(AO)、
101”を取り出しリストセルレジスタ2にセツト
する。
更に、car処理を行うために、リストセルレジ
スタ2の“文字(AO)、101”に基づいて同様な
処理を行い、“AO、101”番地の値である文字
“B”を取り出しリストセルレジスタ2にセツト
することによりCdaarの処理が終了する。
以上、本発明の一実施例を示したが、リストセ
ルのデータタイプ部を利用することにより、アド
レス空間を拡大できることを示した。すなわち、
従来例では24ビツトのアドレス表現に限定された
のに対し、本実施例では32ビツト長のリストセル
表現であるにもかかわらず32ビツトのアドレス表
現が可能になる。すなわち、本実施例では、リス
トセルのデータタイプ部はデータタイプを示すと
ともに、そのデータが蓄積されている記憶部1の
ベースアドレスを示している。
(発明の効果)
本発明によれば、データタイプ部をベースアド
レス指定に利用することによりビツト幅の小さい
リストデータを用いても、大きなアドレス空間を
示すリスト処理装置を提供できる。[Formula] (hereinafter referred to as "Character (AO), 100") at address 7F100, list cell "List (7F), 201" at address 7F101, list cell "Character (AO), 100" at address 7F201 Add data A to the address
It also shows that data B is stored at address AO100 and data B is stored at address AO101. Figure 5 shows the base address value stored in the base address storage unit 3 when specifying the data type field and base address shown in Figure 3b. indicates that the value 7F is stored and the value AO is stored at the AO address. In this example, the value 00 is stored at address 60, the value 01 is stored at address 01, and the value AO is stored at address AO, but these values can also be set to other free values. It is. First, the process of executing the lisp function Atom on the list data (AB) shown in FIG. 4 will be explained. That is, when executing Atom [(AB)], the list cell "List (7F), 100" is set in the list cell register 2 from the calculation unit 5 via the signal line 51. This value is taken into the arithmetic unit 5 via the signal line 23, and by examining the value "7F" in the data type section, it is determined that the cell is a list cell. Therefore, it turns out that it is not lisp Atom data, and outputs a false value. Next, the process of executing the lisp function Cdaar on the list data (AB) shown in FIG. 4 will be described.
In other words, when executing Cdaar [(AB)],
“List (7F), 100” is set in the list cell register 2 from the calculation unit 5 via the signal line 51. The base address storage unit 3 is accessed via the signal line 21 using the value “7F” in the data type section of the list cell register 2, and the value 7F at address 7F is taken out via the signal line 31 and set in the upper part of the address register 4. do. At the same time, the value "100" in the offset address part of the list cell register 2 is set to the lower part of the address register 4 via the signal line 22. Next, the value "7F, 100" set in the address register 4 is sent to the storage unit 1 via the signal line 41, and the value "7F, 100" is sent to the storage unit 1 via the signal line 41.
The data at the next address "7F, 101" is read out and set in the list cell register 2. Through this process, "7F, 201" is set in the list cell register 2 as shown in FIG. After performing similar processing, address register 2 is set to “7F,”
201" is set. To perform car processing based on this value, signal line 4 is set.
Send “7F, 201” through 1 and send “Character (AO),
101" is taken out and set in list cell register 2.Furthermore, in order to perform car processing, similar processing is performed based on "character (AO), 101" of list cell register 2, and the address "AO, 101" is Cdaar processing is completed by extracting the value character "B" and setting it in the list cell register 2. An embodiment of the present invention has been described above, but by using the data type part of the list cell, It was shown that the address space can be expanded, i.e.,
While the conventional example is limited to 24-bit address expression, this embodiment allows 32-bit address expression even though it is a 32-bit long list cell expression. That is, in this embodiment, the data type section of the list cell indicates the data type and also indicates the base address of the storage unit 1 in which the data is stored. (Effects of the Invention) According to the present invention, by using the data type section for base address specification, it is possible to provide a list processing device that exhibits a large address space even when using list data with a small bit width.
第1図は本発明の一実施例を示すブロツク図、
第2図aは従来方式のリストセルを示す構成図、
第2図bは従来方式のリストデータの一例を示す
構成図、第3図aは本発明の実施例のリストセル
を示す構成図、第3図bは本発明の実施例のデー
タタイプ部、データタイプおよびベースアドレス
の関係を示す図、第4図はリストデータの一例を
示す構成図、第5図はベースアドレス記憶部の内
容を示す図である。
1……記憶部、2……リストセルレジスタ、3
……ベースアドレス記憶部、4……アドレスレジ
スタ、5……演算部、6……制御部。
FIG. 1 is a block diagram showing one embodiment of the present invention;
FIG. 2a is a configuration diagram showing a conventional list cell;
FIG. 2b is a configuration diagram showing an example of conventional list data, FIG. 3a is a configuration diagram showing a list cell according to an embodiment of the present invention, and FIG. FIG. 4 is a diagram showing the relationship between data types and base addresses, FIG. 4 is a configuration diagram showing an example of list data, and FIG. 5 is a diagram showing the contents of the base address storage section. 1...Storage unit, 2...List cell register, 3
... base address storage section, 4 ... address register, 5 ... calculation section, 6 ... control section.
Claims (1)
ータタイプ部とオフセツトアドレス部とから成る
リストセルと前記リストセルにより指定されるデ
ータとを格納する記憶手段と、 前記記憶手段から取り出されたリストセルを一
時格納するリストセルレジスタと、 前記リストセルと前記データのベースアドレス
を格納するベースアドレス記憶手段と、 前記リストセルレジスタのデータタイプ部によ
つて選択された前記ベースアドレス記憶手段から
取り出されたベースアドレスと前記リストセルレ
ジスタのオフセツトアドレス部とからなる前記リ
ストセルのアドレスと前記データのアドレスを一
時格納するアドレスレジスタと、 前記リストセルと前記データを処理する演算手
段とを含み前記リストセルおよび前記データをリ
ストセルのデータタイプにより規定される前記ベ
ースアドレス記憶手段に格納されたベースアドレ
スによつて指定することを特徴とするリスト処理
装置。[Scope of Claims] 1. A storage means for storing a list cell including a data type field and an offset address field that define the type of list cell and data, and data specified by the list cell, and from the storage means. a list cell register for temporarily storing retrieved list cells; base address storage means for storing base addresses of the list cells and the data; and base address storage selected by the data type section of the list cell register. an address register for temporarily storing the address of the list cell and the address of the data, comprising a base address taken out from the means and an offset address part of the list cell register; and an arithmetic means for processing the list cell and the data. A list processing device, characterized in that the list cell and the data are specified by a base address stored in the base address storage means defined by the data type of the list cell.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7575085A JPS61234438A (en) | 1985-04-10 | 1985-04-10 | List processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7575085A JPS61234438A (en) | 1985-04-10 | 1985-04-10 | List processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61234438A JPS61234438A (en) | 1986-10-18 |
| JPH0564374B2 true JPH0564374B2 (en) | 1993-09-14 |
Family
ID=13585245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7575085A Granted JPS61234438A (en) | 1985-04-10 | 1985-04-10 | List processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61234438A (en) |
-
1985
- 1985-04-10 JP JP7575085A patent/JPS61234438A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61234438A (en) | 1986-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0248931B2 (en) | ||
| JPS6137654B2 (en) | ||
| JPH0564374B2 (en) | ||
| JPS6148174B2 (en) | ||
| JPS61177700A (en) | complex associative memory | |
| JPS58205255A (en) | Microcomputer device | |
| JPH029401Y2 (en) | ||
| JPH0377533B2 (en) | ||
| JP3091382B2 (en) | Keyboard input reading method | |
| JPH02205937A (en) | Information processing system | |
| JPH05134909A (en) | Free space search method | |
| JP2570407B2 (en) | Programmable controller | |
| JP2707256B2 (en) | Micro computer | |
| JPS61109149A (en) | Data processor | |
| JPS6168636A (en) | Data processor | |
| JPH05210440A (en) | Key input method for key input device | |
| JPH0478942A (en) | Memory access circuit | |
| JPS6364141A (en) | Storage device | |
| JPS5998254A (en) | Address circuit | |
| JPS6346858B2 (en) | ||
| JPS6032189A (en) | Data storage method to memory | |
| JPS6244353B2 (en) | ||
| JPH05127893A (en) | Microprogram control system | |
| JPH0373072A (en) | High-speed picture processing circuit | |
| JPS5839799U (en) | Semiconductor read-only memory device |