The A ssembly Assembly Language Level Chapter 7 1
|
|
- Kory White
- 5 years ago
- Views:
Transcription
1 The Assembly Language Level Chapter 7 1
2 Contemporary Multilevel Machines A six-level l computer. The support method for each level is indicated below it.2
3 Assembly Language Level a) It is implemented by translation rather than interpretation. b) Programs that convert a user s program written in some language to anther language are called translator. c) The language in which h the original i program is written is called the source language and the language to which it is converted is called the target language. d) Translation is used when a processor is available for the target t language but not for the source language. 3
4 Assembly Language Level a) In translation, the original program is converted to an equivalent program called an object program whose execution is carried out only after the translation has been completed. b) In interpretation, there is only one step: executing the original source program. No equivalent program needs to be generated first. 4
5 Translator a) Translator can be roughly divided into two groups. b) When the source language is essentially a symbolic representation for a numerical machine language, the translator is called an assembler and the source language is called an assembly language. c) When the source language is a high-level language and the target t language is either a numerical machine language or a symbolic one, the translator is called a compiler. 5
6 Assembly Language a) A pure assembly language is a language in which each statement produces exactly one machine instruction. b) It is much easy to program in symbolic forms. c) The assembly programmer has access to all the features and instructions available on the target machine. d) An assembly language program can run only on one family of machines, whereas a program written in a high-level language can potentially run on many machines. 6
7 Why Use Assembly Language? a) Performance b) Access to the machine 7
8 Why Use Assembly Language? Comparison of assembly language and high level language Comparison of assembly language and high-level language programming, with and without tuning. 8
9 Format of an Assembly Language Statement (1) Computation ti of N = I + J. (a) Pentium 4. 9
10 Format of an Assembly Language Statement (2) Computation ti of N = I + J. (b) Motorola 680x
11 Format of an Assembly Language Statement (3) Computation ti of N = I + J. (c) SPARC. 11
12 Pseudoinstructions a) In addition to specifying which machine instructions to execute, an assembly language g program can also contain commands to the assembler itself. b) Commends to the assembler itself are called pseudoinstructions or sometimes assembler directives. 12
13 Pseudoinstructions (1) Some of the pseudoinstructions available in the Some of the pseudoinstructions available in the Pentium 4 assembler (MASM). 13
14 Pseudoinstructions (2) Some of the pseudoinstructions available in the Some of the pseudoinstructions available in the Pentium 4 assembler (MASM). 14
15 Macros a) Assembly language programmers frequently need to repeat sequences of instructions several times within a program. b) A way is to make the sequence into a procedure and call it wherever it is needed. But it requires a procedure call instruction and a return instruction. c) A macro definition is a way to give a name to a piece of text. After a macro has been defined, the programmer can write the macro name instead of the piece of program. d) A macro is an abbreviation for a piece of text. 15
16 Macro Definition, Call, Expansion (1) Assembly language code for interchanging P and Q twice Assembly language code for interchanging P and Q twice. (a) Without a macro. (b) With a macro. 16
17 Macros a) A macro header gives the name of the macro. b) The text comprises the body of the macro. c) A pseudoinstruction marks the end of the definition. d) When the assembler encounters a macro definition, it saves it in a macro definition table for subsequent use. e) The use of a macro name as an opcode is known as a macro call and its replacement by the macro body is called macro expansion. 17
18 Macro Definition, Call, Expansion (2) Comparison of macro calls with procedure calls. 18
19 Macros with Parameters Formal parameters At Actual parameters Nearly identical sequences of statements. (a) Without a macro. (b) With a macro. 19
20 Advanced Features a) Avoid label duplication to allow a label to be declared local, with the assembler automatically generating a different label on each expansion of the macro. 20
21 The Assembly Process a) It might seen natural to have an assembler that reads one statement, then translates it to machine language, and finally outputs the generated machine language onto a file. Unfortunately, this strategy does not work. b) A branch to L, can not be assembled until the address of statement L is known. Forward reference problem a reference has been made to a symbol whose definition will only occur later. 21
22 The Assembly Process a) The assembler may in fact read the source program twice. Two pass. The translator that reads the input program twice is called a two-pass translator. t b) On pass one, the definitions of symbols, including statement labels, are collected and stored in a table. By the time the second pass begins, the values of all symbols are known; thus no forward reference remains and each statement can be read, assembled, and output. c) Another approach consists of reading the assembly program once, converting it to an intermediate form, and storing this form in a table in memory. Then a second pass is made over the table instead of over the source program. (need enough memory) 22
23 Two Pass Assemblers (1) The instruction location counter (ILC) keeps track of the address where the instructions will be loaded in memory. In this example, the statements prior to MARIA occupy 100 bytes. 23
24 Two Pass Assemblers (2) A symbol table for the program of Fig
25 Two Pass Assemblers (3) A few excerpts from the opcode table for a Pentium 4 assembler. 25
26 Pass One (1)... Pass one of a simple assembler. 26
27 ... Pass One (2)... Pass one of a simple assembler. 27
28 Pass One (3)... Pass one of a simple assembler. 28
29 Pass Two a) The function of pass two is to generate the object program and possibly print the assembly listing. b) In addition, pass two must output certain information needed by the linker for linking up procedures assembled at different times into a single executable file. 29
30 Pass Two (1)... Pass two of a simple assembler. 30
31 ... Pass Two (2) Pass two of a simple assembler. 31
32 The Symbol Table a) During pass one, the assembler accumulates information about symbols and their values that must be stored in the symbol table for lookup during pass two. b) All the organizing methods attempt to simulate an associative memory, which conceptually is a set of pairs (symbol, value). c) The simplest implementation is to implement the symbol table as an array of pairs. On average, half of the table will have to be searched on each lookup. d) Binary search A table of size n entries can be searched in d) Binary search A table of size n entries can be searched in about log 2 n attempts. 32
33 The Symbol Table (1) Hash coding. (a) Symbols, values, and the hash codes derived from the symbols. 33
34 The Symbol Table (2) Hash coding. (b) Eight-entry hash table with linked lists of symbols and values. 34
35 a) With n symbols and k slots in the hash table, the average list will have length n/k. b) By choosing k approximately equal to n, symbols can be located with only about one lookup on the average. c) By adjusting k we can reduce table size at the expense of slower lookups. 35
36 Linking and Loading a) Most program consists of more than on e procedure. b) Compilers and assemblers generally translate one procedure at a time and put the translated output on disk. c) Before the program can be run, all the translated procedures must tbe found and dlinked dtogether th properly. d) Programs that perform these functions are called linkers. 36
37 Linking and Loading Generation of an executable binary program from a collection of Generation of an executable binary program from a collection of independently translated source procedures requires using a linker. 37
38 Linker a) The linker s function is to collect procedures translated separately and link them together to be run as an executable binary program. b) The translation from source procedure to object module represents a change of level. The linking process, however, does not represent a change of level, since both the linker s input and the linker s output are programs for the same virtual machine. c) The two-step process of translating and linking can save a great deal of time during the development of a program. 38
39 Tasks Performed by the Linker (1) Each module has its own address space, starting ti at 0. 39
40 Tasks Performed by the Linker (2) Each module has its own address space, starting ti at 0. 40
41 Tasks Performed by the Linker (3) Each module has its own address space, starting ti at 0. 41
42 Tasks Performed by the Linker (4) Each module has its own address space, starting ti at 0. 42
43 Tasks Performed by the Linker (5) The object modules of Fig after being positioned in the binary image but before being relocated and linked. 43
44 Tasks Performed by the Linker (6) The same object modules after linking and after relocation has been performed. Together they form an executable binary program, ready to run 44
45 Linking Steps a) It constructs a table of all the object modules and their lengths. b) Based on this table, it assigns a starting address to each object module. c) It finds all the instructions that reference memory and adds to each a relocation constant equal to the starting address of its module. d) It finds all the instructions that reference other procedures d) ds a e s uc o s a e e e ce o e p ocedu es and inserts the address of these procedures in place. 45
46 Structure of an Object Module The internal structure of an object module produced by a translator. 46
47 Dynamic Linking a) A more flexible way to link separately compiled procedures is to link each procedure at the time it is first called. b) This process is known as dynamic linking. 47
48 Binding Time and Dynamic Relocation The relocated binary program of Fig 7 15(b) moved up 300 addresses The relocated binary program of Fig. 7-15(b) moved up 300 addresses. Many instructions now refer to an incorrect memory address. 48
49 Dynamic Linking in MULTICS (1) Before EARTH is called. 49
50 Dynamic Linking in MULTICS (2) After EARTH has been called and linked. 50
51 Dynamic Linking in Windows Use of a DLL file by two processes. 51
The Assembly Language Level. Chapter 7
The Assembly Language Level Chapter 7 Definitions Translator Converts user program to another language Source language Language of original program Target language Language into which source code is converted
More informationComputer Organization & Assembly Language Programming
Computer Organization & Assembly Language Programming CSE 2312 Lecture 11 Introduction of Assembly Language 1 Assembly Language Translation The Assembly Language layer is implemented by translation rather
More informationCompiler, Assembler, and Linker
Compiler, Assembler, and Linker Minsoo Ryu Department of Computer Science and Engineering Hanyang University msryu@hanyang.ac.kr What is a Compilation? Preprocessor Compiler Assembler Linker Loader Contents
More informationIntermediate Programming & Design (C++) Notation
Notation Byte = 8 bits (a sequence of 0 s and 1 s) To indicate larger amounts of storage, some prefixes taken from the metric system are used One kilobyte (KB) = 2 10 bytes = 1024 bytes 10 3 bytes One
More informationUNIT I - INTRODUCTION
UNIT I - INTRODUCTION 1. Define system software. It consists of variety of programs that supports the operation of the computer. This software makes it possible for the user to focus on the other problems
More informationThe x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language
The x86 Microprocessors Introduction 1.1 Assembly Language Numbering and Coding Systems Human beings use the decimal system (base 10) Decimal digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Computer systems use the
More informationLanguage Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.
Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation
More informationMemory and multiprogramming
Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson
More informationAS-2883 B.Sc.(Hon s)(fifth Semester) Examination,2013 Computer Science (PCSC-503) (System Software) [Time Allowed: Three Hours] [Maximum Marks : 30]
AS-2883 B.Sc.(Hon s)(fifth Semester) Examination,2013 Computer Science (PCSC-503) (System Software) [Time Allowed: Three Hours] [Maximum Marks : 30] Note: Question Number 1 is compulsory. Marks : 10X1
More informationChapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1
Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation
More informationUNIT II ASSEMBLERS. Figure Assembler
2.1 Basic assembler functions UNIT II ASSEMBLERS Assembler Assembler which converts assembly language programs into object files. Object files contain a combination of machine instructions, data, and information
More informationHomework #6 Problems 1, 5, 9, 11, 13, 23 from textbook.
Homework #6 Problems 1, 5, 9, 11, 13, 23 from textbook. 1. A certain program, 1% of the code accounts for 50% of the execution time. Compare the following three strategies with respect to programming time
More informationST. XAVIER S COLLEGE
ST. XAVIER S COLLEGE MAITIGHAR, KATHMANDU Compiler Design and Construction Lab Assignment #1 Submitted by: Aashish Raj Shrestha 013BSCCSIT002 Submitted to: Mr. Ramesh Shahi Lecturer, Department of Computer
More informationChapter 3 Loaders and Linkers
Chapter 3 Loaders and Linkers Outline 3.1 Basic Loader Functions 3.2 Machine-Dependent Loader Features 3.3 Machine-Independent Loader Features 3.4 Loader Design Options 3.5 Implementation Examples Introduction
More informationWe briefly explain an instruction cycle now, before proceeding with the details of addressing modes.
Addressing Modes This is an important feature of computers. We start with the known fact that many instructions have to include addresses; the instructions should be short, but addresses tend to be long.
More informationLecture #2 January 30, 2004 The 6502 Architecture
Lecture #2 January 30, 2004 The 6502 Architecture In order to understand the more modern computer architectures, it is helpful to examine an older but quite successful processor architecture, the MOS-6502.
More informationUNIT III - LOADERS AND LINKERS
3.1 Introduction to Loaders UNIT III - LOADERS AND LINKERS A loader is the part of an operating system that is responsible for loading programs into memory and prepares them for execution. Loading a program
More informationMachine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine
Machine Language Instructions Introduction Instructions Words of a language understood by machine Instruction set Vocabulary of the machine Current goal: to relate a high level language to instruction
More informationComputer Organization & Assembly Language Programming. CSE 2312 Lecture 15 Addressing and Subroutine
Computer Organization & Assembly Language Programming CSE 2312 Lecture 15 Addressing and Subroutine 1 Sections in 8088 Code TEXT section, for the processor instructions. DATA section for the initialization
More informationChapter 3 Loaders and Linkers
Chapter 3 Loaders and Linkers Outline 3.1 Basic Loader Functions 3.2 Machine-Dependent Loader Features 3.3 Machine-Independent Loader Features 3.4 Loader Design Options 3.5 Implementation Examples Introduction
More informationMonday, February 16, 2015
Monday, February 16, 2015 Topics for today How assemblers work Symbol tables ILC Pass 1 algorithm, Error checking Pass 2 Immediate mode and equate Assembler variants: Disassembler, Cross assembler Macros
More informationGechstudentszone.wordpress.com
CHAPTER -2 2.1 Basic Assembler Functions: The basic assembler functions are: ASSEMBLERS-1 Translating mnemonic language code to its equivalent object code. Assigning machine addresses to symbolic labels.
More informationA Set Of Machine Language Instructions For A Program Is Called Source Code >>>CLICK HERE<<<
A Set Of Machine Language Instructions For A Program Is Called Source Code In computing, an executable file or executable program, or sometimes simply an These instructions are traditionally machine code
More informationCSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory
CSCI341 Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory REVIEW Assemblers understand special commands called directives Assemblers understand macro commands Assembly programs become
More informationChapter 2. Assembler Design
Chapter 2 Assembler Design Assembler is system software which is used to convert an assembly language program to its equivalent object code. The input to the assembler is a source code written in assembly
More informationChapter 7 Subroutines. Richard P. Paul, SPARC Architecture, Assembly Language Programming, and C
Chapter 7 Subroutines Richard P. Paul, SPARC Architecture, Assembly Language Programming, and C 2 Subroutines Subroutines allow us to either to repeat a computation or to repeat the computation with different
More informationCS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT I INTRODUCTION
CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT I INTRODUCTION 1. Define System Software. System software consists of a variety of programs that supports the operations of a computer. Eg. Compiler,
More informationCache Memory Mapping Techniques. Continue to read pp
Cache Memory Mapping Techniques Continue to read pp. 289-305 Cache Memory Mapping Again cache memory is a small and fast memory between CPU and main memory A block of words have to be brought in and out
More informationChapter 5 Hashing. Introduction. Hashing. Hashing Functions. hashing performs basic operations, such as insertion,
Introduction Chapter 5 Hashing hashing performs basic operations, such as insertion, deletion, and finds in average time 2 Hashing a hash table is merely an of some fixed size hashing converts into locations
More informationSPOS MODEL ANSWER MAY 2018
SPOS MODEL ANSWER MAY 2018 Q 1. a ) Write Algorithm of pass I of two pass assembler. [5] Ans :- begin if starting address is given LOCCTR = starting address; else LOCCTR = 0; while OPCODE!= END do ;; or
More informationPSD1C SYSTEM SOFTWAE UNIT: I - V PSD1C SYSTEM SOFTWARE
PSD1C SYSTEM SOFTWAE UNIT: I - V 1 Syllabus Unit-I Language Processors Types of Language Processors Language Processing Activities Fundamentals of Language Processing Language Specification Data Structures
More informationChapter 3 Loaders and Linkers
Chapter 3 Loaders and Linkers Three fundamental processes: Loading brings the object program into memory for execution. Relocation modifies the object program so that it can be loaded at an address different
More informationChapter 9 Memory Management
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationChapter 4 The Components of the System Unit
Chapter 4 The Components of the System Unit The System Unit What is the system unit? Case that contains electronic components of the computer used to process data Sometimes called the chassis p. 184 Fig.
More informationMemory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358
Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement
More informationCOPYRIGHTED MATERIAL. What Is Assembly Language? Processor Instructions
What Is Assembly Language? One of the first hurdles to learning assembly language programming is understanding just what assembly language is. Unlike other programming languages, there is no one standard
More informationThe Operating System. Chapter 6
The Operating System Machine Level Chapter 6 1 Contemporary Multilevel Machines A six-level l computer. The support method for each level is indicated below it.2 Operating System Machine a) Operating System
More informationUNIT III LOADERS AND LINKERS
UNIT III LOADERS AND LINKERS INTRODUCTION Loader is a system program that performs the loading function. Many loaders also support relocation and linking. Some systems have a linker (linkage editor) to
More informationECE 15B COMPUTER ORGANIZATION
ECE 15B COMPUTER ORGANIZATION Lecture 16 Executing Programs: Compiling, Assembling, Linking and Loading I Dr. Rahul Singh Project #2 Due May 29 at 5 PM Submit via email Project #3 Due June 5, 5pm Submit
More informationThe Little Man Computer - Interface
The Little Man Computer - Interface 1. Assembly Language goes here 2. Click ʻCompileʼ 3. Instructions appear as 3-digit opcodes here 4. You can RUN the program, watch it run SLOWly or STEP through the
More informationIntroduction. hashing performs basic operations, such as insertion, better than other ADTs we ve seen so far
Chapter 5 Hashing 2 Introduction hashing performs basic operations, such as insertion, deletion, and finds in average time better than other ADTs we ve seen so far 3 Hashing a hash table is merely an hashing
More informationToday: Segmentation. Last Class: Paging. Costs of Using The TLB. The Translation Look-aside Buffer (TLB)
Last Class: Paging Process generates virtual addresses from 0 to Max. OS divides the process onto pages; manages a page table for every process; and manages the pages in memory Hardware maps from virtual
More information1 Little Man Computer
1 Little Man Computer Session 5 Reference Notes CPU Architecture and Assembly 1.1 Versions Little Man Computer is a widely used simulator of a (very simple) computer. There are a number of implementations.
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationModel Answer of System Software B. Tech. (4 th Semester Examination) Paper Code: AR Branch: Information Technology
Model Answer of System Software B. Tech. (4 th Semester Examination) Paper Code: AR-9083 Branch: Information Technology Time Allowed: 3hours Maximum Marks: 100 Part-A (All questions are compulsory) Objective
More informationCOMPILER DESIGN. For COMPUTER SCIENCE
COMPILER DESIGN For COMPUTER SCIENCE . COMPILER DESIGN SYLLABUS Lexical analysis, parsing, syntax-directed translation. Runtime environments. Intermediate code generation. ANALYSIS OF GATE PAPERS Exam
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationComputer Hardware and System Software Concepts
Computer Hardware and System Software Concepts Introduction to concepts of System Software/Operating System Welcome to this course on Computer Hardware and System Software Concepts 1 RoadMap Introduction
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationMIPS (SPIM) Assembler Syntax
MIPS (SPIM) Assembler Syntax Comments begin with # Everything from # to the end of the line is ignored Identifiers are a sequence of alphanumeric characters, underbars (_), and dots () that do not begin
More informationFor your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to
For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...xi
More informationEECE416 :Microcomputer Fundamentals and Design. X86 Assembly Programming Part 1. Dr. Charles Kim
EECE416 :Microcomputer Fundamentals and Design X86 Assembly Programming Part 1 Dr. Charles Kim Department of Electrical and Computer Engineering Howard University www.mwftr.com 1 Multiple Address Access
More informationCPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.
CPU ARCHITECTURE QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system. ANSWER 1 Data Bus Width the width of the data bus determines the number
More informationThe Procedure Abstraction Part I: Basics
The Procedure Abstraction Part I: Basics Procedure Abstraction Begins Chapter 6 in EAC The compiler must deal with interface between compile time and run time Most of the tricky issues arise in implementing
More informationExecuting Legacy Applications on a Java Operating System
Executing Legacy Applications on a Java Operating System Andreas Gal, Michael Yang, Christian Probst, and Michael Franz University of California, Irvine {gal,mlyang,probst,franz}@uci.edu May 30, 2004 Abstract
More informationComputer Software: Introduction
Software: A collection of programs Computer Software: Introduction Program: Sequence of instructions for the computer to carry out Programs written using a programming language Types of languages: Machine
More informationCompile: compiler. Load: loader. compiler linker loader memory. source object load code module module 2
Part III Storage Management Chapter 8: Memory Management Fall 2010 1 Address Generation Address generation has three stages: Compile: compiler Link: linker or linkage editor Load: loader compiler linker
More informationAssembly Language for Intel-Based Computers, 4 th Edition. Chapter 2: IA-32 Processor Architecture Included elements of the IA-64 bit
Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 2: IA-32 Processor Architecture Included elements of the IA-64 bit Slides prepared by Kip R. Irvine Revision date: 09/25/2002
More informationCS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.
CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 5: Processors Our goal: understand basics of processors and CPU understand the architecture of MARIE, a model computer a close look at the instruction
More informationPage Table Structure. Hierarchical Paging. Hashed Page Tables. Inverted Page Tables
Page Table Structure Hierarchical Paging Hashed Page Tables Inverted Page Tables 1 Hierarchical Page Tables Problem: for very large logical address spaces (2 32 and 2 64 ) the page table itself becomes
More information[07] SEGMENTATION 1. 1
[07] SEGMENTATION 1. 1 OUTLINE Segmentation An Alternative to Paging Implementing Segments Segment Table Lookup Algorithm Protection and Sharing Sharing Subtleties External Fragmentation Segmentation vs
More informationFILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23
FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most
More information390 Chapter 8 Main Memory
390 Chapter 8 Main Memory information (pages or segments) that can be shared. Sharing is a means of running many processes with a limited amount of memory, but shared programs and data must be designed
More informationChapter 11. Instruction Sets: Addressing Modes and Formats. Yonsei University
Chapter 11 Instruction Sets: Addressing Modes and Formats Contents Addressing Pentium and PowerPC Addressing Modes Instruction Formats Pentium and PowerPC Instruction Formats 11-2 Common Addressing Techniques
More informationChapter 18. Indexing Structures for Files. Chapter Outline. Indexes as Access Paths. Primary Indexes Clustering Indexes Secondary Indexes
Chapter 18 Indexing Structures for Files Chapter Outline Types of Single-level Ordered Indexes Primary Indexes Clustering Indexes Secondary Indexes Multilevel Indexes Dynamic Multilevel Indexes Using B-Trees
More informationComputer Architecture and Organization. Instruction Sets: Addressing Modes and Formats
Computer Architecture and Organization Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack Immediate Addressing
More informationby Pearson Education, Inc. All Rights Reserved.
Programmers write instructions in various programming languages, some directly understandable by computers and others requiring intermediate translation steps. Computer languages may be divided into three
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 Running a Program I 2004-03-03 Wannabe Lecturer Alexandre Joly inst.eecs.berkeley.edu/~cs61c-te Overview Interpretation vs Translation
More informationIndexing and Hashing
C H A P T E R 1 Indexing and Hashing This chapter covers indexing techniques ranging from the most basic one to highly specialized ones. Due to the extensive use of indices in database systems, this chapter
More informationCSE 504: Compiler Design. Intermediate Representations Symbol Table
Intermediate Representations Symbol Table Pradipta De pradipta.de@sunykorea.ac.kr Current Topic Intermediate Representations Graphical IRs Linear IRs Symbol Table Information in a Program Compiler manages
More informationReview. Disassembly is simple and starts by decoding opcode field. Lecture #13 Compiling, Assembly, Linking, Loader I
CS61C L13 CALL I (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #13 Compiling, Assembly, Linking, Loader I 2008-7-14 Albert Chae, Instructor Review Disassembly is simple and starts
More informationOutlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium
Main Memory Outlook Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2 Backgound Background So far we considered how to share
More informationThe statement above assumes that the PCMAC.INC file is in the current directory. The full path of the file can also be given:
MACROS for I/O As you have probably noticed, writing DOS calls can become tedious. Much of the code is repetitive, and each call has its own function code and register usage. You are probably used to dealing
More informationThe Instruction Set. Chapter 5
The Instruction Set Architecture Level(ISA) Chapter 5 1 ISA Level The ISA level l is the interface between the compilers and the hardware. (ISA level code is what a compiler outputs) 2 Memory Models An
More informationThe Design of Very Fast Portable Compilers
The Design of Very Fast Portable Compilers Andrew S. Tanenbaum M. Frans Kaashoek Koen G. Langendoen* Ceriel J.H. Jacobs** Department of Mathematics and Computer Science Vfije Universiteit Amsterdam, The
More informationChapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Printing this Slide Show
Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 1: Basic Concepts Chapter Overview Welcome to Assembly Language Virtual Machine Concept Data Representation Boolean Operations
More informationA Cache Hierarchy in a Computer System
A Cache Hierarchy in a Computer System Ideally one would desire an indefinitely large memory capacity such that any particular... word would be immediately available... We are... forced to recognize the
More informationAC59/AT59 OPERATING SYSTEMS & SYSTEMS SOFTWARE DECEMBER 2012
Q2a. What are the various actions an operating system performs when a new process is created? Explain four fundamental states for a process using a state transition diagram. Ans 2a. As a process executes,
More informationThe CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:
The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within
More informationVARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad
Introduction to MS-DOS Debugger DEBUG In this laboratory, we will use DEBUG program and learn how to: 1. Examine and modify the contents of the 8086 s internal registers, and dedicated parts of the memory
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationRAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE
RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting
More informationQ. P. Code : b. Draw and explain the block dig of a computer with microprocessor as CPU.
Q. P. Code : 08235 (2½ Hours) [Total Marks: 75] N. B.: (1) All questions are compulsory. (2) Make suitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question
More informationECE260: Fundamentals of Computer Engineering
ECE260: Fundamentals of Computer Engineering Translation of High-Level Languages James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania ECE260: Fundamentals of Computer Engineering
More information6 - Main Memory EECE 315 (101) ECE UBC 2013 W2
6 - Main Memory EECE 315 (101) ECE UBC 2013 W2 Acknowledgement: This set of slides is partly based on the PPTs provided by the Wiley s companion website (including textbook images, when not explicitly
More informationTopic Notes: MIPS Instruction Set Architecture
Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 2011 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture.
More informationMain Memory CHAPTER. Exercises. 7.9 Explain the difference between internal and external fragmentation. Answer:
7 CHAPTER Main Memory Exercises 7.9 Explain the difference between internal and external fragmentation. a. Internal fragmentation is the area in a region or a page that is not used by the job occupying
More informationChapter 18 Indexing Structures for Files. Indexes as Access Paths
Chapter 18 Indexing Structures for Files Indexes as Access Paths A single-level index is an auxiliary file that makes it more efficient to search for a record in the data file. The index is usually specified
More informationAssembly Language. Lecture 2 - x86 Processor Architecture. Ahmed Sallam
Assembly Language Lecture 2 - x86 Processor Architecture Ahmed Sallam Introduction to the course Outcomes of Lecture 1 Always check the course website Don t forget the deadline rule!! Motivations for studying
More informationThe basic operations defined on a symbol table include: free to remove all entries and free the storage of a symbol table
SYMBOL TABLE: A symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is associated with information relating
More informationWhy Study Assembly Language?
Why Study Assembly Language? This depends on the decade in which you studied assembly language. 1940 s You cannot study assembly language. It does not exist yet. 1950 s You study assembly language because,
More informationUNIT 4. Modular Programming
1 UNIT 4. Modular Programming Program is composed from several smaller modules. Modules could be developed by separate teams concurrently. The modules are only assembled producing.obj modules (Object modules).
More informationReview (1/2) IEEE 754 Floating Point Standard: Kahan pack as much in as could get away with. CS61C - Machine Structures
Review (1/2) CS61C - Machine Structures Lecture 11 - Starting a Program October 4, 2000 David Patterson http://www-inst.eecs.berkeley.edu/~cs61c/ IEEE 754 Floating Point Standard: Kahan pack as much in
More informationMemory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization
Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical
More informationFile System Interface and Implementation
Unit 8 Structure 8.1 Introduction Objectives 8.2 Concept of a File Attributes of a File Operations on Files Types of Files Structure of File 8.3 File Access Methods Sequential Access Direct Access Indexed
More informationAddressing Modes. Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack
Addressing Modes Addressing Modes and Formats Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin http://akademik.bahcesehir.edu.tr/~naydin Immediate Direct Indirect Register Register
More informationA software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp)
A software view User Interface Computer Systems MTSU CSCI 3240 Spring 2016 Dr. Hyrum D. Carroll Materials from CMU and Dr. Butler How it works hello.c #include int main() { printf( hello, world\n
More informationIntroduction SIC, RISC & CISC 0. Introduction to Systems Programming This course aims at: Understanding what is going on behind the scenes The design and implementation of system software, such as Assemblers
More informationChapter 2. Prepared By: Humeyra Saracoglu
Chapter 2 The Components of the System Unit Prepared By: Humeyra Saracoglu The System Unit What is the system unit? Case that contains electronic components of the computer used to process data Sometimes
More information