Data transfer rates - chapter ( lesson 2.4 )

Data transfer rates



Clock speed and MIPS both reflect the potential processing power of a machine but the processor is not the only component in a real machine. A typical system is comprised of a processor, memory, a video display and disk drives.
 


In running a program data has to be moved between these system components - from memory to processor, from memory to disk, from processor to video etc.. Connections are made between the different components by sets of wires called buses. In practice a bus is more than just a set of wires, it also includes sets of rules or protocols that govern how data should be transferred, what its destination is etc.. Another name for a data bus is a data highway which is more descriptive of its role in transferring data from one system component to another.

The speed of these transfers between the components of a system affects how long a program takes to run. Different programs will make demands on different types of data transfer. For example, a database program will spend much of its time transferring data from disk to memory and vice verse whereas a DTP program will spend more of its time transferring data to and from the video display. The importance of high data transfer rates between the different system components depends very much on the type of work that a program is engaged in. In an ideal world a system would optimize the transfer rates between all system components but in the real world this results in a very expensive machine! A more realistic approach is to optimize those transfer rates that are critical to the application.


Data transfer rates are usually measured in either MBytes per second or MBits per second and it is important to be aware of which measure is in use. 1MByte per second is eight times faster than MBit per second.


There are two factors that affect data transfer rates - clock speed and band width. Clock speed is simply the rate at which a unit of data can be transferred and band width is the size of the unit of transfer. In other words, at each clock pulse an item of data is transferred but the total amount of data transferred can be increased by sending more per clock pulse. In physical terms band width corresponds to the number of wires in a bus available for data transfer. In simple terms it needs one wire connection to transfer a single bit of data between two units.

The problems of speed - chapter 2 ( lesson 2.3 )

The problems of speed


Compared to the typical 1MHz and 2MHz clock rates used in the first desktop computers, the 33MHz and 40MHz clock rates in use today pose some interesting problems for designers and users. The difficulty stems from the fact that current clock rates are well into the radio frequency range. For example, some FM radio stations transmit on frequencies lower than 80MHz and stations in the long wave band use frequencies as low as 0.1MHz! The reason why this becomes more of a problem as clock rates increase is that the efficiency of an aerial increases with frequency. This means that the copper tracks connecting the chips that make up a computer radiate significant amounts of radio frequency noise as the clock rate increases. If you have tried listening to a radio near to a computer you will have heard the problem.

However, the problem isn’t to do with radio interference, this can be reduced by using a specially treated metal case, the problem is that the radio emissions cause distortion of the pulses that the copper tracks carry and lead to interference or ‘crosstalk’ between tracks. You can think of it as the copper tracks becoming increasingly leaky as the clock rate goes up. It is possible to do something about this by careful layout of the printed circuit board but many early machines used printed circuit boards that were designed for slower speeds and were often unreliable. Today there is no real problem with clock rates up to 40MHz but there is some doubt about the possibility of pushing the rate any higher without unreasonable increases in cost. (This is one reason for the use of clock doubling circuits to increase a 25MHz external clock to 50MHz.)

Another common practice that can cause problems is using chips above their recommended clock rate. The frequency at which a chip is guaranteed to work is usually a very conservative estimate of actual maximum operating frequency. Before true 40MHz processors were available it was a common practice for manufacturers to select the higher quality components from a batch of 33MHz parts and push them to 50MHz. This sometimes resulted in a machine that would refused to work if the room temperature was too high !


                       doesn’t result in the program taking half the time. Even so clock speed is a valuable measure of potential performance. The point is that it determines the rate at which instructions are obeyed. Doubling a machine’s clock speed halves the time a program takes to run in the best possible case.

If you are comparing identical processors then clock speed is a good measure but it isn’t as meaningful between processors. Even so clock speed is still quoted as a way of showing how machines based on the Intel family have increased in power. The original PC had a clock speed of 4.77MHz and the first AT 6MHz (quickly increased to 8MHz). The fastest 286 machines used clock speeds of 10MHz, 12MHz, 16MHz and even on occasion 20MHz. 386 systems have been available in clock speeds of 16MHz, 20MHz, 25MHz, 33MHz and even higher. The 486 has been manufactured in 25MHz, 33MHz and 40MHz versions.

At this point you might be wondering why every processor, especially those in the 386 family, isn’t available at every clock speed. The answer is that manufacturers have an obvious desire to rationalise the range that they offer and this goes for chip and machine manufacturers. This means that processors 

                                                                                 






are produced in a range of clock speeds that tries to eliminate overlap in processing power. For example, the 20MHz 386DX died out when the 25MHz 386SX became available. In this case the 386SX version was as powerful and cheaper than the DX version. Thus while a complete listing of all the clock speeds that have ever been produced makes interesting reading it isn’t likely to correspond to the range available or desirable at any given time.

To get some idea of how clock speeds and MIPS compare and how the different processor types offer different ranges of power then see Figure 2.1.


Clock speed is the simplest measure of the speed of a processor and it works very well as long as you confine your attention to a single type of processor. However it is prone to misrepresent the speed of a processor if the number of Instructions that are obeyed per clock pulse is modified. For example, you could modify a 386 chip to execute its Instructions in half the number of clock pulses. This means that you could have two 386 chips with the same clock speed but one would have twice the MIPS of the other! If you think that this is entirely theoretical it is worth mentioning that the 




486 is in many senses nothing more than a 386 that executes an important subset of instructions in fewer clock cycles and the 486DX2 doubles the external clock speed so in effect obeying all instructions in half the time!

To compensate for the possibility of there being different numbers of instructions per clock pulse it is useful to use the Landmark speed. This is simply the speed that an original 286AT would have to be run at to give the same performance. The Landmark speed is good in the sense that it does provide a reasonably realistic measure of performance but it can also be used to mislead if a manufacturer quotes a clock speed that is in fact a Landmark speed. A typical set of Landmark speeds quoted for a range of machines from one manufacturer can be seen in Figure 2.2. Notice that this graph is also influenced by other design aspects than the type of processor. For example in the case of the 486 machines a cache (see Chapter 4) was used to produce an even greater speed increase over the 386SX and 386DX machines.




Clock speed and Landmark speed - chapter ( lesson 2.3

Clock speed and Landmark speed



A simpler measure of performance, and one more often quoted than MIPS, is clock speed. Every computer has a master clock which serves to co-ordinate everything that happens. An instruction will always take an exact number of clock pulses to complete and so how fast a program runs is directly dependent on the clock rate. Clock rate is measured in MHZ or Mega-Hertz. (Hertz was a pioneer of radio transmission and the international measure of frequency is named after him.) Roughly speaking 1MHz is one million clock pulses per second and you can use the measure of clock rate to deduce the running time of a program on different machines. For example, if you are running a program on a machine with a clock rate of 1MHz and it takes one minute then changing to a 2MHz machine of the same type will mean that it only takes half a minute to complete.

Well, to be strictly accurate this reasoning only holds if the program’s running speed is only affected by the rate at which the processor obeys instructions and in practice this isn’t the case. For example, if the program in question spends a lot of time waiting for you to type on the keyboard or for a slow

disk drive to deliver up its data then doubling the clock speed ..                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

Risc v. Cisc chapter 2 ( lesson 2.2 )


Risc v. Cisc

There are two very general types of processor in use - risc, Reduced Instruction Set Computers and cisc, Complex Instruction Set Computers. Processors such as the 386 family are cisc processors. They have a large and powerful set of instructions which programs can use. For example the 386 can perform a multiplication or division in a single instruction where many other processors take tens of instructions to do the same task.

It is difficult to see how there could be any alternative to the progression of increasingly powerful cisc processors. The philosophy of risc design, however, is that a complex instruction set is difficult to implement efficiently and most of the time programs only use 10% or fewer of the available range of instructions. Instead of trying to implement a full cisc instruction set efficiently, the risc approach is to concentrate on just the 10% of the instructions that are used often. The resulting processors have a small but very fast instruction set. Risc processors have proved that they can match and surpass the performance of cisc chips such as the 386 while being much simpler and cheaper to build.

The future of the risc versus cisc argument is difficult to predict. It is likely that PCs based on risc designs will become more common as 386 software such as Windows NT is designed to also run on risc processors. However, a more subtle effect of the rise philosophy is on the future generation of cisc chips. The 486, for example, gains much of its speed by optimizing the speed of the most commonly used instructions. This is of course exactly the principle used in designing a risc processor! It is going too far to say that the 486 is a cross between a cisc and a risc processor but it weakens the argument that to reach increased processing power we have to move to risc at the expense of cisc.


                                                    average measure of performance but your applications may be very specific in their use of a processor’s instruction set. The result is that it can be difficult to predict how much effect an improvement in the MIPS rating will have on the speed of your particular application.


The first desktop computers offered performances below O.5MIPS. Today’s 386/486 based systems offer performances in the region of 1OMIPS. At these levels of performance desktop computers can be used for tasks that traditionally needed a mainframe or a workstation such as real time solid modelling, animation and complex equation solving.
 

Kategori