|
1 Signals and Number Systems |
|
|
1 | (32) |
|
|
1 | (2) |
|
|
2 | (1) |
|
1.2 Historical Development of the Computer |
|
|
3 | (1) |
|
1.3 Hardware and Software Components of a Computer |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (2) |
|
1.5.1 Characteristics of an Analog Signal |
|
|
6 | (1) |
|
|
7 | (1) |
|
|
8 | (5) |
|
1.7.1 Converting from Binary to Decimal |
|
|
9 | (1) |
|
1.7.2 Converting from Decimal Integer to Binary |
|
|
10 | (1) |
|
1.7.3 Converting Decimal Fraction to Binary |
|
|
10 | (1) |
|
1.7.4 Converting from Hex to Binary |
|
|
11 | (2) |
|
|
13 | (1) |
|
1.8 Complement and Two's Complement |
|
|
13 | (2) |
|
1.8.1 Subtraction of Unsigned Number Using Two's Complement |
|
|
14 | (1) |
|
1.9 Unsigned, Signed Magnitude, and Signed Two's Complement Binary Number |
|
|
15 | (1) |
|
|
15 | (1) |
|
1.9.2 Signed Magnitude Number |
|
|
15 | (1) |
|
1.9.3 Signed Two's Complement |
|
|
15 | (1) |
|
1.10 Binary Addition Using Signed Two's Complement |
|
|
16 | (1) |
|
1.11 Floating Point Representation |
|
|
17 | (2) |
|
1.11.1 Single and Double Precision Representations of Floating Point |
|
|
18 | (1) |
|
1.12 Binary-Coded Decimal (BCD) |
|
|
19 | (1) |
|
|
20 | (3) |
|
|
20 | (1) |
|
1.13.2 Universal Code or Unicode |
|
|
20 | (3) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
1.16.1 Asynchronous Transmission |
|
|
25 | (1) |
|
1.16.2 Synchronous Transmission |
|
|
26 | (1) |
|
1.17 Transmission Methods |
|
|
26 | (1) |
|
1.17.1 Serial Transmission |
|
|
27 | (1) |
|
1.17.2 Parallel Transmission |
|
|
27 | (1) |
|
|
27 | (6) |
|
2 Boolean Logics and Logic Gates |
|
|
33 | (18) |
|
|
33 | (1) |
|
2.2 Boolean Logics and Logic Gates |
|
|
33 | (6) |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
37 | (1) |
|
|
37 | (1) |
|
2.2.9 Multiple Inputs Logic Gates |
|
|
38 | (1) |
|
2.3 Integrated Circuit (IC) Classifications |
|
|
39 | (2) |
|
2.3.1 Small-Scale Integration (SSI) |
|
|
40 | (1) |
|
2.3.2 Integrated Circuit Pins Numbering |
|
|
40 | (1) |
|
2.3.3 Medium-Scale Integration (MSI) |
|
|
41 | (1) |
|
2.3.4 Large-Scale Integration (LSI) |
|
|
41 | (1) |
|
2.3.5 Very-Large-Scale Integration (VLSI) |
|
|
41 | (1) |
|
2.4 Boolean Algebra Theorems |
|
|
41 | (3) |
|
2.4.1 Distributive Theorem |
|
|
42 | (1) |
|
2.4.2 De Morgan's Theorem I |
|
|
43 | (1) |
|
2.4.3 De Morgan's Theorem II |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
44 | (1) |
|
|
44 | (1) |
|
|
44 | (2) |
|
2.5.1 Complement of a Function |
|
|
45 | (1) |
|
|
46 | (5) |
|
|
46 | (5) |
|
3 Minterms, Maxterms, Karnaugh Map (K-Map), and Universal Gates |
|
|
51 | (24) |
|
|
51 | (1) |
|
|
51 | (4) |
|
3.2.1 Application of Minterms |
|
|
52 | (1) |
|
3.2.2 Three-Variable Minterms |
|
|
52 | (3) |
|
|
55 | (1) |
|
|
56 | (6) |
|
|
58 | (3) |
|
3.4.2 Four-Variable K-Map |
|
|
61 | (1) |
|
3.5 Sum of Products (SOP) and Product of Sums (POS) |
|
|
62 | (2) |
|
3.6 Don't Care Conditions |
|
|
64 | (2) |
|
|
66 | (3) |
|
|
66 | (1) |
|
|
66 | (1) |
|
3.7.3 Implementation of Logic Functions Using NAND Gates or NOR Gates Only |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
68 | (1) |
|
|
69 | (6) |
|
|
70 | (5) |
|
|
75 | (28) |
|
|
75 | (1) |
|
4.2 Analysis of Combinational Logic |
|
|
76 | (1) |
|
4.3 Design of Combinational Logic |
|
|
77 | (2) |
|
|
78 | (1) |
|
|
79 | (1) |
|
4.4.1 Implementing a Function Using a Decoder |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
81 | (7) |
|
4.6.1 Designing Large Multiplexer Using Smaller Multiplexers |
|
|
85 | (1) |
|
4.6.2 Implementing Functions Using Multiplexer |
|
|
86 | (2) |
|
4.7 Half Adder, Full Adder, Binary Adder, and Subtractor |
|
|
88 | (5) |
|
|
90 | (1) |
|
|
91 | (2) |
|
|
93 | (1) |
|
4.8 ALU (Arithmetic Logic Unit) |
|
|
93 | (2) |
|
4.9 Seven-Segment Display |
|
|
95 | (2) |
|
|
97 | (6) |
|
|
98 | (5) |
|
5 Synchronous Sequential Logic |
|
|
103 | (18) |
|
|
103 | (1) |
|
|
103 | (2) |
|
5.2.1 S-R Latch Operation |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
107 | (3) |
|
|
108 | (1) |
|
|
109 | (1) |
|
5.7 Frequency Divider Using J-K Flip-Flop |
|
|
110 | (1) |
|
5.8 Analysis of Sequential Logic |
|
|
110 | (2) |
|
|
112 | (1) |
|
5.9.1 D Flip-Flop State Diagram |
|
|
112 | (1) |
|
5.10 Flip-Flop Excitation Table |
|
|
113 | (2) |
|
5.10.1 D Flip-Flop Excitation Table |
|
|
113 | (1) |
|
5.10.2 Excitation Table Operation |
|
|
114 | (1) |
|
5.10.3 J-K Flip-Flop Excitation Table |
|
|
114 | (1) |
|
5.10.4 T Flip-Flop Excitation Table |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
116 | (5) |
|
|
118 | (3) |
|
6 Introduction to Computer Architecture |
|
|
121 | (26) |
|
|
121 | (1) |
|
6.1.1 Abstract Representation of Computer Architecture |
|
|
121 | (1) |
|
6.2 Components of a Microcomputer |
|
|
122 | (5) |
|
6.2.1 Central Processing Unit (CPU) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
6.2.4 Serial Input/Output |
|
|
126 | (1) |
|
6.2.5 Direct Memory Access (DMA) |
|
|
126 | (1) |
|
6.2.6 Programmable I/O Interrupt |
|
|
126 | (1) |
|
6.2.7 32-Bit Versus 64-Bit CPU |
|
|
127 | (1) |
|
|
127 | (2) |
|
6.3.1 CISC (Complex Instruction Set Computer) |
|
|
127 | (1) |
|
|
128 | (1) |
|
|
129 | (1) |
|
6.4.1 Von Neumann Architecture |
|
|
129 | (1) |
|
6.4.2 Harvard Architecture |
|
|
129 | (1) |
|
6.5 Intel Microprocessor Family |
|
|
130 | (1) |
|
6.5.1 Upward Compatibility |
|
|
130 | (1) |
|
|
131 | (2) |
|
6.7 CPU Instruction Execution Steps |
|
|
133 | (1) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
134 | (6) |
|
|
134 | (1) |
|
6.9.2 MicroChannel Architecture Bus |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
135 | (1) |
|
6.9.6 Universal Serial BUS (USB) |
|
|
136 | (1) |
|
|
136 | (3) |
|
|
139 | (1) |
|
|
140 | (2) |
|
6.10.1 HDMI (High-Definition Multimedia Interface) |
|
|
141 | (1) |
|
|
142 | (5) |
|
|
143 | (4) |
|
|
147 | (28) |
|
|
147 | (1) |
|
|
147 | (5) |
|
|
148 | (3) |
|
|
151 | (1) |
|
7.2.3 ROM (Read-Only Memory) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (2) |
|
7.3.1 Disk Characteristics |
|
|
152 | (2) |
|
|
154 | (1) |
|
|
154 | (1) |
|
7.4 Solid-State Drive (SSD) |
|
|
154 | (1) |
|
|
155 | (20) |
|
|
156 | (1) |
|
|
156 | (1) |
|
7.5.3 Cache Memory Mapping Methods |
|
|
157 | (1) |
|
|
157 | (4) |
|
7.5.5 Set Associative Mapping |
|
|
161 | (1) |
|
|
162 | (1) |
|
7.5.7 Fully Associative Mapping |
|
|
163 | (1) |
|
7.5.8 Cache Update Methods |
|
|
163 | (1) |
|
7.5.9 Effective Access Time (EAT) of Memory |
|
|
164 | (1) |
|
|
164 | (1) |
|
7.5.11 Memory Organization of a Computer |
|
|
165 | (3) |
|
|
168 | (1) |
|
|
169 | (6) |
|
8 Assembly Language and ARM Instructions Part 1 |
|
|
175 | (22) |
|
|
175 | (1) |
|
8.2 Instruction Set Architecture (ISA) |
|
|
176 | (1) |
|
8.2.1 Classification of Instruction Based on Number of Operands |
|
|
176 | (1) |
|
8.3 ARM Processor Architecture |
|
|
177 | (3) |
|
8.3.1 Instruction Decoder and Logic Control |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
179 | (1) |
|
|
179 | (1) |
|
8.3.7 Write Data Register |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
180 | (2) |
|
8.4.1 Current Program Status Register (CPSR) |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
182 | (8) |
|
8.5.1 Data Processing Instructions |
|
|
182 | (1) |
|
8.5.2 Compare and Test Instructions |
|
|
183 | (2) |
|
8.5.3 Register Swap Instructions (MOV and MVN) |
|
|
185 | (1) |
|
8.5.4 Shift and Rotate Instructions |
|
|
186 | (2) |
|
8.5.5 ARM Unconditional Instructions and Conditional Instructions |
|
|
188 | (2) |
|
8.6 Stack Operation and Instructions |
|
|
190 | (1) |
|
8.7 Branch (B) and Branch with Link Instruction (BL) |
|
|
191 | (1) |
|
8.8 Multiply (MUL) and Multiply-Accumulate (MLA) Instructions |
|
|
192 | (1) |
|
|
192 | (5) |
|
|
193 | (4) |
|
9 ARM Assembly Language Programming Using Keil Development Tools |
|
|
197 | (16) |
|
|
197 | (1) |
|
9.2 Keil Development Tools for ARM Assembly |
|
|
198 | (7) |
|
9.2.1 Assembling a Program |
|
|
202 | (2) |
|
9.2.2 Running the Debugger/Simulator |
|
|
204 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
9.5 Data Representation and Memory |
|
|
206 | (2) |
|
|
208 | (2) |
|
|
208 | (2) |
|
|
210 | (1) |
|
|
211 | (2) |
|
|
212 | (1) |
|
10 ARM Instructions Part II and Instruction Formats |
|
|
213 | (18) |
|
|
213 | (1) |
|
10.2 ARM Data Transfer Instructions |
|
|
213 | (2) |
|
10.2.1 ARM Pseudo Instructions |
|
|
214 | (1) |
|
10.2.2 Store Instructions (STR) |
|
|
215 | (1) |
|
|
215 | (4) |
|
10.3.1 Immediate Addressing |
|
|
216 | (1) |
|
|
216 | (1) |
|
10.3.3 Pre-indexed with Write Back |
|
|
217 | (1) |
|
10.3.4 Post-index Addressing |
|
|
218 | (1) |
|
10.4 Swap Memory and Register (SWAP) |
|
|
219 | (1) |
|
10.5 Storing Data Using Keil μ Vision 5 |
|
|
219 | (1) |
|
10.6 Bits Field Instructions |
|
|
220 | (1) |
|
10.7 ARM Instruction Formats |
|
|
221 | (5) |
|
10.7.1 ARM Data Processing Instruction Format |
|
|
221 | (3) |
|
10.7.2 B and BL Instruction Format |
|
|
224 | (1) |
|
10.7.3 Multiply Instruction Format |
|
|
224 | (1) |
|
10.7.4 Data Transfer Instructions (LDRB, LDR, STRB, and STR) |
|
|
225 | (1) |
|
10.7.5 Data Transfer Half Word and Signed Number (LDRH, STRH, LDRSB, LDRSH) |
|
|
225 | (1) |
|
10.7.6 Swap Memory and Register (SWAP) |
|
|
226 | (1) |
|
|
226 | (5) |
|
|
227 | (4) |
|
11 Bitwise and Control Structures Used for Programming with C and ARM Assembly Language |
|
|
231 | (16) |
|
|
231 | (3) |
|
11.1.1 C Bitwise Operations |
|
|
231 | (3) |
|
|
234 | (8) |
|
|
234 | (1) |
|
11.2.2 If-Then-Else Structure |
|
|
235 | (1) |
|
11.2.3 While Loop Structure |
|
|
236 | (1) |
|
11.2.4 For Loop Structure |
|
|
237 | (1) |
|
|
238 | (4) |
|
|
242 | (2) |
|
|
242 | (2) |
|
11.4 Local and Global Variables |
|
|
244 | (2) |
|
|
246 | (1) |
|
|
246 | (1) |
Appendix A List of Digital Design Laboratory Experiments Using LOGISIM |
|
247 | (2) |
Appendix B Solution to the Even Problems |
|
249 | (38) |
Bibliography |
|
287 | (4) |
Index |
|
291 | |