Podcast
Questions and Answers
The progress in computer technology is underpinned by ______'s Law.
The progress in computer technology is underpinned by ______'s Law.
Moore
General-purpose computers with a variety of software are known as ______ computers.
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 ______.
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.
Systems with stringent power/performance/cost constraints and hidden as components are known as ______ computers.
A Battery operated, Internet-connected device costing hundreds of dollars is a ______ Mobile Device (PMD).
A Battery operated, Internet-connected device costing hundreds of dollars is a ______ Mobile Device (PMD).
The concept where a portion of software runs on a PMD and another portion runs in the Cloud relates to ______ computing.
The concept where a portion of software runs on a PMD and another portion runs in the Cloud relates to ______ computing.
Designing electronic systems by anticipating where technology will be when the design finishes is designing for ______'s Law.
Designing electronic systems by anticipating where technology will be when the design finishes is designing for ______'s Law.
Using ______ helps simplifies design by hiding lower-level details to offer a simpler model at higher levels.
Using ______ helps simplifies design by hiding lower-level details to offer a simpler model at higher levels.
Focusing on optimizing performance for the most typical operations refers to making the ______ case fast.
Focusing on optimizing performance for the most typical operations refers to making the ______ case fast.
Achieving better performance through designs that get more performance by performing operations in parallel is called ______.
Achieving better performance through designs that get more performance by performing operations in parallel is called ______.
A particular pattern of parallelism to speed up execution of instructions is called ______.
A particular pattern of parallelism to speed up execution of instructions is called ______.
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..
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..
Organizing memory based on the principle that programmers want memory to be fast, large, and cheap leads to memory ______.
Organizing memory based on the principle that programmers want memory to be fast, large, and cheap leads to memory ______.
Systems are made dependable because any physical device can fail by including ______ components.
Systems are made dependable because any physical device can fail by including ______ components.
[Blank] translates high-level language code to machine code.
[Blank] translates high-level language code to machine code.
The ______ System manages the interactions between hardware and software, including input/output handling and task scheduling.
The ______ System manages the interactions between hardware and software, including input/output handling and task scheduling.
Textual representation of instructions is done with ______ language
Textual representation of instructions is done with ______ language
The component that performs operations on data inside the processor is called the ______.
The component that performs operations on data inside the processor is called the ______.
The component that sequences the datapath and memory is called the ______.
The component that sequences the datapath and memory is called the ______.
[Blank] helps us deal with complexity by hiding lower-level detail.
[Blank] helps us deal with complexity by hiding lower-level detail.
The hardware/software interface is part of the instruction set ______.
The hardware/software interface is part of the instruction set ______.
Communication and resource sharing are possible due to ______.
Communication and resource sharing are possible due to ______.
The memory used for main memory is called Dynamic Random Access Memory (______).
The memory used for main memory is called Dynamic Random Access Memory (______).
A key characteristic of Dynamic Random Access Memory (DRAM) is that it is ______, meaning contents go away when power is lost.
A key characteristic of Dynamic Random Access Memory (DRAM) is that it is ______, meaning contents go away when power is lost.
The memory chosen for cache is called Static Random Access Memory (______).
The memory chosen for cache is called Static Random Access Memory (______).
Two characteristics of SRAM are that it is the choice for cache and much ______ than DRAM, but less dense and more costly.
Two characteristics of SRAM are that it is the choice for cache and much ______ than DRAM, but less dense and more costly.
The choice for secondary memory are ______ disks.
The choice for secondary memory are ______ disks.
A characteristic about magnetic disk is that it is slower and ______, but relatively large.
A characteristic about magnetic disk is that it is slower and ______, but relatively large.
Solid state (Flash) memory is the choice for ______ computers.
Solid state (Flash) memory is the choice for ______ computers.
A characteristic about solid state flash memory, is that it is the choice for embedded computers and ______.
A characteristic about solid state flash memory, is that it is the choice for embedded computers and ______.
The technology that allows tiny areas to transform into conductors, insulators, and switches, is known as ______ technology.
The technology that allows tiny areas to transform into conductors, insulators, and switches, is known as ______ technology.
The proportion of working dies per wafer in manufacturing ICs is the ______.
The proportion of working dies per wafer in manufacturing ICs is the ______.
Instruction Set Architecture + Computer Organization = Computer ______.
Instruction Set Architecture + Computer Organization = Computer ______.
Instruction Set Architecture can be described as WHAT the computer ______.
Instruction Set Architecture can be described as WHAT the computer ______.
Computer Organization can be described as HOW the ISA is ______.
Computer Organization can be described as HOW the ISA is ______.
An very important abstraction is the ______ between hardware and low-level software.
An very important abstraction is the ______ between hardware and low-level software.
The fact that ISA standardizes
instructions is a(n) ______ because it allows different implementations of the same architecture.
The fact that ISA standardizes
instructions is a(n) ______ because it allows different implementations of the same architecture.
Cost/performance is ______ due to underlying technology development.
Cost/performance is ______ due to underlying technology development.
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.
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.
The hardware/______ interface is part of Instruction set architecture.
The hardware/______ interface is part of Instruction set architecture.
Flashcards
Computer Revolution
Computer Revolution
The advancement in computer technology driven by Moore's Law makes various new applications more viable.
Personal Computers
Personal Computers
General-purpose computers with a variety of software, subject to cost/performance tradeoffs.
Server Computers
Server Computers
Computers designed for network use with high capacity, performance, and reliability.
Supercomputers
Supercomputers
Signup and view all the flashcards
Embedded Computers
Embedded Computers
Signup and view all the flashcards
Personal Mobile Device (PMD)
Personal Mobile Device (PMD)
Signup and view all the flashcards
Cloud Computing
Cloud Computing
Signup and view all the flashcards
Algorithm's Role
Algorithm's Role
Signup and view all the flashcards
Language and Architecture
Language and Architecture
Signup and view all the flashcards
Processor and Memory
Processor and Memory
Signup and view all the flashcards
I/O System Impact
I/O System Impact
Signup and view all the flashcards
Design for Moore's Law
Design for Moore's Law
Signup and view all the flashcards
Use Abstraction
Use Abstraction
Signup and view all the flashcards
Common Case Fast
Common Case Fast
Signup and view all the flashcards
Performance via Parallelism
Performance via Parallelism
Signup and view all the flashcards
Performance via Pipelining
Performance via Pipelining
Signup and view all the flashcards
Performance via Prediction
Performance via Prediction
Signup and view all the flashcards
Hierarchy of Memories
Hierarchy of Memories
Signup and view all the flashcards
Dependability via Redundancy
Dependability via Redundancy
Signup and view all the flashcards
Application Software
Application Software
Signup and view all the flashcards
System Software
System Software
Signup and view all the flashcards
Operating System
Operating System
Signup and view all the flashcards
Hardware
Hardware
Signup and view all the flashcards
High-Level Language
High-Level Language
Signup and view all the flashcards
Assembly language
Assembly language
Signup and view all the flashcards
Hardware Representation
Hardware Representation
Signup and view all the flashcards
Components of a Computer
Components of a Computer
Signup and view all the flashcards
Input Output
Input Output
Signup and view all the flashcards
Storage Devices
Storage Devices
Signup and view all the flashcards
Network Adapters
Network Adapters
Signup and view all the flashcards
Touchscreen
Touchscreen
Signup and view all the flashcards
Capacitive Types
Capacitive Types
Signup and view all the flashcards
DRAM
DRAM
Signup and view all the flashcards
SRAM
SRAM
Signup and view all the flashcards
Magnetic Disks
Magnetic Disks
Signup and view all the flashcards
Solid State (Flash) Memory
Solid State (Flash) Memory
Signup and view all the flashcards
Datapath
Datapath
Signup and view all the flashcards
Control
Control
Signup and view all the flashcards
Cache Memory
Cache Memory
Signup and view all the flashcards
Networks
Networks
Signup and view all the flashcards
Instruction Set Architecture
Instruction Set Architecture
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
Technology Trends
- 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.