RISC结构与CISC结构的区别与比较

合集下载

原题目:指令集体系结构的分类与比较

原题目:指令集体系结构的分类与比较

原题目:指令集体系结构的分类与比较引言指令集体系结构指的是计算机中用于执行指令的硬件和软件的组合方式。

不同的指令集体系结构对计算机程序的编写、执行和性能都有着不同的影响。

本文将对指令集体系结构进行分类,并对各种指令集体系结构进行比较。

指令集体系结构的分类常见的指令集体系结构主要有以下几类:1. 精简指令集(RISC)体系结构:RISC体系结构以简化指令为特点,将指令集精简为少量、固定长度的指令。

它注重简化指令的执行时间,减少指令的执行周期,以提高指令的执行效率。

常见的RISC体系结构有ARM和PowerPC等。

2. 复杂指令集(CISC)体系结构:CISC体系结构以实现复杂指令为特点,将指令集设计为丰富多样、灵活可变的指令。

它注重减少指令数量,提高编写程序的便利性,但由于指令复杂,执行时间会相对较长。

常见的CISC体系结构有x86和MIPS等。

3. 超长指令字(VLIW)体系结构:VLIW体系结构在指令流水线的基础上,通过编译器将多个指令捆绑为一条宽指令,以提高指令级并行度。

它注重编译器的优化和指令的同时执行,以提高程序的性能。

常见的VLIW体系结构有Itanium和EPIC等。

4. 特定领域指令集(DSP)体系结构:DSP体系结构主要针对数字信号处理领域的需求,将指令集设计为高度优化的专用指令,以提高数字信号处理的效率。

常见的DSP体系结构有TI TMS320和Motorola DSP等。

指令集体系结构的比较不同的指令集体系结构在性能、功耗、编程模型、兼容性等方面存在差异。

1. 性能:RISC体系结构在指令执行速度方面相对较快,适合于需要较高计算能力的应用;CISC体系结构则在编写程序的便利性和指令数量方面相对优势,适合于需要灵活指令和多功能性的应用。

2. 功耗:RISC体系结构通常具有较低的功耗,适合于功耗敏感的移动设备;CISC体系结构由于指令复杂,功耗相对较高,适合于高性能计算机系统。

3. 编程模型:RISC体系结构通常采用Load/Store指令模型,需要通过专门的Load/Store指令对寄存器和内存进行数据传输;CISC体系结构采用的是内存-寄存器指令模型,可以直接对内存进行操作。

risc, cisc等指令集

risc, cisc等指令集

risc, cisc等指令集计算机指令集是计算机体系结构的重要组成部分,主要用于指导和控制计算机硬件进行各种运算和操作。

在计算机发展的早期阶段,两个主要的指令集体系结构方案被广泛应用,它们分别是RISC (Reduced Instruction Set Computer)和CISC(Complex Instruction Set Computer)。

本文将分别从RISC和CISC的定义、特点、应用和优缺点等方面进行探讨,以便对两种指令集结构有更深入的了解。

RISC,即精简指令集计算机,它的设计原则是将指令集中精简,指令的执行周期时间一致。

RISC指令集中的指令相对较少,每条指令的功能单一而简洁。

这种设计可以使得RISC指令的执行更加高效,因为每条指令的执行时间和资源消耗都得到了精确控制。

RISC指令集通常包含一些基本的算术和逻辑操作指令,以及一些数据传送指令和条件判断指令等。

CISC,即复杂指令集计算机,它的设计原则是将指令集中的指令设计得更加复杂、功能更加丰富。

CISC指令集中的指令相对较多,每条指令的功能可以比较复杂,包含多个操作步骤。

CISC指令集的设计初衷是为了减少编程的工作量,使得程序可以用更少的指令来完成更复杂的操作,提高编程的高效性。

RISC和CISC在应用上有所不同。

RISC指令集主要被应用在计算机的高性能领域,如超级计算机、网络服务器等。

RISC指令集由于指令精简、执行效率高的特点,可以更好地发挥计算机硬件的性能,提高系统的整体运算速度。

而CISC指令集主要被应用在个人计算机、嵌入式系统等领域。

CISC指令集由于指令功能丰富、编程简单的特点,可以使得编程的工作量减少,提高软件的开发效率。

虽然RISC和CISC各有优势,但也存在一些缺点。

在RISC指令集中,由于指令数量少,需要进行的操作可能需要多条指令的组合,因此整体的编程复杂度较高。

而在CISC指令集中,由于指令功能复杂,可能需要多个时钟周期来完成一条指令的执行,导致指令执行的效率稍低。

RISC和CISC的区别

RISC和CISC的区别

一、RISCRISC (reduced instruction set computer ,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机), RISC 机中采用的微处理器统称RISC处理器。

这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS )。

因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

1 . RISC体系的指令特征精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。

同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。

单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。

2 . RISC体系的优缺点优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2〜4倍。

由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。

RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。

缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。

另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache (一级缓存)。

二、CISCCISC是复杂指令系统计算机(Complex Instruction Set Computer )的简称,微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。

指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。

1. CISC体系的指令特征使用微代码。

指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。

cisc(复杂指令集)与risc(精简指令集)的区别

cisc(复杂指令集)与risc(精简指令集)的区别

CISC(复杂指令集)与RISC(精简指令集)的区别复杂指令集计算机(CISC)长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.精简指令集计算机(RISC)采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yorktown的JhomasI.Wason 研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(Reduced Instruction Set Computer-RISC)结构.简称RISC.CISC与RISC的区别我们经常谈论有关"PC"与"Macintosh"的话题,但是又有多少人知道以Intel公司X86为核心的PC系列正是基于CISC体系结构,而 Apple公司的Macintosh则是基于RISC体系结构,CISC与RISC到底有何区别?从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。

简述risc和cisc的区别

简述risc和cisc的区别

简述risc和cisc的区别在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。

正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。

什么是CISC和RISC ?CISC的英文全称为Complex InstrucTIon Set Computer,即复杂指令系统计算机,从计算机诞生以来,人们一直沿用CISC指令集方式。

早期的桌面软件是按CISC设计的,并一直沿续到现在。

目前,桌面计算机流行的x86体系结构即使用CISC。

微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如TI(德州仪器)、IBM以及VIA(威盛)等。

在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。

RISC的英文全称为Reduced InstrucTIon Set Computer,即精简指令集计算机,是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。

这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。

因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

特点区别各方面如下:1、指令系统CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。

因此,处理特殊任务效率较高。

RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。

对不常。

处理器知识-RISC和CISC架构分析对比

处理器知识-RISC和CISC架构分析对比

处理器知识: RISC和CISC架构分析对比CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。

它们的区别在于不同的CPU设计理念和方法。

早期的CPU全部是CISC架构,它的设计目的是 CISC 要用最少的机器语言指令来完成所需的计算任务。

RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大。

x86架构采用CISC,而ARM采用RISC。

ARM成立于1991年,是一家出售IP(技术知识产权)的公司,所谓的技术知识产权,就有点像是卖房屋的结构设计图,至于要怎修改,哪边开窗户,以及要怎加盖其它的花园,就看买了设计图的厂商自己决定。

而ARM的架构是采用RISC架构,如同它的名称一样,Advanced RISC Machines,RISC 架构在当初的PC架构争霸战虽然败给Intel所主导的x86处理器架构,却默默在另外的领域成长壮大;小从硬盘转速控制、电信基地台的计算、汽车喷射引擎的控制、音响系统、相机引擎,大到电动机具的控制等等,都能够看见采用ARM授权架构处理器的身影。

而有了设计图,当然还要有把设计图实现的厂商,而这些就是ARM架构的授权客户群。

包括:高通、华为、联发科、TI、Freescale等。

X86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称,包括Intel8086、80186、80286、80386以及80486以86结尾系列,英特尔统治整个CPU产业链长达数十年。

但是,Intel以增加处理器本身复杂度作为代价,去换取更高的性能,但集成的指令集数量越来越多,给硬件带来的负荷也就越来越大,无形中增加了功耗和设计难度。

ARM(Advanced RISC Machines)公司是苹果、Acorn、VLSI、Technology等公司的合资企业。

RISC和CISC的区别

RISC和CISC的区别

RISC和CISC的区别RISC的简介RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器(如下图)起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器。

这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。

因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。

比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。

RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。

如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。

而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。

RISC处理器是当今UNIX领域64位多处理机的主流芯片。

其特点主要有:一,由于指令集简化后,流水线以及常用指令均可用硬件执行;二,采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;三,采用缓存-主存-外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因存储器存取信息而放慢处理速度。

由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。

RISC芯片的工作频率一般在400MHZ数量级。

时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。

单一指令周期容纳多部并行操作。

在RISC微处理器发展过程中。

曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。

CPU从指令集的特点上可以分为两类CISC和RISC我们所熟

CPU从指令集的特点上可以分为两类CISC和RISC我们所熟

RISC和CISCCPU从指令集的特点上可以分为两类:CISC和RISC。

我们所熟悉的Intel 系列CPU就是CISC 的CPU 的典型代表。

那么,RISC 又是什么呢?RISC是英文Reduced Instruction Set Computer的缩写,汉语意思为"精简指令系统计算机"。

相对应的CISC就是"复杂指令系统计算机"的意思。

随着大规模集成电路技术的发展,计算机的硬件成本不断下降,软件成本不断提高,使得指令系统增加了更多更复杂的指令,以提高操作系统的效率。

另外,同一系列的新型机对其指令系统只能扩充而不能减去旧型机的任意一条,以达到程序兼容。

这样一来,指令系统越来越复杂,有的计算机指令甚至达到数百条。

人们就称这种计算机为CISC (Complex Instruction Set Computer)。

如IBM公司的大、中型计算机,Intel公司的8086、80286、80386微处理器等。

日益庞大的指令系统不仅使计算机研制周期变长,而且还有难以调试、难以维护等一些自身无法克服的缺点。

于是,RISC的概念就应运而生,在1983年,一些中、小型公司开始推出RISC产品。

RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。

RISC机优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以便布线控制逻辑为主,不用或少用微码控制等措施来达到上述目的。

目前,RISC和CISC各有优势,而且界限并不那么明显了。

现代的CPU往往采用CISC的外围,内部加入了RISC的特性。

就连Intel最新的Pentium II等CISC芯片也具有了明显的RISC特征。

另外,超长指令集CPU由于融合了RISC和CISC的优势,成为未来的CPU发展方向之一。

RISC技术相信大家在日常电脑使用或CPU的广告介绍中时常听到见到“RISC”这个词,什么Pentium Ⅱ/Pro 采用先进RISC技术……K6采用RISC86结构,从而……总之大凡稍高档点的中央处理器都称采用RISC技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RISC与CISC结构的区别与比较
摘要:在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。

正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。

本文主要论述二者的区别并在一些方面对这两种结构进行了比较。

关键词:RISC结构 CISC结构区别比较
正文:
1.RISC结构
1.1RISC结构的出现与发展
在20世纪90年代前CISC结构被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。

一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。

随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。

然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。

而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。

为改变这种状况,1980年Patterson和Ditzel 两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISC I,这颗处理器远比当时已经相当流行的CISC处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。

从此处理器设计方向便分别向着这两个大的方向发展。

实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的CISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。

而RISC思想最成功也是第一个商业化的实例就是ARM,当然,它也放弃了一些RISC特征而保留了一些CISC 特征。

1.2RISC结构的特点
1.RISC把微处理器能执行的指令数目减少到最低限度,以提高处理速度。

RISC 处理器比同等的CISC(复杂指令集计算机)处理器要快50%~ 75%,且RISC处理器
容易设计和纠错。

·
2.RISC微处理器有更多的通用寄存器。

写快速代码的最好方法是尽量增大执行芯片上操作的数目并尽量减少对内存中存储数据的访问。

寄存器越多,就使得这个目标更易达到。

访问寄存器几乎是瞬间就能完成的,而访问内存则需花费一些时间。

Pentium仅有8个通用寄存器,而Powerpc芯片则有32个。

·
3.RISC微处理器采用调入存储体系结构。

对内存中的数据进行操作的CPU指令—如,整数add指令,把x加到y上,其中,y是存储在内存中的一个值—是最费时钟周期的。

另外,这些指令的实现也需要数目不合乎比例的晶体管。

RISC的设计最大程度地减少访问内存的指令数量,而选用一种调人存储体系结构,这种结构要求先将y调人寄存器中,然后加x,最后“存储”回内存中去。

·
4.RISC微处理器采用统一的指令长度。

在pentium上,一条指令的长度可以从1字节到7字节不等(如果是在16位段上运行32位代码,则最大指令长度会超过7)。

而RISC的设计人
员却喜欢让所有的指令等长—通常是32位。

这样可以简化取指令和译码的逻辑电路,并且还意味着全部指令可被限制在32位的内存中访问。

·
5.RISC微处理器强调浮点功能。

传统上,RISC机器主要用于科技界,相应的应用程序比起单纯的字处理软件或是电子表格来说需做更多的浮点运算。

所以,RISC 微处理器几乎总是带有内置式的高性能浮点运算部件。

只是最近Intel的全系列pentium芯片包含了一个数学协处理器,并且整数运算仍被认为是pentium的强项。

2.CISC结构
2.1CISC结构的出现与发展
CISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。

早期的桌面软件是按CISC设计的,并一直沿续到现在。

在CISC微处理器中,程序的各条指令
是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。

3.RISC结构与CISC结构的比较
与CISC相比较,RISC有三大优势:
a)基于RISC体系结构设计的处理器管芯面积小。

处理器的简单使得需要的晶体管减少和实现的硅片面积减小,节省了更大面积可集成更多的功能部件,并且也使以RISC CPU为核心的SoC(片上系统)上实现一个应用系统的基本功能成为可能。

b)开发时间短,开发成本低。

处理器组织、结构的简单会使设计人员减少、设计费用降低。

c)容易实现高性能。

RISC体系结构的简单性、有效性很容易设计出低成本、高性能的处理器。

CISC与RISC特性的比较见表1。

4.两种结构的现状
现在像AMD、Cyrix和NexGen这样的芯片制造商混淆了CISC和RISC的界线,这是因为它们把RISC样的特征融进了它们自己的pentium仿制品中。

例如
NexGen的Nx586和AMD的5K均使用同一长度的指令一一这同Intel已经推出的Peuitumr Pro芯片一样。

内部指令集采用调入/存储体系结构,从而限制了执行内存访问的指令数量。

NexGen和AMD芯片厂商还宣称Pentium有限的寄存器可用性(这对芯片同时在其两个流水线中执行指令的能力有不利的影响)已分别实现为22个和40个寄存器。

所以现存的用于x86
的软件可以访问所有的寄存器,芯片使用一种所谓的寄存器重命名机制动态地将“看得见”的寄存器映像到寄存器组的其它寄存器上。

RISC和CISC微处理器之间的差别已经不再只是指令集的不同,而是芯片体系结构的不同了。

RISC和CISC的设计也已背离了原来的方案,真正要考虑的是对于给定的指令芯片到
底能执行得多快,`以及对现存软件的执行效果有多好。

这些日子,RISC和CISC 的制造商们都在竭尽全力,以求能在竞争中取得优势。

5.结语
随着计算机技术的日渐进步,这两种结构之间的界限越来越不明显,而更多的芯片厂商也在着手研发新的结合两者优点的芯片。

参考文献:
【1】徐东刘志军王立华.32位RISC结构体系的性能优势(M).电子工程师.2006.8
【2】Jeff Porisse RISC与CISC的实际区别.PC技术.1996.1。

相关文档
最新文档