CPE303 MICROPROCESSORS

31
CPE303 MICROPROCESSORS DR. OĞUZHAN MENEMENCIOĞLU

Transcript of CPE303 MICROPROCESSORS

Page 1: CPE303 MICROPROCESSORS

CPE303

MICROPROCESSORSDR. OĞUZHAN MENEMENCIOĞLU

Page 2: CPE303 MICROPROCESSORS

OUTLINE

Introduction to Course

The Syllabus

About course

Textbook

General guidelines and policies

Tentative grading

Let’s Just remember!

Content

2/31

Page 3: CPE303 MICROPROCESSORS

INTRODUCTIONWEEK 1

3

Page 4: CPE303 MICROPROCESSORS

THE SYLLABUS

This is CPE303 \ CME 321 – Microprocessors

Objective – A basic understanding of computer architecture, specifically microprocessors programing.

4/31

Page 5: CPE303 MICROPROCESSORS

ABOUT COURSE

Instructor: Dr. Oğuzhan MENEMENCİOĞLU

e-mail Address: [email protected]

Web page: https://bit.ly/3COfxd5

Presentation may be shared in this web page. The sharing notes is not core business of the lecturer. So, you

should take a note for yourself.

Telegram announcement channel : https://bit.ly/3ivdpzp (In English)

: https://bit.ly/3m0odpT (Türkçe)

After this course, immediately join the channel!

5/31

Page 6: CPE303 MICROPROCESSORS

TEXTBOOK

The Intel Microprocessors, by

Brey, Prentice Hall, 5th Edition.

The 80x86 IBM

PC and Compatible Computer,

by M. A. Mazidi &. J. G. Mazidi,

Prentice Hall, 4th Edition.

Computer System Architecture,

by M. Morris Mano, 3th Edition.

Microprocessor Architecture, Programming, and Applications with the 8085 by Ramesh S. Gaonkar, Prentice Hall, 5th

Edition.

X86 Tabanlı Mikroişlemci Mimarisi ve Assembly Dili, by Nurettin Topaloğlu, Seçkin Yayıncılık, 3. basım (In Turkish)

USEFUL BOOKS

6/31

Page 7: CPE303 MICROPROCESSORS

GENERAL GUIDELINES AND POLICIES

▪ Generally a quiz each week. Quiz will not necessarily be announced each week. NO MAKEUP QUIZZES

▪ Homework due prior midnight of the next classes after assigned. Homework will be delivered by submitting to

Turnitin. Turnitin will close on due date. NO LATE HOMEWORKS will be accepted by system. No submissions

after due date via email will be graded.

▪ Midterm and Final exam will be announced by deanery.

7/31

Page 8: CPE303 MICROPROCESSORS

TENTATIVE GRADING

Grading

Midterm: 40%

Exam: 85%

Lab-Assignments-Quiz 15% (Max.)

Final: 60%

Exam: 85%

Lab-Assignments-Quiz 15% (Max.)

Attendance is required in all course hours and labs for all students.

8/31

Page 9: CPE303 MICROPROCESSORS

LET’S JUST REMEMBER! TRANSFORMATION HIGH LEVEL COMPUTER LANGUAGES TO MACHINE LANGUAGE

9

Page 10: CPE303 MICROPROCESSORS

COMPUTER LANGUAGES

Machine Language – A collection of binary numbers

Not standardized. There is a different machine language for every processor family.

Assembly Language - mnemonic codes that corresponds to machine language instructions.

Low level: Very close to the actual machine language.

High-level Languages - Combine algebraic expressions and symbols from English

High Level : Very far away from the actual machine language

For example: Fortran, Cobol, C, Prolog, Pascal, C#, Perl, Java.

10/31

Page 11: CPE303 MICROPROCESSORS

EXAMPLE

Memory addresses Machine Language

Instructions

Assembly

Language

Instructions

00000000 00000000 CLA

00000001 00010101 ADD A

00000010 00010110 ADD B

00000011 00110101 STA A

00000100 01110111 HLT

00000101 ? A ?

00000110 ? B ? 11/31

Page 12: CPE303 MICROPROCESSORS

12/31

Page 13: CPE303 MICROPROCESSORS

EXAMPLE OF COMPUTER LANGUAGES

char name[40];

printf("Please enter your name\n");

scanf("%s", name);

printf("Hello %s", name);

push offset string "Please enter your name\n"

(41364Ch)

call dword ptr [__imp__printf (415194h)]

add esp,4

lea eax,[name]

push eax

push offset string "%s" (413648h)

call dword ptr [__imp__scanf (41519Ch)]

add esp,8

lea eax,[name]

push eax

push offset string "Hello %s" (41363Ch)

call dword ptr [__imp__printf (415194h)]

add esp,8

68 4C 36 41 00 FF 15 94 51 41 00 83 C4 04 8D 45 D8

50 68 48 36 41 00 FF 15 9C 51 41 00 83 C4 08 8D 45

D8 50 68 3C 36 41 00 FF 15 94 51 41 00 83 C4 08

C Source Code:

Assembly Code:

Machine Code: 13/31

Page 14: CPE303 MICROPROCESSORS

CONTENT

14

Page 15: CPE303 MICROPROCESSORS

SYNOPSIS

The microprocessor is a general-purpose programmable logic device.

Understanding the microprocessor concepts is crucial in understanding the operation of digital computer.

This course is an introduction to the basic concept of microprocessor architecture and operation, programming model, pins configuration and microprocessor interfacing.

The content of the course is divided into three sections:

microprocessor architecture,

programming and

interfacing input/output.

The course is designed around the Intel 16-bit microprocessor (8086) and its assembly language.

15/31

Page 16: CPE303 MICROPROCESSORS

OUTCOMES

At the end of the course, student should be:

Able to understand the basic operation of microprocessor.

Able to understand the basic concept of microprocessor architecture and its pins configuration.

Able to understand the machine language programs.

Able to design and write programs in assembly language.

Able to understand the basic concept of microprocessor input/output interfacing

16/31

Page 17: CPE303 MICROPROCESSORS

COURSE OVERVIEW

Introduction to Microcomputers and Microprocessors

The 8086 Processor Architecture, Internals, Registers,

Flags, Segments

8086 Address Space, Memory, Registers, and data transfers

Address Modes

Basic Instruction Set

Basic Arithmetic Instructions

Logical, Shift and Rotate, Data Testing

The remaining instructions

BIOS and DOS interrupts

Memory and Memory Interfacing for 80x86

Input / Output Interface Circuits and

Peripheral Devices

17/31

Page 18: CPE303 MICROPROCESSORS

LET’S WARM UP!

18

Page 19: CPE303 MICROPROCESSORS

INITIAL QUESTIONS

What does the “micro” mean?

What does the “computer” mean?

What does the “microprocessor” mean?

19/31

Page 20: CPE303 MICROPROCESSORS

COMPUTER HISTORY

Date Development Name Description

3000BC-500BC Abacus

1642 Calculating Machine Blaise Pascal, a French religious philosopher and mathematician, builds

the first practical mechanical calculating machine.

1673 Multiplication Machine is invented by Leibnitz

1830 Analytical Engine is designed by Charles Babbage

1890 The U.S. Census Bureau adopts the Hollerith Punch Card, Tabulating

Machine and Sorter to compile results of the 1890 census, reducing an

almost 10-year process to 2 ½ years, saving the government a whopping

$5 million. Inventor Herman Hollerith, a Census Bureau statistician,

forms the Tabulating Machine Company in 1896. The TMC eventually

evolved into IBM.

1939 The first semi-electronic digital computing device is constructed by JohnAtanassoff.

20/31

Page 21: CPE303 MICROPROCESSORS

COMPUTER HISTORY (CONT.)

Date Development Name Description

1941 German inventor Konrad Zuse produces the Z3 for use in aircraft and

missile design but the German government misses the boat and does

not support him.

1943 English mathematician Alan Turing begins operation of his secret

computer for the British military. It was used by cryptographers to break

secret German military codes. It was the first vacuum tube computer

but its existence was not made public until decades later.

Thomas Harold Flowers built the first digital and programmable

computer called the Colossus

1946 ENIAC-First generation

electronic computers

(Electronic Numerical Integrator And Calculator)30 tons, 8 ft high, 30 ft longUsed thousands tubes & valves

1951 Univac I-First

generation electronic

computers

(Universal Automatic Computer), using a Teletype keyboard and printer

for user interaction, and became the first commercially available

computer. It could handle both numerical and alphabetic data.

21/31

Page 22: CPE303 MICROPROCESSORS

FIRST GENERATION ELECTRONIC COMPUTERS COMPUTER HISTORY (CONT.)

22

Page 23: CPE303 MICROPROCESSORS

COMPUTER HISTORY (CONT.)

Date Development Name Description

1954-59 2nd Generation

Computers

Transistor invented by William Shockley at Bell Labs

National Bureau of Standards (NBS) introduced its Standards Eastern

Automatic Computer (SEAC)

The first magnetic disk drive designed by Jacob Rabinow

IBM introduced the 702 business computer in 1955

Bendix G-15A small business computer sold for only $45,000, designed

by Harry Huskey of NBS in 1956

1959-71 3rd Generation

Computers

Jack Kilby of Texas Instruments patented the first integrated circuit (IC)

in Feb. 1959

IBM announced the System/360 all-purpose computer, using 8-bit

character word length (a "byte") in 1964

DEC introduced the first "mini-computer", the PDP-8, in 1968

Development began on ARPAnet, funded by the DOD in 196923/31

Page 24: CPE303 MICROPROCESSORS

COMPUTER HISTORY (CONT.)

Date Development Name Description

1971--? 4th Generation

Computers

Large Scale Integration (LSI) andVLSIIntel inc introduced the 4-bit 4004, aVLSI of 2300 components in 1971IBM developed the first true sealed hard disk drive, called the"Winchester" in 1973In 1980, IBM signed a contract with the Microsoft Co. of Bill Gates andPaul Allen and Steve Ballmer to supply an operating system for IBM'snew PC model. Microsoft paid $25,000 to Seattle Computer for therights to QDOS that became Microsoft DOS, and Microsoft began itsclimb to become the dominant computer company in the world.Apple Computer introduced the Macintosh personal computer 1984.

? 5th Generation

Computers

24/31

Page 25: CPE303 MICROPROCESSORS

HISTORICAL PERSPECTIVE

The microprocessor revolution began with a bold and innovative approach in logic design pioneered by Intel

engineer Ted Hoff.

In 1969, Intel was primarily in the business of designing semiconductor memory.

it introduced a 64-hit bipolar RAM chip that year.

25/31

Page 26: CPE303 MICROPROCESSORS

HISTORICAL PERSPECTIVE

Intel coined the term “microprocessor” and in 1971 released the first 4-bit microprocessor as the 4004.

It was designed with LSI technology;

It had 2,300 transistors, 640 bytes of memory-addressing capacity, and a 108 kHz clock. Thus, the microprocessor revolution

began with this tiny chip.

Gordon Moore, cofounder of Intel Corporation, predicted that the number of transistors per integrated circuit

would double every 18 months;

this came to he known as “Moore’s Law.”

Just twenty-five years since the invention of the 4004, we have processors that are designed with 15 million transistors, that

can address one terabyte (1 X 1012) of memory, and that can operate at 400 MHz to I.5 GHz frequency (see Table 1.1).

26/31

Page 27: CPE303 MICROPROCESSORS

HISTORICAL PERSPECTIVE

27/31

Page 28: CPE303 MICROPROCESSORS

MOORE’S LAW

28/31

Page 29: CPE303 MICROPROCESSORS

TERMS

Term Decimal Name Binary

K (kilo) 103 Thousand 210

M (mega) 106 Million 220

G (giga) 109 Billion 230

T (tera) 1012 Trillion 240

P (peta) 1015 Quadrillion 250

29/31

Page 30: CPE303 MICROPROCESSORS

RESOURCES

Microprocessor Architecture, Programming, and Applications with the 8085 by Ramesh S. Gaonkar, Prentice Hall, 5th

Edition.

Dr. Mehmet Demirer and Dr. Seniha EsenYuksel, Lecturer Notes of Computers and Programming II, HacettepeUniversity, 2014.

Dr. Masri Ayob, Lecturer Notes of Microprocessor & Interfacing, Universiti Kebangsaan Malaysia, 2009.

Dr. Ali Ziya Alkar, Lecturer Notes of Microprocessor and Programming II, Hacettepe University, 2016.

Dr. Joanne E. DeGroat, Lecturer Notes of Introduction to Microcontrollers. Ohio State University, 2014.

Dr. Joanne E. DeGroat, Lecturer Notes of Introduction to Microcontroller Based Systems. Ohio State University, 2010.

These slides are designed to accompany The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486Pentium, Pentium Pro Processor, Pentium II, Pentium, 4, and Core2 with 64-bit Extensions Architecture, Programming,and Interfacing, Pearson Education, Inc. , Eighth Edition. Slides copyright 2009 by Barry B. Brey.

Dr. IhsanYassin, Lecturer Notes of Digital Systems & Microprocessors. Universiti Teknologi Mara (UiTM), 2013.

30/31

Page 31: CPE303 MICROPROCESSORS

THANK YOU

[email protected]