김길용 교수 분산처리연구실 gykim715@hotmail.com 시스템 프로그래밍 김길용 교수 분산처리연구실 gykim715@hotmail.com.

Slides:



Advertisements
Similar presentations
Introduction – This book introduces to the design and implementation of System Software
Advertisements

Chapter Outline Chapter 1 of Beck’s “System Software” book
System Programming Design and Implementation of system software.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
系 統 程 式 System Programming
Welcome to Systems Software The purpose of this course is to provide background in fundamental types of system software, particularly assemblers, loaders,
1 System Programming System Software, pp Chia-Hui Chang, Assistant Professor Dept. of Computer Science & Information Engineering National Central.
The Simplified Instructional Computer (SIC/SICXE)
1: Background1 System Programming ( 系統程式 ) Main goal: r What is a system software? m Compiler m Assembler m Loader and Linker m Debugger… r To design and.
Simplified Instructional Computer (SIC). SIC Architecture Two versions: SIC and SIC/XE (extra equipments). SIC program can be executed on SIC/XE. Memory.
SYSTEM SOFTWARE Dr.A.KANNAN, PROFESSOR & HEAD, DEPARTMENT OF IST CS2304.
Machine-Dependent Assembler Features (SIC/XE Assembler) Instruction Formats, Addressing Modes, and Program Relocation.
System Software by Leland L. Beck chapter 1, pp.1-20.
Chapter 1 Background System Software Chih-Shun Hsu
1 Chapter 1 Background Professor Gwan-Hwan Hwang Dept. Computer Science and Information Engineering National Taiwan Normal University 9/17/2009.
1 The Simplified Instructional Computer (SIC) Hsiang-Fu Yu National Taipei University of Education.
System Programming System Software:
System Software.
System Software by Leland L. Beck chapter 1, pp.1-20.
Assembler design.
System Programming Chih-Hung Wang Chapter 1: Background (Part-1) 參考書目
Chih-Hung Wang Chapter 2: Assembler (Part-1) 參考書目 Leland L. Beck, System Software: An Introduction to Systems Programming (3rd), Addison-Wesley, 1997.
System Programming System Software:
CS2422 Assembly Language and System Programming Machine Dependent Assembler Features Department of Computer Science National Tsing Hua University.
CS2422 Assembly Language & System Programming December 7, 2006.
CS2422 Assembly Language & System Programming November 30, 2006.
Chih-Hung Wang Chapter 1: Background (Part-1) 參考書目 Leland L. Beck, System Software: An Introduction to Systems Programming (3rd), Addison-Wesley, 1997.
CS2422 Assembly Language & System Programming December 26, 2006.
Assembler (Basic Functions)
Background. Outlines Brief introduction to system software System software and machine architecture Simplified Instructional Computer (SIC) –Architecture.
A Simple Two-Pass Assembler
CS2422 Assembly Language and System Programming Machine Independent Assembler Features Department of Computer Science National Tsing Hua University.
1 Assemblers System Programming by Leland L. Beck Chapter 2.
2 : Assembler 1 Chapter II: Assembler Chapter goal: r Introduce the fundamental functions that any assembler must perform. m Assign machine address m Translate.
Chapter - 3 Loaders & Linkers. Overview of Chapter 3 Basic Loader Functions Design Issues of: An Absolute Loader Simple Bootstrap Loader Machine-Dependent.
1/23/20067CPS4200 System Programming Spring 1 Systems Programming Chapter 1 Background III.
CC410: System Programming Dr. Manal Helal – Fall 2014 – Lecture 10 – Loaders.
CPS4200 System Programming Spring 1 Systems Programming Chapter 1 Background I.
CC410: System Programming Dr. Manal Helal – Fall 2014 – Lecture 4 - Assembler 1.
國立政治大學資訊科學系 Introduction
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
ADHIPARASAKTHI ENGINEERING COLLEGE
System Programming System Software:
Machine dependent Assembler Features
CC410: System Programming
Prof . Ki-Dong Chung Pusan Nat’l University
System Programming and administration
Microprocessor T. Y. B. Sc..
CHAPTER 6: The Little Man Computer
System Programming Design and Implementation of system software.
System Software by Leland L. Beck Chapter 2
SYSTEM SOFTWARE - UNIT II
Computer Organization and Design
THE sic mACHINE CSCI/CMPE 3334 David Egle.
Assemblers - 2 CSCI/CMPE 3334 David Egle.
Chap. 6 Programming the Basic Computer
CSCE Fall 2013 Prof. Jennifer L. Welch.
Simplified Instructional Computer (SIC)
Chapter 1 Background Professor Gwan-Hwan Hwang
Simplified Instructional Computer (SIC)
ultraSPARC과 SIC/XE Machine 비교
A Simple Two-Pass Assembler
System Programming by Leland L. Beck Chapter 2
CSCE Fall 2012 Prof. Jennifer L. Welch.
Assemblers CSCI/CMPE 3334 David Egle.
Welcome to Systems Software
Chapter 6 Programming the basic computer
SYSTEM SOFTWARE CS2304 Dr.A.KANNAN, PROFESSOR & HEAD,
COMPUTER ORGANIZATION AND ARCHITECTURE
Lecture 1: SIC Architecture
Presentation transcript:

김길용 교수 분산처리연구실 gykim715@hotmail.com 시스템 프로그래밍 김길용 교수 분산처리연구실 gykim715@hotmail.com

Text Book System Software: An Introduction to system programming by Leland L. Beck Addison-Wesley, 3rd Edition

System Software Assembler Macro Processor Loader and Linker Compiler Operating System DBMS and Other Utilities Chap 1

Term Projects SIC/XE Assembler (10) by Sep. 30 Loader and Linker (5) by Oct. 15 Macro processor (+5) by Oct. 30 Compiler (+5) by Nov. 15 SIC/XE Simulator (10) by Nov. 30 Chap 1

Outline of Chapter 1 System Software and Machine Architecture The Simplified Instructional Computer (SIC) Traditional (CISC) Machines Complex Instruction Set Computers RISC Machines Reduced Instruction Set Computers Chap 1

System Software vs. Machine Architecture Machine dependent The most important characteristic in which most system software differ from application software e.g. assembler translate mnemonic instructions into machine code e.g. compilers must generate machine language code Machine independent There are aspects of system software that do not directly depend upon the type of computing system e.g. general design and logic of an assembler e.g. code optimization techniques Chap 1

The Simplified Instructional Computer (SIC) SIC is a hypothetical computer that includes the hardware features most often found on real machines Two versions of SIC standard model (SIC) extension version (SIC/XE) Chap 1

SIC Machine Architecture (1/5) Memory 215 bytes in the computer memory 3 consecutive bytes form a word 8-bit bytes Registers Chap 1

SIC Machine Architecture (2/5) Data Formats Integers are stored as 24-bit binary numbers; 2’s complement representation is used for negative values No floating-point hardware Instruction Formats Addressing Modes opcode (8) address (15) x Chap 1

SIC Machine Architecture (3/5) Instruction Set load and store: LDA, LDX, STA, STX, etc. integer arithmetic operations: ADD, SUB, MUL, DIV, etc. All arithmetic operations involve register A and a word in memory, with the result being left in the register comparison: COMP COMP compares the value in register A with a word in memory, this instruction sets a condition code CC to indicate the result Chap 1

SIC Machine Architecture (4/5) Instruction Set conditional jump instructions: JLT, JEQ, JGT these instructions test the setting of CC and jump accordingly subroutine linkage: JSUB, RSUB JSUB jumps to the subroutine, placing the return address in register L RSUB returns by jumping to the address contained in register L Chap 1

SIC Machine Architecture (5/5) Input and Output Input and output are performed by transferring 1 byte at a time to or from the rightmost 8 bits of register A The Test Device (TD) instruction tests whether the addressed device is ready to send or receive a byte of data Read Data (RD) Write Data (WD) Chap 1

SIC Programming Examples Data movement Fig. 1.2 Arithmetic operation Fig. 1.3 Looping and indexing Fig. 1.4, Fig. 1.5 Input and output Fig. 1.6 Subroutine call Fig. 1.7 Chap 1

SIC Programming Examples (Fig 1.2) -- Data movement ALPHA RESW 1 FIVE WORD 5 CHARZ BYTE C’Z’ C1 RESB 1 . LDA FIVE STA ALPHA LDCH CHARZ STCH C1 (a) No memory-memory move instruction 3-byte word: LDA, STA, LDL, STL, LDX, STX 1-byte: LDCH, STCH Storage definition WORD, RESW BYTE, RESB

SIC Programming Examples (Cont.) All arithmetic operations are performed using register A, with the result being left in register A. BETA=ALPHA+INCR-ONE DELTA=GAMMA+INCR-ONE Chap 1

SIC Programming Example -- Arithmetic operation (Fig 1.3) BETA=ALPHA+INCR-ONE DELTA=GAMMA+INCR-ONE

SIC Programming Example -- Looping and indexing (Fig. 1.4) Chap 1

SIC Programming Example -- Looping and indexing (Fig. 1.5) Arithmetic Arithmetic operations are performed using register A, with the result being left in register A Looping (TIX) (X)=(X)+1 compare with operand set CC Break... GAMMA[I]=ALPHA[I]+BETA[I] I=0 to 100 Chap 1

SIC/XE Machine Architecture (1/4) Memory 220 bytes in the computer memory More Registers Chap 1

SIC/XE Machine Architecture (2/4) Data Formats Floating-point data type: frac*2(exp-1024) frac: 0~1 exp: 0~2047 Instruction Formats exponent (11) fraction (36) s Chap 1

SIC/XE Machine Architecture (3/4) How to compute TA? How the target address is used? Note: Indexing cannot be used with immediate or indirect addressing modes Chap 1

Example of SIC/XE instructions and addressing modes

Chap 1

SIC/XE Machine Architecture (4/4) Instruction Set new registers: LDB, STB, etc. floating-point arithmetic: ADDF, SUBF, MULF, DIVF register move: RMO register-register arithmetic: ADDR, SUBR, MULR, DIVR supervisor call: SVC generates an interrupt for OS (Chap 6) Input/Output SIO, TIO, HIO: start, test, halt the operation of I/O device (Chap 6) Chap 1

SIC/XE Programming Examples (Fig 1.2) ALPHA RESW 1 FIVE WORD 5 CHARZ BYTE C’Z’ C1 RESB 1 . LDA FIVE STA ALPHA LDCH CHARZ STCH C1 (a) ALPHA RESW 1 C1 RESB 1 . LDA #5 STA ALPHA LDA #90 STCH C1 (b)

SIC/XE Programming Example -- Looping and Indexing Example (Fig 1.4)

SIC/XE Programming Example -- Looping and indexing (Fig 1.5)

SIC/XE Programming Example data movement #: immediate addressing for SIC/XE arithmetic ADDR S,X Looping (TIXR T) (X)=(X)+1 compare with register specified set CC COMPR X,T Chap 1

SIC Programming Example -- Sample Input and Output (Fig 1.6)

Homework #1 Write a sequence of instructions for SIC/XE to set ALPHA equal to 4*BETA-9. Assume that ALPHA and BETA are defined as in Fig. 1.3 (b) Write a sequence of instructions for SIC to set ALPHA equal to the integer portion of BETAGAMMA. Assume that ALPHA and BETA are defined as in Fig. 1.3(a) Chap 1

Homework #2 Please write a program for SIC/XE that contains routines. The routines read records from an input device (identified with device code F1) and copies them to an output device (code 05). This main routine calls subroutine RDREC to read a record into a buffer and subroutine ERREC to write the record from the buffer to the output device. Each subroutine must transfer the record one character at a time because the only I/O instructions available are RD and WD. Chap 1

Homework #2 Program copy { save return address; cloop: call subroutine RDREC to read one record; if length(record)=0 { call subroutine WRREC to write EOF; } else { call subroutine WRREC to write one record; goto cloop; } load return address return to caller Chap 1

Homework #2 (Cont.) EOR: Subroutine RDREC { character x‘00’ clear A, X register to 0; rloop: read character from input device to A register if not EOR { store character into buffer[X]; X++; if X < maximum length goto rloop; } store X to length(record); return Chap 1

Homework #2 (Cont.) Subroutine WDREC { clear X register to 0; wloop: get character from buffer[X] write character from X to output device X++; if X < length(record) goto wloop; return } Chap 1

Chap 1