Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHY 201 (Blum) Comparators and Buses. PHY 201 (Blum) What is it? A comparator is circuitry that compares two inputs A and B, determining whether the following.

Similar presentations


Presentation on theme: "PHY 201 (Blum) Comparators and Buses. PHY 201 (Blum) What is it? A comparator is circuitry that compares two inputs A and B, determining whether the following."— Presentation transcript:

1 PHY 201 (Blum) Comparators and Buses

2 PHY 201 (Blum) What is it? A comparator is circuitry that compares two inputs A and B, determining whether the following conditions are true or false – A = B – A > B – A < B – A  B – A  B – A  B

3 PHY 201 (Blum) Two will do Actually the first two will suffice, since the others are easily related to these – A B)) AND (NOT(A = B)) – A  B  (A > B) OR (A = B) – A  B  NOT(A > B) – A  B  NOT(A = B)

4 PHY 201 (Blum) One-bit comparator InputOutput AB=> 0010 0100 1001 1110

5 PHY 201 (Blum) Gate version

6 PHY 201 (Blum) Comparing word equality To compare if two words are equal, you pair up the bits holding the same position in each word, and each individual pair must be equal for the words to be equal. – 1100 and 1110  {(1,1), (1,1), (0,1), (0,0)} are not equal – 1100 and 1100  {(1,1), (1,1), (0,0), (0,0)} are equal

7 PHY 201 (Blum) Comparing word inequality Assume unsigned integers, then – If the most significant bit of word A is greater than the most significant bit of word B, then word A is greater than word B. – If the most significant bit of word A is less than the most significant bit of word B, then word A is less than word B. – If the most significant bit of word A is equal to the most significant bit of word B, then we must compare the next most significant bits.

8 PHY 201 (Blum) And so on If the most significant bits are equal, one compares the next-most significant bits. Then if the next most significant bits are equal, one compares the next-next-most significant bits, and so on. It seems that one must know the outcome of testing the more significant bits before one proceeds to the less significant bits.

9 PHY 201 (Blum) Timing issues In terms of circuitry, this would seem to require many layers, the output of one layer being fed into the next layer. There would seem to be as many layers as there are bits in the word. Each layer of circuitry requires time to settle into the desired state. More layers means more time.

10 PHY 201 (Blum) Scaling If the comparing is to be done in one clock cycle, this clock’s period restricts the size of the word that can be compared. It is said that such circuitry “does not scale,” that is, changing the word size produces (timing) problems not seen in the smaller word size.

11 PHY 201 (Blum) Combinatorial scaling Recall that combinatorial logic is expressible in terms of a truth table. Recall our procedure to realize a truth table as a circuit: we focus on the true (1) outputs, etc. Thus logical circuits really require only three layers: inverting the inputs, ANDing inputs or inverted inputs, ORing the output of the AND gates

12 PHY 201 (Blum) Complexity Sometimes the price one pays to have a circuit that scales is loss of simplicity. – There are fewer layers, but more going on in a given layer. There are other possible problems, – The scaling circuit may have a given input attached to many gates. – A given gate may have many inputs. – Potential power problems.

13 PHY 201 (Blum) 4-bit comparator

14 PHY 201 (Blum) Buses Warning: some of the terminology is used inconsistently within the field

15 PHY 201 (Blum) What is a bus? A bus is a basically just wires through which data travels from one part of a computer to another. – Usually it’s implied the path is shared by a number of parts There is more than one bus and more than one kind of bus – Data, address, control – System, expansion, local, external – USB, AGP, ISA, EISA, MCA, PCI, VESA – (Parallel, serial)

16 PHY 201 (Blum) What does it carry? In simple architectures, data and addresses travel on the same bus, while control information traveled along individual wires (not shared) – Saves on pins In more complicated architectures, data and address buses are separate

17 PHY 201 (Blum) Data, address and control buses The data bus carries data and instructions. The address bus carries information about where the data should go. The control bus carries information from the CPU to other parts of the computer, telling what they should be doing. – Some use control bus as a synonym for system bus.

18 PHY 201 (Blum) Bus characteristics The highway analogy: moving data along the buses is like moving cars on the highway. Bus width (number of lanes) – How many bits are moving around in parallel Bus speed (speed limit) – How fast those bits are moving Throughput is the numbers of bits being handled per unit time, it combines bus width and bus speed into one measure.

19 PHY 201 (Blum) Memory size The width of the system’s address bus puts an upper limit on the amount of memory locations. For example, if the address bus width is 32, then there are 2 32 (4,294,967,296) addresses. Note that instead of addressing individual words, computers usually address individual bytes, so that would mean 4 GB. Of course, most computers have less than 4 GB of memory, it’s just an upper limit. – To exceed this limit, say in a server, one needs a wider bus or one needs to break the addresses into parts.

20 PHY 201 (Blum) Bus speeds Measured in MHz (millions of cycles per second). It doesn’t make much sense to have a very fast processor speed and a slow bus speed; they should be compatible. – The bus speed is slower than the processor speed and often limits the speed of the computer.

21 PHY 201 (Blum) Multiple buses A bus should not be too long; its speed is determined in part by its length. Also slower devices do not need faster (and more expensive) buses. The computer should not be held back by the slowest device. Solution: More than one bus

22 PHY 201 (Blum) System bus The system bus connects the CPU, memory and other motherboard parts. This bus should be well coordinated with the processor and memory access speeds. Other buses must interface with the system bus if they want to interact with the processor.

23 PHY 201 (Blum) Frontside and backside buses The frontside bus is the bus within a processor that connects the CPU with main memory. It's used to communicate between the motherboard and other components in a computer system. In contrast, a backside bus connects the CPU to a Level 2 cache. – L2 cache usually sits on top of the processor chip.

24 PHY 201 (Blum) Expansion bus The expansion bus connects the system bus to the expansion slots (where cards are inserted to expand the computer’s capabilities) – This bus usually works at slower speeds Early PCs used an expansion bus called the ISA bus. Most PCs today have a much faster PCI bus but may have an ISA bus for backward compatibility.

25 PHY 201 (Blum) Local bus If a device or devices require a great deal of speed (e.g. video), then one solution is for the device to have its own high-speed, direct (or nearly direct) connection to the processor. Such a connection is called a local bus. Can only support a few devices.

26 PHY 201 (Blum) ISA Industry Standard Architecture (ISA) is the bus used in early IBM PC and their clones. The AT (advanced technology) version of the bus is called the “AT” bus and became an industry standard. Worked at 8.33 MHz

27 PHY 201 (Blum) Plug and Play In 1993, Intel and Microsoft introduced a version of the ISA called Plug and Play ISA. Plug and Play ISA enables the operating system to do the configuring, instead of the user setting switches and jumpers.

28 PHY 201 (Blum) PCI Peripheral Component Interconnect, a standard introduced by Intel. PCI is a 64-bit bus, though it is usually implemented as a 32-bit bus. It can run at clock speeds of 33 or 66 MHz. At 32 bits and 33 MHz, it yields a throughput rate of 133 MBps (Mega bits per second).

29 PHY 201 (Blum) EISA and MCA Between ISA and PCI were some short-lived bus architectures Extended Industry Standard Architecture (EISA) Micro Channel Architecture (MCA) The principal difference between EISA and MCA is that EISA is backward compatible with the ISA bus, while MCA is not.

30 PHY 201 (Blum) VLB Short for VESA Local-Bus, a local bus created by the Video Electronics Standard Association (VESA). 33 MHz Although it was used a lot in PCs made in 1993 and 1994, PCI has become more popular

31 PHY 201 (Blum) external bus A bus that connects a computer to peripheral devices. Two examples are the Universal Serial Bus (USB) and IEEE 1394.

32 PHY 201 (Blum) USB Universal Serial Bus, a new external bus standard that supports data transfer rates of 12 Mbps (12 million bits per second). A single USB port can be used to connect up to 127 peripheral devices, such as mice, modems, and keyboards. USB also supports Plug-and-Play installation and hot plugging.

33 PHY 201 (Blum) Bus mastering Refers to a feature supported by some bus architectures that enables a controller connected to the bus to communicate directly with other devices on the bus without going through the CPU. Most modern bus architectures, including PCI, support bus mastering because it improves performance.

34 PHY 201 (Blum) DMA Direct Memory Access Gives a peripheral device access to the memory without going through the CPU. Speeds up data transfer.

35 PHY 201 (Blum) Three State Logic AEOutput 00Z (High impedance) 010 10 111

36 PHY 201 (Blum) Tri-state buffer

37 PHY 201 (Blum) In the high impedance state

38 PHY 201 (Blum) In the high impedance state

39 PHY 201 (Blum) In the “enabled” state

40 PHY 201 (Blum) In the “enabled” state


Download ppt "PHY 201 (Blum) Comparators and Buses. PHY 201 (Blum) What is it? A comparator is circuitry that compares two inputs A and B, determining whether the following."

Similar presentations


Ads by Google