Et4508 ed5532 computer systems architecture
Download
1 / 81

ecture - PowerPoint PPT Presentation


  • 335 Views
  • Updated On :

ET4508/ED5532: Computer Systems Architecture. Lecturer: Dr. Karl Rinne. Contact. Dr. Karl Rinne Room: F2-021 (moving…) ER2-018 (from 21/02/2005 on) Extension: 2309 Email: [email protected] Web: http://www.ul.ie/~rinne. Please note…. Please pre-arrange all meetings

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ecture' - medwin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Et4508 ed5532 computer systems architecture l.jpg

ET4508/ED5532: Computer SystemsArchitecture

Lecturer: Dr. Karl Rinne


Contact l.jpg
Contact

  • Dr. Karl Rinne

    • Room: F2-021 (moving…) ER2-018 (from 21/02/2005 on)

    • Extension: 2309

    • Email: [email protected]

    • Web: http://www.ul.ie/~rinne

KR


Please note l.jpg
Please note…

  • Please pre-arrange all meetings

  • Regularly check the web

    • visit http://www.ul.ie/~rinne

      • latest announcements

      • additional exercises

      • etc

KR


Please note4 l.jpg
Please note…

  • This is a lecture dealing mainly with computer architectures / computer hardware

    • pace is fast, material is interesting and demanding

    • we’ll look at software only sporadically - whenever necessary… (x86 assembler or C Code fragments)

  • Interactive lectures

    • if you have any question, interrupt anytime…

KR


Please note5 l.jpg
Please note…

  • Exercises will be given

    • in the lecture notes

    • on the web

    • during class

  • Take the time to study & solve exercises!

  • Tutorials for weeks 8-12 will be arranged if required

KR


Please note6 l.jpg
Please note…

  • Lab(s) will be arranged to give you hands-on PC hardware experience

  • Lab(s) will take place from week 6

  • Can be completed

  • Lab report including post-lab research

KR


Please note7 l.jpg
Please note…

  • Try to attend all lectures!

    • Lecture will deviate somewhat from lecture notes

    • (Exam-relevant) exercises will be given and discussed

  • Lecture notes

    • very comprehensive

    • available in print room shortly (availability will be announced)

  • Complete lecture material (notes, slides, labs, assignment, exam papers, etc) is available online (www.ul.ie/~rinne/et4508.htm)

KR


Please note8 l.jpg
Please note

  • Course pre-requisites

    • Basics of digital systems, digital primitives

      • Boolean algebra, combinational and sequential logic, gates, FFs, truth tables, timing diagrams, etc.

    • Computer number systems

      • decimal, hexadecimal, binary

      • conversions, logical operations, arithmetics

    • Computer data formats

      • ascii, bcd

KR


Grading and exam l.jpg
Grading and Exam

  • Grading

    • Final Term Exam: 80%

    • Lab + Post-lab research + report: 20%

  • Lab report due end of week 8 (Fri, 11am)

KR


Spring 2005 special announcement l.jpg
Spring 2005 Special Announcement

  • Student services requested a change of classroom (for the duration of the semester)

    • D1-050C2-062

KR


Aims of the course l.jpg
Aims of the course

  • See how processors have evolved

  • Become familiar with the Intel x86 Architecture, from 8086 to P4

  • Become familiar with the Hardware Elements of a PC

  • Understand the directions in which PCs may evolve

  • Obtain some hands-on PC hardware experience

KR


Quotes l.jpg
Quotes…

  • “DOS addresses only 1 MB of RAM because we cannot imagine any applications needing more.”Microsoft, 1980

  • “I don’t think it’s that significant”Tandy president John Roach on the IBM PC

KR


Questions l.jpg
Questions…

  • What exactly is a PC?

KR


Questions14 l.jpg
Questions…

  • What exactly is a PC?

IBM PC 1981

Apple I 1976

Sinclair ZX80 1980

Apple Mac 1984

Atari 400 1979

KR


Questions15 l.jpg
Questions…

  • Who invented the PC?

  • Who controls the PC standards today?

KR


Course outline 1 l.jpg
Course Outline (1)

  • Review Microprocessor Fundamentals

    • MPU Register set and Internal Architecture

    • MPU buses

    • Memory Considerations

    • MPU interfacing: Interrupts and DMA

  • Intel x86 Architecture

    • CISC vs RISC

    • Memory and Computer Performance

KR


Course outline 2 l.jpg
Course Outline (2)

  • PC Architecture: Processor, Memory, Buses, I/O, Relevance to BIOS

  • PCI, ISA, PC Card, PC 104 and other interface standards

  • Serial and parallel interfaces (legacy to status quo)

KR


Text books l.jpg
Text Books

  • Upgrading and Repairing PCs, Scott Mueller. Que 2000. ISBN: 0-7897-2542-8

  • The Indispensable PC Hardware Book, Hans-Peter Messmer. Addison Wesley Longman 1997. ISBN 0-201-40399-4

  • Computer Systems Architecture, A Networking Approach. Addison Wesley 2000. ISBN 0-201-64859-8

  • Digital Fundamentals, Floyd (8086 Section)

KR


Other good references l.jpg
Other Good References

  • The Intel Microprocessors: 8086 … Pentium Pro Processor, Barry B Brey (5th Edition), Prentice Hall 1997

  • PC Support Handbook

  • Bigelow’s book on PC Maintenance

  • Microprocessor Architecures, Steve Heath

KR


Useful web sites l.jpg
Useful Web-sites

  • Intel Home: www.intel.com

  • Intel Processor page: http://developer.intel.com/design/processor/

  • Intel Processor Hall of Fame: http://www.intel.com/intel/museum/25anniv/hof/hof_main.htm

  • Intel Processor Specs: http://www.intel.com/intel/museum/25anniv/hof/tspecs.htm

  • The Intel Museum: http://intel.com/intel/intelis/museum/

KR


Useful web sites 2 l.jpg
Useful Web Sites (2)

  • How Microprocessors Work: http://intel.com/education/mpuworks/index.htm

  • Intel Processor Quick Reference: http://www.intel.com/pressroom/kits/processors/quickref.htm

  • Intel Developer Home: http://developer.intel.com/

  • Intel Pentium II: http://developer.intel.com/design/PentiumII/

  • Intel Pentium III: http://developer.intel.com/design/PentiumIII/

  • Intel Pentium 4: http://developer.intel.com/design/pentium4/

KR


Useful web sites 3 l.jpg
Useful Web Sites (3)

  • Intel Desktop Boards (Motherboards): http://developer.intel.com/design/motherbd/

  • PC Design Guide (Microsoft and Intel): http://www.pcdesguide.org/

  • AMD Home: www.amd.com

  • AMD Athlon: http://www.amd.com/products/cpg/athlon/index.html

  • PC Guide: http://www.pcguide.com/index.htm

KR


Useful web sites 4 l.jpg
Useful Web Sites (4)

  • Barry B Brey's personal web-site with some PC and microprocessor hints

  • http://users1.ee.net/brey/

  • Exercise look up Brey’s description of a Microprocessor at

  • http://members.ee.net/brey/l16.htm

KR


Evolution of intel 80x86 family l.jpg

Year

Processor

Clock

Bus Width

Addressable Memory

Virtual Mem

Transistors

Comments

1978

8086

5MHz -> 10MHz

16-bits

1MB

-

29000

First 8086 – used in IBM/PC clones

1979

8088

5MHz -> 8MHz

8-bits

1Mb

-

29000

Used in IBM/PC & PC/XT

1982

80286

6MHz -> 12.5MHz

16-bits

16Mb

1Gb

134000

Used in PC/AT

1985

80386DX

16MHz -> 33MHz

32-bits

4Gb

64Tb

275,000

32-bit CPU & ext bus

Evolution of Intel 80x86 Family

KR


Slide25 l.jpg

Year

Processor

Clock

Bus Width

Addressable Memory

Virtual Mem

Transistors

Comments

1989

80486DX

25MHz -> 50MHz

32-bits

4Gb

64Tb

1.2 million

L1 Cache on chip, also on-chip FPU.

486 derivatives still around in low-cost internet appliances

1993

Pentium

60MHz – 100MHz

64-bits

4Gb

64Tb

3.1 million

Superscalar architecture

1995

Pentium Pro

150MHz -> 200MHz

64-bits

4Gb

64Tb

5.5 million

Dynamic execution architecture drives high-performing processor, integrated L2 Cache

1997

Pentium II

200MHz -> 533MHz

64-bits

4Gb

64Tb

7.5 million

Dual independent bus, dynamic execution, Intel MMXTM technology

KR


Exercise l.jpg
Exercise

  • Visit the Intel Processor Hall of Fame http://www.intel.com/intel/museum/25anniv/hof/hof_main.htm

  • Visit the Pentium III and P4 Home pages and also the AMD K6-3D Now and Athlon pages

  • Identify the unique new feature(s) of each processor

  • Write out entries for Pentium III, P4, IA-64 and Athlon that could be included in the Hall of Fame at a future date.

KR


Review of mpu fundamentals l.jpg
Review Of MPU Fundamentals

  • For Simplicity look at a simple model of an MPU

    • 8-bit

    • 64K address space

    • Intel style interface

KR




General registers l.jpg
General Registers

  • Small set of internal registers - temporary data storage

  • CU ensures that data from the correct register is presented to the ALU

  • CU ensures that data is written back to correct register

  • Accumulator usually holds ALU result

KR



Program counter register l.jpg
Program Counter Register

  • Points to the next register to be executed

  • Called Instruction Pointer in Intel x86 Architecture

KR


Stack pointer l.jpg
Stack Pointer

  • STACK: Part of memory where program data can be stored by a simple PUSH operation

  • Restore data by a POP

  • Stack is in main memory and is defined by the program

  • Stack Pointer (SP) keeps track of the next location available on the Stack

  • Organised as a FILO Buffer

KR


Stack exercise l.jpg
Stack Exercise

  • At the start of the following sequence the Stack Pointer has the value C000h. The following code is executed

  • PUSH AL ; Push 8 bit accumulator data

  • PUSH PSW ; Push 8 bit flags register

  • What is the value of the SP at this point?

  • The following instructions are executed without any further stack activity in the meantimePOP PSW ; Restore 8 bit flags register

  • POP AL ; Restore 8 bit accumulator data

  • What is the value of the SP at this point? Note how the POP order is the reverse of the PUSH order.

KR







Simple memory devices 8 k prom ram l.jpg
Simple Memory Devices (8K PROM & RAM)

KR


Memory read and write cycles l.jpg
Memory Read and Write Cycles

  • Hardware Control lines used by the CPU to Control reads and Writes to Memory

  • Active low signal RD# asserted for a Read Cycle

  • Active Low signal WR# indicates a write

  • RD# and WR# signals supply timing information to memory device

KR






Input and output cycles l.jpg
Input and Output Cycles

  • Intel Architecture processors have an I/O address space, separate from memory (Code and Data)

  • Allow I/O devices to be decoded separately from memory devices

  • Use IOR# and IOW# signals for Input & Output

  • Exercise: Draw Input & Output Cycles following the memory cycle examples

KR


I o instructions l.jpg
I/O Instructions

  • Separate I/O instructions cause the IOR# or IOW# signals to be asserted

    • MOV AL, (400Fh) ; instruction provides 16-bit address

    • IN AL, 2Ch ; instruction provides an 8-bit address

  • Some processors only support a single address space - I/O devices are decoded in the memory map

KR


Advantages of memory mapped i o l.jpg
Advantages of Memory Mapped I/O

  • I/O locations are read/written by normal instructions - no need for separate I/O instructions

    • Size of instruction set reduced

  • Memory manipulations can be performed directly on I/O locations

  • No need for IOR# and IOW# pins

KR


Advantages of separate i o mapping l.jpg
Advantages of Separate I/O Mapping

  • All locations in memory map are available for memory

    • No block removed for I/O

  • Smaller, faster instructions can be used for I/O

  • Less Hardware decoding for I/O

  • Easier to distinguish I/O accesses in assembly language

  • Which mapping system is preferable? Why?

KR


Processor with multiple memory devices l.jpg
Processor with multiple memory devices

How do you allow many memory devices to drive the same bus?

KR


Device selection and data buses l.jpg
Device Selection and Data Buses

  • A PC board may have many memory devices, all attached to the same data bus

  • When the processor reads data from the bus, it is essential that only one device drives data onto the bus

  • The other memories must be electrically disconnected from the bus while the selected device drives it

KR


Device selection and data buses 2 l.jpg
Device Selection and Data Buses (2)

  • Use Address Decoding to ensure only one device is selected at a time

  • Use Tristate buffers to disconnect unselected devices from the data bus

  • Unselected devices have their outputs placed in the HIGH IMPEDANCE STATE – it’s as if their outputs were switched off

  • All outputs, except those of the selected device should be in the High Impedance state

KR


Tristate buffers and transceivers l.jpg
TriState Buffers and Transceivers

  • Simplest buffers have an Input, an Output and an Enable Input

    • Enable signals may be active high or low

  • When Enable signal is active the output follows the input

  • When the Enable signal is inactive the output of the buffer is effectively disconnected from the circuit

  • When the output is in High Impedance other devices can drive the bus in question

  • Bidirectional buffers (transceivers) are essentially two back-to back buffers

KR


Tristate buffers and transceivers 2 l.jpg
TriState Buffers and Transceivers(2)

  • CPUs, RAMs and ROMs all have tristate-able buffers on their data buses

  • Microprocessors normally have tristate-able address and control buses as well

  • Discrete buffer devices and transceivers can drive more devices (loads) than RAMs and ROMS

  • 74AC244 and 74AC245 are typical buffers and transceivers

KR



Address decoding l.jpg
Address Decoding

How do you select just one memory device?

KR


Address decoding57 l.jpg
Address Decoding

  • Need external decoding hardware to ensure that only one device is accessed at any one time

  • Simple techniques enable the Chip Enable of just one device, based on the address bus contents

    • Implement this system, consisting of 4 x (16K x 8) memories:

    • ROM0 - 0000h - 3FFFh

    • ROM1 - 4000h - 7FFFh

    • RAM0 - 8000h - BFFFh

    • RAM1 - C000h - FFFFh

KR




74ac138 3 to 8 decoder l.jpg
74AC138: 3-to-8 Decoder

Logic Diagram

A

Select

Inputs

0

1

2

3

4

5

6

7

B

C

‘138

Outputs

E1

Enable

Inputs

E2

E3

KR





Cascading 138s for more complex decoding l.jpg
Cascading ‘138s for MoreComplex Decoding

  • 74138 generates a unique output for a given binary input

  • You can cascade ‘138s for more complex and precise decoding

  • Each stage has a propagation delay associated with it

    • May affect your timing budget

KR


Cascaded 74138s l.jpg
Cascaded 74138s

SEL0

A13

A14

A15

A

0

1

2

3

4

5

6

7

SEL1

B

C

‘138

SEL5

E1

E2

E3

A0

A1

A2

A

A

A0

A1

A2

SEL7

Logic

High

OUT A000

IN A000

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

B

B

OUT A001

IN A001

C

C

OUT A002

IN A002

‘138

‘138

OUT A003

IN A003

OUT A004

IN A004

E1

E1

OUT A005

IN A005

E2

E2

OUT A006

MEMR

IN A006

E3

E3

OUT A007

IN A007

Logic

High

Logic

High

MEMW

KR


Modern decoding l.jpg
Modern decoding

  • Decoding in Motherboards is often done using Custom devices or PLDs

  • Custom devices usually have 74138s as a Library part

KR






Interrupts l.jpg
Interrupts

  • Used to Halt the normal flow of instructions

  • Exceptions can be due to Hardware or Software

  • Hardware Interrupts are asynchronous to the processor

  • Could be asserted by an external device requesting action, e.g. a port ready to transfer data

  • Interrupts can be globally masked by the processor’s Interrupt Enable Flag (IE or I)

  • IE is set by STI and reset by CLI (or equivalent)

KR


Maskable non maskable interrupts l.jpg
Maskable & Non Maskable Interrupts

  • Maskable interrupts can be enabled/disabled using a flag (usually in the flags register

  • Non Maskable Interrupts (NMI) are top priority interrupts that can’t be masked out

  • NMIs often used for Parity Errors, Power fails etc

KR




Direct memory access dma l.jpg
Direct Memory Access (DMA)

  • DMA techniques improve system performance

  • External devices can transfer data directly to or from memory under hardware control

  • Other methods (e.g. interrupts) use software to transfer data and are slower

  • DMA is used when very high data rates are required

KR


Code to move data from input to memory l.jpg
Code to Move Data From Input to Memory

READ_BYTE: IN AL, DX [13]

MOV [BX], AL [2]

INC BX [2]

DEC CL [2]

JNZ READ_BYTE [10]

This Code takes 29 clock cycles

At 20MHz:

fclk = 20MHz; Tclk = 1/fclk = 50ns; 29 x 50ns = 1450ns = 1.45us per byte

1/(1.45us/B) = 670KB/s (slow)

DMA could achieve 10MB/s at the same clock frequency

KR




Dma timing from memory to output transfer l.jpg
DMA Timing, from Memory to Output Transfer

DREQ

HOLD

HLDA

DACK

ADDRESS

IOW

MEMR

DATA

address n

address n+1

valid

valid

KR



Dma timing from input to memory transfer l.jpg
DMA Timing, from Input to Memory Transfer

DREQ

HOLD

HLDA

DACK

ADDRESS

IOR

MEMW

DATA

address n

address n+1

valid

valid

KR


ad