WO2001011538A2 - Discrete computer system - Google Patents
Discrete computer system Download PDFInfo
- Publication number
- WO2001011538A2 WO2001011538A2 PCT/US2000/040580 US0040580W WO0111538A2 WO 2001011538 A2 WO2001011538 A2 WO 2001011538A2 US 0040580 W US0040580 W US 0040580W WO 0111538 A2 WO0111538 A2 WO 0111538A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- mits
- processing unit
- level
- arithmetic logic
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/49—Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
Definitions
- the present invention relates generally to a multilevel discrete computer system.
- An analog computer uses a signal that is a continuous function of time. Typically, in analog computers, a voltage is processed and a new voltage with no distinct level is created. The voltages represent input and output signals to and from the computer. Most computers are binary digital, thus, analog signals are conditioned and converted to binary digital signals. Converted binary digital signals are processed before being converted back into analog signals for use in audio, video, and other human interface functions. Binary digital computers represent data using two discrete levels, namely, 0 and 1. The 0s and Is are typically referred to as bits of data or just bits. By using a combination of 0 or 1 bits to create a string of bits, numbers greater than one can be represented. Eight (8) bits strung together are called a byte.
- Networks are migrating from electrical based to light based (e.g., fiber optic) networks.
- Light can have multiple colors and each color or color strength can be represented as a distinct level of a multi-level discrete signal.
- Multi-level discrete signals are converted to binary digital signals (bits) in order to be manipulated by a typical computer processor.
- What is needed is a multi-level discrete computer system that can manipulate and operate on mits without having to convert the mits to bits . Such a computer system would provide enhanced computing power, speed, and efficiency.
- a multi-level discrete computer system is comprised of a central processing unit (CPU) for processing multi-level discrete signals (mits) , memory means for storing multi-level mits of data, input means for receiving input data from external devices, output means for forwarding output data to external devices, and bus lines for operatively connecting the central processing unit with the memory means, input means, and output means.
- the CPU includes an arithmetic logic unit (ALU) and associated logic gates operating on mits of data, a register unit operating on mits of data, and a control unit manipulating mits of data.
- the system also includes a level converter for converting mit data signals of a first base level to mit data signals of a second base level.
- FIGURE 1 illustrates a multi-level discrete computer system block diagram.
- FIGURE 2 illustrates a level holder circuit for holding a multi-level discrete signal.
- FIGURE 3 illustrates a discrete decoder circuit for decoding a multi-level discrete signal.
- FIGURE 4 illustrates a discrete decoder circuit used to implement a InCycler.
- FIGURE 5 illustrates a switch circuit used to implement a InCycler.
- FIGURE 6 illustrates a counter for a multi-level discrete computer system.
- FIGURE 7 illustrates a level converter circuit diagram.
- FIGURE 8 illustrates a shift register for a multilevel discrete computer system.
- FIGURE 9 illustrates a multi-level adder.
- FIGURE 10 illustrates a multi-level memory scheme for a multi-level discrete computer system.
- a multi-level discrete computer processes a multi-level discrete signal.
- a multi-level discrete signal is a signal comprised of mits of data as opposed to bits of data.
- a multi-level discrete computer is comprised of similar elements as a binary digital computer, namely, a central processing unit (CPU), memory, and peripheral I/O devices.
- CPU central processing unit
- memory memory
- peripheral I/O devices peripheral I/O devices.
- the main difference between a multi-level discrete computer and a binary digital computer is that a multi-level discrete computer operates directly on a multi-level discrete signal without having to convert such a signal into a binary digital signal.
- a binary digital computer in contrast, operates on a binary digital signal only.
- the CPU and peripheral devices of a multi-level discrete computer system need not be operating at the same discrete base level. If the signals are of different base levels a level converter is employed to harmonize data operations.
- the present invention is described with respect to a multi-level discrete voltage signal. Signals other than voltage including, but not limited to, chemical reactions, light based frequency signals, radio frequency signals, or electro-magnetic signals, may be used or substituted without departing from the spirit or scope of the present invention.
- a binary digital computer operates on bits of data
- a multi-level discrete computer operates on mits of data.
- mit is a shorthand notation referring to a multi-level discrete signal comprised of a multi-level integer of data. The number of mits used by the data bus of a discrete computer system is deemed its word length.
- a multi-level CPU is comprised of an arithmetic logic unit (ALU), registers, and a control unit.
- the ALU is comprised of a number of arithmetic and logic gates. Each of the arithmetic logic units has a unique address and is controlled by the control unit.
- ALU gates include adders, subtractors, multipliers, dividers and comparators. Additional gates for squares, square roots, etc. may also be included in the ALU. Data from two registers can be added, subtracted, multiplied, divided, compared, etc. using multi-level discrete data signals as input.
- Each operation is controlled by a unique instruction that is part of an instruction set.
- the difference in the instruction set for a binary digital computer system and a multi-level discrete computer system is the use of mits and mit gates (as opposed to bits and bit gates) and the algorithms needed to implement a discrete computer system.
- a multi-level discrete computer control unit is comprised of a clock that pulses at a defined frequency and a program counter.
- a program counter is a counter that increments to the next instruction after it the current instruction is executed.
- the program counter points to an instruction currently loaded into the instruction set.
- the instruction is decoded and executed using the necessary mit gates.
- the result is stored in a register specified by the instruction.
- Voltage signals used in electrical devices typically range from 0 to 5 volts. Thus, any number between 0 and 5 can represent a voltage.
- a multi-level discrete computer uses discrete levels. For example, 0,1,2,3 are four (4) distinct levels recognized by a discrete computer system of base four (4) . Voltages between these integers are corrected to the nearest discrete level.
- a multi-level discrete computer system operates on a base number of distinct levels . Any change in the multi- level discrete signal (mit) base to another maximum discrete level base requires a level converter. Thus, to convert a multi level discrete broadband signal to a binary digital signal and then back to a different maximum level discrete signal requires a level converter. For example, a discrete signal received on a broadband network is converted into a binary digital signal then converted to a different base (maximum level - base 2) signal. The CPU in a multi-level discrete computer, system memory, and system bus operate at these discrete levels. Multi-level data is represented as a string of multi-level mits called mytes. The maximum number of levels (the base) can vary from device to device.
- a typical binary digital computer uses a binary notation for data processing.
- a multi-level discrete computer utilizes more than two levels to process data.
- a binary notation is the lowest form of discrete system.
- the bit or binary integer notation of all numbers in a digital computer is used to process data.
- Eight (8) bits strung together is called a byte.
- As the number of bits increases the largest integer value that can be represented also increases.
- 0 is interpreted as no voltage and 1 as the existence of voltage, usually 5 volts.
- Digital signals are carried on a wire that can carry either a 0 or a 1.
- an equivalent number of wires are used to carry all the signals from one device to another.
- the wires are referred to as a bus.
- Number systems are the basis on which computations are performed. Numbers may be represented in a decimal system where 10 distinct digits are used and repeated as a ring.
- the base of the decimal number system is 10.
- the numbers in a binary system are 0 or 1; i.e. two numbers are used to represent all the numbers in the number systems.
- the base (M) of a number system is the number of distinct digits (0,1,2,3 ...) used in the number system. When a number reaches M-l distinct digits it rings around as shown in the table below which illustrates a 2-mit base four (4) number system.
- the maximum number that can be represented in a ring of n mits with a base M is M n - 1.
- M n - 1 999.
- IO 3 - 1 999.
- the first mit in a word (string of mits) for a discrete system is typically a sign bit. Two (2) distinct symbols are required to represent either positive (+) or negative (-) . In a binary digital system only two distinct symbols are available, 0 and 1. Thus, the first bit in a binary digital word can only represent one of two values. In a mit, however, more than two values may be used.
- a base four (4) system four values may be used for the first mit, namely, 0,1,2, or 3.
- 0 can represent floating point positive
- 1 can represent floating point negative
- 2 can represent integer positive
- 3 can represent integer negative.
- the first mit can be used to represent additional features as well if the base of the number system being used is greater than four (4).
- a discrete computer system needs to represent at minimum twenty-six (26) characters (upper and lower case) and 10 digits.
- the ASCII alphanumeric character set which includes the aforesaid twenty-six characters and ten digits, totals 128 characters in all.
- mits In a base 4 discrete system, four (4) mits are all that is needed to represent up to 256 characters as opposed to eight (8) bits. Increasing the number of mits to a myte (8 mits) allows one to represent up to 65,536 characters, enough for the kanji (Japanese character set) and other complex character sets. To achieve the same in a binary system would require a significantly increased number of bits.
- the elements of a discrete computer system are similar to the elements of a binary digital computer system.
- the main difference between the two types of computer systems is the way they represent and handle data, namely, bits in a binary digital computer and mits in a multi-level discrete computer. While the names and functions of the common computer elements remains the same the way each element goes about achieving its function is somewhat different in a discrete computer system as compared to a binary digital computer system.
- FIGURE 1 the elements that comprise a discrete computer system 100 are illustrated. These elements include a central processing unit (CPU) 105, memory means 110, input means 115, and output means 120.
- the input 115 and output 120 means are connected to various peripheral devices such as a keyboard 125, a mouse 130, a monitor 135, and a printer 140.
- Other devices like modems, digital video devices, external media storage devices, etc... may also be connected to the discrete computer 100 via the input 115 or output means 120.
- Memory means 110 include, but are not limited to, RAM, ROM, and disk storage.
- RAM memory is volatile and stores data and programs temporarily during processing.
- ROM is non-volatile and is used to store system programs such as BIOS (Basic Input/Output System) .
- BIOS Basic Input/Output System
- CPU 105 is comprised of an arithmetic logic unit (ALU) 145, a register unit 150, and a control unit 155.
- ALU arithmetic logic unit
- CPU 105 essentially addresses a memory location, obtains (fetches) a program instruction stored there, and carries out the instruction. The fetch and execute process is repeated until all of the instructions for a given program have been executed.
- Data to and from CPU 105 is carried across various bus lines.
- An address bus 160, data bus 165, and control bus 170 are shown and carry data pertaining to their unique function to and from CPU 105 as required.
- Address bus 160 is a one way outbound link over which CPU 105 sends an address code to a memory device.
- the size of address bus 160 (also referred to as the width) is determined by the number of mits it can handle. The more mits the bus can handle the more memory locations can be accessed. For instance, a base four (4) mit system using a sixteen (16) mit word length can access approximately
- Data bus 165 is a two way link on which data or instruction codes are transferred into CPU 105 or on which the result of an operation or computation is sent out from CPU 105.
- the number of mits data bus 165 can handle depends on the CPU's mit handling capability.
- Control bus 170 is used by CPU 105 to coordinate its operations and to communicate with external devices.
- ALU 145 performs arithmetic operations such as addition and subtraction as well as logic operations such as AND and OR.
- Register unit 150 temporarily stores data generated during the execution of a program (set of instructions) in one or more of a plurality of registers that comprise the unit.
- Control unit 155 provides timing and control signals for getting data into and out of CPU 105, performs programmed instructions, and performs other operations .
- mits are used to make the word length of a discrete computer.
- the arithmetic and logic operations are carried out on each individual mit collectively.
- mit operations (as opposed to “myte” operations) are described below.
- a level detector or mit comparator gate has two inputs and one output. One of the inputs is a constant voltage, if the second input voltage is the same the level detector returns an output of 0, otherwise its output is 1.
- U.S. Pat. No. 5,872,468, incorporated herein by reference, teaches level detector circuitry and techniques.
- An inverter takes a one mit input and converts it into a one mit output according to the following table.
- a base four (4) system is used for illustrative purposes.
- Buffers are circuits that hold a voltage at an input level for a single clock cycle. A voltage is accepted and output at the clock signal.
- the table below illustrates buffer data results.
- Compara tor A comparator has two inputs and one output. The two input signals are compared and an output signal is represented as shown in the table below. If the inputs are equal to one another then the output is set to "0". If input 1 is less than input 2 then the output is set to "1". Lastly, if input 1 is greater than input 2 then the output is set to "2".
- a dual input 2cycler receives two input voltages and has one output .
- An input voltage increments or decrements a number of levels based on the other input voltage. When the M-1 level is reached the next increment is cycled with a 0, and subsequent increments are thus cycled.
- the following table illustrates a Dual Input - 2Cycler.
- a noncycler gate receives two inputs, incrementing one input signal by the number of levels of the second input signal only until the M-1 (base - 1) level of the discrete computer system is attained. After that the signal holds at the M-1 level instead of cycling.
- FIGURE 2 illustrates the concept of a flip-flop.
- a flip-flop circuit or latch receives an input signal and a clock signal to a switch 205. The output of switch 205 is fed to a pair of buffers 210A, 210B. Buffers 210A, 210B each have their output fed back as input to the other buffer. When an input voltage is applied to the flip-flop circuit, it holds at that voltage for one clock cycle and provides that voltage as input to the other buffer. This results in a register of one mit capacity.
- a series of flip-flop circuits can be used to form registers and shift registers .
- a switch circuit either allows a signal to pass through a circuit or not pass based on an input control signal.
- One input switch control signal is binary and the other input switch signal is a multi-level mit.
- the output signal is also a multi-level mit when the switch is turned on. When the switch is turned off there is no output or it has 0 signal.
- the table below illustrates the results.
- a matrix switch is comprised of a list of expected values where the outputs are hard wired based on the inputs.
- the subscripts for X ab and Y a range from (0,0) to (M-1, M-1) where M is the base of the system being used.
- the table below is one example of a base four (4) configuration.
- An adder can be implemented as a matrix switch or as a 2cycler.
- a comparator or matrix switch can be used to obtain carry information.
- the following is a matrix adder that shows addition in a base four (4) discrete system.
- a 2cycler may be used to implement a mit adder.
- the carry function can be the combination of a noncycler and a comparator to compare the voltage to 3 (i.e., the M-1 level). Anything greater will be a carry function.
- an adder can be implemented using the gates above .
- a subtractor can be implemented as a matrix switch, or using the gates above.
- a subtractor using M' s complement (where M is the base of the discrete computer system) is shown in the table below.
- a multiplier has two mit inputs.
- the outputs are a carry and the result.
- Multipliers may be implemented using matrix switches. The following table is an example.
- a divider is a 2 input gate in which the outputs are comprised of a remainder and a quotient. Two additional inputs referred to as “before borrow” and “after borrow” may also be implemented. One output condition is a division by zero error handling output.
- the table below illustrates an example of a divider.
- a decoder input is a set of mits.
- a decoder's function is to detect a particular input code (mits) and indicate the presence of the code on the output as a 0 or 1 on a line specified.
- a three input circuit diagram of a decoder is shown in FIGURE 3.
- the circuit uses 3 transistors (T1,T2,T3) as switches.
- Tl, R21, Rll and RI act as a first switch block
- T2, R22, R12 and RI act as a second switch block
- T3, T23, R13 and RI as a third switch block.
- the switch blocks with Tl, T2 and T3 are all off making the outputs (II, 12, 13) from the switch blocks go to Vcc.
- T3 When the input is at 1.5v, T3 is turned on since voltage divider circuit (R1,R13) is designed to provide enough base bias to T3 when the voltage is 1.5v or higher. Voltage divider (R1,R12) provide base bias to T2 and can be turned on when the voltage is 3v. Voltage divider (R1,R11) provide base bias to Tl when the input is 4.5v. When the input is 3v, T3 and T2 are turned on. When the input is 4.5v all three switch blocks are turned on and the voltage goes to zero for II, 12, and 13.
- transistors T4, T5 and T6 form three more switch blocks.
- a decoder can be modified as shown in the circuit of FIGURE 4 to form a InCycler.
- This circuit has 4 bias voltages VI, V2,V3, and V4. Depending on the input voltage the transistors are triggered similar to the decoder.
- the table below illustrates.
- a InCycler can also be realized using switches (mit gate), along with a decoder.
- the outputs are connected to four different voltages as shown in FIGURE 5, resulting in a HCycler for the example below where:
- VI bias voltage e.g. level 2 or 3v
- V2 bias voltage e.g. level 1 or 1.5v
- V3 bias voltage e.g. level 0 or Ov
- V4 bias voltage e.g. level 3 or 4.5v
- An Encoder functions essentially as an inverse decoder.
- An encoder accepts inputs from a decoder output and converts the decoder output into an n base mit signal. Decoder and encoder combinations are useful in any number of applications including, but not limited to, audio and video signals.
- Mul tiplexer A multiplexer is a data selector that route multiple input mit data across a single output line based on the selection input. The selection inputs switch the input signals on the output line.
- a demultiplexer takes the input from a single line and selection input (s) and converts it into n mit output.
- a demultiplexer is the inverse of an multiplexer.
- An AND gate has two mit inputs, II and 12.
- the inputs are level converted, using an appropriate level converter, from a base n signal to a binary signal.
- the output of the level converter is connected to a combination of binary AND gates.
- the output of the binary AND gates is then converted from binary to a base n signal .
- the same can be achieved using a matrix switch by mathematically arriving at the output of the mit AND gate.
- the table below is an example of a base 4 2-mit input AND gate.
- Inputs II and 12 are converted into binary format using an Base 4 to binary level converter.
- the outputs of the two level converters (Bil, Bi2, Bi3, and Bi4) are connected to two binary AND gates.
- AND gate 1 has the inputs Bil and Bi3, while Bi2 and Bi4 are inputs for AND gate 2.
- the output of the binary AND gates are Bol and Bo2.
- Bol and Bo2 are connected to a binary to base 4 level converter to get output 0.
- NOT Ga te A NOT gate has one input and one output. The input is level converted to a binary signal and inverted using a binary NOT gate. The output is converted back to base n it signal . The output is exactly same as an mit inverter .
- An OR gate has two mit inputs, II and 12.
- the inputs are level converted, using an appropriate level converter, from a base n to binary signal.
- the output of a decoder is connected to a combination of binary OR gates. The output is converted from the binary signal to a base n signal.
- any logic gate can be implemented by first converting mit data to binary data using an appropriate level converter. Next, the binary data is applied to binary logic gates and the output of the binary logic gates is then converted back to mit data again using an appropriate level converter.
- a 2 - 16 base 4 discrete decoder logic table is shown below.
- a decoder has many applications in a discrete computer system ranging from a matrix switch to address switches for memory.
- a counter has a clock signal as its input and is illustrated in FIGURE 6.
- One, two, and three mit counters are illustrated in FIGURE 6.
- An output voltage increments to the next level with each clock pulse.
- the voltage increments to the next level at each clock cycle.
- a level converter changes the base of a multi-level discrete signal from one level to another.
- FIGURE 7 illustrates a level converter for converting from a base 4 mit system to a binary system.
- Each mit in a base 4 system represents 2 bits of a binary system as illustrated in the table below.
- the switches 702A, 702B, 702C, 702D are all connected to a single bias (Vcc) since it is a conversion to a binary system. Variations of FIGURE 7 can be used to level convert bases of other systems.
- 1*4 mits of a base 4 system represent 1 mit of a base 8 system. This can be repeated multiple times to convert more than 3 mits of base 4 to base 8.
- a level converter can also be realized by using a InCycler for the destination base system. The output of the input base system is first decoded, then fed to a switch based cycler.
- a register is a series of flip-flops in which the input and output data are parallel.
- a register is used to store data and is a type of memory device. The storage capacity of a register is in mits.
- a shift register illustrated in FIGURE 8, allows the movement of data from one stage to another stage upon the application of a clock pulse.
- shift registers There are three types of shift registers, serial in /serial out, parallel in /serial out, and serial in / parallel out.
- Shift registers can be cyclic or noncyclic depending on the serial output connected to the serial input.
- the shift of the registers can be left or right.
- the level of the previous level-holder is copied or set in the level-holder.
- the sequence below demonstrates two cycles of a left to right cyclic shift register. The values shown are arbitrary.
- the signal on a single output line for every cycle represents the mits from the shift register serially. If the individual registers are loaded in parallel, and output in serial, it is called a parallel in / serial out shift register.
- FIGURE 9 An example of an 4-mit adder ⁇ myte is shown in FIGURE 9. Input mits A3,A2,A1,A0 are added to mits B3,B2,B1,B0 respectively yielding outputs D3,D2,D1,D0 and carry outputs C3,C2,C1,C0. This ripple adder takes the carry of the previous stage and adds it with the next as input. A look ahead carry can also be implemented using mit gates .
- An n-myte subtractor is similar to an adder. A number of subtractors are linked in parallel to subtract a number represented by n-mytes with another n-myte number where the output is an n-myte number. Instead of a carry, a borrow is used. An M-1 compliment adder can be used for subtractions in parallel.
- a plurality of multipliers can be linked in parallel.
- a carry is added to the output of next stage.
- Look ahead carries can make n-myte multipliers faster and more efficient if the multiplier is implemented using matrix switches linked in parallel.
- a plurality of dividers can be linked together as per the "Chinese Remainder Theorem”. This type of implementation can be substituted using matrix switches in parallel. n Myte Logic Ga tes
- Logic gates include, but are not limited to, AND, OR, NOT gates. These binary gates can be implemented using a level converter output after the operation and converted back. Another other option is to compare these mathematically .
- Multi-level memory is arranged as in a binary digital computer system. Data is stored in a group of memory cells similar to registers. The discrete computer system' s word length determines the number of cells that are addressed together to form a word. A number of words of memory that can be independently addressed is called an array of memory.
- a decoder is used to decode the multi- level addresses and activate a word of memory.
- a write instruction/operation loads the data contained at a specified address onto the data bus and when the address is selected the data is set or written in the word. In a read operation, an address is provided over the address bus and decoded. The individual memory word is selected and the memory contents (in mits) are loaded onto the data bus. The capacity of the memory is proportionate to the number of words in the memory array.
- Using binary memory in a vertical stack is one method of implementing multi-level discrete memory for a discrete computer system.
- the stacked word length uses the same number of memory cells needed to represent data when the same word is converted to binary and stored in a binary digital computer.
- Multi-level memories can use phase transitions of quantum physics to store the memory as DRAMs.
- a bus connects the CPU with various I/O devices and memory devices associated with the computer system.
- An address bus is used to address memory that will be accessed by the CPU.
- a data bus provides data to and from the CPU to other I/O devices and memory.
- a bus is comprised of the same number of wires as the bit size of the computer. The number of bits in the address bus are equal to the number of address bus wires (lines or connections) .
- the bus size is equal to the number of mits of the data bus of the discrete computer system. Bus speed is greatly enhanced, however, using mits as compared to bits .
- a bus can be a single optic fiber or any other high speed line.
- a single fiber optic line can carry mits of data on the bus to the CPU, the I/O devices, or memory.
- bus data can be converted into parallel lines (mits) and used accordingly.
- the base level of a bus need not be the same base level as other devices on the line.
- a level converter can be used to convert bus mits of different bases into the base level utilized by an end device.
- a network is comprised of two or more computers communicating over a network communication channel.
- the communication channel can be a wire line, fiber optic, or electromagnetic (e.g., RF wireless).
- Data can be transferred on the line using analog, binary digital, or discrete formats.
- the analog signal is the oldest form, used in telephony for instance.
- a digital circuit using a digital shift register converts an I/O bus signal from a parallel to a serial signal. This signal is received at a receiver and converted back to a parallel signal and used by the computer appropriately.
- An electrical communication line is comprised of two wires to carry the signal.
- a fiber optic channel is comprised of a single fiber optic cable. In a discrete network, fiber optic cables are most commonly used today since fiber optic cables have multiple levels with which to carry data. Fiber optic cables can carry data at significantly higher speeds than traditional wire cables.
- the discrete levels are not voltage levels. Rather, they are different frequencies for a clock cycle period. Each frequency represents a different level of the discrete signal. 128 to 1000 level channels can easily be constructed by using frequencies to represent the levels of a discrete signal.
- the base level of a discrete computer system is a design choice.
- An even numbered base level allows a level converter to map existing binary digital computer system data to a multi-level discrete system fairly easily.
- An odd numbered base discrete computer system can be useful, but a more complex level converter will be required to convert from a binary format to multi-level odd base discrete system.
- a simple computer program adds the contents of two registers and stores the result in a third register.
- the program is described in terms of a binary digital computer.
- the program is described in terms of a base four (4) discrete computer system.
- the program is described in terms of a base eight (8) discrete computer system.
- the purpose of describing the same program in each form is to illustrate the differences between binary digital computer systems and multi-level discrete computer systems.
- the main elements of a processor include a clock for providing a predefined frequency of pulses to a CPU. The CPU then synchronizes all of its activities on one of the edges of the clock signal.
- Another element is a program counter which is a register that increments its contents to the next instruction. The increment is either to go to the next instruction or is changed by a branch instruction to go elsewhere to find the next instruction.
- a program counter feeds the instruction register.
- An instruction register contains the next instruction to be executed in the processor. The next instruction is fetched from the computer' s main memory unit .
- a decoder unit decodes or translates machine language instructions into simple switch inputs.
- the arithmetic logic unit (ALU) and the registers interpret the decoded instruction (e.g., move contents of register A to register B) .
- the instruction is merely a number that is decoded into three switch inputs, one for register A, one for register B and the third for the connection.
- a control unit essentially controls each step in the instruction. Based on instructions from the decoder unit, the control unit creates control signals to switch different parts of the arithmetic logic unit (ALU) and the registers. The clock synchronizes the control signals. At each clock cycle a set of arithmetic logic units and registers are switched on or off. Critical is when to switch, how to switch, what to switch, and what to do with the result, all of which are predefined steps. The steps are wired in the control unit and include, for instance, read from memory, write to memory, read from register, etc. These steps are combined to form more complex instruction sets in CISC machines. In RISC (reduced instruction sets) machines, the instructions are merely read, write, etc.
- the ALU is the last stage of processing in the CPU.
- the ALU performs commands such as add, subtract, multiply, and divide, etc.
- the ALU also knows reads logic commands such as OR, AND, comparison, or NOT, etc.
- Control signals from the control unit command the ALU with respect to which unit operates on which set of inputs and where output data is to be stored. Registers are used to complete an instruction.
- Registers are temporary storage areas for data that are used by the ALU to complete instructions the control unit has requested. Data is received from a data register, from main memory, or from the control unit and is stored in special locations within the registers. Registers are used to obtain data required by an instruction so that the units of the ALU can be switched in the particular sequence of the instruction.
- a Bus Unit is the means by which instructions flow in and out of the microprocessor from the computer's main memory or I/O devices.
- the bus unit is comprised of an address, data, and control bus.
- An address bus is used by the CPU to address each memory unit.
- a data bus is used to pull and push the contents from and to the memory units addressed by the address bus.
- a control bus switches memory to read or write mode as per the CPU based on the instruction.
- the address 0000 0000 is loaded into the program counter and its contents are stored in the instruction register.
- the instruction is loaded from memory location 0000 0000 by putting the address 0000 0000 onto the address bus.
- the control bus is switched to read mode.
- the memory unit switches the memory at address 0000 0000.
- the contents at address 0000 0000 are now on the data bus.
- the instruction register is also switched onto the data bus and the register latches to the contents of the data bus.
- the instruction register and memory are disconnected from the data bus.
- the instruction register sends the data to a decoder unit, the correct decoded binary code is then sent to the control unit.
- the next instruction is loaded to the instruction register, the decoder detects the instruction and sends the decoder output to the control unit.
- Register A is connected to the data bus to receive data and the address 1001 0000 is loaded onto the address bus.
- the memory detects the address and loads the contents of address 1001 0000 on the data bus.
- register A holds the contents of address 1001 0000.
- the data and address buses are then disconnected from the registers.
- the next instruction is then loaded into the instruction register.
- the same process continues but the contents of address 1100 0000 is stored in register B.
- the control unit switches register A and register B to be the inputs of an adder gate in the ALU and the output is connected to register A.
- the contents of registers A and B are placed on the input lines of the adder.
- the next three cycles permit the adder to add the contents of registers A and B and place the result on the output of the adder.
- the output data is then placed on the Adder output as a switch and a latch holds the output until register A reads the data and holds it.
- the connections between the adder and the registers are then disabled.
- the next instruction moves the results from register A to the desired memory location, by first loading the contents of register A on the data bus and then loading the address on the address bus.
- the control bus is then switched to write mode.
- the memory detects it and places the results in memory location 1111 0000.
- the main operating system (0/S) program takes control and looks for the next program or waits in a loop until the next program is executed.
- the address 0000 (base 4) is loaded into the program counter and its contents are stored in the instruction register.
- the instruction is loaded from memory location 0000 by putting the address 0000 onto the address bus.
- the control bus is switched to read mode.
- the memory unit switches the memory at address 0000.
- the contents at address 0000 are now on the data bus.
- the instruction register is also switched onto the data bus and the register latches to the contents of the data bus .
- the instruction register and memory are disconnected from the data bus.
- the instruction register sends the data to a decoder unit, the correct decoded binary code is then sent to the control unit.
- This instruction in binary, takes 4 bytes of memory. In a base four (4) system, half the size is required. Therefore, the address is incremented by two rather than four.
- Register A is connected to the data bus to receive data and the address 2100 is loaded onto the address bus.
- the memory detects the address and loads the contents of address 2100 on the data bus.
- register A holds the contents of address 2100. The data and address buses are then disconnected from the registers.
- control unit switches register A and register B to be the inputs of an adder gate in the ALU and the output is connected to register A.
- contents of registers A and B are placed on the input lines of the adder.
- the next three cycles permit the adder to add the contents of registers A and B and place the result on the output of the adder.
- the output data is then placed on the Adder output as a switch and a latch holds the output until register A reads the data and holds it.
- the connections between the adder and the registers are then disabled.
- the next instruction moves the results from register A to the desired memory location, by first loading the contents of register A on the data bus and then loading the address on the address bus.
- the control bus is then switched to write mode.
- the memory detects it and places the results in memory location 3300.
- the main operating system (O/S) program takes control and looks for the next program or waits in a loop until the next program is executed.
- the address 000 (base 8) is loaded into the program counter and its contents are stored in the instruction register.
- the instruction is loaded from memory location 000 by putting the address 000 onto the address bus.
- the control bus is switched to read mode.
- the memory unit switches the memory at address 000.
- the contents at address 000 are now on the data bus.
- the instruction register is also switched onto the data bus and the register latches to the contents of the data bus.
- This instruction in binary, takes 4 bytes of memory. In a base eight (8) system, half the size is required. Therefore, the address is incremented by two rather than eight.
- the instruction register and memory are disconnected from the data bus.
- the instruction register sends the data to a decoder unit, the correct decoded binary code is then sent to the control unit.
- the next instruction is loaded to the instruction register, the decoder detects the instruction and sends the decoder output to the control unit.
- Register A is connected to the data bus to receive data and the address 220 is loaded onto the address bus.
- the memory detects the address and loads the contents of address 220 on the data bus.
- register A holds the contents of address 220. The data and address buses are then disconnected from the registers.
- control unit switches register A and register B to be the inputs of an adder gate in the ALU and the output is connected to register A.
- contents of registers A and B are placed on the input lines of the adder.
- the next three cycles permit the adder to add the contents of registers A and B and place the result on the output of the adder.
- the output data is then placed on the Adder output as a switch and a latch holds the output until register A reads the data and holds it.
- the connections between the adder and the registers are then disabled.
- the next instruction moves the results from register A to the desired memory location, by first loading the contents of register A on the data bus and then loading the address on the address bus.
- the control bus is then switched to write mode.
- the memory detects it and places the results in memory location 360.
- the main operating system (O/S) program takes control and looks for the next program or waits in a loop until the next program is executed.
- any means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures. Therefore, it is to be understood that the foregoing is illustrative of the present invention and is not to be construed as limited to the specific embodiments disclosed, and that modifications to the disclosed embodiments, as well as other embodiments, are intended to be included within the scope of the appended claims. The invention is defined by the following claims, with equivalents of the claims to be included therein.
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Analogue/Digital Conversion (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU77572/00A AU7757200A (en) | 1999-08-09 | 2000-08-07 | Discrete computer system |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14785799P | 1999-08-09 | 1999-08-09 | |
US60/147,857 | 1999-08-09 | ||
US50434500A | 2000-02-14 | 2000-02-14 | |
US09/504,345 | 2000-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001011538A2 true WO2001011538A2 (en) | 2001-02-15 |
WO2001011538A3 WO2001011538A3 (en) | 2001-05-25 |
Family
ID=26845285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/040580 WO2001011538A2 (en) | 1999-08-09 | 2000-08-07 | Discrete computer system |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU7757200A (en) |
WO (1) | WO2001011538A2 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4528641A (en) * | 1982-11-16 | 1985-07-09 | The United States Of America As Represented By The Secretary Of The Air Force | Variable radix processor |
US4620188A (en) * | 1981-08-17 | 1986-10-28 | Development Finance Corporation Of New Zealand | Multi-level logic circuit |
US4914614A (en) * | 1986-03-04 | 1990-04-03 | Omron Tateisi Electronics Co. | Multivalued ALU |
US5280440A (en) * | 1991-10-09 | 1994-01-18 | Yukichi Sugimura | Parallel adding circuit using 3×3 matrix of ± quinary number representation |
US5289399A (en) * | 1991-12-06 | 1994-02-22 | Sharp Kabushiki Kaisha | Multiplier for processing multi-valued data |
US5467298A (en) * | 1992-11-26 | 1995-11-14 | Sharp Kabushiki Kaisha | Multivalued adder having capability of sharing plural multivalued signals |
US5469163A (en) * | 1993-05-24 | 1995-11-21 | Texas Instruments Incorporated | Multiple resonant tunneling circuits for positive digit range-4 base-2 to binary conversion |
US5524088A (en) * | 1993-06-30 | 1996-06-04 | Sharp Kabushiki Kaisha | Multi-functional operating circuit providing capability of freely combining operating functions |
US5768476A (en) * | 1993-08-13 | 1998-06-16 | Kokusai Denshin Denwa Co., Ltd. | Parallel multi-value neural networks |
-
2000
- 2000-08-07 AU AU77572/00A patent/AU7757200A/en not_active Abandoned
- 2000-08-07 WO PCT/US2000/040580 patent/WO2001011538A2/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620188A (en) * | 1981-08-17 | 1986-10-28 | Development Finance Corporation Of New Zealand | Multi-level logic circuit |
US4528641A (en) * | 1982-11-16 | 1985-07-09 | The United States Of America As Represented By The Secretary Of The Air Force | Variable radix processor |
US4914614A (en) * | 1986-03-04 | 1990-04-03 | Omron Tateisi Electronics Co. | Multivalued ALU |
US5280440A (en) * | 1991-10-09 | 1994-01-18 | Yukichi Sugimura | Parallel adding circuit using 3×3 matrix of ± quinary number representation |
US5289399A (en) * | 1991-12-06 | 1994-02-22 | Sharp Kabushiki Kaisha | Multiplier for processing multi-valued data |
US5467298A (en) * | 1992-11-26 | 1995-11-14 | Sharp Kabushiki Kaisha | Multivalued adder having capability of sharing plural multivalued signals |
US5469163A (en) * | 1993-05-24 | 1995-11-21 | Texas Instruments Incorporated | Multiple resonant tunneling circuits for positive digit range-4 base-2 to binary conversion |
US5524088A (en) * | 1993-06-30 | 1996-06-04 | Sharp Kabushiki Kaisha | Multi-functional operating circuit providing capability of freely combining operating functions |
US5768476A (en) * | 1993-08-13 | 1998-06-16 | Kokusai Denshin Denwa Co., Ltd. | Parallel multi-value neural networks |
Also Published As
Publication number | Publication date |
---|---|
AU7757200A (en) | 2001-03-05 |
WO2001011538A3 (en) | 2001-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
US7194605B2 (en) | Cache for instruction set architecture using indexes to achieve compression | |
US4141005A (en) | Data format converting apparatus for use in a digital data processor | |
US6247036B1 (en) | Processor with reconfigurable arithmetic data path | |
CA1319997C (en) | Specialized communication processor for layered protocols | |
US4215416A (en) | Integrated multiplier-accumulator circuit with preloadable accumulator register | |
CA1087755A (en) | Apparatus for transposition sorting of equal length records in overlap relation with record loading and extraction | |
US7199732B1 (en) | Data converter with reduced component count for padded-protocol interface | |
US4617641A (en) | Operation unit for floating point data having a variable length exponent part | |
EP0127007B1 (en) | Data processing interface apparatus | |
US5265258A (en) | Partial-sized priority encoder circuit having look-ahead capability | |
US3919534A (en) | Data processing system | |
EP0286260B1 (en) | Group-relative addressing system | |
US6332188B1 (en) | Digital signal processor with bit FIFO | |
EP0164995B1 (en) | Parallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes | |
US5572687A (en) | Method and apparatus for priority arbitration among devices in a computer system | |
WO2001011538A2 (en) | Discrete computer system | |
US3716843A (en) | Modular signal processor | |
US5826098A (en) | Data processing system which converts received data packet into extended packet with prescribed field for accumulation process | |
US4644489A (en) | Multi-format binary coded decimal processor with selective output formatting | |
EP0582311B1 (en) | Parallel-serial data converter | |
US5740420A (en) | System and method for compiling and executing sequences of macro and micro instructions | |
US6081869A (en) | Bit-field peripheral | |
CN112118019B (en) | Multichannel channelized receiver and application system | |
US6314156B1 (en) | Space-efficient multi-cycle barrel shifter circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |