📄 http:^^www.cs.indiana.edu^classes^c335^home.html
字号:
Date: Wed, 20 Nov 1996 22:32:24 GMT
Server: Apache/1.0.3
Content-type: text/html
Content-length: 11730
Last-modified: Wed, 04 Sep 1996 20:23:27 GMT
<head><title> C335 Computer Structures </title></head><h1> C335 and H335 Computer Structures -- Fall 1996</h1><h2> Sections 1141 and 1144 -- <!WA0><a href="http://www.cs.indiana.edu">Computer ScienceDepartment</a>, <!WA1><a href="http://www.indiana.edu">Indiana University</a><br> Lecture: TR 1:00-2:15, Ballantine 209.<br> <!WA2><A HREF="http://www.cs.indiana.edu/classes/c335/lab/lab.html">Laboratory</A>: R 10:10-11:00 or R 11:15-12:05 or R 3:50-4:40, Lindley 135.</h2><h2>Texts for Fall 1996 </h2>** <a name="Wakerly">John Wakerly, <em>Microcomputer Architecture andProgramming -- The 68000 Family,</em> Wiley, 1989.</a> <br><br>** <em>CSCI C335 packet </em> (printed locally). The packet consists of threedocuments: a laboratory manual, an M68000 programming reference guide, andselected pages from <a name="Prosser/Winkel">Prosser and Winkel, <em>The Artof Digital Design</em>.<br><br> <br> <h2> Tentative lecture schedule.</h2> <strong> See the <!WA3><ahref="#C335 description">C335 Computer Structures Course Description</a> fora more detailed outline of the course content.<br>Reading assignments are mainly from <!WA4><ahref="#Wakerly">Wakerly</a>.</strong><br><pre>Lect. Topics and Wakerly sections<hr>2 Ch. 1 Introduction and background. Reading assignment: all of chapter0 Ch. 2,3 Pascal, and data structures in Pascal. Refer to this if needed during the semester. You are not required to know Pascal.3 Ch. 4 Number systems and arithmetic. Reading assignment: all but 4.8-4.10. 2 Ch. 5 Computer organization. Reading assignment: all of chapter.2 Ch. 7 Addressing. Reading assignment: through 7.4.1 Ch. 8 Operations (including stack machines) Reading assignment: through 8.9.3 Ch. 11 Interrupts. Reading assignment: all of chapter.5 Ch. 6 Assembly language and assembly processes. Reading assignment: all of chapter; additional handouts.3 --- Digital logic. Reading assignment: Prosser/Winkel pages; additional handouts.5 --- Microprogrammed control and hardware design. Reading assignment: <em>Microprogrammed Control -- An Illustration,</em> manuscript handed out in lecture.-- Ch. 9 Subroutines. Reading assignment: 9.3, 9.4.-- Ch. 10 Input-output. Appx. B Serial data communication. Reading assignment: as assigned.</pre><br><br><h2> Procedures </h2><h3> Staff </h3>The instructor is <!WA5><ahref="http://www.cs.indiana.edu/hyplan/prosser.html">Franklin Prosser</a>,office LH330E, email <!WA6><a href="mailto:prosser@cs.indiana.edu">prosser@cs.indiana.edu</a>. <strong>Officehours:</strong> (tentative) T noon-12:45, R 9:15-10:15, and by appointment andby drop-in. All in LH330E. <p>The associate instructors are : <br><!WA7><a href="http://www.cs.indiana.edu/hyplan/jbandhol.html">Jagadish Bandhole</a>,email <!WA8><a href="mailto:jbandhol@cs.indiana.edu">jbandhol@cs.indiana.edu</a>, <strong>Office hours:</strong> M 4:00-5:00P, F 10:30-11:30A at LH401F, and <br><!WA9><a href="http://www.cs.indiana.edu/hyplan/dsoruco.html">David Soruco</a>,email <!WA10><a href="mailto:dsoruco@cs.indiana.edu">dsoruco@cs.indiana.edu</a>,<strong>Office hours:</strong> M and W 11:00A-12:00P at LH 401F.<h3> Newsgroup </h3>The newsgroup for the C335 sections for Fall 1996 is <!WA11><ahref="news:ac.c.335">ac.c.335</a> on the Computer Science departmental network.We will use the newsgroup heavily to convey a variety of course information,including questions and answers about lecture and laboratory procedures andproblems. You should check the newsgroup frequently to keep up to date, andyou should feel free to contribute questions and solutions about proceduralproblems and constructive comments.<h3>Course grade </h3><pre> 3 in-class open-book exams @ 20% 60% Laboratory 35% Collected homework 5%</pre><p><h3> Homework policy </h3>Homework assignments are due in class at the end of class onthe due date. Late homework will not be accepted. The instructional staffwill post solutions on the class newsgroup or in the laboratory (Lindley Hall135). Some questions on the homework may not be graded, at the instructors'discretion. However, solutions to all questions will be posted.<p><!WA12><A HREF="http://www.cs.indiana.edu/classes/c335/lab/lab.html"><h3> Laboratory </h3></A>The lab meets in Lindley Hall 135. Your AI will discuss lab proceduresin your regular lab section. You should bring to lab the C335 lab manual. Youwill receive additional handouts and information in class or in lab. <p><h3> Attendance </h3>Attendance in class and laboratory is expected. Our experience shows a clearrelation between good attendance and good performance. Both the lectures andthe laboratory sessions discuss much material that is not available in thetextbook or lab manual. There will be frequent handouts, but without thebenefit of the lecture or lab discussion the handouts will usually be opaque.<p><h3>Academic Integrity</h3>Read the Computer Science Department's <!WA13><AHREF="http://www.cs.indiana.edu/integrity.html"><EM>Statement on AcademicIntegrity</EM></A> to be sure you understand the rules under which computerscience courses operate. Cases of academic dishonesty will be reportedto the Office of Student Ethics, a branch of the Office of the Dean ofStudents.<h3>Withdrawal</H3>The last day to drop a course with an automatic W is 30 October 1996. Afterthat date, a student may withdraw only with the permission of the Dean of theCollege of Arts and Sciences. This approval is normally given only for urgentreasons related to extended illness or equivalent distress.<H3>Incomplete grade</H3>An incomplete (I) final grade will be given only by prior arrangement inexceptional circumstances conforming to university and departmental policyin which the bulk of course work has been completed in passing fashion.<P><p><hr><h2> <a name="C335 description">C335 Computer Structures Course Description</a> </h2><p>In C335 students study computer systems and problem solving in the context ofbasic computer hardware and low-level software systems. The emphasis is onfundamental properties of computer systems that apply across a broad range ofcomputers and systems. The abstractions are reinforced in class and in thelaboratory. In the laboratory students extend their problem-solving skillsby working at the level of computer assembly language using a modernmicrocomputer system such as the 68000. Although the class and laboratoryproceed on their own schedules, the lab applies many of the fundamentalconcepts dealt with in lecture, and the lecture provides the foundation forthe lab. Both class and lab emphasize a disciplined, structured approach toprogramming.<p>Topics are selected from the following list. Topics marked with a star (*)might be included in an honors course. <ul><li><strong>Number systems and arithmetic:</strong><ul><li>Conversions among various number bases such as decimal, binary,hexadecimal, and arbitrary base. Integer and fraction conversions.<li>Number representations for signed arithmetic: signed magnitude, two'scomplement, one's complement, floating point.<li>Computer arithmetic: addition, negation and subtraction, simple binarymultiplication, floating-point addition. Numerical problems such as overflow,and loss of precision.<li>Character codes.</ul><p><li><strong>Computer organization:</strong><ul><li>Computer components: processor, RAM, ROM, peripherals.<li>Computer data flow: the system bus in a microcomputer.<li>Basic processor organization: registers, clocked circuits, ALUs, internalprocessor data flow. <li>Processor architectures: accumulator machines, general-register machines,stack machines, others.<li>Computer instruction sets: classes of instructions, operands andoperations, introduction to addressing modes, operation codes.<li>The "fetch-execute" instruction processing cycle. Examples of hardwareexecution of typical instructions. Operation of a simple program.<li>Instruction classes: moves, arithmetic, shifts and rotates, logical,program control. Status registers, condition codes, and processor control. <li>* RISC and CISC<li>* Instruction pipelines</ul><p><li><strong>Operand addressing:</strong> <ul><li>Address size and its effect on register size and memory size.<li>Addressing modes, including register direct, memory direct, registerindirect, memory indirect, auto-increment and auto-decrement, immediate,indexed, based, program-counter relative, paged.<li>* Position-independent code<li>* Memory mapping and memory management. Virtual memory. Caches.</ul><p><li><strong>Assembly language and assemblers:</strong><ul><li>Machine instructions and assembly directives. Object modules.<li>Structure of an assembler: the program location counter, symbol table,operation-code table. Two-pass assembly. Absolute versus relocatableassembly. <li>Macros and their implementation.<li>Loading and linking: relocatable loading; linking of external referencesto entry points.<li>Structured programming in assembly language.<li>* Hash tables.<li>* Programming to save time and space.</ul><p><li><strong>Subroutines:</strong><ul><li>Parameters in high-level language programs.<li>Assembly-language subroutines and parameters.<li>Assembly-language subroutine calling methods; passing parameters; staticand dynamic allocation; stack-oriented parameter-passing conventions: thestack frame. <li>* Recursion, coroutines, etc.</ul><p><li><strong>Input-output:</strong><ul><li>I/O organization: busses, devices and interfaces, ports.<li>* I/O programming and protocols: memory-mapped versus isolated I/O,overlapped I/O; I/O drivers.<li>* Serial data communication.</ul><p><li><strong>Interrupts:</strong><ul><li>Basic interrupt processes: hardware and software responsibilities.<li>Interrupt protocols: single-level, priority, vectored priority. Interruptidentification and polling. Nonmaskable interrupts.<li>Traps and software interrupts.<li>Direct memory access.</ul><p><li><strong>Concurrency:</strong><ul><li>* Interrupt processes and concurrency. Multiple interrupts, waking andsleeping.<li>* Deadlocks and critical sections, locking and semaphores.<li>* Shared data and instructions, reentrant programs.</ul><p><li><strong>Digital computer organization:</strong><ul><li>Boolean algebra and combinational circuits. Circuits with memory.Register structure. Synchronous (clocked) design.<li>Processor architecture: register and bus structure, basic processor control.<li>Microprogrammed control.<li>* Instruction pipelines.</ul><p><li><strong>Programming laboratory</strong><ul><li>Programming in assembly language on a current processor such as the 68000.<li>Structured programming.<li>Good documentation.<li>Implementation of data structures such as queues, lists, trees.<li>Cumulative programming projects: each project is useful for subsequentprojects. </ul></ul><p><h2>Suggested textbooks: </h2><ul> <li>Wakerly, <em>Microcomputer Architecture and Programming -- The 68000Family,</em> John Wiley and Sons, New York, 1989, ISBN 0-471-85319-4.<p><li>Hamacher, Vranesic, and Zaky, <em>Computer Organization,</em> 3rd edition,McGraw-Hill Co., New York, 1990, ISBN 0-07-025685-3.<p> <li>Patterson and Hennessy, <em>Computer Organization and Design: TheHardware/Software Interface,</em> Morgan Kaufmann Publishers, San Mateo,Calif., 1994, ISBN 1-55860-281-X.<p><li>Stallings, <em>Computer Organization and Architecture,</em> 4th edition,Prentice-Hall, Inc., Upper Saddle River, N.J., 1996, ISBN 0-13-359985-X.</ul>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -