00. Intro: Computer architecture concept
Philosophy
* Philosophy: tool is an augmented body part. IT: computers is… ? * Main principle: certain computer feature is a contemporary response to certain practical challenge
⇒ most of current features are legacy ones
Prerequisits of algorithmically complete formalisms
Algorithm: sequence of operations on data that produces new data. The same algorithm will produce identical output on identical input anytime
- Formalism is complete and unambiguous representation of algorithm
- ⇒ Algorithmically complete formalism:
Has instructions operating on data
Has an unambiguous order (not only sequence) of instructions given
Has an option of data-driven operation, i. e. to operate or not to operate some instructions on the basis of data characteristics
Being finite, the formalism in question is to have repetitive data-driven operation mode, when some instructions are operated while data characteristics fit. Infinite formalisms do not need that, having infinite operations like general-recursive operator.
Von Neumann principles on computer architecture
- There are none, actually
There are operations and numbers, both stored in common memory
Memory is split into machine words, each word has an unique number (an address).
Binary encoding is used to reproduce number or operation in machine word.
Operations are executed sequentially, taking from a specific memory, address, and one by one after that.
There is a jump operation, which allows to alter the operation sequence by direct change next address of operation executed.
Conditional jumps are «forward» (to the greater address), so part of the operation sequence can be skipped.
Loop jumps a «backward» (to the lesser address), so part of the operation sequence can be executed again.
There are external devices controlled by computer with that same operations (only operation type differs)