5
Chapter 1 • Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual or multi core. • Languages: machine, assembly, high • System software – OS, assembler/linker/loader, compiler, editor, … • SIC and SIC/XE architecture – Addressing modes • Relations among different components of computer – Hardware and software – Different software

Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Embed Size (px)

Citation preview

Page 1: Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Chapter 1

• Computer architecture– Memory, register, data format, instruction (format and set),

addressing mode, I/O– Sequential, parallel, pipeline, dual or multi core.

• Languages: machine, assembly, high• System software

– OS, assembler/linker/loader, compiler, editor, …• SIC and SIC/XE architecture

– Addressing modes • Relations among different components of computer

– Hardware and software– Different software

Page 2: Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Assembler • Functions

– Basic• Mnemonic Opcode• Labels Addresses

– Extended• Program relocation• Different instruction formats, addressing modes. • Literals, EQU, Expression, Blocks, Control Sections. # and = differences.

• Two passes:– Pass one

• Assign addresses to all statements in source code• Enter names of symbols (labels/literals/blocks/Control Sections) into SYMTAB, LITTAB, ESTAB • Save values (addresses, lengths) assigned to symbols for use in pass two• Process directives

– Pass two• Translate instructions• Convert symbols to addresses.• Generate values defined by BYTE and WORD and compute expressions to values.• Write object code to object program including Define, Refer, and Modification records.

• Data structures– Tables: OPTABLE, SYMTAB, LITTAB, ESTAB, … , hash/or linked list– Location counter: LOCCTR, PROGADDR, CSADDR, …

• Directives: – BYTE, WORD, RESB, RESW, BASE, EQU, USE, LTORG, CSEC, EXTDEF, EXTREF,

• Object records:– Header, End, Text, Modification, Define, Refer, …

• Relations among source program, (intermediate file), object code, and object program. • Relations among assembler, loader, and linker.• Different Addressing models

Page 3: Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Linker/Loader Summary

• Loader, Linker, Linking loader, – Linkage editor, simple loader, dynamic linking, absolute loader,

bootstrap loader. • Functions

– Pass 1: Assign addresses to external symbols– Pass 2: loading, relocation, linking– Important: how relocation and linking is implemented.

• Data Structures: ESTAB, PROGADDR, CSADDR, EXECADDR• Library search and linking• Linking options• Dynamic linking

Page 4: Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Micro Processor Summary

• Basic functions– Definitions and expansions

• Features – Labels, nested definitions, recursive invocations.– Conditional macro processing.

• IF…ENDIF, WHILE…ENDW, macro-time variables and instructions

– Keyword parameters• Data structures and algorithms

– NAMTAB, DEFTAB, ARGTAB– For recursive invocation, STACK.

• Relation between macro processors and assemblers

Page 5: Chapter 1 Computer architecture – Memory, register, data format, instruction (format and set), addressing mode, I/O – Sequential, parallel, pipeline, dual

Exam• Types:

– Concepts and functions– Identify features– True/false– Write program and read program– Generate object codes for some instructions, particularly, different addressing

modes• Focus

– Which belong to hardware, software, or both– Functions of assembler, loader/linker, and macro processor– Data structures and algorithms for them.– Relationship among different components of computer systems/software

including assembler, loader/linker, macro-processor, and OS. – Difference between some concepts/terms/functions– Advantages and disadvantages of some functions/methods.