The ENIAC
The ENIAC which means Electronic, Numerical, Integrator And Computer, is main processors invented in World Conflict 2 to be able to resolve computational problems. In the demonstration on February 1946, being directed at a university, it computed a trajectory of your shell in 25s, when the shell took 30s to do the trajectory. Furthermore, the electronic digital calculation got 5s, while the other 20s were used by the IBM punch greeting card printer, which punched the result. Therefore, the restricting factor of the ENIAC was not the computational ability but its suggestions, outcome devices which interacted with it. Still, compared to a real human computer, it would took him one week to determine it.
The ENIAC made use of about 18, 000 vacuum tubes which got the propensity to break a great deal and there is an approximation of vacuum pressure pipe breaking every 20hrs. Apart from that, it was found to be better if the ENIAC was never powered down or back on, as along the way more vacuum tubes were breaking.
The ENIAC performed at 100, 000 pulses per second, performed 5, 000 times faster when compared to a real human computer and proved helpful 60 times faster than the electronically powered mechanical computers at the time. After that, it was also very huge, both in comparison with nowadays CPUs and at that time, as it was 20 times as large as the greatest radio station period.
Being a military project, it was presented with a budget of $500, 000, that was thought to be worthwhile, as the computation of the trajectory dining tables has been increased a lot, from weeks to just a short while.
Still, its true use didn't come in helpful since there were repetitive calculations, being impossible for a individual computer.
The ENIAC was controlled in a synchronous way, meaning that a group of pulses were sent out every 200 micro secs and then, when new functions have started at the start of a fresh pulse.
Processes in the ENIAC were processed in series. Although parallel processing was within the ENIAC, it wasn't used much, as the series processing had a robust processing power at the time and it didn't desire a lot of parallel control.
The ENIAC components
The Arithmetic Computation
The Arithmetic Computation was used to carry out all the arithmetic computations of a given function. The ALU was made up of 20 accumulators that have been used for addition and subtraction; one multiplier to carry out all the multiplication and one divider/square rooter, along with three function desks which getting the known values of an function, could be stored there and being later used in the perfect solution is.
For all the multiplications, a high swiftness multiplier was built which used 4 accumulators; 2 for the multiplier and others for the multiplicand. The multiplier was with the capacity of multiplying 2 to 10-digit statistics.
In order to create approximately the results at one go, the multiplier possessed 24 programed settings. This means that the ENIAC was able to make 24 different multiplications in 1 program. Each program control was made up of a transceiver, with an input and outcome terminal for program pulses, i. e. by which the commands does the required job by the ENIAC for a specific function.
The divider/square rooter
The divider was made up of 4 accumulators, i. e. 1 for the numerator, one for the denominator, one for the quotient and one for the shifter.
According to inf. fu-berlin. de, "The operation involves set-up, computation, round-off and interlock and clearing".
The divider's algorithm was made up of a repetition in a certain way with addition and subtraction algorithm. Therefore, the denominator has the same indication being subtracted until there is a indication change in the answer. Alternatively, if the numerator and the denominator have different signs or symptoms they are really added. "Where every subtraction increments in a decade of the quotient accumulator".
Furthermore, the rectangular rooting associated with an integer is dependant on the theory that the square of an integer is equal to the sum of most odds, before square integer is come to.
Memory Component
The memory component was made up of 20 accumulators that have been used in two ways; to hold or store data. But this is done only when the accumulators were not used for other purposes, that could have been the three function tables, which have a recollection and arithmetic function at the same time. Obviously it had unlimited backing storage space, done on punch cards, which can later be referenced trough the input devices.
The Control unit
The control unit was split into two; the control of basic procedures and the control of the series of operations.
Control of basic operations:
The control of basic businesses was called Encoding, were the elements of the ENIAC were handled when they intervened. Regarding the ENIAC, this is done personally by linking different panels by wires. This process could take from 30 minutes to a complete day work.
Control of the sequences of functions:
Regarding the ENIAC, it was down synchronously, i. e. a fresh action could only start at a certain time. The ENIAC delivered a set of pulses every 200 microseconds, therefore a new process could only start at the start of those processes.
Input productivity component
In order to type and output data, to or from the ENIAC, the help of your punch cards was needed, known as printers. This might have been called The limiting factor, as the ENIAC could only continue steadily to are long as there was no process that was ready and was still being outputted on punch cards. If the next process was ready the ENIAC would have to wait until the printing device was ready, so that it could give it the next process to focus on and the ENIAC would restart.
The accumulator
The accumulator was a device used a lot in the ENIAC. Such a tool was used for addition and subtraction and to store data and transmit it back when it was needed. Usually they were in columns of 10 as the ENIAC could take up to a 10 digit amount.
The accumulator was built-in a ring counter-top from 0 to 9 and it experienced a carryover circuit so that when it reached 9 and over it switched to the next accumulator and add 1 to it.
It even got a pulse shaping circuit such that it ensured that there was a good pulse moving through the accumulators.
Modern-day processor
The present day processors follow the composition made by Von Neumann and Alan Turing.
Both personal computers are encouraged by the thought of having the coding stored electronically over a memory which the computer could make reference to, unlike the ENIAC where the coding was done personally.
The first idea was proposed firstly by Von Neumann in 1945 known as the EDVAC, while Alan Making was working on the same task, but not with Von Neumann and proposed the same idea.
In 1946 Von Neumann started working on a new project along with his colleagues known as the IAS, which wasn't produced until 1952. Basic or standard purpose computer systems follow the same basic principles within this computer.
"2. 2 First: Because the device is mostly a computer, it has to perform the elementary operations of arithmetic most frequently. They are addition, subtraction, multiplication and department. It is therefore reasonable that it should contain special organs for just these operations. It must be viewed, however, that while this process as such is most likely sound, the precise manner in which it is understood requires close scrutiny. At any rate a central arithmetical part of the device will most likely have to can be found and this constitutes the first specific part: CA.
2. 3 Second: The logical control of these devices, that is, the correct sequencing of its functions, can be most efficiently carried out by way of a central control organ. If the device is usually to be elastic, that is, as nearly as you possibly can all purpose, then a distinction must be made between the specific instructions given for and determining a specific problem and the general control organs which ensure that these instructions-no subject what they are-are carried out. The former must be stored for some reason; the last mentioned are represented by certain operating elements of the device. From the central control we indicate this second option function only, and the organs which perform it form the next specific part: CC.
2. 4 Third: Any device which is to carry out long and complicated sequences of operations (specifically of computations) will need to have a considerable storage area. The instructions which govern an elaborate problem may constitute considerable material, especially so, if the code is circumstantial (which it is generally in most preparations). This materials must be appreciated. At the very least, the total memory constitutes the 3rd specific area of the device: M. The three specific parts CA, CC (along C), and M correspond to the associative neurons in the individual anxious system. It remains to discuss the equivalents of the sensory or afferent and the motor unit or efferent neurons. They are the suggestions and outcome organs of the device. The device must be endowed having the ability to maintain source and end result (sensory and engine) contact with some specific medium of this type. The medium will be called the exterior tracking medium of the device: R.
2. 5 Fourth: The device must have organs to transfer information from R into its specific parts C and M. These organs form its type, the fourth specific part: I. It'll be seen that it is best to make all exchanges from R (by I) into M rather than straight from C.
2. 6 Fifth: The device must have organs to transfer from its specific parts C and M into These organs form its outcome, the fifth specific part: O. It will be seen that it is again best to make all transfers from M (by O) into R, rather than immediately from C. " (Stallings)
The basic principles which this computer has are:
- The main ram which stores both data and the instructions that the computer will be using.
- An ALU calculating in binary amounts not in decimals like the ENIAC.
- The control product which calls for instructions from the memory space and which interprets and executes.
- The inputs and the outputs of the computer are monitored by the control product on how they must operate.
The framework of the Von Neumann machine is employed more recently for the general purpose machine.
The IAS has a storage of 1000 storage locations which can be called Words. In these words both instructions should be executed and the data that must definitely be refined is stored in them, a method which is still used now a days.
In the IAS the ALU and CU have registers so that they store the info that is going to be prepared next or the result of the prior process. These registers are:
- Memory space Buffer Register: the memory buffer register stores in it words used form the memory or the insight productivity devices, or words which have to be stored in the ram or given back to the type/output.
- Storage area address buffer : specifies the address of the location on the storage, from which data will be studied from and put in MBR or extracted from MBR, and written for the reason that specific location in the memory.
- IR: the presently, being executed education, is stored in this register.
- Program Counter: the address of another teaching to be performed after the one being prepared at this time is stored in this register.
- Accumulator and the multiplier quotient: they are being used to hold short-term results of the ALU.
To do instructions the IAS used runs the Instruction Cycle. This circuit is split into two cycles; the Fetch Circuit and the Execute Circuit. The Fetch routine consists of getting the next instruction packed in the IR and the address part is inserted into the Storage area address register, after the execute cycle is made.
The ALU
The ALU is one of the major components in the CPU. It does the arithmetic procedures on the operands of the training words. The ALU can be subdivided in to the AU and LU; the Arithmetic Unit and the Reasoning Device. Some processors have more than one AU because they are necessary for the Fixed Point and the Floating Point.
It has immediate input to the key recollection, to the cpu controller and certainly to the I/O devices. In addition, it includes safe-keeping places for type operands and businesses where you have the accumulated results and the shifted results. Certainly these results are stored in an accumulator. Arithmetic businesses are manipulated by logic gates which when set up in a particular way, they produce a specific arithmetic procedure.
In it, the ALU has a section focused on position flags, were these position flags show the particular status of any arithmetic effect is.
These flags are:
- C: Carry: indicates that there has to be added a +1 for some register in the CPU.
- Z: No: suggests that the effect is 0.
- I: Interrupt Disable: signifies if an interrupt was allowed or impaired.
- D: Decimal: suggests if a binary quantity must be performed in BCD or in real binary quantity.
- B: Break in the action: indicates if the processor encountered any break in the action.
- V: Overflow: implies if there is any overflow within an arithmetic procedure i. e. an arithmetic operation exceeded +127 or - 128
- N: Negative: instructs if lots is negative or not.
Other components in the ALU is the shifter. The usage of the shifter is to alter decimal places of floating point, arithmetic businesses.
As possible seen in the picture below, the ALU only interacts with data that is inside the CPU's registers.
Figure 2: extracted from http://cnx. org/content/m29369/latest/
The Control Unit
The Control Product requires instructions from the primary storage area and translates them, while performing how data should be manipulated to bring out the desired output of the teaching. After that, it co-ordinates what other units must do by the method of the Control Bus.
The way the Control Unit controls other items, varies from one CPU to another, as it is specific for the architecture of the every CPU. Taking as an example the x86 CPU, this kind of CPU has to fetch, decode, manage execution and store the results. If the Control Unit has an RICS controller than the control device has more work to do. The RICS controller translates x86 instructions to micro instructions and handles the scheduling of micro instructions between each device, while taking the output and makes certain that it gets there to its vacation spot.
The Cache Memory
The Cache Memory space is an extremely fast memory made of Static Ram storage area. Cache is employed so the CPU saves time in taking the same teaching from the storage area for a repetitive timeframe. Therefore, whenever there are instructions that are regularly used for a program, these are stored in the Cache. Which means that it could save a lot of time for execution as it would save time for the education to travel from the main storage to the control device, leading to less container necking on the data busses. Also as the Cache is constructed of static ram which is nearer to the CPU, the key memory is made of dynamic ram which is slower than the static ram memory.
Usually the cache is known as l1 since it is available inside the CPU and l2 when found on the motherboard, but nowadays l1 and l2 are found on the CPU and l3 is found on the mom board.
Comparison
Obviously modern technology is always improving and outdates previous technology.
When comparing the ENIAC to today's processor the most obvious difference is the size of the cpu. The ENIAC had an extremely large size which occupied a whole room and was 20 times larger than the major radio station period, so that it is quite bombastic and space demanding. In comparison to nowadays, a CPU has the size of a small rubber but still does the work that the ENIAC performed, better and more effectively.
Programming on the ENIAC was done by hand, where operators changed relationships of the ENIAC yourself so the function can be set up to the desired one, but it was a boring job and that's what Turing and Neumann wished to eliminate. It could take from about thirty minutes to a whole day to be able to connect panels to their equivalent ones. On the other hand, today's CPUs are designed electronically with no need to touch any wiring, which are no longer found in a CPU building, being too large.
The ENIAC was aimed to work out arithmetic functions only, therefore it could only do total integrations etc. . . , but today's CPUs are usually more generic and perform a large spectrum of things than just arithmetic operations, and therefore it could be of help not only for war purposes but also for other users. Minimizing its size, business lead to fewer expenditures and for that reason affordable by other users.
The ENIAC made use of 18, 000 vacuums in order to use, which had to always be improved as they acquired burnt and may never be powered down or back again on. This is so since it burnt more vacuum pipes therefore it was always started up. Unlike the present day day CPU, where it doesn't use any vacuum tubes, it can be started up or off any time the user wants.
Considering the suggestions and result components which postponed the ENIAC and made it stop and wait for it to prepare yourself, such that it could restart working, brought on a great deal of delay in the execution of an function, taking into account that for a 5 second electric calculation there is a 20 second outputting of effect. In modern CPUs, aside from having result devices that happen to be faster than a punch card printing device, the end result devices can never reach the quickness of the CPU therefore the Buffer was presented. When there is an execution to be outputted to a tool, it goes to the buffer, where it remains in a sort of queue until it is outputted. Therefore, the CPU can remain working without halting or being postponed.
Modern CPUs utilize the cache recollection where instructions which are used consistently are stored in it, so that execution time is lowered and therefore increasing efficiency.
The ENIAC handled at 100, 000 pulses per second, today, the rate of the CPU is measured in giga bytes or megabytes, and for that reason there is a large difference in the rate which was used on the ENIAC. Though it was thought that the ENIAC was fast enough and didn't need parallel execution, in today's CPUs, this technique can be used where more than 1 execution is made. Whilst there is this idea in the ENIAC, it wasn't used at that time since it was thought that its speed was fast enough and so it could work in series.
Although modern cpus are not created like the eniac still they follow some basics like for example there continues to be the utilization of the control product and the Alu and still there is the use of the primary memory and the support storage.
But although they have the same basic composition the alu is built completely different then the technique used back then, apart from that as the eniac accepted 10 digit quantities modern cpus accept to 32 tad figures or even 64 tad more recently.
The eniac worked well in decimal figures on the other hands nowadays cpu work in binary and in BCD.
Also like the eniac todays processors are designed to operate electrically and digitally. This there is not faster than it.
Conditional branching is also used in todays machines as it was used in the eniac.
Conclusion:
From this evaluation I made it can be viewed that the eniac was the pioneer which without the eniac machine wouldn't have been possible to produce todays machines and produce better smaller and faster machines which would be generic so that they could be utilized more than simply for arithmetic operations. That's what technology is, were one thing leads to better more advanced thing.