Datapath Vision Features | |
Ranging from 4K capture, to small profile cards, Datapath have a solution to meet all requirements. Vision FeaturesDatapath's Vision range of capture cards provide high performance features which allow for unparalleled flexibility and use in a wide variety of applications. | |
Datapath Vision SC Range | |
Datapath VisionSC-DP2 | |
The VisionSC-DP2 provides the ability to simultaneously capture 4K, Ultra-High Definition, video feeds each at 60 frames per second. | |
Datapath VisionSC-SDI4 | |
Developed for capturing multiple High Definition SDI video signals, the VisionSC-SDI4 is the perfect solution for AV professionals looking to capture from multiple SDI sources. | |
Datapath VisionSC-HD4+ | |
Datapath’s VisionSC-HD4+ audio video capture card provides an outstanding powerful solution for multiple HDMI or DVI video captures with support for HDCP. | |
Datapath VisionAV Range | |
Datapath VisionAV-SDI | |
The VisionAV-SDI card captures one HD channel of 3G SDI video, one HD channel of DVI video and one SD channel for composite video. | |
Datapath VisionAV-HD | |
The VisionAV-HD is a four lane PCI Express capture card with three video capture inputs - two supporting HD capture and a third supporting SD composite video. | |
Datapath VisionAV | |
The VisionAV-SDI card captures one HD channel of 3G SDI video, one HD channel of DVI video and one SD channel for composite video. | |
Datapath VisionHD4 | |
The VisionHD4 is an eight lane PCI Express capture card with four independent video capture channels, supporting HD capture. | |
Datapath Vision Range | |
Datapath VisionRGB-E1S | |
The VisionRGB-E1S is a single input channel four lane PCI Express video capture card. | |
Datapath VisionRGB-E2S | |
The VisionRGB-E2 and VisionRGB-E2S are dual input channel four lane PCI Express video capture cards. | |
Datapath VisionSD4+1S | |
The VisionSD4+1 and SD4+1S video capture cards offer one HD and four SD video input channels. | |
Datapath VisionSDI2 | |
The Datapath VisionSDI2 is a dual input channel four lane PCI Express 3G-SDI video capture card. | |
Datapath VisionSD8 | |
The VisionSD8 is an eight input channel four lane PCI Express video capture card. | |
Datapath VisionLC Range | |
Datapath VisionLC-HD | |
The Datapath VisionLC-HD provides a single, high definition, capture channel in a PCIe low profile card | |
Datapath VisionLC-HD2 | |
The Datapath VisionLC-HD2 provides a dual channel, high definition HDMI capture. | |
Datapath VisionLC-SDI | |
The Datapath VisionLC-SDI provides tri-band SDI capture. |
This assignment has four problems:
You will turn in your modified hw2_answers.txt file by the deadline specified on Sakai.
Many of DataPath’s cards and services are auto-substantiated and purchases are verified at the point-of-service. This means that qualified expenses for FSAs and HSAs, and at doctors’ offices or other verified merchants, are authenticated when those items and services are purchased. Audio/Visual design and installation is our passion. From pro audio and lighting sales, to system design and integration, we do it all.
Datapath (20 points total)
In this problem we consider a potential enhancement for the LC2200-16 datapath. The “PCINC” enhancement adds a separate incrementer for the program. The original datapath and a datapath that illustrates the enhancement are shown below:
Original LC2200-16 Datapath
Datapath with the PCINC Enhancement
A. [16 points] Give the states to control this datapath in order to execute the LC2200-16 ADDI instruction without the PCINC modification. Then do the same for a datapath with the PCINC modification. Start with instruction fetch.
Use this format and only list signals that are being asserted.
State1: DrPC, LdMAR, LdA
GoTo next state <--This may be a conditional expression and may be omitted if you want to just go to the following state.
B. [2 points] What is the CPI for ADDI with and without the PCINC enhancement?
C. [2 points] Assuming that the clock speed remains the same, what is the speedup for the ADDI instructions in the new datapath? Show your work.
Problem 2: Amdahl's Law (25 points total)
A.[15 points] In the year 2020, both Intel and AMD decide to abandon their work on the x86, and instead develop processors based on the LC-2200-16 architecture. In order to build a faster processor than their competition, each manufacturer makes specific improvements to their implementation.
- Intel's LC-2200-16 processor features an additional hardware that offers an average speedup of 1.5x on memory accesses (
lw
andsw
operations). - AMD's LC-2200-16 processor features better branch prediction, which gives its processor an average speedup of 2x on
beq
operations.
i. Using the chart below, calculate the speedup both gcc and spice on each manufacturer's processor.
ii. Which processor will execute gcc the fastest?
iii. Which processor will execute spice the fastest?
Instruction class | LC-2200-16 examples | gcc | spice |
Arithmetic |
| 48% | 50% |
Data transfer |
| 33% | 41% |
Conditional branch |
| 17% | 8% |
Jump |
| 2% | 1% |
Note: You do not need to understand how the enhancements work for this question. Simply use the average speedups given for each.
B.[10 points] The LC-2200-16 has no multiply instruction. Suppose we have the following two choices for performing multiplication:
- Emulate multiplication in software, using 20 instructions for each multiplication operation.
- Add multiplication hardware, which can perform multiplication in a single operation.
What fraction of instructions must be multiplications in order to observe a 2X overall speedup of the hardware solution over the software emulation solution? For simplicity, assume that all LC-2200-16 instructions take the same number of clock cycles.
Hint: On this assignment and every other CS2200 homework, projects, and test, use your textbook's definition of speedup: execution time before improvement divided by execution time after improvement.
Datapath Sound Cards & Media Devices Drivers
Problem 3: Interrupt Priority (31 points)
This question asks about the effect of interrupts on the execution time of a program.
Suppose you have a computer system with multiple peripherals (DISK, SOUND, and CLOCK) and the peripherals generate interrupts at predictable rates:
Name | Priority (0 is lowest) | Arrival rate | Execution time (CPU time) |
background | 0 | n.a. | 10 Seconds |
SOUND | 1 | 50/Second | 6mS |
DISK | 2 | 10/Second | 8mS |
CLOCK | 3 | 100/Second | 2mS |
Datapath Sound Cards & Media Devices Driver
Assume the background task and all the interrupts initially fire at time 0 and that the interrupts then arrive periodically thereafter. E.g. the sound card interrupt arrives at time 0, 20mS, 40mS, etc.
A.[15 points] Draw a timing chart showing which task (the background task or the handler for one of the interrupts) is operating over the first 50mS of time. The chart should cover the first 50mS in 2mS intervals. E.g.:
B.[10 points] The background task requires 10 seconds of CPU time with no interrupts. However, the interrupt handlers require CPU time as well and will 'steal' away some amount of time from the background task. How many seconds will it take to run the background task with the interrupt handlers running at the given rates?
C.[6 points] Interrupts often come with a 'deadline', a specification of the maximum time from the time of the interrupt arrival to the time the handler *finishes* processing.
For each interrupt (DISK, SOUND, CLOCK), give the worst-case time to finish processing the handler.
Problem 4: Interrupts & Processes (24 points total)
For this section, we will introduce 3 'new' instructions that you may find useful:
- EI (Enable Interrupts)
- DI (Disable Interrupts)
- RETI (RETurn from Interrupt)
A.[2 points]
When an interrupt is used to initiate a system call what is it called?
B.[12 points]
Below are the steps a typical interrupt handler will follow (assume interrupts are disabled upon entering the interrupt handler):
- Save interrupted process state to stack.
- Execute device-specific code.
- Restore interrupted process state from stack.
- Execute RETI to return.
Sometimes, an interrupt handler will itself need to be interrupted. For this to happen, interrupts will need to be re-enabled during the execution of the handler. Identify the four steps (and where they belong in relation to the steps defined above) in order for this to occur properly.
C.[6 points]
Describe how are the processor registers are saved in stack during interrupt handling and why is it saved like that?
D.[4 points]
When an interrupt handler returns, it executes a special RETI instruction. This instruction is the atomic equivalent of what two other instructions?
End of CS 2200 Homework 2