Lec.
Num.
|
Unit Title
|
Details
|
6
|
|
Characters and Character Set of C,
Tokens in C, The function main()
|
7
|
Eight-Statement C
|
Non-executable Statements in C- Comments and Type Declarations
|
8
|
|
Input and Output Statements in C- scanf(), printf ()
|
9
|
|
Selection Statement in C- if, if..else, conditional operator as a simplification of if..else
|
10
|
|
Iteration Statement in C- while
|
11
|
|
Assignment and Arithmetic Statements
|
12
|
User Defined Data Types
|
Key word struct- Access to components, Examples
|
13
|
|
Key word enum and its uses
|
14
|
Concept of a function
|
Function declaration, Function Definition, and Function Use; Variable Scope and Storage Classes
|
15
|
Operators, Precedence, and Associativity
|
Operators and operands, Unary and Binary Operators, Concept of Expression, Arithmetic Expressions, Relational Expressions, Assignment Expressions.
|
16
|
|
Evaluation of Expressions, Concepts of Precedence and Associativity, Table of Precedence and Associativity.
|
17
|
Selection Structures
|
Key words case, switch, break, default, go to
|
18
|
Iteration structures
|
for, do..while, continue, break
|
19
|
Arrays
|
Definition, , Random Access to elements -Capacity, Size, Operator [ ], initializing, reading into, writing to and traversing an array
|
20
|
|
Two-dimensional Arrays
|
21
|
|
Arrays as arguments to functions
|
22
|
Pointers
|
Direct and Indirect Access; need of pointers, de-referencing, constant and variable pointers.
|
23
|
|
Semantics of array and function declarations. Using key word const in array declarations
|
24
|
|
Function pointers
|
25
|
|
pointers as arguments to functions and as return types, generic pointer void *
|
26
|
|
Parsing pointer declarations
|
27
|
Recursive functions
|
Effect of function calls, Definition of recursive functions. Examples
|
28
|
Miscellaneous concepts
|
Bit-wise operators, key word union
|
Lec.
Num.
|
Unit Title
|
Details
|
29
|
File Handling in C
|
Concept of a File-File attributes, File organizations, File Access
|
30
|
|
Sequential Files in C
|
31
|
|
Direct Access Files in C
|
32
|
|
Indexed Sequential Files in C
|
33
|
Strings
|
Strings in C and String manipulation functions
|
34
|
Header Files
|
Understanding stdio.h
|
35
|
|
Understanding assert.h, limits.h, stdlib.h
|
36
|
|
Understanding alloc.h and Dynamic Memory Management
|
37
|
Elementary Data Structures
|
Concept of Data Structure and Abstract Data Type
|
38
|
|
ADT Array and ADT Sorted Array
|
39
|
|
ADT Linked List
|
40
|
Elementary Data Structures
|
ADT Stack and UDT StackAsArray
|
41
|
|
UDT Stack As Linked List
|
42
|
|
ADT Queue and UDT Queue AS Array
|
43
|
|
Circular Queue
|
44
|
|
UDT Queue AS Linked List
|
45
|
|
ADT Doubly Linked List
|
46
|
|
Applications of Stacks
|
47
|
|
Applications of Queues
|
48
|
|
Applications of Dequeues
|
Subject Code
|
J030103
|
Title
|
Computer Architecture and Assembly Language Programming
|
Work Load Per Week
|
L:3 T: 1 Lab:4
|
Examinations
|
Int: 30 Univ: 70 Practical : 50
|
Objectives
| -
Investigate the basic organization of instruction sets, language translation, and program execution.
-
Understand the basic organization for data storage and access across various media.
-
Compare and contrast implications of various computer architectural attributes.
-
Describe basics of assembly Language
|
Learning Outcomes
|
At the end of this course, student should be able to
-
Understands simple machine architecture and the reduced instruction set computers.
-
Understands memory control, direct memory access, interrupts, and memory organization.
-
Understands basic data flow through the CPU (interfacing, bus control logic, and internal communications).
-
Understands number systems, instruction sets, addressing modes, and data/instruction formats.
-
Understands distributed, multiprocessing, and real-time systems.
-
Is able to write simple assembly language programs.
|
Pre-requisites
|
Basic Knowledge of computer, Number systems
|
Text Book(s)
|
A) Computer system Architecture Morris Mano 3rd Edition
B) PC Assembly Language by Paul A. Carter
|
Syllabus
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
1
|
Digital computer and logic gates
|
Meaning of Digital computer, study of AND, OR, NAND, NOR, Inverter, Buffer, XOR, XNOR.
|
A 1 -37
|
2
|
Boolean algebra
|
Boolean algebra (Boolean function, truth table, logic diagram, basic identities, Demorgans theorem
|
3
|
Flip flop
|
Flip flop SR, D, JK, T, Edge triggered flip flops
|
|
4
|
Combinational circuits
|
Basic, Half adder and full adder combinational circuits. Flip flop input equation, state table, state diagram
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
5
|
Sequential circuits
|
Flip flop input equation, state table, state diagram. Example.
|
|
6
|
Integrated circuits and decoders
|
Basic, IC families, decoder basic, NAND gate decoder, encoder
|
A 41 -58
|
7
|
Multiplexers and Registers
|
Basics, block diagram, 4 to 1 line multiplexer as example, Register basic, registers with parallel load, Example.
|
8
|
|
Shift register, bidirectional shift register with parallel load, binary counters, binary counters with parallel load
|
9
|
Register Transfer and Micro operations
|
Register transfer language, register transfer, control function, examples.
|
A-93-97
|
10
|
Bus and Memory transfer
|
Common bus, bus system, bus selection, three state bus, memory transfer (read and write)
|
A 93 - 119
|
11
|
Arithmetic micro operations
|
Basic, binary adder, binary adder subtractor, binary incrementer, 4 bit arithematic circuit
|
12
|
Logic micro operations
|
Basic, special symbols, list of logic micro operations, hardware implementation
|
|
13
|
Shift micro operations and arithmetic logic shift unit
|
Logical shift, circular shift, arithmetic shift, hardware implementation, arithmetic logic shift unit structure and functions
|
14
|
Instruction cycle
|
Fetch, decode, read, execute instruction, Instruction cycle flowchart
|
A 139 - 145
|
15
|
Memory reference instructions
|
AND, ADD,LDA,STA,BUN,BSA, ISZ Instructions
|
A 145-150
|
16
|
Input output and interrupt
|
Input output configuration, Input output instructions, program interrupt, interrupt cycle
|
A 150 - 157
|
17
|
Design of basic computer and accumulator logic
|
Basic hardware components, control logic gate, control of register and memory, control of common bus, basic accumulator logic.
|
A 157 - 167
|
18
|
Control memory
|
Basics, control address register, sequencer, pipeline register
|
A 213 - 235
|
19
|
Address sequencing
|
Basics, conditional branching, mapping of instruction, subroutine
|
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
20
|
Micro program Example
|
Instruction format, Micro instruction format, microoperation, symbolic microprogram, binary microprogram
|
|
21
|
General register and stack organization
|
Block diagram of General register organization, control word, Block diagram of stack organization, register stack, memory stack
|
A 241 - 273
|
22
|
Instruction formats
|
Bacis, three address, two address, one address, zero address instruction
|
23
|
Addressing modes
|
Implied mode, immediate mode, register mode, Register indirect mode, auto increment or autodecrement mode, direct address mode, indirect address mode, relative address mode, indexed addressing mode, base register addressing mode
|
|
24
|
Data transfer and manipulation
|
Data transfer instruction, data manipulation instructions, arithmetic instructions, logical and bit manipulation instruction
|
25
|
|
RISC and CISC
|
A 282 - 285
|
26
|
Input/Output Organization
|
Peripheral devices, input output interface, I/O bus, I/O versus memory bus, isolated versus memory mapped I/O.
|
A 381-390
|
27
|
Asynchronous data transfer, Priority interrupt
|
Strobe control, handshaking, Asynchronous serial transfer, Daisy chaining Priority, parallel Priority interrupt, Priority encoder, interrupt cycle.
|
A 391-402
|
28
|
Direct memory Access
|
Direct memory Access controller, Direct memory Access transfer, introduction to I/O processor.
|
A 415-420
|
29
|
Introduction to ALP
|
Introduction to Assembly language, importance, Decimal, binary, octal, hexadecimal number systems.
|
B 1-25
|
30
|
|
Machine language, Assembly language,
Instruction operands, Basic instructions
|
31
|
|
Directives, input output, Debugging
|
32
|
|
Creating a Program, writing First program, Compiler dependencies, Assembling the code
|
Lec.
Num.
|
Unit Title
|
Details
|
Learning Resources
|
33
|
|
Compiling the C code, Linking the object files, Understanding an assembly listing file, skeleton file
|
|
34
|
Working with integers
|
Integer representation, Sign extension, Two’s complement arithmetic, Example program, Extended precision arithmetic
|
B 27 - 62
|
35
|
Control structures
|
Comparisons, Branch instructions, The loop instructions
|
36
|
Translating standard control structures
|
If statements, While loops, Do while loops
|
37
|
Shift Operations
|
Logical shifts, Use of shifts Arithmetic shifts, Rotate shifts
|
38
|
Boolean bitwise operations
|
The AND, The OR , The XOR operation,
The NOT operation, The TEST instruction, Uses of bit operations
|
39
|
|
Avoiding Conditional Branches Manipulating bits in C, The bitwise operators of C, Using bitwise operators in C
|
|
40
|
|
Big and Little Endian Representations, When to Care About Little and Big Endian Counting Bits, Method one, Method two, Method three
|
|
41
|
Sub Programs
|
Indirect addressing, stack, CALL and RETURN instructions.
|
B 65 -91
|
42
|
|
Calling Conventions, Passing parameters on the stack, Local variables on the stack
Multi-Module Programs
|
43
|
|
Interfacing assembly with C language, Recursive subprograms, Review of C variable storage types
|
|
44
|
Arrays
|
Defining arrays, Accessing elements of arrays, More advanced indirect addressing, Multidimensional Arrays
|
B 95 -111
|
45
|
|
Array/String Instructions, Reading and writing memory, The REP instruction prefix , Comparison string instructions, The REPx instruction prefixes
|
|
Share with your friends: |