CS 101
Fall 2005, Shimon Schocken
Machine Language
Elements of Computing Systems
1
Machine Language (Ch. 4)
Where we are at:
Human Thought Abstract design abstract interface
Chapters 9, 12
H.L. Language & Operating Sys.
Compiler abstract interface
Chapters 10 - 11
Software hierarchy
Virtual Machine
VM Translator abstract interface
Chapters 7 - 8
Assembly Language
Assembler
Chapter 6
abstract interface
Machine Language
Computer Architecture abstract interface
Chapters 4 - 5
Hardware Platform
Gate Logic abstract interface
Chapters 1 - 3
Hardware hierarchy
Chips & Logic Gates
Electrical Engineering Physics
Elements of Computing Systems
2
Machine Language (Ch. 4)
Copyright © Shimon Schocken
Machine language is “the soul of the machine”
Duality: Machine language ( = instruction set) can be viewed as an abstract description of the hardware platform The hardware can be viewed as a means for realizing an abstract machine language Another duality: Binary version Symbolic version Loose definition: Machine language = an agreed upon formalism for manipulating a memory using a processor and a set of registers Varies across different hardware platforms.
Elements of Computing Systems 3 Machine Language (Ch. 4)
Binary and symbolic notation
1010 0011 0001 1001 1010 0011 0001 1001 ADD R3, R1, R9 ADD R3, R1, R9
Evolution: Physical coding Symbolic documentation Symbolic coding Requires a translator.
Jacquard loom (1801)
Ada Lovelace (1815-1852)
Elements of Computing Systems
4
Machine Language (Ch. 4)
Copyright © Shimon Schocken
Lecture plan
Machine languages at a glance The Hack machine language: Symbolic version Binary version Perspective.
Elements of Computing Systems
5
Machine Language (Ch. 4)
Arithmetic / logical operations
ADD R2,R1,R3 // R2 R1+R3 where R1,R2,R3 are registers ADD R2,R1,R3 // R2 R1+R3 where R1,R2,R3 are