US3978453A - Input keyboard apparatus for an electronic computer - Google Patents

Input keyboard apparatus for an electronic computer Download PDF

Info

Publication number
US3978453A
US3978453A US05/459,159 US45915974A US3978453A US 3978453 A US3978453 A US 3978453A US 45915974 A US45915974 A US 45915974A US 3978453 A US3978453 A US 3978453A
Authority
US
United States
Prior art keywords
key
register
microinstruction
shift
counting
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
Application number
US05/459,159
Other languages
English (en)
Inventor
Gastone Garziera
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.)
TIM SpA
Original Assignee
Ing C Olivetti and C SpA
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 Ing C Olivetti and C SpA filed Critical Ing C Olivetti and C SpA
Application granted granted Critical
Publication of US3978453A publication Critical patent/US3978453A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Definitions

  • the present invention relates to an electronic computer comprising an information input keyboard and a memory for storing an indication of an actuated key.
  • the transfer of information from a peripheral keyboard to the central unit generally takes place after encoding of the information entered on the keyboard.
  • the central unit then sends the relevant control signals to the keyboard controller, commanding the desired transfer.
  • This method of operating entails a relative slowness which is also due to the limited speed of the peripheral decoding circuits.
  • these decoding circuits generally require for their driving special electrical characteristics of the pulses generated by the keys of the keyboard, and this is reflected in the complexity both of the circuitry and of the design of these circuits.
  • keyboards moreover, for example those employing matrices of diodes, in addition to having a limited working speed, use a large number of components.
  • an electronic computer comprising an information input keyboard and a memory for storing an indication of an actuated key, characterised in that the keys of the keyboard are assigned to a progressive order, means being provided for producing the storage in the memory of a number corresponding to the progressive order of the actuated key.
  • FIG. 1 is a block diagram of the computer embodying the invention
  • FIG. 2 is a block diagram of a random access read/write memory (RAM) of the computer
  • FIG. 3 is a block diagram of the central unit
  • FIG. 4 is a diagram of a memory package of a scratch pad memory
  • FIG. 5 is a complete diagram of the scratch pad memory of the computer
  • FIG. 6 is a diagram of the encoding circuits of the keyboard
  • FIG. 7 is an example of a multiplexer circuit used for recording in memory
  • FIG. 8 shows an adding circuit of the central unit
  • FIG. 9 is a timing diagram
  • FIG. 10 is a flow chart of the machine states
  • FIG. 11 is a flow chart of the keyboard encoding microprogramme.
  • FIG. 12 shows the format of a microinstruction.
  • FIG. 1 shows a computer constituted essentially by a base machine 2.
  • the machine 2 comprises a central unit 1 adapted to control, in the manner which will be described hereinafter, the processing of the data and the flow thereof between the other units of which the computer is composed.
  • the machine 2 moreover comprises a random access read/write memory 3, labelled the RAM, adapted to store data and instructions to be utilized in successive processing operations.
  • the machine 2 furthermore comprises a read-only control memory 5, hereinafter called the ROM, adapted to store the microprograms controlling the elementary machine operations.
  • the central unit 1 is moveover connected through a channel 7 to two control units 9 and 11.
  • the controller 11 controls in known manner the exchange of information between the central unit 1 and a peripheral magnetic tape unit 13 and is of known type.
  • the controller 9 is adapted to control the exchange of information between the central unit 1 and a group of peripherals 15, 17, 19 and 21 each controlled by a corresponding group of actuating circuits 10.
  • the peripheral 15 is an alphanumeric keyboard, the key arrangement of which is of the type described in U.S. Pat. No. 3,692,167 in the name of Teresio Gassino.
  • the peripheral 17 is an alphanumeric serial printer, for example of the type described in U.S. Pat. No. 3,651,916 in the name of Raffaele Becchi.
  • the peripheral 19 is a read/write unit for magnetic index cards, of the type described in U.S. Pat. No. 3,495,222 in the name of Pier Giorgio Perotto and Giovanni De Sandre.
  • the peripheral 21 is a command console of a type known per se and therefore not described in detail. It comprises substantially function pushbuttoms and indicators which define the operative state or order of the machine.
  • One pushbutton called, for example, the "Record Program” pushbutton, defines that an instruction tapped out on the keyboard must not be executed but is to be loaded into the RAM 3.
  • Another pushbutton called the “Single Step” pushbutton, defines the execution step by step of the program, which then stops after each instruction carried out. This is then printed by the printer 17.
  • peripherals such as a plotter, measuring instruments, an auxiliary printer and a diagnostic apparatus may be connected to the central unit through a connecting unit 23.
  • the RAM 3 is a read and write memory, comprising semiconductors, i.e., produced by MOS technology and having a preferred maximum capacity of 4096 locations, each location being composed of four bits sufficient to represent a numeric character from 0 to 9.
  • the RAM 3 (FIG. 2) is constituted by 16 MOS chips 14 0 , 14 1 . . . 14 15 grouped in four groups. These are disposed physically in four superposed planes. More particularly, each group includes one chip from each plane and to the first group there belong the chips 14 0 , 14 4 , 14 8 , 14 12 , to the second group there belong the chips 14 1 , 14 5 , 14 9 , 14 13 , and so on for the other groups. Each chip contains 1024 bits disposed in a square grid of 32 positions per side. A four bit character is stored at four like positions of the four chips in a group.
  • the RAM 3 provides a parallel output of 4 bits called UME 00, UME 10, UME 20, and UME 30 and writes in parallel input of 4 bits called RM001, RM011, RM021 and RM031.
  • the outputs are rendered active in the absence of a writing enabling signal, while the inputs RMO are rendered active by the presence of the writing enabling signal.
  • This signal is emitted by a suitable circuit known per se included in the central unit 1 (FIG. 3) in a sequence network 24 thereof, as a function of the reading or writing instruction which it is desired to carry out.
  • a generic numeric datum is represented by a mantissa or fixed point part of 12 characters, an exponent of two characters and 4 bits, the first of which represents the algebraic sign of the exponent and the last that of the fixed point part.
  • Table 1 shows an example of floating point representation of the numbers 0.0004951627 and -- 29,841,630.2051.
  • each register of the RAM 3 may contain five program instructions, each of which has a length of 12 bits.
  • the instructions are composed basically of two fields: one which represents the operation to be effected is called the "Function code,” while the other which identifies the register on the contents of which it is desired to operate is called the "Operand.”
  • the operand indicates the memory location starting from which the next instruction to be carried out will be found.
  • these instructions are compiled by the operator on the keyboard 15 (FIG. 1) by means of a combination of numeric and function keys.
  • the ROM 5 (FIG. 1) is a read-only control memory constituted by 12 MOS chips. Permanently recorded therein are the microinstructions which permit the execution of the keyboard instructions and produce the exchange of data between the various parts of the base machine 2 in accordance with the technique of microprogramming. Since each chip of the ROM contains 4096 bits and each microinstruction has a length of 16 bits, the maximum number of microinstructions which the ROM 5 can contain is 3072.
  • the ROM is divided into six "pages", each comprising 512 microinstructions. The microinstructions are addressable by means of 12 bits: 3 to select the "page” and 9 to select the microinstruction from among the 512 possible in the "page".
  • the set of microinstructions is founded upon 35 different possible machine microoperations: these can be formed into six groups:
  • the central unit 1 (FIG. 3) comprises a service or temporary memory 16, which will hereinafter also be called the S.P. (Scratch pad).
  • S.P. Serial Bus pad
  • the latter is preferably constructed with bipolar integrated circuits: this enables speeds greater than those obtainable with MOS integrated circuits to be obtained.
  • the S.P. 16 is composed of sixteen registers RO . . . R9, RA . . . RF. These registers each carry 12 bits available in parallel and disposed in 12 packages, each indicated by the reference 25 and constructed as shown in FIG. 4. Each package 25 contains 16 bits, which are the corresponding bits of the registers RO . . . R9, RA . . . RF. For example, the first package contains all the first bits of the 16 registers: the second package contains all the second bits of the 16 registers and so on as far as the 12th package which contains all the 12th bits of the 16 registers. Four bits are sufficient for addressing the registers of the S.P. 16.
  • the usefulness of having both 4-bit registers and 12-bit registers in the S.P. memory 16 is the possibility of accommodating both 4-bit data coming from the RAM 3, to be retransmitted to the RAM 3 after being processed, and 12-bit addresses of the RAM 3 or the ROM 5.
  • registers R8 . . . RB The contents of these registers are automatically transferred to the registers R8 . . . RB, respectively, during the stages of initialization of the system which are started by pressing a RESET pushbuttom known per se included in the keyboard 15 (FIG. 1).
  • FIG. 3 There is moreover a fourth column in the S.P. (FIG. 3), which is constituted by a single register SO2 consisting of four bistable flip-flops C, D, E, F.
  • the register SO2 can be addressed by using only two bits necessary to identify the column of flip-flops C, D, E, F, since the register SO2 is the only one in the column.
  • the flip-flops C, D, E, F are used as switching elements and are set according to quantitative results of a number of microinstructions, such as, for example, a number different from zero, a binary carry higher than 15, a binary carry higher than 4095, a binary number greater than 9.
  • the outputs of the S.P. 16 are connected to a reading or buffer register 16a composed of twelve bipolar flip-flops and which, in addition to storing the data output by the S.P. 16 and which is to be processed, serves as a channel for the data output by the central unit 1 to the peripheral units and to the RAM 3.
  • the buffer 16a may contain the address of the RAM 3 or alternatively the current address of the ROM 5.
  • the central unit 1 moreover comprises a writing network 16b at which there arrives the data which, after being processed by the arithmetic and logic unit, must return to the S.P. 16, or the data which enter the S.P. 16 from the peripherals, or from the RAM 3, or from the ROM 5.
  • the network 16b is constituted by twelve like multiplexers, one per bit, of which only one WA1 is shown in FIG. 7. Each multiplexer has eight inputs selectable by three commands CSW1 to CSW3 of the central unit 1, and two outputs WAO, WAN, one direct and one negated.
  • the central unit 1 (FIG. 3) moreover comprises an arithmetic and logic unit 18 constituted by an adder 18a (FIG. 8) having 12 cascaded stages U1 to U12 and of a type known per se, each of which is capable of executing an addition of three bits at a time.
  • Two inputs 1, 2 of each stage are supplied with the bits to be added, the third R serves for the possible carry bit and forms the connection between the various stages of the adder. That is to say, the carry output of a certain stage constitutes the carry input of the following stage.
  • the first stage receives at its input R a command CS from the central unit 1 which is equivalent to the presence of a 1 bit at the input R.
  • the adder 18a may be used as a 4-bit parallel adder, utilizing the outputs U1, U2, U3, U4 of the first four stages, or as a 12-bit parallel adder, utilizing all the outputs U1, U2, U3 . . . U12, respectively, for the additions on data and for the additions on addresses.
  • the 12-bit outputs of the adder 18a constitute one of the inputs of the multiplexers WA1 to WA12 (FIG. 7) of the writing network 16b of the S.P. 16 (FIG. 3).
  • the 4-bit outputs of the adder 18a constitute another of the inputs of the multiplexers WA1 to WA4 (FIG. 7) of the network 16b.
  • the unit 18 moreover comprises a logic network 118 (FIG. 3) known per se which performs the logical AND, NAND, OR and exclusive-OR functions between two 4-bit characters.
  • the outputs of this logic network 118 constitute the two inputs AND and OR of WA1 (FIG. 7) and therefore of the S.P. 16 (FIG. 3).
  • the central unit moreover comprises a 16-bit register 20 hereinafter called the ROM buffer 20.
  • This is a register contained in the central unit 1 which has output buffer functions for the microinstructions contained in the ROM 5.
  • Each microinstruction follows a cycle in which, before being executed, it must be extracted from the ROM 5 at the address indicated by the first register RO of the S.P. 16, this address being incremented by 1 immediately afterwards, upon a command from the central unit 1.
  • the register 20 receives the microinstruction in the 16-bit format, which is common to all the 35 possible microinstructions.
  • the 16 bits of the microinstruction are assembled in three fields F, X, Y (FIG. 12).
  • the first field F consisting of four bits, serves to identify the function code
  • the second field X consisting of 6 bits generally serves to address a first operand in the S.P. 16
  • the third field Y consisting of another 6 bits generally serves to address a second operand (4-bit registers) in the S.P. 16. Since the field F alone enables 16 possible microinstructions to be represented with its four bits, the remaining 19 microinstructions of the 35 different ones possible are represented by making use of 2 bits of the field X or Y which are marked with an asterisk in FIG. 12. In these cases, the remaining bits of the field X or Y are always sufficient for addressing the first and second operands, respectively, contained in two 12-bit registers of the S.P. 16.
  • the operand constituting the address is the only one and is formed by the fields X and Y together, which identify the configuration of all the 12 bits of the address.
  • the central unit 1 (FIG. 3) comprises a sequence network 24 adapted to generate combinatory-logic signals, called central unit commands, which ensure correct carrying out of a microinstruction.
  • This network 24 receives as input the decoded results obtained from the information coming from the ROM buffer 20 and arranges them from the time point of view, making use of the machine timing established by unit 22.
  • These commands serve, for example, to enable the passage of information, to take logical decisions, to select data, to update addresses.
  • a set of five decoders 27 of a type known per se effects the main decoding operations appertaining to the microinstructions.
  • the inputs of five decoders 27 receive the bits of the field F and of the field X, Y (FIG. 12) of the buffer 20.
  • the central unit 1 (FIG. 3) comprises a first pair of multiplexers 26, each having eight inputs, which are connected to the interface 7 (FIG. 1) and are adapted to receive signals indicating the state of the peripherals, and a second pair of multiplexers 126 (FIG. 3) having eight inputs, which are connected to the reading register 16a and adapted to receive the information recorded in a particular register of the S.P. 16.
  • the multiplexers 26 and 126 are of known type and each of them has an output connected to an AND circuit 131 which also receives a signal emitted by the decoder 27 and indicating the particular microinstruction which is being executed.
  • each of the multiplexers 26 and 126 has four selection inputs connected to two AND circuits 134 and 135, respectively, for receiving as many selection signals. Of these one selects one of the two multiplexers of each pair and the others select the input which it is desired to poll.
  • the exchange of information between the central unit 1 (FIG. 1) and the controller 9 of the peripherals is ensured by a series of interface signals generated by the controller 9 of the peripherals or by the central unit 1.
  • the signals generated by the controller 9 of the peripherals there appear 16 external conditions EPC1 . . . EPC9, EPCA . . . EPCG which reveal particular machine conditions (that is, for example, one of the pushbuttons of the console 21 depressed, or one of the keys of the keyboard 15 actuated) and are sent to the inputs of the two multiplexers 26.
  • the output of the ROM buffer 20 (FIG. 3) which is concerned with the signals of the fields X and Y of the microinstructions varies according to the various microinstructions which are extracted from time to time from the ROM 5 and buffered in the ROM buffer 20. More particularly, while the four bits of the field F of the microinstructions interact with the sequence network 24 (decoder 27 and register TAS), the 6 bits of the field X and the 6 bits of the field Y of the microinstructions have the following possible outputs determined by enabling signals of the sequence network 24 which are not shown in FIG. 3:
  • a selection network 120 known per se, for the coordinates X1 . . . X4, Y1 . . . Y4 of the S.P. 16, for the microinstructions which process the contents of a register of the S.P. 16.
  • the machine timing is produced by a sequential logic network 22 (FIG. 3) included in the central unit 1, which causes the commands of the central unit 1 to have duration characteristics such as to stabilize various states or cycles of the machine.
  • five different states may occur, these being called generally TAS in FIG. 3, and TAS0, TAS1 . . . TAS4 in FIG. 10.
  • TAS sequential logic network
  • TAS0, TAS1 . . . TAS4 To each of these there corresponds a homonymous flip-flop which remains set for the duration of a cycle time.
  • the five flip-flops are in the sequence network 24 (FIG. 3) and make up a register TAS in which the present information is a function both of the preceding information and of the information of the ROM buffer 20.
  • the timing logic network 22 comprises a quartz oscillator which generates a waveform TCPTO (FIG. 9) with a period of about 100 nanosecs. This is sent to a counter formed by four J-K connected flip-flops, so that there is obtained as output four waveforms TBA . . . TBD with a period 8 times larger, that is of about 0.8 microsec.
  • the various timing signals are indicated in FIG. 9. The period of the output signal TBD identifies the machine cycle.
  • the central unit 1 To initiate a processing operation, the usual RESET key is pressed and puts the central unit 1 into a processing-commencement or start-awaiting state in a manner known per se.
  • the microinstruction is read from the ROM buffer 20 and interpreted.
  • the microinstruction is executed; each microinstruction is therefore executed in a time which is a multiple of the machine cycle by means of a corresponding sequence of microoperations.
  • the last microoperation carried out is, however, always the return to the states TAS0 - TAS3 of reading of the next microinstruction, the address of which is in the first register RO of the S.P. 16 (FIG. 3) updated by the central unit during the preceding reading stage.
  • a flip-flop NV of the sequence network 24 is connected to the AND circuit 131 and serves to exert an influence on the sequence of the register TAS, as will be seen better hereinafter.
  • the machine passes to the state TAS1 (stage 111 in FIG. 10) if the bit of greater weight of the microinstruction code F4 is 1; otherwise, the machine passes to the state TAS2 (stage 112).
  • a microinstruction In the event of the machine having passed from the logical decision 113 to the stage 112, a microinstruction must be carried out in two stages, such as, for example, a double addressing in the S.P. 16.
  • the microinstructions interrogating the RAM 3 which have the bit of greater weight F4 0, while being carried out in two stages, come within the alternative case of direct passage to TAS2 after the reading through the medium of the decision 114, without passing through TAS1. These last microinstructions are concluded in the state TAS4 (stage 115).
  • the addresses are handled in the state TAS2 and the data are handled in the state TAS4.
  • the flow of states includes the state TAS2 occurring immediately after the reading of the microinstruction. These microinstructions are exhausted in the state TAS2, the command DMGM emitted by the network 24 and characteristic of the microinstructions interacting with the RAM3 not being present. In this case, there is a return from the logical decision 116 to the stage 110.
  • the microinstruction IND serves to introduce an item of data from outside into the S.P. 16.
  • the field X of the microinstruction addresses the corresponding register of the S.P. 16 through a conductor 90 (FIGS. 3 and 5).
  • the sequence network 24 In response to the microinstruction itself, the sequence network 24 generates a command for zeroizing the register and the following writing, emitted by the input item of data.
  • the microinstruction OUD serves to pass an item of data to the outside from the S.P. 16.
  • the field X of teh microinstruction addresses the register of the S.P. 16.
  • the sequence network 24 generates a command for zeroizing the buffer 16a and a command for transfer of the item of data from the selected register to the buffer 16a, which emits it to the outside.
  • the microinstruction COM serves to send the commands of the microprogram to the outside.
  • the commands contained in the fields X and Y of the microinstruction are enabled by the sequence network 24 and issue at the interface 7 (FIG. 1).
  • the microinstruction SAE serves to perform a jump in the ROM 5 if a predetermined external condition appearing on the multiplexers 26 (FIG. 3) is verified.
  • the four bits X3 . . . X6 of the field X of the microinstruction arrive, in coincidence with a signal 132 (FIG. 3) emitted by the sequence network 24, at one of the two multiplexers 26 analyzing the external condition coming from the peripherals through the medium of the interface 7.
  • the OR of the outputs of the two multiplexers 26 generates a signal CCE which, in AND relationship with a signal BM0 emitted by the decoder 27 as decoded form of the microinstruction SAE, sets the flip-flop NV (FIG. 3), as a result of which passage to the state TAS2 (FIG. 10) takes place.
  • the sequence network 24 causes the S.P.
  • the microinstruction SAD serves to perform a jump in the ROM 5 if a predetermined one of the switching elements contained in the register R2 and the register SO2 of the S.P. 16 is set.
  • the contents of the registers R2 and SO2 are sent through the medium of the register 16a and a connection 30 to the 16 inputs of the multiplexers 126.
  • the multiplexers 126 there also arrive the four bits X3 . . . X6 of the field X of the same microinstruction which are enabled by a signal 133 emitted by the sequence network 24 for selecting one of the 16 switching elements.
  • the flip-flop NV in the sequence network 24 is set and produces passage to the state TAS2.
  • the sequence network now addresses the S.P. 16 at the register RO, causes the zeroizing of the register RO of the S.P. 16 and produces the writing therein of the eight bits of the field Y, X1, X2, as the new address of the ROM 5, within the limits of the half page of the ROM to which the microinstruction SAD belongs.
  • the microinstruction SAN serves to perform a jump in the ROM 5 if a predetermined one of the 16 switching elements contained in the register R2 and the register SO2 of the S.P. 16 is not set.
  • the 16 bits of the aforesaid two registers are sent, through the medium of the register 16a and the connection 30 (FIG. 3), to the 16 inputs of the multiplexers 126 which are selected by four signals X3 . . . X6 from the field X of the same microinstruction SAN, in a similar manner to the preceding case.
  • the switching element selected is found low, there is output from the multiplexers 126 a signal CDE which, in AND relationship with the decoded form BM1 of the microinstruction SAN, sets the flip-flop NV in the sequence network 24.
  • the register RO of the S.P. 16 is first addressed and then cleared. Then there are written therein the eight bits of the field Y - X1 - X2 of the microinstruction SAN, as the new address of the ROM 5, within the limits of the same half page.
  • the microinstruction INR writes to increment the register of the S.P. 16, addressed by the field X, by the quantity indicated by the field Y.
  • the register of the S.P. 16 to be incremented is addressed by the field X of the microinstruction and sent to the adder 18a (FIG. 3) together with the contents of the field Y.
  • the register in the S.P. 16 is zeroized by a zeroizing command, after which the result of the addition is retransferred to the address previously indicated by the field X.
  • the switching element C is set.
  • the microinstruction ADI serves to add the 4-bit register of the S.P. 16 indicated by the field X to the operand contained in the field Y.
  • the operations commanded by the microinstruction are identical to those described for the microinstruction INR.
  • the microinstruction ORI performs the logical OR function between the 4-bit register indicated by the field X and the contents of the field Y. If, in this field, a bit is put into a microprogramming state equal to 1, the corresponding bit of the S.P. register addressed by the field X will turn out to be equal to 1 even if it was at zero before. This register, modified in this way, is thereafter rewritten in the place previously occupied in the S.P.
  • the microinstruction ANI performs the logical AND function between the 4-bit register of the S.P. 16 addressed by the field X and the contents of the field Y.
  • the contents of the register selected by the field X are transferred to the logic network 118 (FIG. 3) together with the field Y.
  • the output of the logic network 118 constitutes the input of the register selected by the field X, which in the meantime is zeroized by zeroizing commands of the sequence network 24.
  • the keyboard 15 (FIG. 1) comprises a plurality of keys indicated diagrammatically by reference 34 (FIG. 6).
  • FIG. 6 there is indicated for each key the corresponding information which can be entered by it.
  • the circuit of the various contacts represents a matrix constituted by eight rows and eight columns.
  • the keys 34 are shown diagrammatically as being disposed in accordance with the said matrix, but in reality they may assume any arrangement by means of a suitable path of the conductors of the circuit. It will therefore be understood that the terms row and column are used herein merely as convenient labels for the coordinate directions of the matrix and do not imply any physical arrangement in rows and columns. Moreover it is convenient to assign the label "column" to the coordinate which is read out first.
  • each key 34 there are disposed two separate contact areas 37, 38 reachable by a movable snap contact known per se of the key 34 to produce the short-circuiting of these contact areas. (See the key in the fourth row down and fourth column from the left).
  • Each of the areas 37, 38, for each row and column of keys is connected to a corresponding column conductor 39, 39 1 , 39 2 and so on, and to a corresponding row conductor 40, 40 1 , 40 2 and so on, respectively, forming in this way a matrix of contacts 37, 38.
  • Each of the column conductors 39, 39 1 , 39 2 . . . is individually connected through the medium of a resistor 41, 41 1 , 41 2 to a source of constant voltage with a value of +2 5V, as a result of which the depression of a key 34, producing the short-circuiting of the areas 37, 38, produces a temporary electrical connection between a column conductor 39, 39 1 , 39 2 . . . and a row conductor 40, 40 1 , 40 2 . . . , at a corresponding intersection of the matrix. At this intersection there is generated an electric pulse used to define the coordinates of the intersection which identify the key actuated. To this end, each of the eight column conductors 39, 39 1 , 39 2 .
  • Each of the eight row conductors 40, 40 1 , 40 2 . . . is connected directly to the base of a corresponding transistor 47, 47 1 , 47 2 . . . of the NPN type, the collector of which is supplied through a resistor 48, 48 1 , 48 2 . . . by a common source of voltage with a value of +5V.
  • the emitter of each of the transistors 47, 47 1 , 47 2 . . . is connected to the corresponding base electrode through a resistor 49, 49 1 , 49 2 . . .
  • the emitters are interconnected and are connected through a common resistor 130 to a point 43 at a negative potential of -20V and to the cathode of a diode 31, the anode of which is connected to a reference potential point 42.
  • Each collector of the eight transistors 47, 47 1 , 47 2 . . . is independently connected to the direct set terminal 55 of a corresponding flip-flop 33, 33 1 , 33 2 . . . which is also of the J-K type and like each of the flip-flops 36, 36 1 , 36 2 . . . .
  • the sixteen flip-flops 33, 33 1 , 33 2 . . . , 36, 36 1 , 36 2 . . . are moreover interconnected in series by connecting the input terminals J-K of each of the flip-flops 33 1 , 33 2 . . . , 36, 36 1 , 36 2 . . .
  • each of the flip-flops 36, 36 1 , 36 2 . . . , 33, 33 1 , 33 2 . . . having the terminals J-K and the direct set terminal 45, 45 1 , 45 2 . . . , 55, 55 1 , 55 2 , . . . , it also has a clock terminal 59.
  • each of the negated output terminals Q of the flip-flops 33, 33 1 , 33 2 . . . is connected to a corresponding input terminal of an OR circuit 50.
  • a 1 level is necessary at the terminal K simultaneously with a clock pulse.
  • the logical levels of the direct outputs Q of all of the flip-flops 33, 33 1 , 33 2 . . . , 36, 36 1 , 36 2 . . . of the shift register are forcibly kept at 0 by the potential of the reference point 42 which drives the input terminal J of the first flip-flop 33.
  • the potential of the corresponding collector falls from the value of +5V to a potential close to that of the reference point 42.
  • the result is, therefore, that the corresponding flip-flop 33, 33 1 , 33 2 . . . being driven at the direct set terminal 55, 55 1 , 55 2 . . . by a logical 0 level, changes over the level of its own direct output Q to a 1 level.
  • the short-circuiting of the contact areas 37, 38 moreover produces a 0 level at the direct set terminal 45, 45 1 , 45 2 . . . of the corresponding flip-flop 36, 36 1 , 36 2 . . . , since the direct set terminal drops from the 1 level at which it was maintained by the voltage of +5V through the resistors 41, 41 1 , 41 2 . . . to a lower level established by the negative potential of the point 43.
  • each key 34 produces the storage of a 1 level in two flip-flops, one belonging to the first groups of eight flip-flops, 33, 33 1 , 33 2 . . . and the other belonging to the second group of eight flip-flops 36, 36 1 , 36 2 . . . , that is, to each key 34 actuated there corresponds in the shift register 57 a pair of 1 bits stored in a corresponding pair of flip-flops.
  • the encoding of the key 34 depressed is based on the count of the pulses which shift the set bits of the shift register 57 until the set bits issue therefrom.
  • Control of the central unit 1 then passes to a set of microinstructions ANI which, carrying out an AND operation between a 4-bit register of the S.P.s 16, indicated by the field X of the microinstruction, and the first four bits equal to zero contained in the field Y, produce the zeroizing of the registers of the S.P. 16 which are concerned by the data encoding routine (operation 101 in FIG. 11).
  • a set of microinstructions ANI which, carrying out an AND operation between a 4-bit register of the S.P.s 16, indicated by the field X of the microinstruction, and the first four bits equal to zero contained in the field Y, produce the zeroizing of the registers of the S.P. 16 which are concerned by the data encoding routine (operation 101 in FIG. 11).
  • three successive microinstructions ANI are used for the 12-bit registers.
  • the registers concerned by the data encoding routine are:
  • RA which is used for effecting the encoding of the key 34 depressed, adding thereto the shift command pulses necessary for the extraction of the bit set in the section 36, 36 1 , . . . 36 7 of the register 57 (FIG. 6);
  • RB which is used for counting all eight shift command pulses necessary for bringing the bit set in the section 33, 33 1 . . . 33 7 of the register 57 from the original position to the corresponding position in the section 36, 36 1 . . . 36 7 ;
  • a microinstruction SAE commands the sampling of the input EPC4 of the multiplexer 26 to find out whether the bit in the section 36, 36 1 . . . 36 7 is present as output from the register 57.
  • the bit since the key P has been depressed, the bit was in the flip-flop 36 4 at the beginning. So that this bit may issue from the register 57, it will be necessary in our case to carry out three shifts (operation 103 in FIG. 11), which are effected by a microinstruction COM which sends a clock pulse over the conductor 59 (FIG. 6) of the register 57.
  • a third switching element F (FIG. 3) of the register SO2 of the S.P. 16 is set after eight shifts and indicates the stage of search for the second bit set by the depressed key34 (FIG. 6).
  • an addition microinstruction ADI commands the addition of 2 (contents of its field Y) to the register RB addressed by the field X of the same microinstruction (operation 105 in FIG. 11), for a reason which will be seen hereinafter.
  • a microinstruction SAD commands sampling of the switching element E (logical decision 108) and, since this is not yet set, a microinstruction ORI attends to the setting thereof, performing an OR operation between the register SO2 of the S.P. 16 (FIG. 3), which is addressed by the field X of the microinstruction, and the first four bits of the field Y, which are equal, in this case, to 0010 (operation 109 in FIG. 11).
  • the register RA of the S.P. 16 now contains the result of this count, which in our case has a value of 3 and represents a part of the encoding of the depressed key.
  • the number of shifts for extracting the first bit corresponds to the serial number of the column of the depressed key. Since the maximum number of these shifts is eight, this column is encoded in binary code with three bits. After this, the shift operations of the register 57 recommence (operation 103).
  • the logical decision 108' now gives a positive result, as a result of which the stage of incrementaition of the encoding register RA (operation 104) is skipped, while the register RB continues to increment itself up to the eighth shift (operation 105).
  • the switching element C of the register SO2 of the S.P. 16 is adapted to be set to indicate the overflow condition of register RB.
  • This switching element C is tested, after each microinstruction ADI which effects the addition: RB + 2, by a microinstruction SAD.
  • EPC4 the routine resumes from the testing of the external condition EPC4, waiting for the bit to issue from the register 57.
  • EPC4 is again zero, as a result of which the process continues until the register RB overflows.
  • microinstruction SAD now finds the switching element C in the high position and produces the execution of another microinstruction SAD which now analyzes the switching element F (logical decision 106). Since this switching element has not yet been set, it is set by a microinstruction ORI (operation 106').
  • the second bit has shifted from the section 33, 33 1 . . . 33 7 into the corresponding position in the section 36, 36 1 . . . 36 7 of the register 57.
  • a microinstruction ANI resets the switching element E (the same operation 106) and again permits the counting of the shift commands, this time to cause the second bit to issue from the first section of the shift register 57 into which it has shifted through the effect of the 8 clock pulses.
  • the column to which the keys 34 belong is identified by a progressive number running from left to right from 1 to 8.
  • the key 34 is identified by the serial number of the row which runs from top to bottom from 1 to 8.
  • the flip-flop 33 2 may therefore represent the keys ⁇ , F to L represented by the numbers 40 to 47.
  • the corresponding bit, now transferred to the flip-flop 36 2 must therefore be counted with weight 8.
  • each count RA + 1 is caused to be followed by an addition + 7 in binary (operation 107), so that the 3 bits of this second count are disposed side by side with the preceding three bits in the register RA of the S.P. 16, thus conferring the weight 8 on the three bits of the second count.
  • the code 011 equal to 3 in decimal
  • the code 101 equal to 5 in decimal.
  • the complete code obtained is: 101011 equal to 43.
  • the switching element E is now set (operation 109). This now causes the stages of addition RA + 1 to addition RA + 7 (operations 104 and 107) to be skipped.
  • the incrementation of the register RB is continued until there is an overflow after eight shifts, thus ensuring the encoding of any key.
  • the testing of the switching element F caused by the second overflow of the register RB gives a positive result and starts an end-of-keyboard-encoding routine.
  • This routine commands in known manner the transfer of the encoded data item in the register RA to a predetermined register of the S.P. 16. After this, a new encoding routine can begin in response to a possible new key being depressed.
  • the information encoded in the manner described and temporarily stored in the register of the S.P. 16 undergoes immediate processing by the central unit 1 as a function of the operative key depressed, the encoding of which is also in the S.P. 16.
  • the operator has preset the "Record program” pushbutton on the console 21 at ON, the information will be transferred to the store RAM3 through the reading buffer 16a under the control of a suitable series of microinstructions.
  • the keys 34 of the keyboard are arranged or ordered progressively and that the means ROM 5, 24, 57, 26 cause the placing in the memory S.P. 16 of a number corresponding to the progressive order of the key. More particularly, since the keys are arranged in a matrix of m rows for n columns, the counting means RA, 24, RB first effect the counting of the shift operations necessary so that the pulse recorded in the cell 36 . . . 36 7 of the first group may issue from the shift register and thereafter the counting of the shift operations necessary so that the pulse recorded in the cell 33 . . . 33 7 of the second group may issue from the said shift register.
  • the encoding circuit of the keyboard is thus particularly simple, since it uses, in addition to the register 57, only structures present in the central unit of the computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Executing Machine-Instructions (AREA)
US05/459,159 1973-04-24 1974-04-08 Input keyboard apparatus for an electronic computer Expired - Lifetime US3978453A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT68155/73 1973-04-24
IT68155/73A IT980896B (it) 1973-04-24 1973-04-24 Perfezionamenti alle calcolatri ci elettroniche

Publications (1)

Publication Number Publication Date
US3978453A true US3978453A (en) 1976-08-31

Family

ID=11308214

Family Applications (2)

Application Number Title Priority Date Filing Date
US05/459,159 Expired - Lifetime US3978453A (en) 1973-04-24 1974-04-08 Input keyboard apparatus for an electronic computer
US05/460,269 Expired - Lifetime US4079447A (en) 1973-04-24 1974-04-11 Stored program electronic computer

Family Applications After (1)

Application Number Title Priority Date Filing Date
US05/460,269 Expired - Lifetime US4079447A (en) 1973-04-24 1974-04-11 Stored program electronic computer

Country Status (8)

Country Link
US (2) US3978453A (enrdf_load_stackoverflow)
JP (2) JPS5726366B2 (enrdf_load_stackoverflow)
BR (1) BR7403264D0 (enrdf_load_stackoverflow)
CA (2) CA1018664A (enrdf_load_stackoverflow)
DE (2) DE2420057A1 (enrdf_load_stackoverflow)
FR (2) FR2227580B1 (enrdf_load_stackoverflow)
GB (2) GB1455215A (enrdf_load_stackoverflow)
IT (1) IT980896B (enrdf_load_stackoverflow)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4097924A (en) * 1975-09-11 1978-06-27 Ing. C. Olivetti & C., S.P.A. Computer operator guide device
US4310881A (en) * 1979-09-21 1982-01-12 Bell Telephone Laboratories, Incorporated Conditional transfer control circuit

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189773A (en) * 1974-07-03 1980-02-19 General Electric Company On-line memory space allocation
JPS5228819A (en) * 1975-08-29 1977-03-04 Sharp Corp Key input device
DE2617485C3 (de) * 1976-04-22 1980-09-18 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
US4041462A (en) * 1976-04-30 1977-08-09 International Business Machines Corporation Data processing system featuring subroutine linkage operations using hardware controlled stacks
US4241403A (en) * 1976-06-23 1980-12-23 Vapor Corporation Method for automated analysis of vehicle performance
JPS53145796U (enrdf_load_stackoverflow) * 1977-04-22 1978-11-16
DE2756327C2 (de) * 1977-12-17 1979-11-15 Deutsche Itt Industries Gmbh, 7800 Freiburg Schaltung sanordnung für eine Eingabetastatur
JPS5498090U (enrdf_load_stackoverflow) * 1977-12-21 1979-07-11
CA1122714A (en) * 1978-02-23 1982-04-27 Cyril Endfield Portable keyboard device
JPS5820982Y2 (ja) * 1978-05-10 1983-05-02 オムロン株式会社 ブツクマツト式キ−ボ−ド
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
GB2083669B (en) * 1980-09-05 1985-01-03 Casio Computer Co Ltd Key data entry system
JPS57155642A (en) * 1981-03-23 1982-09-25 Nissan Motor Co Ltd Computer capable of using correcting memory
JPS588381A (ja) * 1981-07-07 1983-01-18 Nippon Denso Co Ltd バ−コ−ド読取装置
US4471428A (en) * 1982-01-12 1984-09-11 Dshkhunian Valery Microcomputer processor
JPS59230112A (ja) * 1983-06-13 1984-12-24 Hitachi Ltd 車載用電子表示式計器盤
US4926355A (en) * 1987-07-02 1990-05-15 General Datacomm, Inc. Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US5136662A (en) * 1988-12-13 1992-08-04 Matsushita Electric Industrial Co., Ltd. Image processor for sequential processing of successive regions of an image

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593313A (en) * 1969-12-15 1971-07-13 Computer Design Corp Calculator apparatus
US3745536A (en) * 1971-03-01 1973-07-10 Burroughs Corp High speed serial scan and read-out of keyboards
US3760171A (en) * 1971-01-12 1973-09-18 Wang Laboratories Programmable calculators having display means and multiple memories
US3863060A (en) * 1972-10-30 1975-01-28 Hewlett Packard Co General purpose calculator with capability for performing interdisciplinary business calculations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3348211A (en) * 1964-12-10 1967-10-17 Bell Telephone Labor Inc Return address system for a data processor
DE1774038A1 (de) * 1967-04-01 1971-07-29 Olivetti & Co Spa Elektronische Rechenanlage
GB1246129A (en) * 1967-12-14 1971-09-15 Olivetti & Co Spa Stored program electronic computer
US3568158A (en) * 1968-01-03 1971-03-02 Bell Telephone Labor Inc Program and subroutine data storage and retrieval equipment
US3544975A (en) * 1968-05-24 1970-12-01 Bell Telephone Labor Inc Data insertion in a content addressable sequentially ordered file
US3693162A (en) * 1970-10-14 1972-09-19 Hewlett Packard Co Subroutine call and return means for an electronic calculator
JPS5235582B2 (enrdf_load_stackoverflow) * 1972-11-11 1977-09-09

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593313A (en) * 1969-12-15 1971-07-13 Computer Design Corp Calculator apparatus
US3760171A (en) * 1971-01-12 1973-09-18 Wang Laboratories Programmable calculators having display means and multiple memories
US3745536A (en) * 1971-03-01 1973-07-10 Burroughs Corp High speed serial scan and read-out of keyboards
US3863060A (en) * 1972-10-30 1975-01-28 Hewlett Packard Co General purpose calculator with capability for performing interdisciplinary business calculations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4097924A (en) * 1975-09-11 1978-06-27 Ing. C. Olivetti & C., S.P.A. Computer operator guide device
US4310881A (en) * 1979-09-21 1982-01-12 Bell Telephone Laboratories, Incorporated Conditional transfer control circuit

Also Published As

Publication number Publication date
JPS5726366B2 (enrdf_load_stackoverflow) 1982-06-04
JPS5031740A (enrdf_load_stackoverflow) 1975-03-28
DE2420058A1 (de) 1974-11-21
IT980896B (it) 1974-10-10
GB1455215A (en) 1976-11-10
FR2227581A1 (enrdf_load_stackoverflow) 1974-11-22
US4079447A (en) 1978-03-14
DE2420057A1 (de) 1974-11-21
BR7403264D0 (pt) 1974-11-19
GB1470104A (en) 1977-04-14
FR2227580A1 (enrdf_load_stackoverflow) 1974-11-22
CA1023475A (en) 1977-12-27
FR2227580B1 (enrdf_load_stackoverflow) 1978-04-21
CA1018664A (en) 1977-10-04
JPS5031750A (enrdf_load_stackoverflow) 1975-03-28
FR2227581B1 (enrdf_load_stackoverflow) 1978-01-20

Similar Documents

Publication Publication Date Title
US3978453A (en) Input keyboard apparatus for an electronic computer
US3911424A (en) Alphanumeric character display scheme for programmable electronic calculators
US3855461A (en) Calculator with key code association and display features
US4381502A (en) Method and apparatus for character generation
US3962685A (en) Data processing system having pyramidal hierarchy control flow
US3328763A (en) Electronic desk-type computer
US3111648A (en) Conversion apparatus
GB1403710A (en) Programmable calculator
US3015441A (en) Indexing system for calculators
GB926181A (en) Improvements in or relating to data processing systems
US4091446A (en) Desk top electronic computer with a removably mounted ROM
US3077580A (en) Data processing system
US4490056A (en) Combinational keyboard utilizing sequential operation of keys
Clark The Lincoln TX-2 computer development
US4051459A (en) Stored program controlled typewriting/editing system
US3629850A (en) Flexible programming apparatus for electronic computers
US3602901A (en) Circuit for controlling the loading and editing of information in a recirculating memory
US3996562A (en) Programmable electronic calculator for evaluating mathematical problems
US2962213A (en) Electric digital computers
US3116410A (en) Simple general purpose digital computer
GB1197291A (en) Calculator
US3340512A (en) Storage-pattern indicating and decoding system
US4408918A (en) Halfspace control system for electronic typewriter with correction register
US4282514A (en) Electronic converter
US3273126A (en) Computer control system