Computer Engineering Unit Value 3.0 (typically 180 hours for a full-time course) This standard unit is primarily for use by the Technical Institutes when operating the following Courses : Diploma in Computer and Communications Engineering (0304) August 1995 Preface Vocational Training Council, Hong Kong Page 1 of 14 rev 1
1 Teaching staff should design the teaching/learning process to facilitate achievement of the principal objectives. 2 The sequence and content of the objectives should not be taken to imply teaching order or method 3 To gain a pass grade, students are expected to achieve all the learning outcomes expressed by the principal objectives. 4 The interrelationship between this unit and other appropriate units should be emphasized and contents of units should be integrated by means of teaching/learning and assessment strategies. One major integrative assignment relating to objectives from at least three units must be included. Assessment of this assignment may also contribute to the assessment of related units. Summary of aims This unit has been designed to give students an understanding of computer architecture and software. The student is expected to : 1 understand the hardware structure of a computer system 2 operate a computer using the language of its operating system 3 use a high level language to develop simple programs Table of Contents Section Topic Contents Learning Support Time (Hr) Part One : Computer architecture and software Total : 104 Hrs. A Computer Architecture 6 B CPU Organization 7 C Memory 13 D Instruction Set 7 E Stack 4 F Interrupt 11 G Peripheral Devices 11 H Input/Output Processing 8 I System Throughput and Distributed Computers 9 J System Programming 16 K Application Programming 12 Part Two : Operating Systems Total : 40 Hrs. I) A multi-user operation system - The UNIX Operating System A General Features B System Iogin and Logout C Simple Operation D File System Hierarchy and Pathname E Special Features of the Shell F Text Editors and Formatters G System Administration Page 2 of 14 rev 1
H Bourne Shell Programming II) A Single-User Operating System - The MSDOS Operating System A General Features B File System Hierarchy C The System Text Processor D Batch Commands E Piping, I/O Re-direction and Filters F Mass Storage Devices G System Configuration H Program Development I DOS Technical Information Part Three : High-level language programming Total : 36 Hrs. A Introduction B Language Structure C Source Program Compilation D Application Special notes 1. It is expected that the architecture of the computer system will be best understood with the aid of block diagrams, increasing in complexity from common bus control through to multiple bus structures. 2 Students should acquire hand-on experience in working with a mini- computer and a micro-computer as the operating system of a mini-computer is quite different from that of a micro-computer. 3 Students should also acquire hand-on experience in controlling the operation of peripherals. 4 PASCAL may be chosen as the high-level language in Part three. Page 3 of 14 rev 1
Section Principal Objectives plus indicative content or Specific Objectives Part One : Computer architecture and software (104 hrs) A. Computer Architecture 1 Understands the structure of a computer a) Draws the block diagram and inter- connection of a computer showing - Arithmetic and Logic Unit - Central Processing Unit CPU - Immediate access store - backing store - Input-output devices b) Describes the function of each block in 1a) c) Explains the concept of a stored program computer d) Outlines the differences between mainframe, mini and micro-computers in terms of cost, physical size, memory size, speed, ability to serve multiusers and multi-tasks e) Lists typical users of each type in 1c) f) Lists the system hardware configuration for the users in 1e). B. CPU Organization 2 Understands the organization of the CPU a) Draws the block diagram of a CPU b) Describes the function of each block in 1c) c) Describes the micro-programmed control unit d) Distinguishes between asynchronous and asynchronous processors e) Compares the advantages and dis- advantages of providing floating point arithmetic by software and hardware f) Describes briefly the fetch-execute cycle and timing control g) Identifies the internal bus structure of the CPU C. Memory 3 Understands the usage of memory a) States the difference between random access memory and sequential memory b) Describes the usage of ROM, RAM and EPROM c) Distinguishes between volatile and non-volatile memory d) States the concept of memory hierarchy e) Describes the basic building block of memory f) States the advantages and dis- advantages of addressed linear array memory g) Describes the organization of segmented memory h) States the advantages and dis-advantages of segmented memory Page 4 of 14 rev 1
i) Describes the organization of paged memory j) States the main functions of the control mechanism for paged memory k) States the advantages and dis- advantages of paged memory 4 Understands the structure of memory/storage devices a) Draws the simplified schematic diagram of the memory cell of ROM, RAM, EPROM b) Describes with the aid of diagrams the organization of a memory board made of RAMs c) Lists the physical characteristics, functions, speeds and capacity of : - Floppy disc - Hard disk - removable stack & Winchester - Magnetic tape - open-reel & cartridge d) Briefly describes the structure of the devices in 4c). D. Instruction Set 5 Understands the usage of instruction sets a) Describes the single and multi- addressing instruction format b) Distinguishes among memory reference, non-memory reference and Input/Output instructions c) Explains the process of program branching - conditional, non- conditional, & subroutine call 6 Understands the methods of memory addressing a) Define the term 'effective address' b) Explains the following addressing modes - direct (absolute) addressing - indirect addressing - Immediate addressing - Indexed addressing E. Stack 7 Understands the operation and usage of stack a) Define the terms 'stack' and 'stack computer' b) States the use of the stack pointer. c) Identifies common instructions to manipulate the stack d) Describes the process of executing a PUSH and a POP operation. e) Describes the use of the stack for - fast data transfer - storage of temporary data - parameter passing - subroutine linkage - interrupt routine linkage Page 5 of 14 rev 1
F. Interrupt 8 Understands the operation and use of interrupts a) States the causes of interrupts b) Distinguishes between maskable and non-maskable interrupts c) Distinguishes between hardware and software interrupts d) Describes the steps the CPU takes to handle interrupts e) Explains the process of software polling f) Explains the process of a vectored interrupt g) Explains the process of Identifying interrupt priority h) Explains the process of handling nested interrupts i) States the precautions to be taken to allow for interrupt re-entrancy G. Peripheral Devices 9 Understands the structures and functions of peripheral devices a) Lists the physical characteristics, functions and speed of the following types of printers and plotters : - Matrix printer - Line printer - Daisy wheel printer - Laser printer - Drum plotter - Flat-bed plotter b) Briefly describes the structure of the devices in 9a) with the aid of block diagrams. c) Lists the physical characteristics, functions, speeds and capacity of a terminal and a keyboard d) Briefly describes the structure of the devices in 9c) with the aid of block diagrams. e) Lists the physical characteristics, functions, speeds and capacity of the following optical devices : - Optical character recognition (OCR) devices - Image scanner f) Briefly describe the structure of mechanical mouse and optical mouse. g) Briefly describe with the aid of block diagrams the use of ADC & DAC in a computer system H. Input/Output Processing 10 Understands the techniques of input/output processing a) Draws the block diagram of interfacing a computer to peripheral devices through interface adapters b) Distinguishes between the process of servicing peripheral devices through polling and interrupt c) Describes the interfacing technique of multi-channel I/O through channel selection,time-multiplexing and block multiplexer channel Page 6 of 14 rev 1
d) Distinguishes between memory mapped I/O and explicit I/O addressing e) States the function of a front end processor f) Identifies the common data transmission codes : Baudot, BCD, EBCDIC, ASCII g) Distinguishes between the general characteristics of serial and parallel transmission h) Explains the function and advantages of DMA, direct memory access. I. System Throughput and Distributed Computers 11 Understands some techniques of increasing system throughput a) States the advantages of Cache memory b) Explain with the aid of diagrams the mapping methods for Cache memory - direct mapping - associative mapping - block set associative m c) Explains the technique of instruction pre-fetch to increase speed of instruction execution d) Describes the organization of an interleaved memory e) States the advantages and disadvantages of interleaved memory f) Explains the function and advantages of virtual memory 12 Understands the concepts of distributed computing a) Lists the advantages and disadvantages of distributed computer system b) Draws the block diagrams showing the basic configurations of distributed systems c) States the advantages and disadvantages of each type of configuration in 12b). d) Describes a typical protocol frame for data transfer J. System Programming 13 Understands the use of assemblers a) States the function of an assembler b) Distinguishes between macros and subroutines c) Distinguishes between pseudo instructions and machine instructions d) Briefly explains the process of a two-pass assembler e) Distinguishes between absolute addressed and relocatable object codes f) Lists the advantages of relocatable object codes 14 Understands the function of the Operating System a) Describes the functions of a monitor program b) List the functions of an operating system c) Explains the process of multi- programming d) Explains the process of batch processing e) Explains the process of real time processing f) Distinguish between single-user and multi-user modes Page 7 of 14 rev 1
g) Lists popular examples of operating systems h) Compares the general features of two operation systems i) Distinguishes between data and command files j) Explains the significance of organizing files into a file system hierarchy k) States the importance of making backup copies l) Compares the technique of incremental backup and total backup m) States the functions of the system text processors n) Explains the importance of file protection in a multi-user operating system K. Application Programming 15 Understands the process of program development a) Explains the use of a computer in solving a simple problem b) Identifies the necessary input to and required output from the computer c) Explains the use of the Top-down and the Bottom-up approach of designing a program d) Writes an algorithm to arrive at the solution of a problem e) Identifies the symbols used in a flowchart f) Demonstrates the use of flowcharting to develop a logical solution for a given problem g) States the advantages of modular design of a program h) States the advantages of subroutines and procedures i) Explains the use of the compiler, linker and loader to produce and execute a program file j) Distinguishes between a compiler and an interpreter k) Explains the methods for debugging a program 16 Understands the features of application programs and application packages a) Lists the advantages and disadvantages of high-level language b) Lists the advantages and disadvantages of low-level language c) Lists the names of popular high-level languages d) Describes the functions of application programs e) Describes the role of application package f) Describes the role of utility software g) States the features of a word- processing package h) States the features of a spread-sheet package i) States the features of a data-base package Part Two : Operating Systems (40 hrs) (I) A multi-user operation system -- The UNIX Operating System A. General Features Page 8 of 14 rev 1
1 Understands the merits of a multi- user operating system a) States the merits of a multi-user operation system b) Briefly explains the process of serving numerous users by time sharing of system resources c) Describes the different levels of file protection d) Distinguishes between foreground and background processing e) Describes the file structure on mass- storage devices B. System Login and Logout 2 Knows how to login and logout a) Demonstrates the process of logging in b) Lists the environmental parameters controlled by the.profile file c) Changes the pass word d) Demonstrates the process of logging out C. Simple Operation 3 Knows how to exercise simple commands a) Identifies the standard input and output b) Demonstrates the use of simple commands : who, date, cal, ls, echo, etc. c) Executes commands with options d) Demonstrates the process of communicating with other users e) Demonstrates how to exit from a command or program f) Demonstrates how to display content of a text file and an object file g) Demonstrates how to suspend a screen display h) Demonstrates how to reassign functions of the keys of the key- board i) Demonstrates the use of the history command j) Demonstrates the use of the on- line manual D. File System Hierarchy and Pathname 4 Knows how to access files of the file system and invoke commands with pathnames a) Identifies the different parts of the listing of a directory b) States that filenames are case sensitive c) Demonstrates the use of basic commands for working with directories d) Demonstrates the use of basic commands for working with files e) Describes the significance of the working directory f) Identifies the path names for seeking commands in the.profile file g) Identifies the access permission code on a files listing h) States the advantages of organizing files under different group names i) Demonstrates how to change the access permission j) Demonstrates the use of the meta-characters * and? Page 9 of 14 rev 1
E Special Features of the Shell 5 Knows how to utilize the special features of the shell a) Demonstrates the use of multiple commands with ; and & b) Demonstrates the conditional execution of a command - && and c) Explains the functions of a sub-shell d) Demonstrates the use of pipelines e) Demonstrates the redirection of output and input - < and > f) Demonstrates the collective re- direction of input and output - { and } g) Demonstrates the merging of text files by output redirection h) Demonstrates the use of the filters more, sort and wc i) Demonstrates the use of the basic commands to work with background processing - &, ps, kill, nohup, nice etc j) Demonstrates the process of running a commands or programs at a specified time F. Text Editors and Formatters 6 Understands the use of text editors a) Demonstrates the use of ed to produce a text file b) Demonstrates the use of vi to produce a text file c) Compares the advantages and disadvantage of a line editor and a screen editor G. System Administration 7 Familiarize with the system administration a) Identifies the files invoked during system boot-up b) Identifies the different phases of the operation of the fsck command c) Demonstrates the use of the printer spooler commands d) Demonstrates the process of shutdown of a UNIX system H. Bourne Shell Programming 8 Understands Bourne Shell programming a) Identifies the simple, special and positional parameters b) Identifies the environmental variables c) Sets up shell variables d) Demonstrates the process of parameter substitution e) Demonstrates the use of parameters in a shell script f) Demonstrates the use of here document g) Demonstrates the use of the control flow constructs - for-do-done, caseesac, if-fi, while-do-done, until-do-done h) Generate shell scripts to do simple jobs Page 10 of 14 rev 1
(II) A Single-User Operating System -- The MSDOS Operating System A. General Features 1 Familiarize with the general features a) Identifies the System files and the Utility files b) Distinguishes between internal and external commands c) Demonstrates the use of the keyboard - single keystroke and multiple keystroke sequence d) Demonstrates the process of booting up the system e) Changes the default drive f) Identifies the peripheral devices recognized by MSDOS B. File System Hierarchy 2 Knows how to operate on files and directories a) Identifies filenames and filename extensions b) Prepares a System Disk and a non-system disk c) Demonstrates the use of meta-characters (skeletons) d) Displays the directory on the disk e) Copies, renames, type, deletes and erases files f) Merges text files g) Generates simple text files using the copy command h) Creates directories on disk i) Travels along the path of the directories j) Demonstrates the use of a path to seek for a command k) Demonstrates protection against deletion with hardware and software l) Demonstrates the use of diskcopy and xcopy C. The System Text Processor 3 Knows how to use the editor included in DOS a) Demonstrates the use of the DOS command editing function keys b) Demonstrates the use of the system editor to produce text files c) Generates printer control codes on a text file D. Batch Commands 4 Knows how to prepare batch files a) Identifies the parameters of a command line b) Describes the functions of the commands for batch processing c) Generates batch files for simple batch operation d) Executes a batch file Page 11 of 14 rev 1
E. Piping, I/O Re-direction and Filters 5 Knows how to execute commands with piping, I/O re-redirection and filters a) Executes piped commands b) Redirects input to and output from a command c) Executes a command with a filter d) Directs output to a printer F. Mass Storage Devices 6 Knows how to install a hard disk to the system a) Demonstrates the process of formatting a hard disk b) Demonstrates the creation of a partition c) Demonstrates the creation of directories on a hard disk 7 Know how to install a magnetic tape driver a) Initialize the tape b) Demonstrates the process of storing files on tape G. System Configuration 8 Knows how to configure the system a) Demonstrates the use of the commands : Break, Buffers, Device, Files, Shell b) Generates a config.sys file c) Demonstrates the use of commands : Ctty, Prompt, Set d) Demonstrates the use of a virtual disk e) Demonstrates the extended screen and keyboard control device driver, ANSI.SYS H. Program Development 9 Knows how to create executable program files a) Identifies the 80x86 Instruction set b) Identifies the addressing modes c) Identifies the Pseudo-ops d) Writes simple program in assembly language 10 Understands the use of DOS commands for program development a) Demonstrates the use of the Debug commands b) Demonstrates the process of debugging, linking and generation of an executable file c) Demonstrates the use of Debug.com to trace a program Page 12 of 14 rev 1
d) Generate and edits a simple program using Debug.com I. DOS Technical Information 11 Familiarize with DOS technical information a) Identifies the organization of data on floppy disk b) Identifies the DOS memory map c) Demonstrates the use of DOS interrupts and function calls A. Introduction Part Three : High-level language programming (36 hrs) 1 Understands the function of a chosen high-level language compiler package a) Identifies the program files of the compiler b) Sets up the working environment c) Demonstrates the use of a text editor d) Demonstrates the process of compiling and linking to produce an executable file B. Language Structure 2 Understands the structure of the programming language a) Identifies the data types b) Identifies the arithmetic, logical and relational operators c) Identifies the overall format of the source program d) Demonstrates the use of input and output functions e) Demonstrates the use of conditional statements (if and case statements) f) Demonstrates the use of program looping statements (for-do, while- do, repeat until statements) g) Declares and defines user-made functions h) Adds comment lines to a program i) Declares and defines single-dimension and multi-dimension arrays j) Declares and defines array of structures k) Demonstrates the use of pointers l) Demonstrates the use of control flow commands C. Source Program Compilation 3 Understands the features of the compiler package a) Writes a program using multi-source files b) Writes a program including external object files and library files Page 13 of 14 rev 1
c) Demonstrates the process of compiling and linking d) Demonstrates the use of compiler and linker options 4 Understand some advanced programming techniques a) Demonstrates the use of library files b) Interfaces a user program to an assembly language program c) Demonstrates the use of special functions related to the operating system D. Application 5 Applies the programming language a) Writes a program to solve simple problems b) Produce an executable file c) Executes the program d) Debug the program Page 14 of 14 rev 1