Download presentation
Presentation is loading. Please wait.
Published byRichard Lindsey Modified over 9 years ago
1
مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84
2
پاييز 84, 2 مبانی کامپیوتر و برنامه سازی What are we here for? To understand Computing systems: What are computing systems able to do and how well can they do it? What are computing systems used for? How are computing systems implemented? How can we use them to achieve our own goals
3
پاييز 84, 3 مبانی کامپیوتر و برنامه سازی Computing Machines Computers are everywhere General purpose: servers, desktops, laptops, PDAs, etc. Special purpose: cash registers, ATMs, games, telephone switches, etc. Embedded: cars, hotel doors, printers, VCRs, industrial machinery, medical equipment, etc. Distinguishing Characteristics Speed Cost Ease of use, software support & interface Scalability
4
پاييز 84, 4 مبانی کامپیوتر و برنامه سازی Computing Machines All computers, given enough time and memory, are capable of computing exactly the same things. == PDA Workstation Supercomputer
5
پاييز 84, 5 مبانی کامپیوتر و برنامه سازی In Practice In practice, solving problems involves computing under constraints. time Weather forecast, Digital Video,... cost cell phone, automotive engine controller,... power cell phone, handheld video game,...
6
پاييز 84, 6 مبانی کامپیوتر و برنامه سازی Computer History Abacus Babbage- 1833 Calculator- 1886 Eniac- 1946 30 Tons 72 m2 140 KW
7
پاييز 84, 7 مبانی کامپیوتر و برنامه سازی Programmability
8
پاييز 84, 8 مبانی کامپیوتر و برنامه سازی Operating System
9
پاييز 84, 9 مبانی کامپیوتر و برنامه سازی Computer Organization a very wide gap between the intended behavior and the raw (unorganized) electronic devices. The forerunners to modern computers attempted to assemble the raw devices (mechanical, electrical, or electronic) into a special purpose-built machine for each desired behavior. Electronic Devices Desired Behavior
10
پاييز 84, 10 مبانی کامپیوتر و برنامه سازی General Purpose Computer We will break the gap into multiple levels and build an island in the middle. A general purpose computer is an island that bridges the gap between the desired behavior (application) and the raw material (electronic devices). Electronic Devices Desired Behavior General Purpose Computer software computer organization
11
پاييز 84, 11 مبانی کامپیوتر و برنامه سازی Computing systems and Programming Hardware Architecture Software Programming Electronic Devices Desired Behavior General Purpose Computer software computer organization
12
پاييز 84, 12 مبانی کامپیوتر و برنامه سازی Layers of Abstraction Software Hardware Natural Language Algorithm Program Machine Architecture Devices Micro-architecture Logic Circuits
13
پاييز 84, 13 مبانی کامپیوتر و برنامه سازی Solving a problem… Solving a problem is a systematic sequence of transformations between layers of abstraction. Problem Algorithm Program Software Design: choose algorithms and data structures Programming: use language to express design Machine Architecture Machine Architecture Compiling/Interpreting: convert language to machine instructions
14
پاييز 84, 14 مبانی کامپیوتر و برنامه سازی Solving a problem (Cont.) Machine Architecture Machine Architecture Microarch Circuits Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level circuits to implement components Devices Process Engineering & Fabrication: develop and manufacture lowest-level components
15
پاييز 84, 15 مبانی کامپیوتر و برنامه سازی Algorithms The first and most important step in solving a problem with computers is to transform the natural language description into an algorithm. For every problem there are usually many different algorithms. Some require fewer steps, some are more complex, …
16
پاييز 84, 16 مبانی کامپیوتر و برنامه سازی Algorithm To qualify as an algorithm a step by step procedure should have the following properties: Definiteness Each step is precisely stated (e.g. hot or cold lack definiteness) Effective computability Each step can be carried out by a computer (e.g. take the largest prime number lacks it) Finiteness The procedure terminates
17
پاييز 84, 17 مبانی کامپیوتر و برنامه سازی This course is about: How computers work How they are organized internally What are the design tradeoffs What computers consist of How design affects programming and applications How to solve our problems with computers How to program our solutions in C
18
پاييز 84, 18 مبانی کامپیوتر و برنامه سازی This course is NOT about While covering all the basic components underlying a program we won’t get into too much details about: Underlying circuits: Logic Circuits, VLSI CPU structures and Assembly language Microprocessors, and Microprocessors II Computer Architecture Computer Architecture, Advanced Computer Architecture Operating Systems Operating Systems Problem solving Algorithm, Data Structure, Numerical Analysis Programming Languages Advanced Programming
19
پاييز 84, 19 مبانی کامپیوتر و برنامه سازی Course Outline Bits and Bytes How do we represent information using electrical signals? Digital Logic How do we build circuits to process information? Processor and Instruction Set How do we build a processor out of logic elements? What operations (instructions) will we implement?
20
پاييز 84, 20 مبانی کامپیوتر و برنامه سازی Course Outline Algorithm/Solving problems How to formulate our solutions in manner suitable for computers C Programming How do we write programs in C? How do we implement high-level programming constructs?
21
پاييز 84, 21 مبانی کامپیوتر و برنامه سازی Administrative Issues Class website: To be determined… Time Sunday11:00-13:00 Tuesday 11:00-13:00 Grading Assignments5% Every Sunday, due the next week at 14:00 Late submission penalties: -20% By Monday at 10, not accepted after that. Although working in groups is encouraged but cheating is not tolerated. Quiz7.5% -0.5 for each absence 3 Projects17.5% Midterm 25% Final Exam45%
22
پاييز 84, 22 مبانی کامپیوتر و برنامه سازی 3 Weekly lectures by TAs TA team: Mohsen Vakilian : m.vakilian@ece.ut.ac.ir Erfan Azarkhish : e_azarkhish@yahoo.com Mahboobeh Ghorbani : mghorbani160@yahoo.com Roshanak Zilouchian : roshanakzm@yahoo.com Reza Shahidinejad : shahidi_r@yahoo.com
23
پاييز 84, 23 مبانی کامپیوتر و برنامه سازی References Introduction to Computing Systems from bits &gates to C & beyond, Y.N. Patt, S. J. Patel. McGraw-Hill 2001 The C Programming Language, Brian Kernighan and Dennis Ritchie. Published by Prentice-Hall. 1988. More to be provided in class or at www.comnete.com/computing/links.htm
24
پاييز 84, 24 مبانی کامپیوتر و برنامه سازی Questions? Best way to reach me is by email: hashemi@comnete.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.