[2015KPMG毕马威笔试经验]先说一下我背景吧,我是上海复旦大学旁边的某个知名财经大学的学生,专业是工商管理,成绩一般般,在工商管理班是属于倒数的,不过放到年级上就是前30%的水平,所以填成绩排名时从来只...+阅读
我笔试的是DSP工程师。卷子只有一张纸,正反两页。一共10道题。答案作答在给的空白的纸上。
1.定点DSP芯片和浮点DSP芯片是什么?有什么优缺点?
定点DSP和浮点DSP主要是按DSP工作时的数据格式来区分的。数据以定点格式工作的DSP是定点DSP,数据以浮点格式工作的DSP是浮点DSP。浮点DSP能进行浮点运算,一次完成,由硬件实现。定点DSP无法直接进行浮点运算,完成浮点运算需要借助程序来实现。
优点:浮点DSP比定点DSP 的运算范围要大。浮点DSP 的寻址范围也大些。浮点DSP的精度大些。浮点运算速度大。
缺点:定点DSP需要时刻注意运算的溢出。精度不够,定点DSP运算速度慢。
2.DSP和通用CPU的最大区别是什么?有什么共同点?
(1)首先是体系结构:CPU是冯.诺伊曼结构的,而DSP有分开的代码和数据总线即哈佛结构。
(2) 标准化和通用性:CPU的标准化和通用性做得很好,支持操作系统,所以以CPU为核心的系统方便人机交互以及和标准接口设备通信,非常方便而且不需要硬件开发了;但这也使得CPU外设接口电路比较复杂,DSP主要还是用来开发嵌入式的信号处理系统了,不强调人机交互,一般不需要很多通信接口,因此结构也较为简单,便于开发。如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于一个偏重控制一个偏重运算了。
(3)流水线结构:大多数DSP都拥有流水结构,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,这样可以大大提高系统的执行效率。但流水线的采用也增加了软件设计的难度,要求设计者在程序设计中考虑流水的需要。
快速乘法器:信号处理算法往往大量用到乘加(multiply-accumulate,MAC)运算。DSP有专用的硬件乘法器,它可以在一个时钟周期内完成MAC运算。硬件乘法器占用了DSP芯片面积的很大一部分。(与之相反,通用CPU采用一种较慢的、迭代的乘法技术,它可以在多个时钟周期内完成一次乘法运算,但是占用了较少了硅片资源)。
地址发生器:DSP有专用的硬件地址发生单元,这样它可以支持许多信号处理算法所要求的特定数据地址模式。这包括前(后)增(减)、环状数据缓冲的模地址以及FFT的比特倒置地址。地址发生器单元与主ALU和乘法器并行工作,这就进一步增加了DSP可以在一个时钟周期内可以完成的工作量。
硬件辅助循环:信号处理算法常常需要执行紧密的指令循环。对硬件辅助循环的支持,可以让DSP高效的循环执行代码块而无需让流水线停转或者让软件来测试循环终止条件。
3.占先式系统和非占先式系统有什么区别?DSP/BIOS 和ucOSⅡ是哪一种?
占先式,当前任务运行中如果有优先级更高的任务进入就绪态,当前任务立即将CPU交给优先级更高的任务。
非占先式:等当前任务执行完后再交给优先级更高的任务。
DSP/BIOS,ucOSII是占先式的操作系统。
4.说一下对DSP MAP的认识。
MAP文件是CCS软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。
一、生成方法
MAP文件主要有两种生成方法,一种是由系统自动生成,默认文件名为所建立的项目名(如XXX为项目名)加上.map后缀xxx.map,另一种在CMD文件中指定生成MAP文件,操作方法为在MEMORY指令前面加上-m abc.map,文件名可以任意。
二、文件格式
MAP文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD文件中的MEMORY指令关联,在CMD文件中定义的程序与数据区间定义,在该部分均可以找到对应,与CMD文件不同的时,在MAP文件中加入了一个实际使用的区间,即在程序中实际用到的空间长度。段映射部分与CMD文件中的SECTION指令关联,在该部分程序中所有的段实际映射的起始地址与实际长度均有详细说明。可以具体到程序中PROGMA指定的段和各个单独文件产生的OBJ文件。全局符号可以是程序使用的每一个函数、程序中定义的全局变量均可以在此找到对应的起始地址。MAP文件中采用两种方式列举,一种为按相应地址排列,另一种按全局符号字母排列。
5.简单的程序题。看程序,写出输出见过,用C写的。
6. -7和10的16位二进制补码是什么? 写出Q15 0.25和Q15 0.5
⑴正数的补码 与原码相同。
⑵负数的补码 负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。
-7转换成二进制原码是1000000000000111,反码是1111111111111000,补码是反码+1=1111111111111001
10的二进制原码是0000000000001010,是正数,补码和原码一样
DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,l则表示数值为负。其余15位表示数值的大小。
如,二进制数0010000000000011b=8195
二进制数1111111111111100b= -4
数的定标有Q表示法和S表示法两种。
不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;
如,16进制数2000H=8192,用Q0表示
16进制数2000H=0.25,用Q15表示
7.说一下DSP开发的主要步骤。
8.写出strcpy的函数原型。
char* strcpy(char *strDest,const char * strSrc)
{
}
9.写出创建单链表的函数。
struct stu_info{
int x;
struct stu_info *next;
};
void inputstuinfo(struct stu_info**head,int n)
{
}
10. 对一个字符串进行重新排列,使字母在前,数字在后,并且字母和数字的相对位置不变。
include
include
include
函数名:fun
参数: char*s,int *m
函数返回值:chLetter(数组chLetter[N]的数组名)
局部变量:char chLetter[N]; char chNumber[N]; int i,j,k;
char *fun(char*s,int *m)
{
}
延伸阅读:
2015重庆移动校招笔试经验重庆移动重庆地区的校招终于是告一段落了,今天刚好闲下来,想想移动校招这一路走来,还是有所收获,自己也是从前辈的帖子获取了很多信息,所以在这里也跟大家分享下自己一路走来的经...
2015天职国际网测笔试经验我坐标南京,非211非965学校,投的也是南京所。一直很中意天职国际,实习的时候和天职是同一座大厦,那时候就很希望能去楼上工作,所以宣讲会的话特地从江宁跑去浦口去听,还算幸运,简历...
2015中国银行笔试经验分享今年中行笔试时间好早啊!是所有银行中最早的一个了,楼主之前准备了两个月,今天考完的感觉就是、、、都白看了= =超级难!好吧可能有些复习的好的觉得还行吧,废话不多说,直接上。...
衣恋2014笔试经验30日晚广州在中大笔试。 什么文具用品都不用带,现场会发(其实只有一支笔而已,要用修正带可以跟工作人员借)。 hr一上来就跟我们说,这次笔试非常难,甚至有人一道题都做不对什么的...
安永2014年笔试经验分享关于考几道 怎么考 时间巴拉巴拉的就不赘述了 就简单说一下我记得的题目吧 Verbal 比较多以下哪个正确或者以下哪个错误的题目 比较麻烦 难度递增 一篇文章2道题 1. GPS定位...
欢聚时代2017校招产品经理笔试经验今年的笔试是在华工五山校区举行的,风尘仆仆的从大学城赶过去啊!去了之后按照短信的通知找教室,教室里有笔试技术的也有笔试产品的,没有固定位置,但按照一列技术类一列非技术类...
中行2015校园招聘笔试经验我2014年11月1日下午1点30到4点30参加了中国银行2015校招笔试,上午在仙林南邮参加江苏电信笔试,2个小时的时间内赶到了江宁南医参加了中行的考试。以下是考试内容和时间段,都是...
百度2015软件开发工程师笔试题百度的题总体来说不难,都是一些基础的题。好像近几年都有这样的趋势,计算机网络,操作系统,数据库,每个基础课出一道题。接着是三道程序设计题。最后是系统设计题。所以好好看计算...
笔试的几个面试技巧笔试的几个面试技巧1.科学答卷拿到试卷后,首先应通览一追,了解题目的多少和难易程度,以便掌握答题的速度,然后根据先易后难的原则排出答题的顺序、先攻相对简单的题,后攻难题。这...