
Microprocessor 2
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
This first volume focuses more particularly on the first generations of microprocessors, that is to say those that handle integers in 4 and 8-bit formats. The first chapter presents the calculation function and reminds the memory function. The following is devoted to notions of calculation model and architecture. The concept of bus is then presented. Chapters 4 and 5 can then address the internal organization and operation of the microprocessor first in hardware and then software. The mechanism of the function call, conventional and interrupted, is more particularly detailed in a separate chapter. The book ends with a presentation of architectures of the first microcomputers for a historical perspective.
The knowledge is presented in the most exhaustive way possible with examples drawn from current and old technologies that illustrate and make accessible the theoretical concepts. Each chapter ends if necessary with corrected exercises and a bibliography. The list of acronyms used and an index are at the end of the book.
More details
Other editions
Additional editions


Person
Content
Quotation ix
Preface xi
Introduction xv
Chapter 1. Basic Definitions 1
1.1. General points regarding communication 1
1.2. Main characteristics 3
1.3. Synchronism and asynchrony 11
1.4. Coding data 21
1.5. Communication protocol 22
1.6. Access arbitration 31
1.7. Conclusion 45
Chapter 2. Transactions and Special Cycles 47
2.1. Transaction 47
2.1.1. Transaction pipeline 47
2.1.2. Splitting the transaction 50
2.2. Special cycles 51
2.2.1. Managing interruption 52
2.2.2. Managing direct memory access 54
2.2.3. Bus Mastering 55
2.2.4. Detection and correction of errors 55
2.2.5. Multiprocessor aspect 55
2.3. Conclusion 56
Chapter 3. Bus Interfaces 57
3.1. Functional modules 57
3.2. Associated signals 59
3.3. Interfacing logic 62
3.3.1. Transmission lines 63
3.3.2. Integrity of the signal 64
3.3.3. Terminating a line 65
3.3.4. Driver and receiver 67
3.3.5. Differential and single-ended links 70
3.3.6. Topologies 72
3.3.7. Electronic technologies 75
3.4. Insertion-withdrawal under tension 76
3.5. Test and debugging 77
3.6. Bus limits 77
3.7. Conclusion 81
Chapter 4. Bus Classifications 83
4.1. Multibus architecture 83
4.1.1. Segmented buses 85
4.1.2. Hierarchical buses 86
4.1.3. Multiple buses 87
4.1.4. Bridge 88
4.2. Classification of digital system buses 91
4.2.1. Local bus 91
4.2.2. Memory buses 93
4.2.3. Link buses 94
4.2.4. Expansion slot bus 96
4.2.5. Expansion buses 101
4.2.6. I/O buses 101
4.2.7. Backplane and centerplane buses 102
4.2.8. Fieldbus 107
4.2.9. SoC: from bus to network 107
4.2.10. Power bus 113
4.3. Summary: bus classifications 119
Conclusion of Volume 2 121
Exercises 123
Acronyms 127
References 145
Index 155
1
Basic Definitions
In order to describe communication between components and electronic subunits, first we must cover general notions such as the direction of communication and connection topology, as well as the concepts of exchange synchronization and information coding, finishing off with the concept of a protocol, which defines the rules that have to be followed. A protocol also defines access arbitration and cycles.
1.1. General points regarding communication
The direction of communication between two systems (Figure 1.1) can either be one-way (simplex) or bidirectional, and this can be either a full-duplex or alternating (half-duplex). Note here that the communication protocol (i.e. the link layer) cannot provide more than what the physical layer permits.
Figure 1.1. Direction of transmission
The entity from which the communication originates and which is generating the address and control signals is called the Master (M) or Initiator (I), and is represented by a square in Figure 1.2. The entity that replies and follows the commands is traditionally called the Slave (S), or Target (T), and this is represented by a square in the figure. If the bus can only take a single master, it is referred to as a single master system. If it can take several it is called a multi-master system (cf. § 2.2.5). If the medium is shared during emission, there can be a conflict of access to the resource (i.e. the bus or slave unit); this is called a collision. The collision can be either logical or physical. A physical collision can result in material damage if the electronic output stage is not designed for it. For this reason, access arbitration is needed (cf. § 1.6).
Figure 1.2. Model of a multi-master bus
To access the bus, each entity requires an interface called I/F (Figure 1.3).
Figure 1.3. Shared bus
In a one-way bus (simplex transmission), an emitter Tx can emit towards one or several receivers Rx. This is a divergent bus, which can broadcast information (Figure 3.16, for example, and cf. § 2.2). Another case that must be considered is where several emitters can only communicate towards a single receiver. This is a convergent bus that allows for the broadcall of information (cf. § 2.2). The existence of several masters can result in an issue of contention when multiple access requests are made to the communication carrier. The bus can be bidirectional (Figure 3.14, for example), with simultaneous transmission (full-duplex), or alternating transmission (half-duplex).
There are several topological variations, including the MUX-based bus (multiplex) and the AND-OR structure. Both are preferred to the SoC (System on (a) Chip). They are shown in Figure 4.28(a) and (b) respectively.
Since there are three main types of information (address, data and control) to be passed around the nodes of a bus in a microprocessor system, there are several ways for them to be transported: there are three combinations with one element, three combinations with two and one with three possibilities. These combinations specialize the bus, resulting in address buses, data buses, control buses, address- control buses, address-data buses, control-data buses and address-control-data buses (only one bus!). During an exchange of several types of information between two entities, for example, between an address and a piece of data, the transfer can make use of separate media (non-multiplexed bus), or they can use the same medium (multiplexed bus). The choice to multiplex is often one of cost: a bus takes up physical space on the Printed Circuit Board (PCB), which is expensive. The number of output connection points for each electronic component and even for the connectors must be taken into account, as the cost of an Integrated Circuit (IC) or a connector is directly linked to this amount. The first approach is better in terms of bitrate, as the buses are separate, with one for each information type. Time-division multiplexing1 is a solution that allows several different types of information to travel through the same bus, but at different times. The initial philosophy at Intel was that of multiplexing the address and data buses. An example is the 8088 microprocessor made by Intel for the IBM PC (Personal Computer, cf. § V5-3.2.1). This was in contrast to Motorola, which did not multiplex its address and data buses. Another example is the PCI (Peripheral Component Interconnect, cf. § 4.2.4). It should be noted that the information required for the transaction does not need to be presented all at the same time. For example, the information to be written can be presented after the address ("late write", cf. § 4.4.1 in Darche (2012)). The flipside of multiplexing is that the information transfer time is usually longer as the information has to be (de)multiplexed before it can be accessed, resulting in delays in propagation. This can be done either through a process that is external to the communicating elements, or internally, and thus transparently. In the former option, the peripheral circuits communicate specifically with a microprocessor, usually belonging to the same commercial family, for example, the MPU (MicroProcessor Unit, µP for short) 8085 from Intel and its parallel interface circuit 8155, where the former's (de)multiplexers were integrated into the latter. In the case of a bus with different pieces of information spread over different moments in time, multiplexing does not slow down the exchanges and therefore cannot reduce the bitrate.
1.2. Main characteristics
A shared bus is a common interconnection pathway between all of the connected nodes. It is made of a set of lines or communication channels along which the information flows. Usually, only signals are counted, as the power and grounding lines are contained in a separate power bus (cf. § 4.2.10). This number does not take into account electrical characteristics, for example, whether the signal is differential or not (cf. § 3.6.3 in Darche (2012)). At least three2 elements or nodes can connect to it; otherwise, it would be a point-to-point connection, also known as a link. These elements can be electronic components, electronic boards, peripherals or computer systems, depending on the level of observation. These buses can also be inside computer systems, particularly in a microprocessor (cf. § 4.2.9). Information is considered in a broad sense in this work, so it can refer to data, an address3, a command, a control, a state or even an interrupt request or its vector (cf. § V4-5.7). These lines are usually permanently grouped by information type or by function. The result is referred to as a dedicated bus. Two examples are the address bus and the memory channel (cf. § 7.2 in Darche (2012)). Thurber et al. (1972) define these buses as functionally dedicated4. A dedicated bus is more expensive in terms of connectors and electronics, but its interface is simpler in terms of design (no (de)multiplexing, for example). Otherwise it is undedicated. As the technology used is electric or electronic, the bus takes the form of electric conductors (electric ribbon cables, metallic traces in a printed or integrated circuit) through which the electric signals travel, most of the time in two states. Optics is a possible future development, but it remains currently under research (cf., for example, Feldman et al. (1999)). Fiber optics are used extensively throughout networks, however.
A bus can be of a unique design, produced by computer or microprocessor makers, or a regulated solution that follows established standards, coming from private solutions, or not. A standardized solution, which by definition provides generic characteristics, is usually less effective than an ad hoc solution, but it is usually cheaper due to the standardization of its components and systems (Commercial Off-The-Shelf (COTS) solution). In particular, defining a standard for the interface helps with design as it allows for interoperability and reuse of the modules.
A bus is characterized mainly by its width w (w bit-wide), its bitrate (incorrectly referred to as its transfer speed) and by its communication protocol that defines its signals. The typical values of w are 1, 4, 8 and multiples thereof, usually of eight. This is particularly true for data buses, as the data that passes through them are themselves multiples of eight5. The address bus, however, can also be expressed in other multiples, for example, the 8086 microprocessor from Intel whose address bus has a width of 20 bits. The width of the address bus gives the addressing capacity C = 2w memory words of the component that generated the address, which is usually the microprocessor. It therefore defines its Address Space (AS, cf. § V3-2.1.1.1). It represents the amount of physical memory accessible without any additional mechanisms, such as Virtual Memory (VM, cf. V2 on semiconductor memory). The width of address buses and data buses do not have to correlate with each other. Some examples are: (m/n) 16/8 (8-bit generation microprocessor), 16/16 and 21/16 (first-generation 16-bit microprocessor), 24/32 and 32/32 (32-bit generation microprocessor), etc. The width of the data bus...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.