CN1004306B - 信息处理装置 - Google Patents
信息处理装置 Download PDFInfo
- Publication number
- CN1004306B CN1004306B CN85107899.0A CN85107899A CN1004306B CN 1004306 B CN1004306 B CN 1004306B CN 85107899 A CN85107899 A CN 85107899A CN 1004306 B CN1004306 B CN 1004306B
- Authority
- CN
- China
- Prior art keywords
- data
- instruction word
- memory storage
- field
- circuit
- 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
Links
- 230000010365 information processing Effects 0.000 title abstract 2
- 230000005055 memory storage Effects 0.000 claims description 14
- 230000003750 conditioning effect Effects 0.000 claims description 9
- 230000001052 transient effect Effects 0.000 claims description 2
- 241001269238 Data Species 0.000 description 12
- 238000000034 method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一信息处理装置包括:用于存储许多指令字和许多数据的第一存储装置;用于暂时存储从所说的第一存储装置读出的一个指令字的第二存储装置;当所说的存在第二存储装置的指令字是第一专用指令字,且在该第一专用指令字中所包含的第一字段要求产生数据时,用于产生数字数据的数字数据发生装置;当所说的存在第二存储装置的指令字是第一专用指令字或第二专用指令字,且在所说的第一或第二专用指令字中所包含的第二字段要求产生数据时,用于产生逻辑数据的逻辑数据发生装置。
Description
本发明关于一种信息处理装置。
在现有技术的信息处理装置中,能够由一条指令产生的立即数据仅限于整数数据或者逻辑数据。并且无法执行立即数据与运算寄存器内容之间的算术操作。如果要求在立即数据与所选定的一个运算寄存器的内容之间进行这种算术操作的诺,则这个立即数据必须先装入另外一个选定的运算寄存器,只有这样才能在两个寄存器之间完成所要的运算。
所以,这种所要求的处理需要一些附加的指令步骤,从而也需要增加相应的处理时间。不仅如此,为了构成一种具有足够功能的处理装置,还需要种种指令,继而需要更加复杂化的指令控制以及为数更多的运算电路。
由国际商业公司1981年出版的“IBM System/370 Principles Operation”(第九版本)中的第5~3页和第5~4页中公开了用于现有技术的处理装置指令格式的一个例子。
因此,本发明的目的是提供没有现有技术处理装置的上述缺点的一种信息处理装置。
根据本发明的结构,所要提供一种信息处理装置包括:
用于存储许多指令字和许多数据的第一存储装置;用于暂时存储从该第一存储装置中读出的一个指令字的第二存储装置;当存在该第二存储装置中的指令字是第一专用指令字或第二专用指令字,且含在该第一指令字中的第一字段要求产生数据时,用于产生数字数据的数字数据发生装置;当存在该第二存储装置中的指令字是第一专用指令字或第二专用指令字,且含在该第一或第二专用指令字中的第二字段要求产生数据时,用于产生逻辑数据的逻辑数据发生装置。
从下面结合附图所做的描述中,本发明的特点和优点将会更容易理解,附图中:
图1是本发明的一个最佳实施方案的方框图;
图2是该实施方案主要部分的电路图;
图3是一个真值表;
图4A至图4D是用于描述该实施方案的图;
图5是用于描述电路201操作的一个图;
在这些图中,相同的参考号码对应地代表相同的电路结构部件。
参照图1,本发明的最佳实施方案包括用于存储指令字(IWS)和数据的主存储器100,和处理装置200。而该处理装置200又包括主存储器控制电路201,32位指令寄存器202,数值数据发生器205,逻辑数据发生器电路206,具有128个64位运算寄存器的寄存器堆203,译码器204,运算电路207和选择电路208至211。该指令寄存器202用来暂存经由电路201从主存储器100读出的一个指令字IW。在寄存器202中所存的一个指令字IW的位元0至7、位元8至15、位元16至23和位元24至31分别构成了操作码OP,用来指定所要执行的指令和操作类型;即寄存器指定字段R,用来在寄存器堆203中指定一个运算寄存器;第一操作数指定字段S1,用来指定第一立即数据或一个运算寄存器;和第二操作数据指定字段S2,用来指定第二立即数据或另外一个运算寄存器。指令字IW的字段OP从指令寄存器202送到译码器204,产生执行该指令所要求的各种控制信号。正如下面所要进一步详细描述的那样,电路205的功能是响应于指令字IW的字段S1而产生所要求的64位整数数据。同样如将在下面进一步详细描述的那样,电路206的功能是响应于指令字IW的字段S2而产生所要求的64位逻辑数据。电路210根据从译码器204来的控制信号,或选择由电路205所提供的数据,或选择由寄存器堆203提供的数据。电路211根据从译码器204来的控制信号,选择由电路206所提供的数据或者选择由寄存器堆203所提供的数据。运算电路207按照指令字IW的OP字段所要求的方式来处理由电路210和/或电路211提供的数据。从运算电路207送出的数据,或是经由电路201存入存储器100,或是送到电路208。电路208选择运算器207送来的数据或经由电路201从存储器100读出的数据,并把所选取的数据送入寄存器堆203。为了指定寄存器堆203中的一个运算寄存器,电路209从寄存器202所存储的指令字IW的字段R、S1和S2当中选取一个字段。电路201具有指令缓冲器,例如是包括两个64位指令缓冲寄存器A和B的一个指令缓冲器。
至于经由这两个寄存器A和B把一些指令字IW传送到指令寄存器202的过程可以参考图1和图5予以简要地说明。假设,在一个时间to点上,事先将一个指令字I1存在缓冲寄存器A的高32位位元上,并将另一个指令字I2存在缓冲寄存器A的低32位位元上。随后,将该指令字I1从寄存器A装入寄存器202,并予以执行。接着在时间to之后的一个机器周期内,再将该指令I2从寄存器A装入寄存器202,并予以执行。同时,在时间点t1上,从存储单元100将一个指令字I3读到缓冲寄存器B的高32位位元,并把一个指令字I4读到缓冲寄存器B的低32位位元。指令字I3和I4是用64位总线同时读出的。下一步,在t2和t3时间点上,顺序地将两个指令字I3和I4从缓冲寄存器B装入寄存器202,并予以执行。于是,在时间点t3,下两个指令字I5和I6用上述同样方式从存储器100读入缓冲寄存器A。此后,继续执行同样的处理。顺便指出,乞今所描述的读的方法,只是一个例子,读方法的选择对于本发明讲不是实质性的问题。构成读最佳实施例的每个电路部件均与一个如图5所示的时钟信号C同步地操作。
现在参看图2,数字数据发生器205是为了接收字段S1,亦即为了接收存在指令寄存器202中的指令字的16至32位内容而设置的。指令字的第16位还馈送到电路203。当第16位的内容呈现逻辑电平“1”(下文中简写为“1”)时,指令字的第17至23位代表寄存器堆203中的一个运算寄存器。当第16位的内容是“0”时,电路205向电路210馈送64位整数数据。64位整数数据的高58位位元中每一位均等于指令字的第17位内容的逻辑电平。64位整数数据的低6位等于指令字的第18至23位的内容。这些整数数据可以表示从-64到+63范围的数值(用二进制补码形式表示负数)。
用于接收字段S2,亦即指令字24至31位内容的逻辑数据发生器电路206包括译码器300,图形发生器301,“与非”门302,“或”门303至307,选择器电路308-1至308-8、和“异或”门309-1至309-8。当指令字的第24位内容是“1”时,则指令字IW的第25到31位用于代表寄存器堆203中的一个运算寄存器。当指令字IW的第24位的内容是“0”时,电路206按如下所述的方式操作,即当指令字26、27和28各位元的内容分别用b26、b27和b28表示时,则译码器300在其输出端Ti(其中i=b26×22+b27×21+b28×20)产生“1”;而当指令字IW29至31各位元的内容分别用b29到b31代表时,则发生器301根据29到31各位元产生如图3所示的8位数据。“与非”门302使译码器300的端子To输出的逻辑电平反相,“或”门303执行端子T2到T7输出的“或”(逻辑加)运算;“或”门305执行端子T4到T7输出的“或”运算;“或”门306执行端子T5到T7输出的“或”运算;“或”门307执行端子T6和T7输出的“或”运算。选择器电路308-j(j=1到8)具有一个第一选择端。当连接到电路308-j的第一选择端的端子Tk(k=j-1)的输出端是“1”时,电路308-j把发生器301输出数据送给门309-j。电路308-1至308-7的每一个都具有第二个选择端。电路308-1到308-6的第二选择端分别连接到门302至307。电路308-7的第二选择端连接到端子T7。响应于送给电路308-1第二选择端的逻辑电平“1”,电路308-1给电路309-1提供每位均为“1”的8位数据。用同样的方法,当施加于电路308-2到308-7的每一个第二选择端的逻辑电平都是“1”时,则电路308-2到308-7分别给门309-2到309-7提供每位均为“1”的八位数据。当给每个电路308-1到308-7的第二选择端都送“0”时,则电路308-1到308-7分别给门309-1到309-7馈送每位均为“0”的八位数据。当给电路308-8的第一选择端送“0”时,则电路308-8给门309-8馈送每位均为“0”的八位数据。
当指令字IW的位元25的内容是“0”时,则电路308-j的输出数据传送给“异或”门309-j。另一方面,当指令字IW的位元25的内容是“1”时,电路308-j的输出数据的其反相逻辑电平形成传送给门309-j。从前面的描述中显而易见,电路206输出64位逻辑数据。当指令字IW的位元25的内容是“0”时,该64位逻辑数据包括高m位(m=b26×25+b27×24+b28×23+b29×22+b30×21+b31×20)且每位都呈现为“1”的数据,和低(64-m)位且每位呈现“0”的数据。相反,当指令字IW的位元25的内容是“1”时,该64位逻辑数据包括每位都呈现“0”的高m位数据和每都呈现“1”的(64-m)低位数据。
用这种方法,将响应于一个指令字的字段S1和S2,所得到的操作数数据送到运算电路207进行由指令字的字段OP所指定的操作。操作的结果装入由指令字的字段R所指定的运算寄存器中。
下一步将介绍本发明要用到的某些指令。逻辑右移指令适用于移位运算寄存器的内容或立即数据,这两种移位都要由这一指令字IW的字段S2所决定,且向右移位的位数要由这一指令字IW的字段S1所规定,逻辑右移指令还适用于把结果装入由指令字IW的字段R所指定的一个运算寄存器。
图4A是说明这个指令字IW的一个例子,图4B说明由这个指令字所得到的64位数据。利用所例举的指令字IW,便能够产生用来提取一个字节数据的屏敝数据,而不必存取主存储器,且无须使用其它IWs。
一个定点加(APD)指令用于对由指令字IW的字段S1和S2所指定的两个操作数作定点加法运算,并将其结果装入由指令字IW的字段R所指定的一个运算寄存器中。图4C表示这种指令字IW的一个例子,根据这个例子,指令字IW是把操作数加到由指令字IW的字段S2所指定的数据上。
“与”指令是用于逐位取由指令字IW的字段S1和S2指定的两个操作数的逻辑积,并将结果装入由该指令字的字段R所指定的一个运算寄存器中。
图4D表示这种指令字IW的一个例子。响应于所说明的指令字的字段S2,便可以得到64位逻辑数据,该64位逻辑数据的最高位是“0”,且其余63位的每一位都是“1”。如果由指令字IW的字段S1所指定的运算寄存器的内容是浮点数据,且该浮点数据的最高位是一个符号位,则该指令字的执行可以提供这个浮点数据的绝对值(其中规定,当浮点数据的符号位为“0”时,该浮点数据是正值,当其符号位是“1”时,该浮点数据是值)。
很明显,对于不使用电路205和206的指令可以用如同在现有技术一样的方式予以处理。例如,对于两个寄存器之间的操作,便可以从用一个IW的字段R和S1的指定的寄存器堆中选择两个输入寄存器来执行,并将由该指令字IW所指定的操作的结果存入由该指令字IW的字段R所指定的寄存器之中。在这个指令字IW中,该指令字IW的字段S2可以不用。
顺便指出,在该最佳实施方案中,当由数字数据发生器电路用为数字数据产生整数数据时,不难想象,这样产生的数字数据会是浮点数据。
虽然本发明始终是结合最佳实施方案进行描述的。但对于那些那些本技术领域的专业人员来说,用各种其他方式来实施本发明也是简易可行的。
Claims (8)
1、一个信息处理装置包括:
用于存储许多指令字和许多数据的第一存储装置;
用于暂时存储从所说的第一存储装置读出的一个指令字的第二存储装置;
当所说的存在第二存储装置的指令字是一专用指令字,且在该专用指令字中所包含的第一字段要求产生数据时,用于产生数字数据的数字数据发生装置,其特征在于还包括:
当所说的存在第二存储装置的指令字是所述专用指令字并且该专用指令字所包含的第二字段要求产生数据时,用于产生逻辑数据的逻辑数据发生装置,该所产生逻辑数据或是包括每位逻辑电平都呈现“1”的高M(M或者是零,或者是一个正整数)位数据和每位逻辑电平都呈现“0”的低N(N或者是零,或者是一个正整数)位数据的第一(M+N)位逻辑数据;或是包括每位逻辑电平都呈现“0”的高M位数据和每位逻辑电平都呈现“1”的低N位数据的第二(M+N)位逻辑数据。
2、根据权利要求1的一个信息处理装置,还包括第三存储装置,该存储装置具有许多存储单元,每个单元分配一个唯一的地址,当这些指令字的一个字段不要求产生数据时,可以由该指令字的所说的第一或第二字段指定地址。
3、根据权利要求2的一个信息处理装置,还包括运算操作装置,该装置接受从所说的数字数据发生装置供给的数字数据,以及由第三存储装置提供的数据然后输出两组数据,以便完成由所说的专用指令字所指定的操作。
4、根据权利要求3的一个信息处理装置,其中,所说的专用指令字包括用于在所说的第三存储装置中指定一个存储单元的第三字段,以便存储由所说的运算操作装置所完成的操作的结果。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP225104/84 | 1984-10-27 | ||
JP59225104A JPS61103241A (ja) | 1984-10-27 | 1984-10-27 | 情報処理装置 |
JP225104/1984 | 1984-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN85107899A CN85107899A (zh) | 1986-04-10 |
CN1004306B true CN1004306B (zh) | 1989-05-24 |
Family
ID=16824041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN85107899.0A Expired CN1004306B (zh) | 1984-10-27 | 1985-10-26 | 信息处理装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4754424A (zh) |
EP (1) | EP0180157B1 (zh) |
JP (1) | JPS61103241A (zh) |
CN (1) | CN1004306B (zh) |
AU (1) | AU584933B2 (zh) |
DE (1) | DE3586709T2 (zh) |
FI (1) | FI91107C (zh) |
NO (1) | NO171816C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6444544A (en) * | 1987-08-12 | 1989-02-16 | Hitachi Ltd | Program control system |
GB2228597A (en) * | 1989-02-27 | 1990-08-29 | Ibm | Data processor with conditional instructions |
JP2882426B2 (ja) * | 1991-03-29 | 1999-04-12 | 株式会社アドバンテスト | アドレス発生装置 |
JP4424465B2 (ja) * | 2003-06-09 | 2010-03-03 | ソニー株式会社 | 情報機器、情報サーバおよび情報処理プログラム |
JP2006154979A (ja) * | 2004-11-25 | 2006-06-15 | Sony Corp | 浮動小数点数演算回路 |
GB2461849A (en) * | 2008-07-10 | 2010-01-20 | Cambridge Consultants | Push immediate instruction with several operands |
US9003170B2 (en) * | 2009-12-22 | 2015-04-07 | Intel Corporation | Bit range isolation instructions, methods, and apparatus |
JP5625903B2 (ja) | 2010-12-29 | 2014-11-19 | 富士通株式会社 | 演算処理装置および演算処理方法 |
US9207942B2 (en) * | 2013-03-15 | 2015-12-08 | Intel Corporation | Systems, apparatuses,and methods for zeroing of bits in a data element |
GB2534555A (en) | 2015-01-20 | 2016-08-03 | Kathrein Werke Kg | Method and system for the automated alignment of antennas |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5914840B2 (ja) * | 1979-10-19 | 1984-04-06 | 日本電信電話株式会社 | 半導体メモリ試験用パタ−ン発生装置 |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
JPS5723110A (en) * | 1980-07-18 | 1982-02-06 | Hitachi Ltd | Sequence controller |
US4467444A (en) * | 1980-08-01 | 1984-08-21 | Advanced Micro Devices, Inc. | Processor unit for microcomputer systems |
US4608634A (en) * | 1982-02-22 | 1986-08-26 | Texas Instruments Incorporated | Microcomputer with offset in store-accumulator operations |
-
1984
- 1984-10-27 JP JP59225104A patent/JPS61103241A/ja active Granted
-
1985
- 1985-10-21 US US06/789,668 patent/US4754424A/en not_active Expired - Lifetime
- 1985-10-23 FI FI854146A patent/FI91107C/fi not_active IP Right Cessation
- 1985-10-24 NO NO854251A patent/NO171816C/no not_active IP Right Cessation
- 1985-10-25 DE DE8585113584T patent/DE3586709T2/de not_active Expired - Lifetime
- 1985-10-25 AU AU49059/85A patent/AU584933B2/en not_active Expired
- 1985-10-25 EP EP85113584A patent/EP0180157B1/en not_active Expired - Lifetime
- 1985-10-26 CN CN85107899.0A patent/CN1004306B/zh not_active Expired
Also Published As
Publication number | Publication date |
---|---|
US4754424A (en) | 1988-06-28 |
CN85107899A (zh) | 1986-04-10 |
FI854146L (fi) | 1986-04-28 |
FI91107B (fi) | 1994-01-31 |
JPH034936B2 (zh) | 1991-01-24 |
NO854251L (no) | 1986-04-28 |
NO171816C (no) | 1993-05-05 |
JPS61103241A (ja) | 1986-05-21 |
EP0180157A2 (en) | 1986-05-07 |
EP0180157B1 (en) | 1992-09-30 |
AU4905985A (en) | 1986-05-01 |
DE3586709T2 (de) | 1993-05-06 |
AU584933B2 (en) | 1989-06-08 |
FI91107C (fi) | 1994-05-10 |
NO171816B (no) | 1993-01-25 |
EP0180157A3 (en) | 1989-01-25 |
DE3586709D1 (de) | 1992-11-05 |
FI854146A0 (fi) | 1985-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100638703B1 (ko) | 데이터 프로세싱 시스템용 셀룰러 엔진 | |
KR960003046B1 (ko) | 비정렬 레퍼런스의 처리가 가능한 risc 컴퓨터 및 그 처리방법 | |
EP0240032A2 (en) | Vector processor with vector data compression/expansion capability | |
KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
GB2077965A (en) | Data processing unit with pipelined operands | |
JPS59117666A (ja) | ベクトル処理装置 | |
US5187783A (en) | Controller for direct memory access | |
US4317170A (en) | Microinstruction controlled data processing system including micro-instructions with data align control feature | |
EP0126247B1 (en) | Computer system | |
GB2234833A (en) | Pipelined register write buffer | |
CN1004306B (zh) | 信息处理装置 | |
US5307300A (en) | High speed processing unit | |
US5019969A (en) | Computer system for directly transferring vactor elements from register to register using a single instruction | |
US6301651B1 (en) | Method and apparatus for folding a plurality of instructions | |
US4133028A (en) | Data processing system having a cpu register file and a memory address register separate therefrom | |
JPH0748179B2 (ja) | データ処理装置 | |
US3260840A (en) | Variable mode arithmetic circuits with carry select | |
US3681762A (en) | Auto-sequencing associative store | |
US4959778A (en) | Address space switching apparatus | |
US2978679A (en) | Electrical information processing apparatus | |
KR920002573B1 (ko) | 데이타 처리기 | |
US4811213A (en) | Vector processor with vector registers | |
EP0580109B1 (en) | Data acces in a RISC digital signal processor | |
JPH0315772B2 (zh) | ||
JPS619725A (ja) | マイクロプログラム制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |