B.ram Lecture 1 2
B.ram Lecture 1 2
The International Congress for global Science and Technology www.icgst.com Instructor: Ashraf Aboshosha, Dr. rer. nat. Engineering Dept., Atomic Energy Authority, 8th Section, Nasr City, Cairo, P.O. Box. 29 E-mail: [email protected], Tel.: 012-1804952 To my students Let us go forward into the future
Course Syllabus:
Computer architecture Microprocessor structure and design Microprocessor programming and operation Microprocessor based interfacing
Introduction
A microprocessor systems course is commonly viewed as an essential component of computer engineering programs, as well as many electrical engineering programs. Such a course is often a student's first real initiation into a ``systems'' type course, where emphasis is not on analysis and formulas, but on understanding the design and operation of a real system at many levels of abstraction. The style and format of such a course represents a challenge for instructors. The purpose of these lectures is to relate our views on this type of course, to describe how we offer the course at our institution, and to assess the effectiveness of our course. Key aspects of our approach include:
Integration of hardware/software topics. Microcomputer concepts in a manner tailored to our course and laboratory hardware, Use of microcomputer hardware to motivate student learning, A fully-featured analysis of the microcomputer hardware that allows more detailed exploration of operations, The use of sophisticated digital systems to aid understanding of signal timing, relative time scales, and software/hardware interaction.
CPU
Memory
Input
Output
Memory
The memory section usually consists of a mixture of RAM (Random Access Memory) and ROM (Read Only Memory). It may also have magnetic floppy disks, magnetic hard disks, or optical disks (CDs, DVDs). Memory has two purposes. The first purpose is to store the binary codes for the sequences of instructions you want the computer to carry out. When you write a computer program, what you are really doing is writing a sequential list of instructions for the computer. The second purpose of the memory is to store the binary-coded data with which the computer is going to be working. This data might be the inventory records of a supermarket, for example.
Input/Output
The input/output or I/O section allows the computer to take in data from the outside world or send data to the outside world. Peripherals such as keyboards, video display terminals, printers, and modems are connected to the I/O section. These allow the user and the computer to communicate with each other. The actual physical devices used to interface the computer buses to external systems are often called ports. Ports in a computer function Just as shipping ports do for a count. An input port allows data from a keyboard, an A/D converter, or some other source to be read into the computer under control of the CPU. An output port is used to send data from the computer to some peripheral, such as a video display terminal, a printer, or a D/A converter. Physically, the simplest type of input or output port is just a set of parallel D flip-flops. If they are being used as an input port, the D inputs are connected to the external device, and the Q outputs are connected to the data bus which runs to the CPU. Data will then be transferred through the latches when they are enabled by a control signal from the CPU. In a system where they are being used as an output port, the D inputs of the latches are connected to the data bus, and the Q outputs are connected to some external device. Data sent out on the data bus by the CPU will be transferred to the external device when the latches are enabled by a control signal from the CPU.
Data Bus
The data bus consists of 8, 16, or 32 parallel signal lines. As indicated by the double-ended arrows on the data bus line in Figure 1, the data bus lines are bidirectional. This means that the CPU can read data in from memory or from a port on these lines, or it can send data out to memory or to a port on these lines. Many devices in a system will have their outputs connected to the data bus, but only one device at a time will have its outputs enabled. Any device connected on the data bus must have three-state outputs so that its outputs can be disabled when it is not being used to put data on the bus.
Address Bus
The address bus consists of 16, 20, 24, or 32 parallel signal lines. On these lines the CPU sends out the address of the memory location that is to be written to or read from. The number of memory locations that the CPU can address is determined by the number of address lines. If the CPU has N address lines, then it can directly address 2N memory locations. For example, a CPU with 16 address lines can address 216 or 65,536 memory locations, a CPU with 20 address lines can address 220 or 1,048,576 locations, and a CPU with 24 address lines can address 224 or 16,777,216 locations. When the CPU reads data from or writes data to a port, it sends the port address out on the address bus.
Control Bus
The control bus consists of 4 to 10 parallel signal lines. The CPU sends out signals on the control bus to enable the outputs of addressed memory devices or port devices. Typical control bus signals are Memory Read, Memory Write, I/O Read, and l/O Write. To read a byte of data from a memory location, for example, the CPU sends out the memory address of the desired byte on the address bus and then sends out a Memory Read signal on the control bus. The Memory Read signal enables the addressed memory device to output a data word onto the data bus. The data word from memory travels along the data bus to the CPU.
Synchronized/Asynchronized Interface Two important categories of interface are used to connect peripherals: the first one is the synchronized interface which depends on a clock to order the data transfer. The second one is the asynchronized interface which can be accomplished without clock. To interface these peripherals together we need handshaking adaptor which regulates the data exchange between them. See figure 3.
Synchronized System
Handshaking Device
Asynchronized System
Figure 3. Synchronized/Asynchronized Interface. Serial/Parallel Interface To interface two peripherals one of them is parallel and the second is serial we have to use parallelizing and serializing stages to connect both of them. The parallelizing stage converts the serial pulses into parallel data while the serializing stage converts the parallel data into serial pulses. See figure 4.
Exercises:
A. 1- Describe and draw the diagram of Von Neumann model. 2- Define the following abbreviations CPU, RAM and ROM B. 1- Classify the system peripheral interface according to three different approaches. 2- Define the following abbreviations ADC, DAC and I/O
Motherboard
Microprocessor
Internal Bus
External Bus
Peripheral
Indirect bus interface
Peripheral
Direct bus interface
Bus
When referring to a computer, the bus also known as the address bus, data bus, or local bus is a data connection between two or more devices connected together. For example a bus enables a computer processor to communicate with the memory or a video card to communicate with the memory.
A bus is capable of being (parallel or a serial bus), (Synchronized or Asynchronized) and today all computers utilize two types of buses, an internal or local bus and an external bus. An internal bus enables a communication between internal components such as a computer video card and memory (e.g. ISA, EISA, PCI, AGP, etc.) and an external bus is capable of communicating with external components such as a SCSI bus, CAN, CAMAC, GPIB, etc. A computer or devices bus speed or throughput is always measured in bits per second or megabytes per second.
The bus is not only cable connection but also hardware (bus architecture), protocol, software, and bus controller BUS Basics
A computer bus is a method of transmitting data from one part of the computer to another part of the computer. The computer bus connects all devices to the computer CPU and main memory. The computer bus consists of three parts the address bus, a data bus and control bus. The data bus transfers actual data whereas the address bus transfers information about where the data should go. The control bus exchanges all control signals. The following part contains a brief overview on each of the computer buses.
Definitions:
1- PnP
Short for Plug and Play, PnP is an ability of a computer to detect and configure a new piece of hardware automatically, without the requirement of the user to physically configure the hardware device with jumpers or dipswitches. Plug and Play was introduced on IBM compatible computers with the release of Microsoft Windows 95, where Apple Macintosh computers have always supported the ability to automatically detect and install hardware. For Plug and Play to operate properly on IBM compatible computers the user must have the following: BIOS supporting Plug and Play. Operating systems supporting PnP. Peripheral with PnP support.
Today all new computers have PnP capabilities. Computers running Microsoft Windows XP no longer support non PnP devices.
3- Proprietary
Term used to describe a product that is only compatible with a specific type of hardware, software, computer or manufacturer. When referring to computer hardware, it is recommended that you do not choose a proprietary device as it reduces compatibility and generally the capability of upgrading that product in the future.
ISA BUS
Introduced by IBM, ISA or Industry Standard Architecture was originally an 8-bit bus that was later expanded to a 16-bit bus in 1984. When this BUS was originally released it was a proprietary BUS, which allowed only IBM to create peripherals and the actual interface. However in the early 1980's other manufacturers were creating the bus. In 1993, Intel and Microsoft introduced a PnP ISA bus that allowed the computer to automatically detect and setup computer ISA peripherals such as a modem or sound card. Using the PnP technology an end-user would have the capability of connecting a device and not having to configure the device using jumpers or dipswitches. To determine if an ISA card is an 8-bit or 16-bit card physically look at the card. You will notice that the first portion of the slot closest to the back of the card is used if the card is an 8bit card. However, if both sections of the card are being utilized the card is a 16-bit card. Many manufacturers are trying to eliminate the usage of the ISA slots however for backwards compatibility you may find 1 or 2 ISA slots with additional PCI slots, AGP slots, etc. However, today you may also have a motherboard that has no ISA slots. We highly recommend when purchasing any new internal expansion card that you stay away from ISA as it has for the most part disappeared.
MCA BUS
Short for Micro Channel Architecture, MCA was introduced by IBM in 1987, MCA or the Micro Channel bus was a competition for ISA BUS. The MCA bus offered several additional features over the ISA such as a 32-bit bus, automatically configure cards (similar to what Plug and Play is today), and bus mastering for greater efficiency. One of the major downfalls of the MCA bus was it being a proprietary BUS and because of competing BUS designs. The MCA BUS never became widely used and has since been fazed out of the desktop computers.
EISA BUS
Short for Extended Industry Standard Architecture, EISA was announced September of 1988. EISA is a computer bus designed by 9 competitors to compete with IBM's MCA BUS. These competitors were AST Research, Compaq, Epson, Hewlett Packard, NEC, Olivetti, Tandy, WYSE, and Zenith Data Systems.
The EISA Bus provided 32-bit slots at an 8.33 MHz cycle rate for the use with 386DX, or higher processors. In addition the EISA can accommodate a 16-bit ISA card in the first row. Unfortunately, while the EISA bus is backwards compatible and is not a proprietary bus the EISA bus never became widely used and is no longer found in computers today.
PCI BUS
Introduced by Intel in 1992, revised in 1993 to version 2.0, and later revised in 1995 to PCI 2.1. PCI is short for Peripheral Component Interconnect and is a 32-bit computer bus that is also available as a 64-bit bus today. The PCI bus is the most commonly used and found bus in computers today.
MINI PCI
Mini PCI is a new standard which measures at 2.75-inch x 1.81-inch x 0.22-inch is a new standard developed by leading notebook manufactures. This technology could allow manufactures to lower their price as the motherboards would be simpler to design. Type I - Identical to Type II, except requires extra cables for connectors like the RJ-11 and RJ-45. However, offers more flexibility to where it can be placed in the computer. Type II - Used when size is not important. Type II is able to integrate the RJ-11 and RJ-45 connectors and due away with extra cables. Type III - SO-DIMM style connector that can be installed with a mere 5 mm overall height above the system board. In addition cabling to the I/O connectors allow Type III cards to be placed anywhere in the system.
PCI-X
PCI-X is a high performance bus that is designed to meet the increased I/O demands of technologies such as Fiber Channel, Gigabit Ethernet and Ultra3 SCSI. PCI-X capabilities include:
Up to 133 MHz bus speed 64-Bit bandwidth 1GB/sec throughput More efficient bus operation for easier interface. Split Transactions allows an indicator device to make only one data request and relinquish the bus. Instead of constantly needing to poll the bus for a response. Byte Count that enables indicator to specify in advance the specific number of bytes requested, eliminating the inefficiency of speculative prefetches. Backwards compatibility
AGP
Introduced by Intel in 1997, AGP or Advanced Graphic Port is a 32-bit bus designed for the high demands of 3-D graphics. AGP has a direct line to the computers memory which allows 3-D elements to be stored in the system memory instead of the video memory. For AGP to work in a computer must have the AGP slot which comes with most Pentium II and Pentium III machines. The computer also needs to be running Windows 95 OSR2.1, Windows 98, Windows 98 SE, Windows 2000, Windows ME or higher.
USB Bus
USB (Universal Serial Bus) is a new external bus developed by Intel, Compaq, DEC, IBM, Microsoft, NEC and Northern Telcom and released to the public in 1996 with the Intel 430HX Triton II Mother Board. USB has the capability of transferring 12 Mbps, supporting up to 127 devices and only utilizing one IRQ. For PC computers to take advantage of USB the user must be running Windows 95 OSR2, Windows 98 or Windows 2000. Linux users also have the capability of running USB with the proper support drivers installed. To determine if your computer supports USB on the back, front or sides of the computer look for a small connector with the following symbol.
USB cables are hot swappable which allows users to connect and disconnect the cable while the computer is on without any physical damage to the cable.
The above illustration is an example of what the end of a USB connector looks like. There are two standards of USB connectors. Type A connectors are found on the computer and or USB hub and Type B connectors are found on the peripheral. All USB cables should only be legally 5m (16ft) max as defined by the USB standard. When exceeding this length or utilizing extensions in the cables data loss will occur. The below illustration is the slots used for each of the connectors shown in the above illustration.
USB VERSIONS
USB 1.0 - The original release of USB supports 127 devices transferring 12 Mbps. USB 1.1 - Also known as full-speed USB, USB 1.1 is similar to the original release of USB however minor modifications for the hardware and the specifications. This version of USB still only supports a rate of 12 Mbps. USB 2.0 - USB 2.0 also known as hi-speed USB was developed by Compaq, Hewlett Packard, Intel, Lucent, Microsoft, NEC and Philips and was introduced in 2001. Hi-speed USB is capable of supporting a transfer rate of up to 480 Mbps and is backwards compatible meaning it is capable of supporting USB 1.0 and 1.1 devices and cables. BUS Width (bits) 8 16 32 32 32 64 32 32 32 Bus Speed (MHz) 8.3 8.3 8.3 33 33 66 66 66x2 66x4 Bus Bandwidth (MBytes/sec) 7.9 15.9 31.8 127.2 127.2 508.6 254.3 508.6 1,017.3
8-bit ISA 16-bit ISA EISA VLB PCI 64-bit PCI 2.1 AGP AGP (x2 mode) AGP (x4 mode) Exercises: 123456-
Mention several techniques of microprocessor interface Define and explain the following terms PnP, throughput and proprietary What are the required conditions for applying PnP technique? Define the following abbreviations ISA, PnP, PCI, USB, AGP Compare the performance of the following buses, ISA, EISA, PCI, AGP and USB Write some brief notes about the USB bus