PCI Express (Peripheral Component Interconnect Express) abbreviated as PCIe or PCI-E, is designed to replace the older PCI, PCI-X, AGP standards. We present a data communication developed system for use the transfer data between the host and the peripheral devices via PCIe. The performance and the available area on the board are effective by using the PCIe. PCIe is a serial expansion bus interconnection method which is use for high speed communication. PCI Express represents the currently fastest and most expensive solution to connect the peripheral devices with general purpose CPU. It provides a highest bandwidth connection in the PC platform. In this paper, we highlight the different types of bus architecture. Here the PCIe architecture is described how data transfer between the CPU to the destination.
This document gives basic information about SCSI and its types and their limitations. It is supportive document for the iSCSI presentation uploaded with this document.
PCI Express (Peripheral Component Interconnect Express) abbreviated as PCIe or PCI-E, is designed to replace the older PCI, PCI-X, AGP standards. We present a data communication developed system for use the transfer data between the host and the peripheral devices via PCIe. The performance and the available area on the board are effective by using the PCIe. PCIe is a serial expansion bus interconnection method which is use for high speed communication. PCI Express represents the currently fastest and most expensive solution to connect the peripheral devices with general purpose CPU. It provides a highest bandwidth connection in the PC platform. In this paper, we highlight the different types of bus architecture. Here the PCIe architecture is described how data transfer between the CPU to the destination.
This document gives basic information about SCSI and its types and their limitations. It is supportive document for the iSCSI presentation uploaded with this document.
Direct Memory Access (DMA)-Working and ImplementationShubham Kumar
DMA is an important functionality of any computing system involving transfer of data from/to an I/O device. In this presentation, a brief description has been provided regarding how the DMA functionality is implemented on a normal PC as well as on an Intel Quark SoC based small Embedded System.Different implementations of the DMA functionality depend on the Controller Hub present on the SouthBridge of the MotherBoard of the respective platform.For example->DMA implementation in Intel ICH7 is different from those in Intel ICH to Intel ICH6. In the slides, "Galileo" refers to the Intel Galileo Board containing Intel Quark SoC. Intel Galileo Board contains Designware DMA controllers." dmatest.c " is a memory-to-memory data transfer test driver implementing DMA. This module is loaded and then memcpy is checked using dmesg. Do take a look at the "External Links and References" given at the end of the PPT.
In this deck from the 2018 Swiss HPC Conference, Alexander Ruebensaal from ABC Systems AG presents: NVMe Takes It All, SCSI Has To Fall.
"NVMe has beome the main focus of storage developments when it comes to latency, bandwidth, IOPS. There is already a broad range of standard products available - server or network based."
Watch the video: https://insidehpc.com/2018/06/video-nvme-takes-scsi-fall/
Learn more: http://www.abcsystems.ch/
and
http://www.hpcadvisorycouncil.com/events/2018/swiss-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Heterogeneous Computing : The Future of SystemsAnand Haridass
Charts from NITK-IBM Computer Systems Research Group (NCSRG)
- Dennard Scaling,Moore's Law, OpenPOWER, Storage Class Memory, FPGA, GPU, CAPI, OpenCAPI, nVidia nvlink, Google Microsoft Heterogeneous system usage
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
2. 550 551
Chapter 22 32-bit EISA Architecture - Evolution
Therefore/ the more straightforward concept is surely the microchannel, which frees itself from because the CPU and EISA bus are supplied by the same clock signal source, and are thus
the old traditions; but because of IBM's restrictive policy/ it has been almost exclusively dedi- running synchronously. The maximum frequency of the EISA bus Is 833 MHz. This clock rate
cated to IBM products up to now. On a BIOS, operating system or application level you don't determines the access of the CPU to all external units. On the other hand, the 1386/1486/
notice whether you are working with an EISA or microchannel PC. Only system programmers Pentium may access the main memory at the full clock frequency (with possible wait states). The
and bit freaks have to deal with their differences. EISA bus buffer provides for a controlled data transfer between the local bus and the EISA bus.
The heart of an EISA bus Is the EISA bus controller. It distinguishes between EISA and ISA bus
cycles, supplies all the required ISA and EISA bus signals, Executes normal and burst cycles, and
carries out the entire bus control operation in the EISA PC. Together with the data swapper, it
The name EISA, as an abbreviation for extended ISA, already indicates the evolutionary con- divides 32-bit quantities into 8- or 16-bit portions for 8- and 16-bit peripherals, or recombines
cept of this 32-bit extension for the AT bus. ISA components may be used in an EISA system such portions into a 32-bit quantity. That is necessary, for example, If you insert a 16-bit ISA
with no alterations. Pure EISA adapters inform the EISA system (by means of the EX32 and adapter into an EISA slot. The EISA maxim of compatibility then requires that the EISA logic
EX16 signals) that they are EISA components with the extended functions which are provided accesses the ISA adapter without any problem.
for EISA. Internally, EISA machines differ drastically from their ISA predecessors In many EISA adapter cards with their own busmaster have a busmaster interface which enables a local
aspects, discussed in the "following sections. Figure 22.1 shows a schematic block diagram of the
CPU (the busmaster) to control the EISA bus. Thus, EISA Is an important step towards a multi-
EISA architecture.
processor environment. Moreover, the arbitration logic and the altered assignment of DMA and
interrupt channels already supports multitasking operating systems on a hardware level. It
would be a pity to waste an i486 or Pentium on DOS alone. Presently, there Is an EISA chip set
8.33 MHz'max.
T |__Divider_ from Intel on the market that Integrates the Interrupt controller, DMA controller, bus arbitrator,
CIc)ck
Geneorator
1 Interrupt Keyboard
timer and the NMI logic ion a single chip: the 82357 ISP'(Integrated system peripheral). The bus
controller is available as the 82358 EBC (EISA bus controller). The EISA bus can carry out
Controller
& • .
Controller
various bus cycles:
DMA Floppy
Controller Controller
TiT'rr"™-. _™ ,, - standard bus cycle,
? n :. Bus RTC - burst cycle,
Arbiter
l< )MOS RAMi
- bus cycle with BCLK stretching, and
CPU
Timer ROM BIOS
- enhanced master burst cycles EMB-66 and EMB-133.
&
0
The standard bus cycle is a normal 1386 bus cycle, at least as far as the course of the participating
NMI Logic
address, data and control signals are concerned. As the EISA bus is running with a bus clock
DRAM
Control Si
EISA EISA Adapter of at most 8.33 MHz, even with slow-clocked 1386 CPUs a lot of CPU wait cycles are necessary.
Bus Buffer ifciii The standard bus cycle requires two BCLK cycles for transferring at most one quantity of 32 bits.
llljU
il lil
llBli
iliiiilliiiiilllii
Data
- •
Illiiiiii liiliil The burst cycle is the same as the I486 burst cycle, but here the bus clock BCLK instead of the
llll
Swapper 1111
111 processor clock PCLK is decisive. A real novelty is the bus cycle with BCLK stretching. The
:
•ill EISA bus controller is able to stretch one half cycle of BCLK to service slower devices at best,
EISA Bus and to restore synchronization with the CPU clock again. Figure 22.2 illustrates this: the CPU
Controller
DRAM
frequency is 25 MHz, and the bus frequency BCLK is generated by dividing by 3, so it is there-
fore 8.33 MHz. A half cycle of BCLK is stretched under two circumstances:
ISA
~ synchronization of the rising BCLK edge with the falling edge of CMD if the busmaster on
EISA Bus
the motherboard addresses an EISA or ISA slave;
- synchronization of the rising BCLK edge with the falling edge of CMD if an ISA master
Figure 22.1: EISA architecture.
addresses an EISA slave.
% stretching BCLK, an EISA or ISA slave can be better Integrated into an EISA system, as with
The clock generator supplies both the CPU and, after division of the frequency in the frequency the AT. The number of clock cycles for slower peripherals Is reduced, and the system through-
divider, the EISA bus with a clock signal Thus the EISA bus Is a synchronous bus system, put is enhanced.
3. 552 Chapter 22 553
32-bit EISA Architecture - Evolution
of as single processor machines. Arbitration in the AT can only be a last resort, therefore. An
efficient and fair arbitration model is not implemented.
On the other hand, for releasing the EISA bus to various busmasters EISA uses an arbitration
model with three levels: DMA/refresh (highest level); CPU/master; other masters (lowest level).
On each level several masters may be present. Within the level concerned the bus is switched
in a rotating order. Refreshing the memory has the highest priority, because a lock of the refresh
by another master would lead to a data loss In DRAM, and therefore to a crash of the whole
system. If the refresh control requests the bus via an arbitration, it always gets control after a
short reaction time period. All other busmasters have to wait until the current refresh cycle is
completed.
EISA busmasters don't have to worry about refreshing the main memory on the motherboard.
This is carried out by a dedicated refresh lock. On the other hand, in the AT the pseudo-ISA
CMD busmasters on an ISA adapter must also control the memory refresh If they are in control of the
bus.
Figure 22.2: BCLK stretching. By means of stretching one half cycle of the bus clock BCLK, the bus clock can be With the EISA busmaster status register, EISA implements the possibility of determining the last
resynchronized with slower operating devices more quickly. active busmaster. This is important, for example, for an NMI handler which, after a time-out
error for the EISA bus, must evaluate which busmaster has operated erroneously. Figure 223
shows the structure of this register. Note that a zero value indicates the slot with the last active
The advance of VLB and PCI is also reflected by the EISA specification. The EISA interest group busmaster.
. has recently defined a new enhanced master burst cycle which should increase the transfer rate
up to 66 Mbytes/s (EMB-66) or even 133 Mbytes/s (EMB-133). To achieve that, a data transfer
is no longer only triggered by the ascending BCLK edge. Additionally, both the ascending and 7 0
1 I 1 1 1 1 1
the descending BCLK edges can issue a data transfer. Thus, the transfer rate is doubled, while Slot Number SL7..SL0
the bus frequency remains unchanged at a maximum of 8.33 MHz for compatibility reasons.
Together with a data bus width of 32 bits, this leads to a transfer rate of 66 Mbytes/s. To reach
SLO . . . SL7: Slot containing the last active busmaster
the mentioned 133 Mbytes/s, additionally the 32~bit address part of the EISA bus is used for the SLx=0: Slot x contains last active busmaster
data transfer, as this part is unused during the data transfer phase in burst mode. Therefore, the
data bus width Increases to 64 bits. Figure 223: EISA busmaster status register (Port 464h).
223 DMA Architecture
22.2 Bus Arbitration
The DMA system has also been improved significantly compared to the AT bus. Not only Is the
A significant advance compared to the ISA bus is bus arbitration. This means that an external complete 32-bit address space available for every DMA transfer (the AT bus allows only 64 or
microprocessor on an EISA adapter card can also completely control the bus, and may therefore 128 kbyte blocks), but three new DMA operation modes with improved data throughput have
access the system's main memory, the hard disk and all other system components on its own, also been Implemented: DMA types A, B and C. The previous mode Is now called the compatible
without the need of support by the CPU. This Is necessary for a powerful multiprocessor mode. In this mode, the addresses are generated at the same clock cycles with an Identical clock
operation if, for example, the 82596 LAN controller wants to access main memory and the hard length, as on the ISA bus (that Is, as was the case with the 8237A).
disk. Such external EISA busmasters can request control of the bus by the EISA MREQ (master
request) signal from the host CPU on the motherboard. The host CPU is the standard busmaster The new EISA DMA operating type A, on the other hand, shortens the memory phase of the
In this case. DMA transfer, but the I/O phase remains equal Thus, one DMA cycle is carried out within six
BCLK cycles, and the maximum data throughput reaches 5.56 Mbytes/s. Most ISA devices can
The release of the bus control to an external busmaster on an adapter card was also possible be operated on an EISA system with type A without causing.a malfunction. With the DMA type
with the AT, but in the AT this takes place via a DMA channel, and a powerful arbitration for B, the I/O cycle also needs less time so that only four BCLK cycles are necessary for one DMA
several external busmasters is Impossible in practice. The PC/XT and AT were only conceived transfer. The data throughput is 8.33 Mbytes/s at the most. Type B Is supported by only a few
4. 554 555
Chapter 22 32-bit EISA Architecture - Evolution
ISA devices. Finally, only EISA devices that support burst cycles are able to follow burst type
7 6 5 4 3 2 1 0
C. Here, one DMA transfer is executed within a single BCLK cycle. With DMA burst type C, Q. a. I ' ' '
DMA transfer rates of up to 33 Mbytes/s can be achieved if the full 32-bit width of the EISA O TIM Width Chnl j
data bus is used. This is the maximum transfer rate for the EISA bus. EISA DMA modes A to
C support an 3-, 16- and 32-bit data transfer. The transfer of data read or data write from/to stop register
STP:
hard disks by means of DMA is again becoming Interesting with EISA. O=clisabled (standard) 1 =enabled
EOP: signal direction of EOP
To address the 32-bit address space two page registers are available with EISA: the low- and O=output for selected channel (standard) 1 =input for selected channel
high-page registers. Their addresses are listed in Table 22.1. The low-page register Is completely TIM: channel timing
compatible with the conventional DMA page register, known from the AT. The high-page Q0=compatibIe mode 01 =type A 10=type B 11 =burst type C
register supplies the high-order address byte A31-A24, and often serves to distinguish ISA and Width: DMA access width
00=8-bit I/O with byte count 01 =16-bit I/O with word count
EISA DMA cycles: if the high-page register Is not initialized In advance of a DMA transfer, an 10=32-bit I/O with byte count 01 =16-bit I/O with byte count
ISA DMA cycle has to be executed which is compatible with the 8237A chip. Once the high-page Chnl: channel select
register has also been initialized, the DMA control is really operating in EISA mode and the 00=channei 0 (4) 01=channe! 1 (5) 1Q=channe!2(6) 11=channeI3 (7)
complete 32-bit address space is available. The EISA DMA chip Increases or decreases the whole
32-bit address. Therefore (theoretically), a complete 4 Gbyte block can be transferred. In 8237A- Figure 22.4: Extended mode register (channels 0-3: port 40bh; channels 4-7: port 4d6h).
compatible mode, on the other hand, only the current address register with a width of 16 bits
Is altered, so that only a 64 or 128 kbyte block can be moved.
Through the STP bit you activate the EISA extension for a DMA buffer structure In the main
Channel Low-page register High-page register memory from where data is sequentially read or stored. Usually this feature Is not used, and
0 87h 487h STP equals 0. The EOP bit determines the direction of the EOP signal for the selected channel
1 83h 483h In the PC/XT/AT, EOP was configured as output. EISA additionally allows EOP from an
2 8ih 481 h external device (for example, a communication interface). The TIM entry defines the transfer
3 82h 482h mode, Width the access width of the DMA channel, and the counting mode. A value of 00b
4 8fh 48fh
5 8bh
corresponds to the 8-bit DMA channels of the PC/XT/AT, and a value of 01b to the 16-bit AT
48bh
6 89h 489h
channels. Thus, for Width = 01b the output address is shifted by one bit to address 16-bit words.
7 8ah 48ah The address generated internally In the word count register Is incremented only by 1 upon each
transfer. Through the shifted address, however, this means an incrementation by 2. On the other
Table 22.1: I/O addresses of EISA page registers
hand, for Width = 10b, the word count register Is Incremented by 2 upon every transfer. Finally,
the DMA controller increments the address by 4 when 32-bit I/O with byte count Is selected.
With EISA the service of the DMA channels is no longer carried out according to a scheme with The two Channel bits determine for which of the eight channels 0-7 the other entries are valid.
fixed priorities, but distributed over three levels. Within each level the channels are allocated
according to a rotating scheme. This avoids the case where one peripheral with a high DMA
priority locks out other devices with lower priorities by frequent DMA requests. This might be 22B4 interrupt Subsystem
possible, for example, If a task services a communications port where external requests are
arriving continuously, but another task with a lower DMA priority accesses the hard disk. The As is the case with ISA, EISA also Implements 15 interrupt levels which are managed by the
frequent requests lock out the task which attempts to read data from the hard disk. Thus the EISA interrupt controller. Table 22.2 lists the typical assignment of these IRQ channels.
more elaborate DMA hierarchy (as compared to the AT) supports multitasking operating systems
where several tasks are competing for the DMA channels - more or less a protection of minorities For compatibility reasons, IRQ2 is occupied by cascading. The EISA Interrupt controller behaves
in the PC. Also, the microchannel follows a similar strategy. in the same way as the two cascaded 8259A PICs in the AT. Thus you have to output a double
EOI to master and slave for the IRQ8-IRQ15 channels to terminate a hardware Interrupt. Unlike
EISA Implements seven DMA channels In total, which may be programmed to serve 8~, 16- or the AT, the Interrupt channels assigned to EISA adapters may also operate with level instead
32-bit devices. The control of channels 0-7 for an ISA»compatible or real EISA transfer Is carried of edge triggering. The level of an IRQ line above a certain threshold level issues an Interrupt
out with the two extended mode registers. They are write-only, and are located at I/O addresses request in this case, and not the rise Itself. It is therefore possible for several sources to share
40bh (channels 0-3) and 4d6h (channels 4-7), respectively. Figure 22.4 shows the structure of an IRQ, If one source Is serviced the corresponding IRQ remains active and shows that a further
these registers.. device on the same IRQ line requests an interrupt. This means that in principle any number of
5. 556 32-bit EISA Architecture - Evolution 557
Chapter 22
Channel Priority Assigned t o interrupt vector also leads to an interrupt Q2h. Writing to the port 462h supplies the processor with an active
IRQO 1
signal externally and, thus, simulates a hardware-issued non-maskable interrupt.
timer 0, internal system clock 08h
IRQ1 2 keyboard 09h
SRQ2 _ cascading according to the Oah
second PIC in the AT 22.5 EISA Timer ar
IRQ3 11 COM2 73h
IRQ4 12 C0M1 74h
1RQ5 13 LPT2
The EISA timer comprises six channels in total, and is equivalent to and register-compatible
75h
IRQ6 14 floppy controller 76h
with two 8254 chips. The first three channels 0-2 are reserved for the internal system clock, the
IRQ? 15 LPT1 77h memory refresh, and tone generation for the speaker, as was the case with the AT. One of the
IRQ8 3 real time clock Obh remaining three timers is used as a failsafe or watchdog timer. Generally, this is timer 3, that
SRQ9 4 unused Och is, counter 0 of the second 8254. It issues an NMI if a certain time period has elapsed. This
IRQ10 5 unused Odh
IRQ11 6
prevents an external busmaster from keeping control of the bus too long and blocking necessary
unused Oeh
IRQ12 7 unused Ofh
interrupts or memory refresh. If an external busmaster keeps control of the EISA bus too long,
IRQ13 8 coprocessor 70h in contradiction to the bus arbitration rules, this indicates a hardware malfunction or the crash
IRQ14 9 hard disk controller 71h of the external busmaster. The failsafe timer then issues an NMI, and the arbitration logic
IRQ15 10 unused 72h returns control to the CPU so that it may service the NMI. You may access the first timer via
Table 22.2: EISA IRQ channels the I/O addresses 40h to 43h, and the second timer through 48h to 4bh.
devices may request an interrupt. Unlike the PC/XT and the AT, a line is no longer reserved 22.6 I/O Address.Space
for a single device. In the case of the three serial interfaces COM1, COM2, COM3, for example,
previously only COM1 and COM2 could issue an interrupt via IRQ4 and IRQ3, while COM3 With EISA, the support and controller chips are also accessed via ports. Table 22.3 lists the new
could only be operated with polling. I/O address areas for EISA. Unlike ISA, the Individual EISA slots, and therefore also the in-
The PIC 8259A in the PC/XT and AT can also operate with level triggering. Upon initialization, serted EISA adapters, can be addressed individually. Internal registers on the EISA adapters
however, you must decide whether all interrupts should be detected by level or edge triggering. therefore have different base addresses lGGG-80G0h. This Is important so that EISA adapters can
An individual choice is not possible there; EISA permits this by means of the control register be automatically configured without DIP switches. The high-order byte of the I/O address is
for level/edge triggering (Figure 22.5). decoded by the I/O address logic of the motherboard, which uses it to drive the expansion slot
I/O address Meaning
CNTRL-1 (IRQ0..IRQ7) CNTRL-2(IRQ8..IRQ15)
7 6 5 4 3 2 10
OOOOh ... OOffh ISA motherboard
7 6 5 4 3 2 10
0100h ... 03ffh ISA expansion adapter
0 0 0400h ... 04ffh reserved for controllers on the EISA motherboard
0800h ... 08ffh reserved for EISA motherboard
OcOOh ... Ocffh reserved for EISA motherboard
!RQx=0: edge triggering IRQx=1: level triggering 1000h ... Ifffh expansion slot 1
2000h ... 2fffh expansion slot 2
Figure 225: Control register for level/edge triggering (IRQ 0-7: port 4d0h; IRQ 8-15: port 4dlh). 3000h ... 3fffh expansion slot 3
4000h ... 4fffh expansion slot 4
5000h ... 5fffh expansion slot 5
Entries for IRQG-IRQ2, IRQ8 and IRQ13 are missing because they refer to devices Integrated on 6000h ... 6fffh expansion slot 6
the motherboard (see Table 22.2). Note that only interrupts that service an EISA device may 7000h ... 7fffh expansion slot 7
8000h ... 8fffh expansion slot 8
operate with level triggering. If you use an ISA adapter, the Interrupt assigned to it must be 9000h ... 9fffh reserved for additional expansion slots**
programmed as edge triggered for compatibility reasons.
' Most EISA PCs have only eight expansion slots.
To complete the picture, I should mention that you can Issue an NMI via software by writing
an arbitrary value to the 8-bit port 462h. Do not confuse that with the INT 02h Instruction which Table 223: EISA port addresses
6. 558
Chapter 22 32-bit EISA Architecture - Evolution 559
concerned. The address decoder on the expansion adapters then only decodes the low-order
address bytes further. Thus/ an ISA adapter which knows only a 10-bit I/O address can also be Register Call value Return walue
inserted into an EISA slot without any problems. AH cJ8h error code1)
2)
AL o1h/81h
CH function (0-n-1)
CL slot (0-63)
[E]SI offset info table 3) offset info tab!e 3)
DS segment info table 3)
segment info table 3)
Carry error if <> 0
With EISA adapter cards the IRQ used/ as well as the DMA channels, are programmable. The 1)
see Table 22.4.
configuration information Is stored in the extended CMOS RAM. EISA specifically extends the 2)
01h=CS with 16-bit addressing; 81h=CS with 32-bit addressing
CMOS RAM by 4 kbytes for this purpose. Special Installation programs provide support when 3)
information table:
configuring the EISA adapters, and automatically write data into the extended EISA CMOS Offset Size Entry
RAM. Typical information Is which I/O ports are used by the adapter, which IRQ and DMA OOh 2 words compressed ID (bits 0..1 and 13-15=character 2, bits 2..6=character 1, bit 7=reserved,
channels are assigned to the adapter, etc. This EISA system information can be retrieved by bits 8..12=character 3, bits 16-19, 20-23, 28-31=first, second and third digit of
means of several functions of INT 15h. They are listed In the following. product number, bits 24..27=revision number)
04h 1 word ID and slot info (bit 7 = 1 : multiple ID present, Bit 6: ID readable, bits 5..4: O0=slot,
01=embedded device, 10=virtual device, 11=reserved, bits 3..0: 0000=no multiple ID,
- INT 15h, Function d8h, Subfunction AL = OOh - Access to EISA System Information, lead 0001=first multiple ID,. . ., 1111=15th multiple ID, bit 8=1/0: EISA ENABLE supported/not
Slot Info supported, bit 9=1/0: EISA IOCHKERR supported/not supported, bits 1O..14=reserved,
bit 15=10: configuration incomplete/complete
06h 1 word revision number of configuration file
This function returns Information pertaining to the adapter In a certain slot.
08h 13 words select (byte O=first select, byte 1=second select, . . ., Byte 25=26th select)
22h 1 byte type of following function info (bit O=type/subtype, bit 1=memory, bit 2=interrupt,
bit 3=DMA, bit 4=port address area, bit 5=port initialization, bit 6=free entry,
Return walue bit 7=1/0: function disabled/enabled)
AH 23h 80 bytes type/subtype as ASCII string
d8h error code1)
AL 73h 63 bytes memory configuration (bit 0=1/0: RAM/ROM, bit 1=1/0: not cachable/cachable,
00h/80h2) vendor byte3)
BH bit 2=reserved, bit 3..4=memory type (00=system, 01=expanded, 10=virtual, 11=else),
utility revision (high)
BL bit 5=1/0: shared/non-shared memory, bit 6=reserved, bit 7=1/0=more entries/last entry,
utility revision (low)
CH bits 8..9=data access size (OO=byte, 01=word, 10=dword, 11 =reserved),
check sum configuration file (MSB) bits 10..11=decode size (00=20, 01=24, 10=32 bits, 1 Preserved), bits 12..15=reserved,
CL Slot (0-63) check sum configuration file (LSB)
DH bits 8-31=memory start address/1 OOh, bits 32-47=memory size/400h;
number of device functions max. eight identical 7-byte entries follow)
DL function information
SI:DI b2h 14 bytes interrupt configuration (bits O..3=interrupt no.. Oh..Ofh, bit 4=reserved, bit 5=1/0:
compressed vendor ID
Carry level/edge triggered, bit 6=1/0=shared/non-shared, bit 7=1/0: more entries/last entry;
error if <> 0
max. six identical 2-byte entries follow)
cOh 4 words DMA configuration (bits O..2=channel no. 0..7, bits 3-5=reserved, bit 6=1/0: shared/non-shared,
2) bit 7=1/0: more entries/last entry, bits 8..9=reserved, bits 10..11=transfer size (00=8,
00h=CS with 16-bit addressing; 80h=CS with 32-bit addressing
01=16, 10=32 bits, 11=reserved), bits 12..13=clocking (00=ISA compatible, O1=type A, 1O=type
•11=burst type C), bits 14..15=reserved; max. three identical 2-byte entries follow)
c8h 60 bytes I/O port info (bits 0..4=number of successive ports minus 1, bit 5=reserved, bit 6=1/0:
Bit 5..4: device/slot type (O0=slot, 01=embedded device, 10=virtual device, 11=reserved)
Bit 3..0: multinlp in (nnnn-™ ™,.I+:~I~ >^ ™«- - • multiple ID, shared/non-shared, bit 7=1/0: more entries/last entry, bits 8..23=port address;
multiple ID, 0001=first
max. 19 identical 3-byte entries follow)
104h 60 bytes initialization info (bits O..1=access type (00=byte, 01=word, 10=dword, 11=reserved), bit 2=1/0:
port write with/without mask, bits 3..6=reserved, bit 7—1/0: more entries/last entry, bits
8..23=port address;
INT 15h, Function d8h, Subfunction .
i - Access to EISA System Information, Read if bit 2=0 (no mask): byte 3 or bytes 3..4 or bytes 3..6=value;
Function Info if bit 2=1 (mask): byte 4 or bytes 5..6 or bytes 7..10=mask;
max. seven identical 4-byte, 5-byte, 7-byte or 11-byte entries follow)
This function returns 320 information bytes in an info table pertaining to the indicated function or after the first 115 bytes (free entry):
073h 205 bytes 205 free data bytes
in a certain slot. The calling program must provide a sufficiently large buffer for the info table.
7. 560 Chapter 22 561
32-bit EISA Architecture - Evolution
- INT 15h, Function d8h, Subfunction AL = 02h - Access to EISA System Information, Erase
Configuration RAM Error code Meaning
OOh no error
This function erases the CMOS RAM by writing a value of 0 to all addresses. invalid slot number
80h
81h invalid function number
Register Call value Return value 82h extended CMOS RAM damaged
83h slot doesn't contain any adapter
AH d8h error code1)
84h error upon writing into extended CMOS RAM
AL 02h/82h2)
85h CMOS RMA full
BH utility revision (high)
86h invalid BIOS call
BL utility revision (low)
87h invalid system configuration
Carry error if <> 0
1)
Table 22A: Error codes for INT 15h, function d8h
see Table 22.4
2)
02h=CS with 16-bit addressing; 88h=CS with 32-bit addressing
- INT 15h, Function d8h, Subfunction AL = 03h - Access to EISA System Information, Write
22.8 EISA Adapters and Automatic Configuration
Configuration
On EISA adapters you will look in vain for DIP switches, which sometimes made configuring
This function writes configuration values from a table of the calling program into the CMOS ISA adapters appear like gambling, with an unpredictable result. EISA solves the configuration
RAM. Additionally, a new checksum is calculated and written to the appropriate location, problem much more efficiently: every EISA adapter comes with a floppy disk holding a configu-
although you must also specify a correct value. The function must be called successively for ration file (CFG). The CFG stores the system elements of the EISA PC used, such as, for example,
every slot present in the system, even if no adapter is installed (the passed values must be set the assigned IRQ and DMA channels. This information is used by a configuration utility which
to 0). is delivered together with each EISA PC to configure both the adapter and PC correctly. Addi-
tionally, the utility is intelligent enough to detect access conflicts and to react appropriately.
Register Call value Return value Examples of this are address conflicts between two adapters whose address areas overlap, at
AH d8h error code1) least partially. This may occur with interfaces whose register addresses are equal, or with ident-
AL 03h ical ROM base addresses of the SCSI host and VGA graphics adapters. Such address conflicts
CX byte length of table are the main reason why an AT refuses to run after installing and configuring the brand-new
[E]SI offset of table2) VGA adapter.
DS segment of table2)
Carry error if <> 0 The CFG file was part of the EISA concept from the start. All the firms involved in EISA agreed
1)
to a standard for the file format, so incompatibilities do not arise here. The name of every CFG
see Table 22.4
2)
file must obey the following rule: fhhhpppp.CFG; where hhh is an abbreviation for the manu-
information table (the structure of the individual entries is the same as that of the information table of subfunction
01 h):
facturer, and pppp is a product identification. The CFG files themselves are pure ASCII files,
Size Entry and use a language with strictly defined commands that recall the CONFIG.SYS of MS-DOS.
2 words compressed ID Examples of CFG commands are: NAME = ???, SWT=???, BUSMASTER = value?, COMMENTS
1 word ID and slot info = text. Manufacturers can determine all the important parameters for their EISA adapters by
1 word revision number of configuration file using the CFG commands, so that the configuration utility need only read the CFG file to
1 word function length (this entry and the checksum do not contribute to the function length!)
2-26 bytes select
configure the EISA PC correctly with details of the newly Installed adapter. The user does not
1 byte type of function info need detailed knowledge of occupied addresses, DMA channels, etc. and the typical cow-at-a-
2-80 bytes type/subtype as ASCII string five-barred-gate feeling of untrained users can thus be avoided. The configuration data is stored
7-63 bytes memory configuration in the extended CMOS RAM, and the EISA PC boots without additional configuration next time.
2-14 bytes interrupt configuration If the configuration data in the CMOS RAM gets lost, for example, through a battery power-
1-4 words DMA configuration
3-60 bytes I/O port info
break, then you need simply start the configuration utility and reconfigure the system again
4-60 bytes initialization info using the CFG files for all installed adapters.
1 word checksum
or after the first 115 bytes (free entry):
Besides the CFG files, EISA has another concept for supporting configuration, the so-called
205 bytes 205 free data bytes overlay files (OVL). They supplement the configuration language on the level of the configuration
utility, and contain instructions In a format that looks like a mixture of C and Assembler. By