題組內容

1.(50 points) The convolutional layer is the core building block of a Convolutional Neural Network (CNN), which is widely used in today's machine learning methods to classify images and recognize speeches. For example, the figure below shows a CNN which contains two convolutional layers. The first convolutional layer applies 4 learnable filters (or kernels) to the input image and produces 4 feature maps.6201c6fd78351.jpg Although the above example uses 2-dimensional convolutions, let us start with I-dimensional convolution here for simplicity. The convolution of two 1-dimensional finite sequences is defined by as the following: 6201c7332d0b3.jpg
 where the symbol * denotes a convolution operator, fis the input sequence, and g is the convolution kernel of size (2M+1).
Suppose the input sequence fin our case study contains N data points, and each data point is represented by a 32-bit floating-point number. The convolution kernel g is also composed by 32-bit floating-point numbers. Please answer the following questions:

(c) [5 points] Suppose that we have a simple 5-stage pipelined processor here. The pipeline stages are IF (instruction fetch), ID (instruction decode/register), EX (execution), MEM (memory), and WB (write-back), as shown in the figure below. The pipeline is in-order issue and in-order execution with ideal one cycle-per-instruction (CPD). It executes a branch instruction in the EX stage. It can detect hazards, but does not support forwarding between pipeline stages.