Top Banner
Example machine language Example Machine Language External Devices Computer Architecture Operating Systems Processes 1 / 22 Instructions: Op-code Operands Meaning 1 RXY Load reg R from memory cell XY 2 RXY Load reg R with value XY 3 RXY Store contents of reg R in cell XY 4 0RS Move contents of reg R to reg S 5 RST Add two’s compl. contents of reg S to reg T; store result in R 6 RST Foating point add 7 RST OR 8 RST AND 9 RST XOR A R0X Rotate reg R X bits to right B RXY Jump to XY if c(R)= c(0) C 000 HALT Note operands are hexadecimal.
22

Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Mar 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Example machine language

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

1 / 22

Instructions:Op-code Operands Meaning

1 RXY Load reg R from memory cell XY2 RXY Load reg R with value XY3 RXY Store contents of reg R in cell XY4 0RS Move contents of reg R to reg S5 RST Add two’s compl. contents of reg S to reg T;

store result in R6 RST Foating point add7 RST OR8 RST AND9 RST XORA R0X Rotate reg R X bits to rightB RXY Jump to XY if c(R) = c(0)C 000 HALT

Note operands are hexadecimal.

Page 2: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Example machine language

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

2 / 22

One word (cell) is 1 byte.One instruction is 16 bits.

Machine cycle:

■ fetch — get next instr., increment program counter by 2

■ decode

■ execute (instr)

Page 3: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Example machine language

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

3 / 22

Example: check if low-order 4 bits of value in reg 1 = 0

2000 load load zero into reg 0220F load load string 00001111 into reg 28312 AND c(reg 1) AND c(reg 2) —> reg 3 — maskingB3XY JMP jump to address XY if c(reg 3) = c(reg 0)

Page 4: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Example machine language

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

4 / 22

How can we complement a byte in reg 1?

A. load 11 in register 2; OR 3,1,2;

B. load FF in register 2; OR 3,1,2;

C. load 00 in register 2; XOR 3,1,2;

D. load 11 in register 2; XOR 3,1,2;

E. load FF in register 2; XOR 3,1,2;

Vote at m.socrative.com. Room number 415439.

Page 5: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Computer architecture

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

5 / 22

RISC — reduced instr. set — fast per instr. — cell phonesCISC — complex instruction set — easier to program — PC

Clock

■ coordinates activities

■ faster clock → faster machine cycle

■ Hz — one cycle per second

■ MHz — mega Hz (1 million Hz)

■ GHz — giga Hz (1000 MHz)

■ flop — floating point ops / sec

■ benchmark — program to run on different machines forcomparison

Page 6: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

External devices

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

6 / 22

PC

controller

port

printerdiskUSB keymouse

motherboard — main circuit board (with CPU, memory)

controller — on motherboard or plugged into motherboardTo reduce number — universal serial bus (USB) or FireWireSerial — 1 bit at a time (vs. parallel) — fast for short distances

DMA — CPU not involved after starting(read sector of disk)

If everything uses bus, von Neumann bottleneck.

Page 7: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

External devices

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

7 / 22

Initial connection

■ handshaking (also for protocols)

■ often status word — is printer OK, paper out, jam,...

Communication rates

■ bits per second (bps) / bytes per second (Bps)

■ Kbps — standard phone lines

■ Mbps — 1,000,000 bps — USB, FireWire 100s of Mbps

■ Gbps — 1,000,000,000 bps

Page 8: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

External devices

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

8 / 22

(Time-division) multiplexing

telephonevoice

data fromcomputer

telephonevoice

· · ·

data from computer can be modem, xDSL, cable TV

bandwidth – max ratebroadband – high rate

Page 9: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Making computers faster

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

9 / 22

■ Pipelining —

ADD RXY fetch instructionADD R’X’Y’ decodeADD R”X”Y” perform add

possibly further divided

■ Supercomputers— multiprocessor machines now (up to 60,000)— SIMD, MIMD

■ Multi-core — in single integrated circuit, package

◆ dual-core — 2 processors

◆ quad-core — 4 processors

◆ ...

◆ 2 at 2 GHz not as good as 1 at 4 GHz

Page 10: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Operating systems

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

10 / 22

Operating system — controls operation of computercontrols access to computer’s resources

SOFTWARE

APPLICATIONSspreadsheetsgamesetc.

SYSTEMprovides environment

for applications

UTILITIES OPERATING SYSTEM

Utilities — unclear boundaries with other thingsanti-virus program, formatting a disk, operations with resources,cryptographybrowser — no (Internet Explorer?)

Page 11: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Operating systems

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

11 / 22

User interface = shell

■ Command window

■ GUI — graphical user interfaceicons, clicking, windows manager

Unix

Mac Linux

Windows

Page 12: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Basic functions

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

12 / 22

Basic functions in kernel

1. File manager

■ directories (folders) — organization

■ path — ∼joan/WWWpublic/intro/13slide4.pdf

■ allows access, checks rights

2. Device drivers

■ printer, screen, mouse, etc.

■ communicate with controllers

Page 13: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Basic functions

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

13 / 22

3. Memory manager

■ in multiuser or multitask system, much to do

■ virtual memory — if more data than for physical memory

■ store some pages in physical memory— if used often, leave there — paging is slow

4. Scheduler and dispatcher— giving time slices to different tasks or users

5. Bootstrap

■ bootstrap program (boot loader) in ROM (non-volatile)

■ loads rest of OS from disk into main memory (volatile)

Page 14: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Processes

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

14 / 22

program — instructionsprocess — execution of program— 2 users use use same program = 2 processes

process state

■ value of program counter

■ values in other registers

■ values in memory

■ used to restart a process

Page 15: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Scheduler

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

15 / 22

OS must

■ give needed resources to processes— space in memory, files, devices, etc.

■ make sure processes don’t interfere with each other

■ let processes exchange info if needed

Page 16: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Scheduler

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

16 / 22

The scheduler maintains a process table, with info for each process:

■ memory locations assigned

■ priority of process

■ status of process

◆ ready

◆ can continue

◆ waiting — for external event— completion of read from disk, etc.

Page 17: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Dispatcher

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

17 / 22

■ gets scheduled processes executed by time sharing

■ chooses highest priority (given by scheduler)

■ gives each process its time slice

■ changing processes — process switch/ context switch

◆ caused by interrupt

◆ dispatcher sets timer to cause interrupt

◆ interrupt handler

■ transfers control from process to dispatcher

■ saves and restores process state

■ machine language designed for it

Page 18: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Competition among processors

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

18 / 22

Allocating access to resources

■ sections of code — device driver for printer

■ memory addresses

1 process at a time

Page 19: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Competition among processors

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

19 / 22

flag ? 0 – clear OK1 – set in use

Problem:Process 1 Is flag clear?

YesinterruptProcess 2 Is flag clear?

Yesset flaguse printer

interruptProcess 1 set flag

use printer

Page 20: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Competition among processors

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

20 / 22

Possible solutions:

1. OK disables interrupts when checking flag— re-enables after done with set

2. test-and-set instruction— no interrupts in middle of single instruction

The flag is a semaphore (railway signals).Used to protect critical regions (of code) which require mutualexclusion.

Page 21: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Competition among processors

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

21 / 22

Another problem:

■ Process 1 and Process 2 each need same 2 resources (printerand disk).

■ Process 1 gets 1 resource.

■ Process 2 gets the other.

■ Neither process can continue. — Deadlock

Page 22: Example machine language - SDUjoan/intro/13slide4.pdf · 2013-09-19 · Example machine language Example Machine Language External Devices Computer Architecture Operating Systems

Competition among processors

Example Machine

Language

External DevicesComputer

Architecture

Operating Systems

Processes

22 / 22

Deadlock can occur if:

1. There is competition for non-shareable resources

2. Resources requested on partial basis— after getting some, may request more

3. Can’t take resources back

Possible solutions:

■ Deadlock detection and correction — remove condition 3

■ Spooling

◆ device driver saves data (for printer)

◆ sends data later— process continues as if printing completed