Understanding Computer Organization & Assembly Language: Hardware-Software Interface, Schemes and Mind Maps of Design

An overview of Computer Organization and Assembly Language, a course offered at the University of Pittsburgh. The course focuses on the study of computer systems, their underlying hardware, and the software running on it. Students will learn about the principles of computer architecture, the hardware/software interface, and programming at the lowest level. The document also covers different types of computers, including desktop computers, servers, and embedded computers, and their respective characteristics.

Typology: Schemes and Mind Maps

2021/2022

Uploaded on 08/05/2022

nguyen_99
nguyen_99 🇻🇳

4.2

(80)

1K documents

1 / 42

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Organization and Design
Kartik Mohanram
Department of Electrical and Computer Engineering
University of Pittsburgh
Pittsburgh, PA
Spring 2019
1/20
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Partial preview of the text

Download Understanding Computer Organization & Assembly Language: Hardware-Software Interface and more Schemes and Mind Maps Design in PDF only on Docsity!

Computer Organization and Design

Kartik Mohanram

Department of Electrical and Computer Engineering University of Pittsburgh Pittsburgh, PA [email protected]

Spring 2019

1 / 20

Logistics

I (^) Email: [email protected] I (^) Oce Hours: Tu: 11am-Noon, Th 10am-11am, and by appointment I (^) TAs: Recitations and oce hours I (^) Xingzhe Song ([email protected]) I (^) Oce Hours (BEH 1238C): 3-4pm on Tuesdays and Thursdays I (^) Yuqi Li ([email protected]) I (^) Oce Hours (BEH 1238C): 3-4pm on Mondays and Wednesdays I (^) Class Web-site: http://www.pitt.edu/~kmram/CoE I (^) Class notes have been posted online I (^) Textbook: Computer Organization and Design — The Hardware/Software Interface by Hennessy and Patterson I (^) ANY edition should mostly suce I (^) The MIPS simulator MARS (download here) I (^) Logisim for logic design and simulation (download here)

2 / 20

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Computer systems

ƒ There may be different forms of “computation”

  • Example: digital TV tuner that converts a compressed digital motion picture format into something that we can view

ƒ Programmable computing machine or a processor

  • Executes a given list of instructions
  • Includes input, output, storage/memory, computation
  • We can change its functionality based on what programs are used!

ƒ Five classic components, but wait a minute for that …

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Computer systems

ƒ Three general classes of “computer”

ƒ “Desktop computers”

  • Examples include PC, Mac, Chrome, Linux…
  • Notebooks, netbooks, tablets, …
  • Interact with a user – applications
  • Handful of processors, gigabytes (10 9 bytes) memory, few terabytes

(10^12 bytes) of disk

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Computer systems

ƒ “Desktop computers”

ƒ “Servers”

  • Web servers
  • Supercomputers
  • Interact with other computers to “solve a problem” or “provide services”
  • Dozens to thousands of processors
  • Gigabytes to terabytes memory
  • Petabytes (10^15 bytes) of storage
  • Interconnected working together

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Servers

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Embedded computers

Am I a computer?

Am I a computer?

Am I a computer?

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Computers I Encountered Today

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Five classic components

We study this part in this course!

Study this part in CS1541!

I am like a control tower

I am like a conveyor belt + service stations

I am like a pack of file folders

I exchange information with outside world

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

In CoE 0147

ƒ We study

  • Computer architecture MIPS as the example architecture
  • Basic concepts of system software such as assembler, linker, compiler
  • Basic computer arithmetic Binary numbers Operations (add, sub, …)
  • Basic logic design
  • Basic processor performance analysis
  • Processor organization Datapath Control

ƒ We do

  • Assembly language programming (using MARS simulator)
  • MARS (written by a Pitt graduate!) http://www.cs.missouristate.edu/MARS/
  • Logisim logic design (implement our own processor!)

CoE 0147: Computer Organization and Assembly Language (^) University of Pittsburgh

Layers or views

ƒ Our view of a computer system

in this course is centered around

the interface between the lowest

level in software and the

hardware

ƒ We will talk a lot about assembly

or machine instructions

ƒ We will also learn about logic

design and how to implement

our own processor!

COE0147/CS0447: Computer Organization and Assembly Language (^) University of Pittsburgh

Five classic components

I am like a control tower

I am like a conveyor belt + service stations

I am like a pack of file folders

I exchange information with outside world

COE0147/CS0447: Computer Organization and Assembly Language (^) University of Pittsburgh

Instruction

ƒ Unit of program execution; program consists of instructions

ƒ Describes an operation that the processor understands how to

perform

ƒ The amount of work defined for an instruction is usually small

  • Add two numbers in registers ( add $t0,$t1,$t2 )
  • Compare two numbers in registers ( slt $t0,$t1,$t2 )
  • Make a jump in the program if the first number is smaller than the second number

ƒ Complex instructions may ease your programming…

  • For example, “multiply two numbers from memory location A & B and iterate this 100 times or until you meet two zeros”
  • BUT, your processor implementation can become quite complex (slow!)

COE0147/CS0447: Computer Organization and Assembly Language (^) University of Pittsburgh

Instruction description example