COE 224 - Computer Architecture

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

The progress in computer technology is underpinned by ______'s Law.

Moore

General-purpose computers with a variety of software are known as ______ computers.

personal

Computers designed for high-end scientific and engineering calculations are classified as ______.

supercomputers

Systems with stringent power/performance/cost constraints and hidden as components are known as ______ computers.

<p>embedded</p> Signup and view all the answers

A Battery operated, Internet-connected device costing hundreds of dollars is a ______ Mobile Device (PMD).

<p>personal</p> Signup and view all the answers

The concept where a portion of software runs on a PMD and another portion runs in the Cloud relates to ______ computing.

<p>cloud</p> Signup and view all the answers

Designing electronic systems by anticipating where technology will be when the design finishes is designing for ______'s Law.

<p>Moore</p> Signup and view all the answers

Using ______ helps simplifies design by hiding lower-level details to offer a simpler model at higher levels.

<p>abstractions</p> Signup and view all the answers

Focusing on optimizing performance for the most typical operations refers to making the ______ case fast.

<p>common</p> Signup and view all the answers

Achieving better performance through designs that get more performance by performing operations in parallel is called ______.

<p>parallelism</p> Signup and view all the answers

A particular pattern of parallelism to speed up execution of instructions is called ______.

<p>pipelining</p> Signup and view all the answers

In some cases it can be faster on average to ______ and start working rather than wait until you know for sure, assuming that mechanism to recover from a misprediction is not too expensive and your prediction is relatively accurate..

<p>guess</p> Signup and view all the answers

Organizing memory based on the principle that programmers want memory to be fast, large, and cheap leads to memory ______.

<p>hierarchy</p> Signup and view all the answers

Systems are made dependable because any physical device can fail by including ______ components.

<p>redundant</p> Signup and view all the answers

[Blank] translates high-level language code to machine code.

<p>compiler</p> Signup and view all the answers

The ______ System manages the interactions between hardware and software, including input/output handling and task scheduling.

<p>operating</p> Signup and view all the answers

Textual representation of instructions is done with ______ language

<p>assembly</p> Signup and view all the answers

The component that performs operations on data inside the processor is called the ______.

<p>datapath</p> Signup and view all the answers

The component that sequences the datapath and memory is called the ______.

<p>control</p> Signup and view all the answers

[Blank] helps us deal with complexity by hiding lower-level detail.

<p>abstraction</p> Signup and view all the answers

The hardware/software interface is part of the instruction set ______.

<p>architecture</p> Signup and view all the answers

Communication and resource sharing are possible due to ______.

<p>networks</p> Signup and view all the answers

The memory used for main memory is called Dynamic Random Access Memory (______).

<p>DRAM</p> Signup and view all the answers

A key characteristic of Dynamic Random Access Memory (DRAM) is that it is ______, meaning contents go away when power is lost.

<p>volatile</p> Signup and view all the answers

The memory chosen for cache is called Static Random Access Memory (______).

<p>SRAM</p> Signup and view all the answers

Two characteristics of SRAM are that it is the choice for cache and much ______ than DRAM, but less dense and more costly.

<p>faster</p> Signup and view all the answers

The choice for secondary memory are ______ disks.

<p>magnetic</p> Signup and view all the answers

A characteristic about magnetic disk is that it is slower and ______, but relatively large.

<p>non-volatile</p> Signup and view all the answers

Solid state (Flash) memory is the choice for ______ computers.

<p>embedded</p> Signup and view all the answers

A characteristic about solid state flash memory, is that it is the choice for embedded computers and ______.

<p>non-volatile</p> Signup and view all the answers

The technology that allows tiny areas to transform into conductors, insulators, and switches, is known as ______ technology.

<p>semiconductor</p> Signup and view all the answers

The proportion of working dies per wafer in manufacturing ICs is the ______.

<p>yield</p> Signup and view all the answers

Instruction Set Architecture + Computer Organization = Computer ______.

<p>Architecture</p> Signup and view all the answers

Instruction Set Architecture can be described as WHAT the computer ______.

<p>does</p> Signup and view all the answers

Computer Organization can be described as HOW the ISA is ______.

<p>implemented</p> Signup and view all the answers

An very important abstraction is the ______ between hardware and low-level software.

<p>interface</p> Signup and view all the answers

The fact that ISA standardizes instructions is a(n) ______ because it allows different implementations of the same architecture.

<p>advantage</p> Signup and view all the answers

Cost/performance is ______ due to underlying technology development.

<p>improving</p> Signup and view all the answers

Organization of memory with the fastest, smallest, and most expensive memory per bit at the top and the slowest, largest, and cheapest per bit at the bottom, is known as ______ of memories.

<p>hierarchy</p> Signup and view all the answers

The hardware/______ interface is part of Instruction set architecture.

<p>software</p> Signup and view all the answers

Flashcards

Computer Revolution

The advancement in computer technology driven by Moore's Law makes various new applications more viable.

Personal Computers

General-purpose computers with a variety of software, subject to cost/performance tradeoffs.

Server Computers

Computers designed for network use with high capacity, performance, and reliability.

Supercomputers

Computers for high-end scientific and engineering calculations, representing a small part of the market.

Signup and view all the flashcards

Embedded Computers

Computers hidden as components in systems, constrained by power, performance, and cost.

Signup and view all the flashcards

Personal Mobile Device (PMD)

Battery-operated devices that connect to the Internet, like smartphones and tablets.

Signup and view all the flashcards

Cloud Computing

Computing model using Warehouse Scale Computers, providing Software as a Service (SaaS).

Signup and view all the flashcards

Algorithm's Role

Performance is affected by algorithm choice.

Signup and view all the flashcards

Language and Architecture

Performance depends on the programming language, compiler, and architecture.

Signup and view all the flashcards

Processor and Memory

Performance affected by the processor and memory system speed.

Signup and view all the flashcards

I/O System Impact

Performance is limited by the I/O system speed.

Signup and view all the flashcards

Design for Moore's Law

Design must account for the doubling of integrated circuit resources every 18–24 months.

Signup and view all the flashcards

Use Abstraction

Simplifies design by representing it at different levels, hiding lower-level details.

Signup and view all the flashcards

Common Case Fast

Prioritizing and optimizing the common case improves overall performance.

Signup and view all the flashcards

Performance via Parallelism

Achieving performance gains by performing multiple operations in parallel.

Signup and view all the flashcards

Performance via Pipelining

Speeding up execution by overlapping the execution of multiple instructions.

Signup and view all the flashcards

Performance via Prediction

Guessing and starting work before knowing for sure, recovering if the guess is wrong.

Signup and view all the flashcards

Hierarchy of Memories

Using a hierarchy to arrange memory by speed, cost, and size, with the fastest memory at the top.

Signup and view all the flashcards

Dependability via Redundancy

Making systems dependable by including redundant components to handle failures.

Signup and view all the flashcards

Application Software

Written in high-level language.

Signup and view all the flashcards

System Software

Translates HLL code to machine code.

Signup and view all the flashcards

Operating System

Handling input/output, managing memory and storage, scheduling tasks, and sharing resources.

Signup and view all the flashcards

Hardware

Processor, memory, I/O controllers.

Signup and view all the flashcards

High-Level Language

Level of abstraction closer to problem domain. Provides productivity and portability.

Signup and view all the flashcards

Assembly language

Textual representation of instructions.

Signup and view all the flashcards

Hardware Representation

Binary digits (bits), encoded instructions and data.

Signup and view all the flashcards

Components of a Computer

Same components for all kinds of computers: desktop, server, embedded.

Signup and view all the flashcards

Input Output

Input/output includes User-interface devices like display, keyboard, mouse.

Signup and view all the flashcards

Storage Devices

Storage devices include Hard disk, CD/DVD, flash.

Signup and view all the flashcards

Network Adapters

For communicating with other computers.

Signup and view all the flashcards

Touchscreen

PostPC device and Supersedes (Replaces) keyboard and mouse.

Signup and view all the flashcards

Capacitive Types

Most tablets, smart phones use capacitive and Capacitive allows multiple touches simultaneously.

Signup and view all the flashcards

DRAM

The choice for main memory, Volatile (contents go away when power is lost), Fast, Relatively small.

Signup and view all the flashcards

SRAM

The choice for cache and Much faster than DRAM, but less dense and more costly.

Signup and view all the flashcards

Magnetic Disks

The choice for secondary memory and Non-volatile, Slower, Relatively large.

Signup and view all the flashcards

Solid State (Flash) Memory

The choice for embedded computers and Non-volatile.

Signup and view all the flashcards

Datapath

Performs operations on data.

Signup and view all the flashcards

Control

Sequences datapath, memory, ...

Signup and view all the flashcards

Cache Memory

Small fast SRAM memory for immediate access to data.

Signup and view all the flashcards

Networks

Communication, resource sharing, nonlocal access.

Signup and view all the flashcards

Instruction Set Architecture

The hardware/software interface.

Signup and view all the flashcards

Study Notes

  • Course is COE 224- Computer Organization and Architecture (1)
  • Course is focused on the the hardware/software interface.
  • The textbook used is in its 5th Edition

Course Content

  • Overview of computer architecture and organization
  • Assemblers and Linkers
  • Instruction Set Architecture
  • Processor systems design
  • Overview of Pipelining
  • Memory Technologies and Hierarchies
  • Interfacing and Communication with Input/Output devices

Laboratory Content

  • Programming in assembly language
  • The processor which includes datapath and control unit
  • Input/Output Units
  • Arithmetic-Logic Unit

Course References

  • Patterson and Hennessy wrote "Computer Organization and Design: The Hardware/Software Interface", 5th Edition, Morgan Kaufmann (MK), 2013.
  • C. Hamacher, Z. Vranesic, S. Zaky, and N. Manjikian wrote "Computer Organization and Embedded Systems", 6th Edition, McGraw-Hill, 2011.
  • J. Carpinelli wrote “Computer Systems Organization and Architecture", 2nd Edition, Addison Wesley, 2006.

Course Plan

  • MidTerm 1: 15 Marks
  • MidTerm 2: 15 Marks
  • Assignments/Quizzes: 10 Marks
  • Lab: 20 Marks
  • Final Exam: 40 Marks

Chapter 1 - Computer Organization and Architecture Overview

  • Progress relies on computer technology and is underpinned by Moore's Law
  • Computers are pervasive, making novel applications feasible
  • Applications that were made possible include computers in automobiles, cell phones, human genome project, World Wide Web and search engines

Classes of Computers

  • Personal Computers: General purpose with variety of software, subject to cost/performance tradeoff
  • Server Computers: Network based with high capacity, performance, and reliability, ranging from small servers to building sized
  • Supercomputers: For high-end scientific and engineering calculations, represent a small fraction of the overall computer market, have the highest capability
  • Embedded Computers: Hidden as components of systems and have stringent power/performance/cost constraints

The PostPC Era

  • Personal Mobile Device (PMD) is battery operated, connects to the Internet, and costs hundreds of dollars like smartphones, tablets, electronic glasses
  • Cloud computing uses Warehouse Scale Computers (WSC) and Software as a Service (SaaS) with a portion of software run on a PMD and a portion run in the Cloud
  • Large cloud computing examples include things like Amazon and Google

Course Learning Outcomes

  • How programs are translated into the machine language and how the hardware executes them
  • Hardware/software interface
  • What determines program performance
  • How performance can be improved
  • How hardware designers improve performance
  • Parallel processing.

Understanding System Performance

  • Algorithm determines number of operations executed
  • The programming language, compiler, and architecture determines number of machine instructions executed per operation
  • The processor and memory system determines how fast instructions are executed
  • I/O system including OS determines how fast I/O operations are executed

Eight Great Ideas in Computer Architecture

  • Design for Moore's Law - integrated circuit resources double every 18-24 months
  • Use Abstraction to simplify design with hardware and software, using different levels of representation
  • Make the common case fast
  • Performance via parallelism, offering designs that get more performance by performing operations in parallel
  • Performance via pipelining; is a way of speeding up execution of instructions by overlapping execution of multiple instructions
  • Performance via prediction with guessing and starting to work rather than wait, assuming that the mechanism to recover from a misprediction is not too expensive
  • Hierarchy of memories and what parts are cheapest to implement at memory storage points
  • Dependability via redundancy

Below Your Program

  • Application software is written in high-level language
  • System software includes a compiler to translates high level language code into machine code
  • Operating System is service code that handles input/output, managing memory and storage and scheduling tasks & sharing resources
  • Hardware consists of a processor, memory and I/O controllers

Levels of Program Code

  • High-level language is closer to the problem domain and also provides better productivity and portability
  • Assembly language that is a textual representation of instructions
  • Hardware representation in binary digits (bits) with Encoded instructions and data

Components of a Computer

  • It consist of same components for desktop, server, and embedded computers with Input/output devices
  • Input/output includes user-interface devices like displays, keyboard, mouse, storage devices like hard disks, or CD/DVD flash drives
  • Also contains network adapters for communicating with other computers

Touchscreen

  • A PostPC device that supersedes keyboards and mouses
  • Resistive and Capacitive types
  • Most tablets and smartphones use capacitive touchscreens, because a Capacitive allows multiple touches simultaneously

Memory systems

  • Has Dynamic Random Access Memory (DRAM) choice for main memory that is volatile, fast, and relatively small
  • DRAM capacity doubles every 2 years since 1996
  • Static Random Access Memory (SRAM), is the choice for cache memory
  • SRAM is much faster than DRAM but less dense and more costly
  • Magnetic disks are the choice for secondary memory that are non-volatile, slower, and relatively large
  • Magnetic capacity has doubled every 1 year since 1997
  • Solid state (Flash) memory is the choice for embedded computers and is non-volatile
  • Optical disk (CDROM, DVD)

Inside the Processor (CPU)

  • Datapath performs operations on data
  • Control: sequences datapath, memory, and more
  • Cache memory that is Small, fast SRAM memory for immediate access to relevant data

Abstractions

  • This helps deal with complexity by hiding the lower-level details
  • Instruction Set Architecture (ISA) is hardware/software interface
  • Application binary interface is ISA plus system software interface
  • Implementation is the details underlying and interface

Networks

  • It is based on Communication, resource sharing, nonlocal access
  • Local area network (LAN) uses Ethernet
  • Wide area network (WAN) uses the Internet
  • Wireless network that uses WiFi and Bluetooth
  • Electronics technology continues to evolve, increasing capacity and performance and reducing costs
  • DRAM capacity has been increasing and reducing in cost

Semiconductor Technology

  • Silicon is a semiconductor, for this special chemical process, it is possible to add materials to silicon that allow tiny areas to transform into one of the Conductor, Insulator, and Switch devices

Manufacturing ICs

  • Steps include Using Silicon ingot -> Slicer -> Blank wafers -> 20 to 40 processing steps -> Tested dies -> Dicer -> Tested wafer -> Wafer tester -> Packaged dies -> Tested packages dies -> Part tester -> Ship to customers
  • Yield is the proportion of working dies per wafer

Intel Core i7 Wafer

  • Consists of a 300mm wafer, 280 chips, 32nm technology with each chip is 20.7 x 10.5 mm

Parts of a computer System

  • Computer Architecture is the sum of Instruction Set Architecture + Computer Organization
  • The Instruction Set Architecture (ISA) WHAT the computer does (logical view)
  • Computer Organization - HOW the ISA is implemented (physical view)

Instruction Set Architecture

  • This is a very important abstraction that acts as an interface between hardware and low-level software
  • isa Standardize's instructions, and machine language bit patterns, etc.
  • It enables different implementations of the same architecture
  • One of the disadvantages is that this sometimes prevent additions of new innovations
  • Modern instruction set architectures include 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP.

Concluding Remarks

  • Cost/performance is improving, hierarchical layers of abstraction is in both hardware and software
  • Instruction set architecture is the hardware/software interface.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser