System Programming System Software:

Slides:



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

Chapter 2: Data Manipulation
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.
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 Software.
System Software by Leland L. Beck chapter 1, pp.1-20.
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.
CS2422 Assembly Language & System Programming November 28, 2006.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
An introduction to systems programming
System Programming System Software:
Chapter 2.2 Machine Language.
1 RISC Machines l RISC system »instruction –standard, fixed instruction format –single-cycle execution of most instructions –memory access is available.
Dale & Lewis Chapter 5 Computing components. Let’s design a computer Generic CPU with registers −Program counter (PC) – 5 bits (size of addresses) −Instruction.
Chih-Hung Wang Chapter 1: Background (Part-1) 參考書目 Leland L. Beck, System Software: An Introduction to Systems Programming (3rd), Addison-Wesley, 1997.
Assembler (Basic Functions)
Background. Outlines Brief introduction to system software System software and machine architecture Simplified Instructional Computer (SIC) –Architecture.
COE Computer Organization & Assembly Language Talal Alkharobi.
Machine Instruction Characteristics
Instruction Set Architecture
Computer Systems Organization CS 1428 Foundations of Computer Science.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Lecture 14 Today’s topics MARIE Architecture Registers Buses
Computer Architecture and Organization
Computer Architecture EKT 422
1/23/20067CPS4200 System Programming Spring 1 Systems Programming Chapter 1 Background III.
COMPILERS CLASS 22/7,23/7. Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent.
Dale & Lewis Chapter 5 Computing components
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
CC410: System Programming Dr. Manal Helal – Fall 2014 – Lecture 10 – Loaders.
CPS4200 System Programming Spring 1 Systems Programming Chapter 1 Background I.
김길용 교수 분산처리연구실 시스템 프로그래밍 김길용 교수 분산처리연구실
Prof . Ki-Dong Chung Pusan Nat’l University
System Programming and administration
System Programming Design and Implementation of system software.
THE sic mACHINE CSCI/CMPE 3334 David Egle.
Assemblers - 2 CSCI/CMPE 3334 David Egle.
CSCE Fall 2013 Prof. Jennifer L. Welch.
Simplified Instructional Computer (SIC)
MARIE: An Introduction to a Simple Computer
Chapter 1 Background Professor Gwan-Hwan Hwang
Simplified Instructional Computer (SIC)
ultraSPARC과 SIC/XE Machine 비교
CSCE Fall 2012 Prof. Jennifer L. Welch.
Introduction to Computer Systems
Welcome to Systems Software
Chapter 6 Programming the basic computer
SYSTEM SOFTWARE CS2304 Dr.A.KANNAN, PROFESSOR & HEAD,
An introduction to systems programming
System Programming By Prof.Naveed Zishan.
Computer Architecture Assembly Language
Lecture 1: SIC Architecture
Presentation transcript:

System Programming System Software: An Introduction to Systems Programming Leland L. Beck 3rd Edition Addison-Wesley, 1997

Book 傳說 本書有中文版

Course Information Time Web Sites Teacher’s email address 7:10pm to 10:00pm on Monday. Web Sites http://140.128.101.171/~johnaxer Teacher’s email address johnaxer@mail.thu.edu.tw Teaching assistant 高效能計算實驗室 http://www.hpc.csie.thu.edu.tw 陳翠婷

Gain Score Participation: 5 % Two quizzes: 20% Two or Three home works: 15 % A final project: 15% A mid exam: 20% A final exam: 25%

System Programming Chapter 1: Background Chapter 2: Assemblers Chapter 3: Loaders and Linkers Chapter 4: Macro Processors Chapter 5: Compilers Operating Systems Other System Software Software Engineering Issues

Chapter 1 Background

Outline Introduction System Software and Machine Architecture The Simplified Instructional Computer (SIC) SIC Machine Architecture SIC/XE Machine Architecture SIC Programming Examples Traditional (CISC) Machines RISC Machines

1.1 Introduction 何謂系統程式? 系統程式就是驅動電腦硬體工作之軟體及韌體程式。 System Software consists of a variety of programs that support the operation of a computer. The programs implemented in either software and (or) firmware that makes the computer hardware usable. The software makes it possible for the users to focus on an application or other problem to be solved, without needing to know the details of how the machine works internally. 系統程式就是驅動電腦硬體工作之軟體及韌體程式。 BIOS (Basic Input Output System)

1.2 System Software and Machine Architecture System Software vs Application One characteristic in which most system software differs from application software is machine dependency. System programs are intended to support the operation and use of the computer itself, rather than any particular application. Examples of system software Text editor, assembler, compiler, loader or linker, debugger, macro processors, operating system, database management systems, software engineering tools, …

1.2 System Software and Machine Architecture Text editor To create and modify the program Compiler and assembler You translated these programs into machine language Loader or linker The resulting machine program was loaded into memory and prepared for execution Debugger To help detect errors in the program

System Software Concept Users Application Program Debugger Macro Processor Text Editor Utility Program (Library) Complier Assembler Load and Linker OS Memory Management Process Management Device Management Information Management Bare Machine (Computer)

System Software and Machine Architecture Machine dependent (與機器相關) Instruction Set, Instruction Format, Addressing Mode, Assembly language … Machine independent (與機器無關) General design logic/strategy, Two passes assembler… Machine independent Machine Dependent Computer

1.3 The Simplified Instructional Computer Like many other products, SIC comes in two versions The standard model An XE version “extra equipments”, “extra expensive” The two versions has been designed to be upward compatible SIC (Simplified Instructional Computer) SIC/XE (Extra Equipment)

1.3 The Simplified Instructional Computer SIC Upward compatible Memory consists of 8-bit bytes, 3 consecutive bytes form a word (24 bits) There are a total of 32768 bytes (32 KB) in the computer memory. 5 registers, 24 bits in length A 0 Accumulator X 1 Index register L 2 Linkage register (JSUB) PC 8 Program counter SW 9 Status word (Condition Code)

1.3.1 SIC Machine Architecture Data Formats Integers are stored as 24-bit binary number 2’s complement representation for negative values Characters are stored using 8-bit ASCII codes No floating-point hardware on the standard version of SIC

Instruction Cycle CPU Instruction Cycle Control Unit (CU) Arithmetic and Logic Unit (ALU) Register Instruction Cycle Fetch Cycle Execution Cycle Fetch Instruction Computation Store Result Decoder Fetch Operand

1.3.1 SIC Machine Architecture Instruction format 24-bit format The flag bit x is used to indicate indexed-addressing mode Addressing Modes There are two addressing modes available Indicated by x bit in the instruction (X) represents the contents of reg. X opcode x address 8 1 15

1.3.1 SIC Machine Architecture Instruction set Format 3 Load and store registers (LDA, LDX, STA, STX, etc.) Integer arithmetic operations (ADD, SUB, MUL, DIV) Compare instruction (COMP) Conditional jump instructions (JLT, JEQ, JGT) JSUB jumps to the subroutine, placing the return address in register L. RSUB returns by jumping to the address contained in register L.

1.3.1 SIC Machine Architecture I/O I/O are performed by transferring 1 byte at a time to or from the rightmost 8 bits of register A. Each device is assigned a unique 8-bit code as an operand. Test Device (TD): tests whether the addressed device is ready to send or receive < ready = not ready Read Data (RD) Write Data (WD)

1.3.2 SIC/XE Machine Architecture 1 megabytes (1024 KB) in memory 3 additional registers, 24 bits in length B 3 Base register; used for addressing S 4 General working register T 5 General working register 1 additional register, 48 bits in length F 6 Floating-point accumulator (48 bits)

1.3.2 SIC/XE Machine Architecture Data format 24-bit binary number for integer, 2’s complement for negative values 48-bit floating-point data type The exponent is between 0 and 2047 f*2(e-1024) 0: set all bits to 0 1 11 36 S exponent fraction

1.3.2 SIC/XE Machine Architecture Instruction formats Relative addressing (相對位址) - format 3 (e=0) Extend the address to 20 bits - format 4 (e=1) Don’t refer memory at all - formats 1 and 2

1.3.2 SIC/XE Machine Architecture Addressing modes n i x b p e Simple n=0, i=0 (SIC) or n=1, i=1 Immediate n=0, i=1 TA=Valus Indirect n=1, i=0 TA=(Operand) Base relative b=1, p=0 TA=(B)+disp 0 <= disp <= 4095 PC relative b=0, p=1 TA=(PC)+disp -2048 <= disp <= 2047

1.3.2 SIC/XE Machine Architecture Addressing mode Direct b=0, p=0 TA=disp Index x=1 TAnew=TAold+(X) Index+Base relative x=1, b=1, p=0 TA=(B)+disp+(X) Index+PC relative x=1, b=0, p=1 TA=(PC)+disp+(X) Index+Direct x=1, b=0, p=0 Format 4 e=1 Appendix and Fig. 1.1 Example

Figure 1.1 Memory address 00000 ~FFFFF (Byte) (0000 0000 0000 0000 0000) ~FFFFF (Byte) (1111 1111 1111 1111 1111)

1.3.2 SIC/XE Machine Architecture Instruction set Format 1, 2, 3, or 4 Load and store registers (LDB, STB, etc.) Floating-point arithmetic operations (ADDF, SUBF, MULF, DIVF) Register-to-register arithmetic operations (ADDR, SUBR, MULR, DIVR) A special supervisor call instruction (SVC) is provided I/O 1 byte at a time, TD, RD, and WD SIO, TIO, and HIO are used to start, test, and halt the operation of I/O channels.

1.3.3 SIC Programming Examples Sample data movement operations No memory-to-memory move instructions (Fig. 1.2) LDA five LDA #5 … … five word 5

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples Sample arithmetic operations (ALPHA+INCR-1) assign to BETA (Fig. 1.3) (GAMMA+INCR-1) assign to DELTA

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples String copy

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples

1.3.3 SIC Programming Examples

Traditional (CISC) Machines Complex Instruction Set Computers (CISC) complicated instruction set different instruction formats and lengths many different addressing modes e.g. VAX or PDP-11 from DEC e.g. Intel x86 family Reduced Instruction Set Computer (RISC)

RISC Machines RISC system instruction standard, fixed instruction format single-cycle execution of most instructions memory access is available only for load and store instruction other instructions are register-to-register operations a small number of machine instructions, and instruction format a large number of general-purpose registers a small number of addressing modes Three RISC machines SPARC family PowerPC family Cray T3E