Current Processor Design

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Memory Management Unit
1/1/ / faculty of Electrical Engineering eindhoven university of technology Memory Management and Protection Part 3:Virtual memory, mode switching,
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
AMD OPTERON ARCHITECTURE Omar Aragon Abdel Salam Sayyad This presentation is missing the references used.
Prof. Muhammad Saeed I. 1/27/2015 Computer Architecture & Assembly Language 2.
Computer Organization and Assembly Languages Yung-Yu Chuang
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Unit 4 Chapter-1 Multitasking. The Task State Segment.
Intel MP.
Computer Organization and Architecture
CS-334: Computer Architecture
IA-32 Processor Architecture
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Vacuum tubes Transistor 1948 ICs 1960s Microprocessors 1970s.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
7/23 Coldfire Exceptions and Interrupts Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Vacuum tubes Transistor 1948 –Smaller, Cheaper, Less heat dissipation, Made from Silicon (Sand) –Invented at Bell Labs –Shockley, Brittain, Bardeen ICs.
CS2422 Assembly Language & System Programming September 22, 2005.
Introduction to Interrupts
Memory: Virtual MemoryCSCE430/830 Memory Hierarchy: Virtual Memory CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
CPU Chips The logical pinout of a generic CPU. The arrows indicate input signals and output signals. The short diagonal lines indicate that multiple pins.
Lect 13-1 Lect 13: and Pentium. Lect Microprocessor Family  Microprocessor  Introduced in 1989  High Integration  On-chip 8K.
INPUT-OUTPUT ORGANIZATION
CS-334: Computer Architecture
Intel IA32 OS Support -Refresh
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
The Pentium Processor.
The Pentium Processor Chapter 3 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
CS 6560 Operating System Design Lecture 8: Memory Management.
EEE440 Computer Architecture
Computer Organization & Assembly Language © by DR. M. Amer.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Virtual 8086 Mode  The supports execution of one or more 8086, 8088, 80186, or programs in an protected-mode environment.  An 8086.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Lecture 2. General-Purpose Computer Systems Prof. Taeweon Suh Computer Science Education Korea University ECM586 Special Topics in Embedded Systems.
Chapter Overview General Concepts IA-32 Processor Architecture
Protection in Virtual Mode
MICROPROCESSOR BASED SYSTEM DESIGN
Microprocessor and Assembly Language
Microprocessor Systems Design I
x86 Processor Architecture
Anton Burtsev February, 2017
CS 286 Computer Organization and Architecture
Quark SOC and Galileo Architecture (ESP – Fall 2014)
Microprocessor & Assembly Language
Today’s agenda Hardware architecture and runtime system
Architectural Support for OS
CNET 315 Microprocessor & Assembly Language
CSC3050 – Computer Architecture
Architectural Support for OS
First Generation 32–Bit microprocessor
Assembly Language for Intel-Based Computers, 5th Edition
Presentation transcript:

Quark SOC and Galileo Architecture (ESP – Fall 2014) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480) 727-7507

Current Processor Design Moore’s law continues to hold true, transistor counts doubling every 18 months But can no longer rely upon increasing clock rates and instruction-level parallelism to meet computing performance demands Semiconductor device fabrication process 65 nm – 2006, 45 nm – 2008, 32 nm – 2010, and 22 nm – 2012 How to best exploit ever-increasing on-chip transistor counts? Multi- & many-core (MC) devices are new technology wave exploiting explicit parallelism in the new devices Size and Power constraints

Intel Processors X86 32/64 architecture Processors for Differences 486 – first pipelined x86 design Pentium – the first x86 superscalar CPU Processors for Server (Xeon), desktop (Core i3/i5/i7), mobile (Core i3/i5/i7), and embedded (Atom) All of them support hypervisor (VM) Differences CPUs, memory, and interconnection bandwidth reliability (quality of dies) and form factor power and thermal requirements Uses available clock cycles and power, not to push up higher clock speeds and energy needs

Galileo Board 400MHz Quark SoC 256MB DDR3 Ethernet USB Host Port MicroSD Support I2C, SPI Support PCI Express Mini Cards Serial Connectivity GPIO Linux on Board Source: http://www.intel.com/content/www/us/en/intelligent-systems/galileo/galileo-overview.html

Intel Quark SoC X1000. SOC – Chip size, power and pins CPU core (x86) cache, internal memory (flash, SRAM) IO interfaces and external buses interconnection or switches misc (clock, JTAG) Chip size, power and pins 32nm process in 1st Quark one-fifth the size and one-tenth the power of low-end Atom chip 393 solder balls on 15mm2 5 power rails (3.3V, 1.8V, 1.5V, 1.05V, 1.0V)

Pins in Quark In Galileo schematics Example: High Speed UART Interface, SIU1_RDX SIU1_TXD Six different power states S0 – the system is completely powered ON and fully operational S5 – the system is completely powered OFF S1, S2, S3 and S4 – sleeping states, the system appears OFF because of low power consumption and retains enough of the hardware context to return to the working state In Galileo schematics Default Buffer State Signal Name Dir Term Power Type S4/S5 S3 Reset Enter S0 SIU0_RXD I 20k(H) 3.3V CMOS3.3 Off Pull-up SIU0_TXD O - VOH

Quark Core Internal Architecture 32-bit RISC integer core Single cycle execution Instruction pipelining Floating-point unit Cache with cache consistency support (16-Kbyte for both data and instructions) Memory management unit

486 Pipeline

IO Expander and GPIO Multiplexing CY8C9540A – I2C interfaced expander with 40 I/O data pins (ports 0-5) independently configurable as inputs, outputs, bi-directional input/outputs, or PWM outputs To configure a pin an I2C control message to the chip which includes a register address

X86 ISA Data Representations Little-endian byte ordering in memory Words, doublewords, and quadwords do not need to be aligned in memory on natural boundaries. 2 memory accesses for an unaligned memory access aligned accesses require only one Unsigned integer, signed (two's complement) FP, string of bits, bytes, .. etc. SIMD packed data Pointer Near Far (logical)

Memory Model Flat memory model – a single, continuous linear address space of 232 bytes Segmented model – a logical address consisting of a segment selector and an offset Real-address mode – for 8086, 16 segments of 64K Linear address space  (paging) physical space

Modes of Operation Protected mode (32 bits address) native mode (Windows, Linux), full features, separate memory virtual-8086 mode Real-address mode (20 bits address) the programming environment of the Intel 8086 processor with extensions native MS-DOS System management mode power management, system security, diagnostics IA-32e (Intel 64 architecture) Compatibility mode – similar to 32-bit protected mode 64-bit mode – 16 64-bit general purpose registers default address size is 64 bits and its default operand size is 32 bits.

Programmer’s model

Protected Mode Memory Management Use segment descriptor to protect memory accesses Each program has a descriptor table to map segments allow shared segments Memory access checks Limit, type, privilege level checks. Restrictions of addressable domain, procedure entry-points, and instruction set.

Virtual Memory and Paging uses disk as part of the memory, thus allowing sum of all programs can be larger than physical memory Only part of a program must be kept in memory, while the remaining parts are kept on disk. The memory used by the program is divided into small units called pages (4096-byte). OS maintains page directory and page tables Page translation: CPU converts the linear address into a physical address Page fault: occurs when a needed page is not in memory, and the CPU interrupts the program Virtual memory manager (VMM) – OS utility that manages the loading and unloading of pages

Page Translation A linear address is divided into a page directory field, page table field, and page frame offset. The CPU uses all three to calculate the physical address.

Interrupt and Exception an asynchronous event that is typically triggered by an I/O device. Exception a synchronous event that is generated when the processor detects one or more predefined conditions while executing an instruction. three classes of exceptions: faults, traps, and aborts. 18 predefined interrupts and exceptions and 224 user defined interrupts Access handler procedures through entries in the interrupt descriptor table (IDT) A call to a handler procedure is similar to a procedure call to another protection level

Interrupt and Exception Interrupt vector references an interrupt gate (interrupt enable (IF) flag in the EFLAGS register is cleared) a trap gate Gate contains access rights information segment selector for the code segment of the handler procedure an offset into the code segment to entry point of the handler procedure

Interrupt and APIC Interrupt in 8086 APIC Two pins: NMI and INTR Interrupt Acknowledge Cycle to fetch the interrupt vector number from 8259 APIC In Pentium and P6 processors Receives interrupts and send to core for handling APIC bus: bi-directional data signals (APICD[1:0]) and clock (APICCLK) Inter-processor interrupt messages for multi-processor systems static and dynamic (based on the priority of executing tasks) distribution

Interrupt Handling IO APIC delivers interrupt message to local APIC Programmable vector number for each interrupt source Implied priority based on vector number local APIC determines when to service the interrupt relative to the other activities of the processor priority = vector / 16 Locate gate from IDT Far call to the handler (SS, ESP), EFLAGS, CS, EIP, and Error code are saved in stack

Hardware Initialization and Reset Reset processor state EIP=0000FFF0H, CS=F000H(segment) and FFFF0000H (base) Disable paging, cache, and in real-address mode Execute the first instruction at physical address FFFFFFF0H. The EPROM containing the software initialization code or BIOS should be located at the upper memory space (including this address) Run in real-mode, invalidate the TLBs, set up a GDT for selector 0x08 (code) and 0x10 (data), switch to protected mode Start other components on motherboard (FPU, APIC, southbridge, etc.)

Typical x86 System Architecture Processor Host Bus (PSB) 100/133/200MHz 64-bit HubLink Bus PCI Bus 33 MHz 32-bit AGP Bus System Memory Audio USB LAN IDE Keybrd Mouse Floppy Serial Parallel Clock Gen Host Clock PCI Clock USB Clock Hublink Clock LPC Bus SM Bus CNR SIO South Bridge (ICH) North Bridge (MCH) FWH Chipset North Bridge South Bridge Firmware Hub Various chipsets available from Intel to meet performance requirements FSB, DMI/Hub interface System control hub (SCH) – GMCH and ICH are merged into one chip

Host Bridge in Quark A central hub that routes transactions to and from Quark CPU core, DRAM controller, and other functional blocks. CPU core  PCI devices via MMIO and IO accesses