SlideShare a Scribd company logo
1 of 24
Keshava G N
Member – Technical (Software)
Topics
 Introduction: What is PCI bus?
 Introduction: What is PCI Express?
 Difference between PCI and PCI Express
 PCI Express: Architecture
 PCI Express: Hardware basics
 PCI Express: Configuration Space
 PCI Express: Memory mapping
 PCI Express: WEC7 driver basics
What is PCI bus?
Peripheral Component Interconnect (PCI) is a type of computer bus for attaching
hardware devices/peripherals in a computer.
It is a parallel bus, and devices connected to the PCI bus appear to a bus master to be
connected directly to its own bus.
PCI is used to connect computer
peripherals such as Graphic cards,
sound cards, network cards (Wi-Fi /
Ethernet), USB ports etc.
What is PCI bus?
PCI bus specifications were introduced by
Intel In July 1993.
It provides direct access to system
memory for connected devices.
PCI bus supports fixed width 32 bits, and
maximum of 5 devices can be connected.
PCI operated at 33 MHz using a 32-bit-
wide path.
Revisions to the standard include
increasing the speed from 33 MHz to 66
MHz and doubling the bit count to 64.
What is PCI bus?
PCI achieved popularity after the arrival of Windows 95 (in 1995).
This is due to the fact that Windows95 supported a feature called Plug and Play
(PnP).
Intel created the PnP standard and incorporated it into the design for PCI.
PCI-X:
PCI-X is extended version of PCI.
PCI-X provides for 64-bit transfers at a
speed of 133 MHz.
What is PCI Express?
PCI Express (Peripheral Component Interconnect Express), abbreviated as PCIe,
is a high-speed serial computer expansion bus standard designed to replace the older PCI
and PCI-X bus standards.
PCIe is having many improvements over the
older PCI/PCI-X such as:
Developed by Intel in 2004.
PCI Express is a serial interface, unlike PCI and PCI-X, which are parallel
interfaces.
Higher maximum system bus throughput, lower I/O pin count, smaller physical
footprint, better performance-scaling for bus devices, a more detailed error detection
and reporting mechanism (Advanced Error Reporting (AER)).
What are the differences between PCI
and PCI Express?
PCI PCI Express
Parallel Bus Serial Bus
Speed is 133MB/s to 533 MB/s Speed is 250 MB/s to several GB/s per
lane
Maximum of 5 End point devices can
be connected
Maximum of 32 devices can be
connected on each bus
Shared bus topology Point-to-point bus/
Shared switch topology
Hot plugging functionality is not
available
Hot plugging is supported
What are the differences between PCI
and PCI Express?
Difference in topology:
PCI : Parallel PCI Express: Serial
PCI Express Architecture
PCI Express Architecture
PCIe Root Complex:
In a PCI Express system, a root complex device connects the processor (and memory
subsystem) to the PCI Express End point devices or switch devices.
A root complex can be connected a maximum of 32 devices (Either end point device or
switch.)
The root complex generates transaction requests on behalf of the processor, which is
interconnected through a local bus.
Root complex functionality may be implemented as a discrete device, or may be
integrated with the processor.
PCI Express Architecture
PCIe End point device:
Endpoints are devices other than root complex and switches that are requesters or completers
of PCI Express transactions.
They are peripheral devices such as Ethernet, USB or graphics devices. Endpoints initiate
transactions as a requester or respond to transactions as a completer.
End point device will be connected to either root complex or switch.
Two types of endpoints exist, PCI Express (Native) endpoints and legacy
endpoints.
Some PCIe End point devices
Wi-Fi card Ethernet card Graphic card
USB ports
Audio card
PCI Express Architecture
PCIe Switch:
In a PCI Express system, a PCIe switch a device, which allows connection to multiple
end point devices.
Since PCI Express is a point-to-point serial interconnect standard, it requires a switch
to connect a single PCI express port from a processor to multiple end-points.
A PCIe switch will be connected to either root complex or another switch.
PCI Express Architecture
PCIe Bridges:
PCI Express bridges allow devices with other standards to be used in systems that need
to interoperate with PCI Express.
These bridges facilitate connection back to conventional PCI/PCI-X buses.
Applications using these bridge devices include servers, storage host bus adapters,
graphics, TV tuners and security systems.
PCI Express Architecture
Each end point device is identified by the combination of bus number, device number
and function number.
Function number:
PCI Express devices may support up to 8 functions per endpoint with at least one
function being number 0.
Device number:
Each bus can support up to 32 PCIe devices, which can be either switch or end point
device.
Bus number:
A system could theoretically include up to 256 buses. (Also called Links)
PCI Express Architecture
Bus numbering
PCI Express Architecture
A Port is the interface between a PCI Express component and the bus, and
consists of differential transmitters and receivers.
An Upstream Port is a port that points in the direction of the root complex.
A Downstream Port is a port that points away from the root complex.
An endpoint port is therefore, by definition, always an upstream port, and A
root complex port(s) is a downstream port.
PCI Express Lanes
The PCIe link between two devices can
consist of anywhere from 1 to 32 lanes.
These are differentiated as x1, x2, x4, x8,
x16 and x32 PCIe links (and PCIe
connectors).
Each lane consists on two pair of wires,
one pair for receiving data, and another for
transmitting.
Each lane carries data of 1 bit/cycle.
So, transfer rate increases as number of
lanes increases.
PCI Express Connectors (PCIe Slots)
PCIe slot can be of types: x1, x2, x4,
x8, x16 or x32.
A connector of type x1 can be
connected in x2 slot, but the reverse is
not possible.
PCIe Configuration space
 Software model of PCIe is same as older PCI/PCI-X.
 So there will be no difference in the bus driver software model.
 The PCI Express configuration model supports two mechanisms:
The PCI compatible configuration model, which is 100% compatible with old
PCI/PCI-X drivers and bus enumeration and configuration software for PCI/PCI-
X systems.
The PCI Express enhanced configuration mechanism which provides access to
additional configuration space beyond the first 256 Bytes, up to 4Kbytes per
function.
 Enhanced configuration
contains the data that are
additional features for PCIe.
E.g: Link training (Linkup
detection)
 Configuration space will be
according to PCIe v2.1.
Example is as shown:
PCIe Memory mapping
 Memory mapping for PCIe has 3 main parts:
1.Config space
2.Memory space
3.I/O space
Config space may also contain all the PCIe
controller registers
(e.g. :Freescale’s iMX6Q)
Memory and I/O space of each device is
mapped into the respective memory areas on
RAM.
WEC7 PCIe driver
 WEC7 PCIe driver mainly has 2
parts:
1.PCI bus driver (Provided by
Microsoft)
2.OAL PCIe configurations (Contains
PCIInit, PCIWriteCfg and
PCIReadCFg)
 These functions used by PCI bus
driver for all PCIe operations.
WEC7 PCI Bus driver
 PCI bus driver which is available with WEC7 installation in /public folder.
 The driver flow is as follows:
Enumerate PCI bus
(Read cfg data including
VendorID and Device ID)
Configure PCI bus memory
mapping
(Allocate memory/IO
space for PCIe devices)
Launch the PCIe EP driver
(Compare Vid & Pid with
registry entries, and
launch corresponding
EPDriver.dll)
THANK YOU

More Related Content

What's hot

Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI ExpressSubhash Iyer
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIeJin Wu
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_FinalGopi Krishnamurthy
 
Difference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIeDifference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIeSUNODH GARLAPATI
 
SCSI Protocol
SCSI ProtocolSCSI Protocol
SCSI ProtocolRakesh T
 
Revisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIORevisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIOHisaki Ohara
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Deepak Shankar
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogicAleem Shariff
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled InterruptsAnshuman Biswal
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingDVClub
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0Azad Mishra
 
Design And Verification of AMBA APB Protocol
Design And Verification of AMBA APB ProtocolDesign And Verification of AMBA APB Protocol
Design And Verification of AMBA APB ProtocolIJERA Editor
 

What's hot (20)

Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI Express
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
Pc ie tl_layer (3)
Pc ie tl_layer (3)Pc ie tl_layer (3)
Pc ie tl_layer (3)
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
03_03_Implementing_PCIe_ATS_in_ARM-based_SoCs_Final
 
Difference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIeDifference between PCI PCI-X PCIe
Difference between PCI PCI-X PCIe
 
SCSI Protocol
SCSI ProtocolSCSI Protocol
SCSI Protocol
 
Revisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIORevisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIO
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
 
AMBA 2.0 PPT
AMBA 2.0 PPTAMBA 2.0 PPT
AMBA 2.0 PPT
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled Interrupts
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
 
Apb
ApbApb
Apb
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
Design And Verification of AMBA APB Protocol
Design And Verification of AMBA APB ProtocolDesign And Verification of AMBA APB Protocol
Design And Verification of AMBA APB Protocol
 
axi protocol
axi protocolaxi protocol
axi protocol
 

Similar to PCIe and PCIe driver in WEC7 (Windows Embedded compact 7)

PCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewPCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewIOSRJVSP
 
PCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdfPCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdfzahixdd
 
Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Busesaskme
 
pciexpress-200220095945.pdf
pciexpress-200220095945.pdfpciexpress-200220095945.pdf
pciexpress-200220095945.pdfzahixdd
 
P C I L O C A L B U S
P C I  L O C A L  B U S P C I  L O C A L  B U S
P C I L O C A L B U S jainfu2
 
Motherboard components and their functions
Motherboard components and their functionsMotherboard components and their functions
Motherboard components and their functionsAbdullah-Al- Mahmud
 
Bus Standards and Networking
Bus Standards and NetworkingBus Standards and Networking
Bus Standards and NetworkingPrabu U
 
Bus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based SystemsBus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based SystemsMurtadha Alsabbagh
 
All chapters to be printed
All chapters to be printedAll chapters to be printed
All chapters to be printedMik Endale
 
Hyper Transport Technology
Hyper Transport TechnologyHyper Transport Technology
Hyper Transport Technologynayakslideshare
 

Similar to PCIe and PCIe driver in WEC7 (Windows Embedded compact 7) (20)

PCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewPCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-Review
 
Bus & Interface
Bus & InterfaceBus & Interface
Bus & Interface
 
PCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdfPCI_Express_Basics_Background.pdf
PCI_Express_Basics_Background.pdf
 
Pc interface
Pc interfacePc interface
Pc interface
 
Chapter 6: Expansion Buses
Chapter 6: Expansion BusesChapter 6: Expansion Buses
Chapter 6: Expansion Buses
 
pciexpress-200220095945.pdf
pciexpress-200220095945.pdfpciexpress-200220095945.pdf
pciexpress-200220095945.pdf
 
Chap1 expan slots
Chap1 expan slotsChap1 expan slots
Chap1 expan slots
 
P C I L O C A L B U S
P C I  L O C A L  B U S P C I  L O C A L  B U S
P C I L O C A L B U S
 
Slots Presentation
Slots PresentationSlots Presentation
Slots Presentation
 
Motherboard components and their functions
Motherboard components and their functionsMotherboard components and their functions
Motherboard components and their functions
 
Bus Standards and Networking
Bus Standards and NetworkingBus Standards and Networking
Bus Standards and Networking
 
Types Of Buses
Types Of BusesTypes Of Buses
Types Of Buses
 
Bus
BusBus
Bus
 
Mother board
Mother boardMother board
Mother board
 
Pci
PciPci
Pci
 
Bus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based SystemsBus Interfacing with Intel Microprocessors Based Systems
Bus Interfacing with Intel Microprocessors Based Systems
 
Bus
BusBus
Bus
 
PCI.pdf
PCI.pdfPCI.pdf
PCI.pdf
 
All chapters to be printed
All chapters to be printedAll chapters to be printed
All chapters to be printed
 
Hyper Transport Technology
Hyper Transport TechnologyHyper Transport Technology
Hyper Transport Technology
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

PCIe and PCIe driver in WEC7 (Windows Embedded compact 7)

  • 1. Keshava G N Member – Technical (Software)
  • 2. Topics  Introduction: What is PCI bus?  Introduction: What is PCI Express?  Difference between PCI and PCI Express  PCI Express: Architecture  PCI Express: Hardware basics  PCI Express: Configuration Space  PCI Express: Memory mapping  PCI Express: WEC7 driver basics
  • 3. What is PCI bus? Peripheral Component Interconnect (PCI) is a type of computer bus for attaching hardware devices/peripherals in a computer. It is a parallel bus, and devices connected to the PCI bus appear to a bus master to be connected directly to its own bus. PCI is used to connect computer peripherals such as Graphic cards, sound cards, network cards (Wi-Fi / Ethernet), USB ports etc.
  • 4. What is PCI bus? PCI bus specifications were introduced by Intel In July 1993. It provides direct access to system memory for connected devices. PCI bus supports fixed width 32 bits, and maximum of 5 devices can be connected. PCI operated at 33 MHz using a 32-bit- wide path. Revisions to the standard include increasing the speed from 33 MHz to 66 MHz and doubling the bit count to 64.
  • 5. What is PCI bus? PCI achieved popularity after the arrival of Windows 95 (in 1995). This is due to the fact that Windows95 supported a feature called Plug and Play (PnP). Intel created the PnP standard and incorporated it into the design for PCI. PCI-X: PCI-X is extended version of PCI. PCI-X provides for 64-bit transfers at a speed of 133 MHz.
  • 6. What is PCI Express? PCI Express (Peripheral Component Interconnect Express), abbreviated as PCIe, is a high-speed serial computer expansion bus standard designed to replace the older PCI and PCI-X bus standards. PCIe is having many improvements over the older PCI/PCI-X such as: Developed by Intel in 2004. PCI Express is a serial interface, unlike PCI and PCI-X, which are parallel interfaces. Higher maximum system bus throughput, lower I/O pin count, smaller physical footprint, better performance-scaling for bus devices, a more detailed error detection and reporting mechanism (Advanced Error Reporting (AER)).
  • 7. What are the differences between PCI and PCI Express? PCI PCI Express Parallel Bus Serial Bus Speed is 133MB/s to 533 MB/s Speed is 250 MB/s to several GB/s per lane Maximum of 5 End point devices can be connected Maximum of 32 devices can be connected on each bus Shared bus topology Point-to-point bus/ Shared switch topology Hot plugging functionality is not available Hot plugging is supported
  • 8. What are the differences between PCI and PCI Express? Difference in topology: PCI : Parallel PCI Express: Serial
  • 10. PCI Express Architecture PCIe Root Complex: In a PCI Express system, a root complex device connects the processor (and memory subsystem) to the PCI Express End point devices or switch devices. A root complex can be connected a maximum of 32 devices (Either end point device or switch.) The root complex generates transaction requests on behalf of the processor, which is interconnected through a local bus. Root complex functionality may be implemented as a discrete device, or may be integrated with the processor.
  • 11. PCI Express Architecture PCIe End point device: Endpoints are devices other than root complex and switches that are requesters or completers of PCI Express transactions. They are peripheral devices such as Ethernet, USB or graphics devices. Endpoints initiate transactions as a requester or respond to transactions as a completer. End point device will be connected to either root complex or switch. Two types of endpoints exist, PCI Express (Native) endpoints and legacy endpoints.
  • 12. Some PCIe End point devices Wi-Fi card Ethernet card Graphic card USB ports Audio card
  • 13. PCI Express Architecture PCIe Switch: In a PCI Express system, a PCIe switch a device, which allows connection to multiple end point devices. Since PCI Express is a point-to-point serial interconnect standard, it requires a switch to connect a single PCI express port from a processor to multiple end-points. A PCIe switch will be connected to either root complex or another switch.
  • 14. PCI Express Architecture PCIe Bridges: PCI Express bridges allow devices with other standards to be used in systems that need to interoperate with PCI Express. These bridges facilitate connection back to conventional PCI/PCI-X buses. Applications using these bridge devices include servers, storage host bus adapters, graphics, TV tuners and security systems.
  • 15. PCI Express Architecture Each end point device is identified by the combination of bus number, device number and function number. Function number: PCI Express devices may support up to 8 functions per endpoint with at least one function being number 0. Device number: Each bus can support up to 32 PCIe devices, which can be either switch or end point device. Bus number: A system could theoretically include up to 256 buses. (Also called Links)
  • 17. PCI Express Architecture A Port is the interface between a PCI Express component and the bus, and consists of differential transmitters and receivers. An Upstream Port is a port that points in the direction of the root complex. A Downstream Port is a port that points away from the root complex. An endpoint port is therefore, by definition, always an upstream port, and A root complex port(s) is a downstream port.
  • 18. PCI Express Lanes The PCIe link between two devices can consist of anywhere from 1 to 32 lanes. These are differentiated as x1, x2, x4, x8, x16 and x32 PCIe links (and PCIe connectors). Each lane consists on two pair of wires, one pair for receiving data, and another for transmitting. Each lane carries data of 1 bit/cycle. So, transfer rate increases as number of lanes increases.
  • 19. PCI Express Connectors (PCIe Slots) PCIe slot can be of types: x1, x2, x4, x8, x16 or x32. A connector of type x1 can be connected in x2 slot, but the reverse is not possible.
  • 20. PCIe Configuration space  Software model of PCIe is same as older PCI/PCI-X.  So there will be no difference in the bus driver software model.  The PCI Express configuration model supports two mechanisms: The PCI compatible configuration model, which is 100% compatible with old PCI/PCI-X drivers and bus enumeration and configuration software for PCI/PCI- X systems. The PCI Express enhanced configuration mechanism which provides access to additional configuration space beyond the first 256 Bytes, up to 4Kbytes per function.  Enhanced configuration contains the data that are additional features for PCIe. E.g: Link training (Linkup detection)  Configuration space will be according to PCIe v2.1. Example is as shown:
  • 21. PCIe Memory mapping  Memory mapping for PCIe has 3 main parts: 1.Config space 2.Memory space 3.I/O space Config space may also contain all the PCIe controller registers (e.g. :Freescale’s iMX6Q) Memory and I/O space of each device is mapped into the respective memory areas on RAM.
  • 22. WEC7 PCIe driver  WEC7 PCIe driver mainly has 2 parts: 1.PCI bus driver (Provided by Microsoft) 2.OAL PCIe configurations (Contains PCIInit, PCIWriteCfg and PCIReadCFg)  These functions used by PCI bus driver for all PCIe operations.
  • 23. WEC7 PCI Bus driver  PCI bus driver which is available with WEC7 installation in /public folder.  The driver flow is as follows: Enumerate PCI bus (Read cfg data including VendorID and Device ID) Configure PCI bus memory mapping (Allocate memory/IO space for PCIe devices) Launch the PCIe EP driver (Compare Vid & Pid with registry entries, and launch corresponding EPDriver.dll)