90 likes | 199 Vues
This resource provides a foundational overview of computer organization and storage, detailing the roles of the arithmetic unit, storage unit, and control unit within a computer system. It covers essential concepts such as machine instruction formats, the instruction cycle, and Euclid's Algorithm for computing the greatest common divisor. This introduction emphasizes the importance of symbolic languages and higher-level machines, highlighting how compilers enable programmers to focus on problem-solving rather than low-level machine details. Ideal for students and beginners in informatics.
E N D
1.3 Computation- An Introduction to Informatics - 2008. 9. 29 WMN Lab. Hey-Jin Lee
outline • Computer Organization • Storage Organization • Machine Instruction • Instruction cycle • Euclid’s Algorithm • Symbolic Languages and Higher-Level Machines
Computer Organization Arithmetic Unit : This part is capable of performing various arithmetic and other operations, as well as testing and computing the values of data. Storage Unit : This is the “memory” part of the machine where both the instructions and the data are stored. Control Unit : In general, this is for managing the operation of the entire computer system. Console Input / Output Arithmetic Unit AC Control Unit IC Figure 1-16. Computer Organization
Storage Organization • A simple hypothetical machine • - Storage consists of 10,000 cells or words, each capable of holding • five decimal digits plus a sign. • - Depending on the interpretation by the control unit, a given word • can be treated as item of data or as an instruction. Addressing 0000 0001 1473 9998 9999 Storage Cell Figure 1-17. Storage Organization
Machine Instruction • “single-address” instruction format • Every instruction consists of an operation and, at most, a single operand. Instruction Format Instruction set Machine Instructions Figure 1-18. Machine Instructions
Instruction cycle • The control or executive part of the system continuously executes a loop. • Get instruction, say I, from the storage location addressed by ic. • Update ic to point to next instruction.(icic + 1) • Execute instruction I. • Go to step 1.
Euclid’s Algorithm • Procedure for finding the gcd 0 r := m; 1 {Divide by successive subtractions.} 2 while r ≥ n do r := r-n; 3 {r = m mod n} Figure 1-20 : (m mod n) in Algolic Language Address Instruction Remarks 0201 + 1 1 0 0 0 Load m into AC. 0202 + 4 1 0 0 1 AC ← AC – n. 0203 + 8 0 2 0 5 If ( r – n ) < 0, then go to 205. 0204 + 5 0 2 0 2 r ≥ n. Repeat at 0202. 0205 + 3 1 0 0 1 ( r – n) < 0. Add n back in. 0206 + 2 1 0 0 2 Store result in r. Figure 1-21 : (m mod n) in Machine Language
Euclid’s Algorithm Address Instruction Remarks 0201 + 1 1 0 0 0 Load m into AC. 0202 + 4 1 0 0 1 AC ← AC – n. 0203 + 8 0 2 0 5 If ( r – n ) < 0, then go to 205. 0204 + 5 0 2 0 2 r ≥ n. Repeat at 0202. 0205 + 3 1 0 0 1 ( r – n) < 0. Add n back in. 0206 + 2 1 0 0 2 Store result in r. Figure 1-21 : (m mod n) in Machine Language Address AC m n r ic 0201 20 20 8 -- 0202 0202 12 20 8 -- 0203 0203 12 20 8 -- 0204 0204 12 20 8 -- 0202 0202 4 20 8 -- 0203 0203 4 20 8 -- 0204 0204 4 20 8 -- 0202 0202 -4 20 8 -- 0203 0203 -4 20 8 -- 0204 0205 4 20 8 -- 0206 0206 4 20 8 4 0207 Figure 1-22 : A Trace of Execution
Symbolic Languages and Higher-Level Machines • Higher-Level symbolic languages are realized on computers by providing more complex translators like compilers that produce equivalent machine language programs. • These languages relieve the programmer of responsibility for many machine details and permit him to concentrate on hi problem and algorithm.