About: AltiVec

An Entity of Type: place, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

AltiVec is a single-precision floating point and integer SIMD instruction set designed and owned by Apple, IBM, and Freescale Semiconductor (formerly Motorola's Semiconductor Products Sector) — the AIM alliance. It is implemented on versions of the PowerPC processor architecture, including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's PWRficient PA6T. AltiVec is a trademark owned solely by Freescale, so the system is also referred to as Velocity Engine by Apple and VMX (Vector Multimedia Extension) by IBM and P.A. Semi.

Property Value
dbo:abstract
  • Altivec és el conjunt d'instruccions SIMD (en anglès, Single Instruction Multiple Data) propietat de l'aliança AIM (Apple Computer, IBM i Motorola). Aquestes conjunt d'instruccions treballen tant amb nombres enters com amb nombres en coma flotant i hi són implementades en diferents versions de processadors PowerPC (com el G4 de Motorola o el G5 d'IBM). Altivec és una marca registrada propietat de Motorola, per la qual cosa aquest sistema també es coneix com a Velocity Engine (per Apple Computer) i VMX (per IBM). Malgrat que l'especificació d'Altivec es refereix a un únic conjunt d'instruccions, les implementacions que IBM i Motorola han fet d'ell són diferents quant a lògica de disseny i cap de les dues companyies ha utilitzat mai la implementació de l'altra. Altivec va ser el sistem SIMD més potent integrat en un microprocessador quan es va introduir a finals de la dècada dels 90. Si el comparem amb altres extensions similars d'aquest període (com és el cas de MMX/SSE de Intel o 3DNow! de AMD), Altivec oferia més registres, més operacions i era més flexible que els seus competidors. Va ser amb l'aparició de (propietat de Intel) quan Altivec va poder comparar-se amb un altre sistema de prestacions similars. Els dos treballen amb registres vectorials de 128 bits i poden representar setze enters de 8 bits, vuit enters de 16 bits, quatre enters de 32 bits o 4 valors en punt flotant de 32 bits. Els dos sistemes també inclouen instruccions de control de la memòria cau per tal de reduir al maxim la contaminació d'aquest tipus de memoria quan es treballa amb aquest flux de dades. Altivec i SSE2 també mostren diferències importants. Al contrari que SS2, Altivec suporta un tipus de dades especial anomenat pixel RGB, pero no pot operar amb valors de coma flotant de doble precisió, i no proporciona cap mecanisme per moure dades directament entre els registres escalars i els registres vectorials. També hi ha diferències quant al nombre de registres vectorials. Altivec proporciona 32 registres de 128 bits, mentres que SS2 només en proporciona 8. (ca)
  • AltiVec ist eine von IBM und Motorola entwickelte SIMD-Einheit für die PowerPC-Prozessor-Familie. AltiVec ist auch eine Handelsmarke von Motorola, deshalb wird von Apple auch die Bezeichnung Velocity Engine verwendet und IBM verwendet die Bezeichnung VMX (Vector Media Extensions) für diese SIMD-Einheit. Mit Hilfe von AltiVec lässt sich dieselbe Operation auf mehrere Datenwörter gleichzeitig anwenden. Dabei unterstützt die Vektoreinheit (anstatt einzelne Zahlen zu berechnen, werden sie zusammengenommen als Vektor betrachtet) bis zu sechzehn Elemente pro Vektor. Nutzt also eine Software die volle Leistungsfähigkeit von AltiVec, kann sie arithmetische Aufgaben theoretisch in bis zu einem Sechzehntel der sonst notwendigen Zeit erledigen. Ursprünglich in die PowerPC-Prozessoren eingebaut, wurde die SIMD-Einheit auch in spätere (ab POWER6) IBM-Power-Prozessoren eingebaut und schließlich mit POWER7 als VSX (Vector Scalar Extensions) auf 64 Register von 128 Bit Breite erweitert. Die weitere Entwicklung läuft nach dem Ende der PowerPC-Prozessoren (mit dem Wechsel von Apple zu Intel-Prozessoren) wieder bei IBM in der IBM POWER-Plattform weiter: (de)
  • AltiVec is a single-precision floating point and integer SIMD instruction set designed and owned by Apple, IBM, and Freescale Semiconductor (formerly Motorola's Semiconductor Products Sector) — the AIM alliance. It is implemented on versions of the PowerPC processor architecture, including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's PWRficient PA6T. AltiVec is a trademark owned solely by Freescale, so the system is also referred to as Velocity Engine by Apple and VMX (Vector Multimedia Extension) by IBM and P.A. Semi. While AltiVec refers to an instruction set, the implementations in CPUs produced by IBM and Motorola are separate in terms of logic design. To date, no IBM core has included an AltiVec logic design licensed from Motorola or vice versa. AltiVec is a standard part of the Power ISA v.2.03 specification. It was never formally a part of the PowerPC architecture until this specification although it used PowerPC instruction formats and syntax and occupied the opcode space expressly allocated for such purposes. (en)
  • AltiVec est un ensemble d'instructions SIMD d'opérations en virgule flottante conçu par, et propriété de, Apple, IBM et Motorola (l'alliance AIM), et mis en application sur des versions du PowerPC telle le G4 de Motorola et le G5 d'IBM. AltiVec est un nom commercial détenu uniquement par Motorola ; ainsi l'ensemble est également appelé Velocity Engine par Apple et VMX par IBM. (fr)
  • AltiVec es un conjunto de instrucciones SIMD en coma flotante y enteros diseñado y en propiedad de Apple Computer, IBM y Motorola (la alianza AIM), y puesto en ejecución en las versiones de PowerPC incluyendo el G4 de Motorola y los procesadores G5 de IBM. AltiVec es una marca registrada en propiedad de Motorola, así que el sistema también es nombrado Velocity Engine por Apple y VMX por IBM. AltiVec era el sistema SIMD más potente en una Unidad de Procesamiento Central de un ordenador de sobremesa cuando fue introducido al final de los años 90. Comparado con sus contemporáneos (MMX de sólo números enteros de Intel, SSE en coma flotante, y los diversos sistemas de otros fabricantes RISC), AltiVec ofrecía más que se podían utilizar de más formas y funcionar mediante un conjunto de instrucciones mucho más flexible. Sin embargo, el sistema SIMD de cuarta generación de Intel, SSE2, introducido con el Pentium 4, tiene muchas funciones similares a las de AltiVec. Tanto Altivec como los registros de vector de 128-bit de SSE2 pueden representar dieciséis caracteres de 8-bit con signo o sin él, ocho enteros cortos con signo o sin signo de 16-bit, cuatro enteros de 32-bit o cuatro variables en coma flotante en formato . Ambos proporcionan instrucciones de control de la caché CPU previstas para reducir al mínimo la contaminación de la caché al trabajar con flujos de datos. También muestran diferencias importantes. Al contrario que SSE2, AltiVec soporta un tipo de datos especial de "píxel" RGB, pero no opera con floats de doble precisión, y no hay manera de mover datos directamente entre los registros escalares y los de vectores. En armonía con el modelo de "cargar/almacenar" del diseño RISC del PowerPC, los registros del vector, como los registros escalares, sólo se pueden cargar desde la memoria, y almacenar en ella. Sin embargo, AltiVec proporciona un sistema mucho más completo de operaciones "horizontales" que trabajan a través de todos los elementos de un vector; las combinaciones permitidas de los tipos de datos y de las operaciones con éstos son mucho más completas. Se proporcionan 32 registros de vectores de 128-bit, comparado con los 8 de SSE y SSE2, y la mayoría de las instrucciones de Altivec toman tres operandos de registro, comparado con sólo dos operandos registro/registro o registro/memoria en un IA-32. Las versiones recientes de , y otros compiladores proporcionan para acceder a las instrucciones de AltiVec directamente desde programas en C y C++. La clase dedicada al almacenamiento "vector" aparece para permitir la declaración de los tipos nativos del vector, por ejemplo, "vector unsigned char foo;" declara una variable de 128-bit llamada "foo" que contiene dieciséis caracteres sin signo de 8-bit. Las funciones intrínsecas sobrecargadas tales como "vec_add" emiten el código op apropiado basado en el tipo de los elementos del vector, y se obliga a cumplir un fuerte tipado. En contraste, los tipos de datos definidos por Intel para los registros SIMD de IA-32 declaran solamente el tamaño del registro del vector (128 o 64 bits) y en el caso de un registro de 128-bit, sí contiene números enteros o valores en la coma flotante. El programador debe seleccionar el intrínseco apropiado para los tipos de datos empleados, por ejemplo, _mm_add_epi16(x, y) para añadir dos vectores que contienen ocho números enteros de 16-bit. Apple es el principal cliente de AltiVec, y lo usa para acelerar aplicaciones multimedia como QuickTime y iTunes y programas de procesamiento de imágenes tales como Adobe Photoshop. AltiVec también ha trabajado en partes clave del Mac OS X de Apple, incluido el . Motorola ha provisto las unidades de AltiVec en todos sus ordenadores de sobremesa PowerPC desde el G4. AltiVec también se utiliza en algunos sistemas embebidos para proporcionar un proceso de la señal digital con un extremadamente alto rendimiento. IBM ha dejado a VMX constantemente fuera de sus sistemas propietarios POWER, que están pensados para ser empleados como aplicaciones de servidor donde no lo considera suficientemente necesario. Sin embargo, el ordenador de escritorio más reciente PowerPC 970 (apodado G5 por Apple) de IBM, incluye una unidad de alto rendimiento de AltiVec. Incluye dos unidades funcionales para permitir efectos superescalares; un VMX completo en una unidad, y un multiplicador/sumador en la otra. (es)
  • AltiVec è un insieme di istruzioni SIMD in virgola mobile sviluppato da Apple, IBM e Motorola (l'alleanza AIM) e implementato su alcune versioni dei processori PowerPC. AltiVec è un marchio registrato di Motorola: Apple definisce l'unità dedita alla gestione di queste istruzioni Velocity Engine mentre IBM utilizza la sigla VMX per identificare questo gruppo di istruzioni. L'AltiVec fa parte delle specifiche Power v2.03. Quando è stato presentato AltiVec era il migliore sistema SIMD disponibile per personal computer. Gli equivalenti prodotti della Intel non erano confrontabili. L'MMX non lavorava in virgola mobile ma trattava solamente numeri interi mentre l'SSE pur trattando i numeri in virgola mobile era molto più lento e limitato dell'AltiVec. Alla fine la quarta versione di sistema SIMD dell'Intel l'SSE2 risolse la maggior parte dei problemi e adottò molte delle soluzioni utilizzate dall'AltiVec. (it)
  • AltiVec(アルティベック、アルチベック、アルタベク)は米国モトローラが開発したベクトル演算ユニット。 (ja)
  • AltiVec to stało- i zmiennopozycyjny zestaw instrukcji klasy SIMD zaprojektowany przez konsorcjum AIM (Apple, IBM i Motorola), zaimplementowany w mikroprocesorach PowerPC serii G4 (Motorola) oraz G5 (IBM). AltiVec jest zarezerwowanym znakiem handlowym firmy Motorola, więc pozostali członkowie konsorcjum używają nazw Velocity Engine (Apple) oraz VMX (IBM). (pl)
  • O AltiVec é uma extensão SIMD do processador PowerPC destinada a melhorar o desempenho de qualquer aplicação que permita o processamento em paralelo de dados.Utiliza um conjunto distinto de 32 registradores de 128 bits que podem conter vários itens de dados de diversos formatos, incluindo representações de inteiros e de vírgula flutuante. Estes dados são utilizados por instruções que permitem tratar de uma só vez: * 16 caracteres ou inteiros de 8 bits, com ou sem sinal. * 8 inteiros de 16 bits, com ou sem sinal. * 4 inteiros de 32 bits, com ou sem sinal. * 4 números representados em vírgula flutuante de 32 bits. (pt)
  • AltiVec — набор SIMD (векторных) инструкций для работы с числами одинарной точности с плавающей запятой и целочисленной арифметикой, разработанный и принадлежащий Apple Computer, IBM и Motorola (известных, как AIM). AltiVec реализован в различных версиях процессоров PowerPC, как производства Motorola (G4), так и производства IBM (G5). Само название AltiVec является зарегистрированной торговой маркой фирмы Motorola, поэтому Apple использует название Velocity Engine, а IBM — VMX. Когда AltiVec появился в конце 1990-х годов, это был самый мощный набор векторных инструкций в процессорах для настольных систем. AltiVec предлагает больше регистров и возможностей с ними работать в силу гораздо более гибкого набора команд, чем у его аналогов (MMX, разработанного Intel для работы с целочисленной арифметикой, набора инструкций с плавающей точкой SSE и ряда разработок других производителей RISC-процессоров). Третье и четвёртое поколения SIMD-наборов инструкций фирмы Intel (SSE2 и SSE3, изначально доступные в Pentium 4, а позже реализованные AMD в архитектуре AMD64), имеют гораздо больший набор команд, чем AltiVec. Как AltiVec, так и SSE оперируют 128-битными векторными регистрами, которыми можно пользоваться, как шестнадцатью 8-битными байтами, восемью 16-битными словами, четырьмя 32-битными целыми или четырьмя числами с плавающей запятой. Оба предоставляют механизм работы с кэш-памятью, таким образом программист может сам снизить количество промахов при работе с потоком данных. Между AltiVec и SSE есть серьёзные отличия. Только AltiVec поддерживает тип данных «RGB-пиксел», но не может работать с 64-битными дробными целыми двойной точности и отсутствует механизм прямой передачи данных между скалярными и векторными регистрами. В соответствии с моделью «загрузить/сохранить» RISC архитектуры процессора PowerPC, векторные регистры, равно как и скалярные, можно загружать и сохранять только в память. Впрочем, AltiVec предлагает существенно более расширенный набор «горизонтальных» инструкций, которые работают со всеми элементами вектора; допустимых комбинаций типов данных и операций гораздо больше. В отличие от восьми 128-битных векторных регистров в SSE и SSE2, AltiVec предлагает 32 таких регистра и большинство его инструкций работает сразу с тремя регистрами («положить в C результат сложения A и B»), в отличие от двухоперандных (регистр/регистр, регистр/память: «прибавить к A содержимое B») команд в IA-32. Это может сильно сократить объём работы с памятью. Современные версии GCC, IBM Visual Age Compiler предоставляют набор функций для непосредственной работы с инструкциями AltiVec прямо из языка C и C++. Существует специальный модификатор vector для спецификации типа переменной (например, vector unsigned char foo; — вектор из шестнадцати байтов). Перегруженные функции, такие как vec_add, оперируют с векторными регистрами исходя из их содержимого, при этом проводя очень чёткий контроль типов. Векторные инструкции Intel никакого контроля за типами не производят и оперируют лишь размером вектора, не различая байты и слова. Такая халатность может привести к тому, что вектор слов будет сложен с вектором байт, полностью разрушив данные. Чтобы такого не происходило, для архитектуры Intel существует целая серия дублирующих друг друга инструкций вида: _mm_add_epi16 (x, y) для сложения двух векторов слов, _mm_add_epi32 (x, y) для сложения двух векторов целых и т. п. AltiVec разрабатывался в 1996—1998 годах , известным учёным и начальником отдела архитектуры микропроцессоров в Apple Computer. Apple была главным заказчиком AltiVec и использовала его для ускорения мультимедийных приложений, таких как QuickTime или iTunes. AltiVec также играет огромную роль в работе таких системных механизмов Apple Mac OS X, как подсистема рендеринга изображений Quartz. Сторонние производители, например Adobe, также используют AltiVec для ускорения работы своих программ, например Adobe Photoshop. Motorola первая начала продавать AltiVec, встроенным в процессоры серии G4 (сейчас AltiVec’ом занимается компания Freescale, выделившаяся из Motorola). AltiVec также используется в некоторых встраиваемых системах, чтобы обеспечить быструю работу аналого-цифровых преобразователей. IBM исключила VMX (другое название AltiVec) из своей серии POWER, так как эти процессоры использовались в мейнфреймах и серверах, где векторные вычисления не очень нужны. Впрочем, в PowerPC G5, предназначенных для настольных компьютеров, IBM встраивает высокопроизводительный модуль AltiVec. На ядре находится модуль сложения/умножения и полная реализация VMX. IBM также заявляет, что часть инструкций VMX включена в процессор, используемый в игровой приставке Microsoft Xbox 360, который основан на PowerPC. Процессор Cell также включает в себя VMX-модуль. Согласно документации Apple, AltiVec в реализации на процессорах G4 и G5 может выполнять восемь 32-битных FLOPS за цикл, а SSE в реализации как Intel, так и AMD могут только четыре 32-битных FLOPS за цикл (надо отметить, что SSE-2 позволяет выполнить две 64-битных операции за цикл, чего не может AltiVec). Логично было бы предположить, что увеличив частоту в два раза, SSE смог бы догнать AltiVec. Однако частота работы процессоров Pentium превышает частоту PowerPC совсем не в два раза, так что AltiVec может выполнить существенно больше операций в секунду. Реальная скорость программы будет зависеть от гораздо большего количества факторов, таких как скорость и объём памяти, архитектура подсистемы ввода-вывода, компиляторов, ОС и просто архитектуры самой программы. Несмотря на то что Apple заявляет, что PowerPC быстрее, чем Pentium при работе с мультимедийными приложениями, от таких оценок лучше воздержаться, так как однозначных данных о превосходстве SSE или AltiVec нет, несмотря на теоретически бо́льшую скорость AltiVec. (ru)
  • AltiVec是一个浮点和整型单指令流多数据流(SIMD)指令集,其由苹果,IBM,Freescale Semiconductor(早先的摩托罗拉的半导体部,合称AIM联盟),创建并拥有,并由PowerPC版本实现,包括摩托罗拉的G4,IBM的和POWER6,还有P.A. Semi的 PA6T。AltiVec其实是由Freescale公司拥的一个商标,所有这个系统也被看作是苹果的Velocity引擎和IBM与P.A. Semi的VMX,虽然IBM今天也在使用AltiVec。 值得注意的是,AltiVec指的是一个指令集,而IBM和摩托罗拉在中央处理器的实现上有不同的逻辑设计。现在,IBM的核心没有包含摩托罗拉授权的AltiVec逻辑设计,反之亦然。 AltiVec是Power ISA v.2.03详述的一个标准部分。在这个详述出现之前,AltiVec一直不是PowerPC的正式组件,虽然其使用PowerPC的指令格式和语法并拥有专门为此目的而分配的作业码空间。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 55360 (xsd:integer)
dbo:wikiPageLength
  • 15088 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1084060677 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • AltiVec est un ensemble d'instructions SIMD d'opérations en virgule flottante conçu par, et propriété de, Apple, IBM et Motorola (l'alliance AIM), et mis en application sur des versions du PowerPC telle le G4 de Motorola et le G5 d'IBM. AltiVec est un nom commercial détenu uniquement par Motorola ; ainsi l'ensemble est également appelé Velocity Engine par Apple et VMX par IBM. (fr)
  • AltiVec(アルティベック、アルチベック、アルタベク)は米国モトローラが開発したベクトル演算ユニット。 (ja)
  • AltiVec to stało- i zmiennopozycyjny zestaw instrukcji klasy SIMD zaprojektowany przez konsorcjum AIM (Apple, IBM i Motorola), zaimplementowany w mikroprocesorach PowerPC serii G4 (Motorola) oraz G5 (IBM). AltiVec jest zarezerwowanym znakiem handlowym firmy Motorola, więc pozostali członkowie konsorcjum używają nazw Velocity Engine (Apple) oraz VMX (IBM). (pl)
  • AltiVec是一个浮点和整型单指令流多数据流(SIMD)指令集,其由苹果,IBM,Freescale Semiconductor(早先的摩托罗拉的半导体部,合称AIM联盟),创建并拥有,并由PowerPC版本实现,包括摩托罗拉的G4,IBM的和POWER6,还有P.A. Semi的 PA6T。AltiVec其实是由Freescale公司拥的一个商标,所有这个系统也被看作是苹果的Velocity引擎和IBM与P.A. Semi的VMX,虽然IBM今天也在使用AltiVec。 值得注意的是,AltiVec指的是一个指令集,而IBM和摩托罗拉在中央处理器的实现上有不同的逻辑设计。现在,IBM的核心没有包含摩托罗拉授权的AltiVec逻辑设计,反之亦然。 AltiVec是Power ISA v.2.03详述的一个标准部分。在这个详述出现之前,AltiVec一直不是PowerPC的正式组件,虽然其使用PowerPC的指令格式和语法并拥有专门为此目的而分配的作业码空间。 (zh)
  • Altivec és el conjunt d'instruccions SIMD (en anglès, Single Instruction Multiple Data) propietat de l'aliança AIM (Apple Computer, IBM i Motorola). Aquestes conjunt d'instruccions treballen tant amb nombres enters com amb nombres en coma flotant i hi són implementades en diferents versions de processadors PowerPC (com el G4 de Motorola o el G5 d'IBM). Altivec és una marca registrada propietat de Motorola, per la qual cosa aquest sistema també es coneix com a Velocity Engine (per Apple Computer) i VMX (per IBM). (ca)
  • AltiVec is a single-precision floating point and integer SIMD instruction set designed and owned by Apple, IBM, and Freescale Semiconductor (formerly Motorola's Semiconductor Products Sector) — the AIM alliance. It is implemented on versions of the PowerPC processor architecture, including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's PWRficient PA6T. AltiVec is a trademark owned solely by Freescale, so the system is also referred to as Velocity Engine by Apple and VMX (Vector Multimedia Extension) by IBM and P.A. Semi. (en)
  • AltiVec ist eine von IBM und Motorola entwickelte SIMD-Einheit für die PowerPC-Prozessor-Familie. AltiVec ist auch eine Handelsmarke von Motorola, deshalb wird von Apple auch die Bezeichnung Velocity Engine verwendet und IBM verwendet die Bezeichnung VMX (Vector Media Extensions) für diese SIMD-Einheit. (de)
  • AltiVec es un conjunto de instrucciones SIMD en coma flotante y enteros diseñado y en propiedad de Apple Computer, IBM y Motorola (la alianza AIM), y puesto en ejecución en las versiones de PowerPC incluyendo el G4 de Motorola y los procesadores G5 de IBM. AltiVec es una marca registrada en propiedad de Motorola, así que el sistema también es nombrado Velocity Engine por Apple y VMX por IBM. (es)
  • AltiVec è un insieme di istruzioni SIMD in virgola mobile sviluppato da Apple, IBM e Motorola (l'alleanza AIM) e implementato su alcune versioni dei processori PowerPC. AltiVec è un marchio registrato di Motorola: Apple definisce l'unità dedita alla gestione di queste istruzioni Velocity Engine mentre IBM utilizza la sigla VMX per identificare questo gruppo di istruzioni. L'AltiVec fa parte delle specifiche Power v2.03. (it)
  • O AltiVec é uma extensão SIMD do processador PowerPC destinada a melhorar o desempenho de qualquer aplicação que permita o processamento em paralelo de dados.Utiliza um conjunto distinto de 32 registradores de 128 bits que podem conter vários itens de dados de diversos formatos, incluindo representações de inteiros e de vírgula flutuante. Estes dados são utilizados por instruções que permitem tratar de uma só vez: (pt)
  • AltiVec — набор SIMD (векторных) инструкций для работы с числами одинарной точности с плавающей запятой и целочисленной арифметикой, разработанный и принадлежащий Apple Computer, IBM и Motorola (известных, как AIM). AltiVec реализован в различных версиях процессоров PowerPC, как производства Motorola (G4), так и производства IBM (G5). Само название AltiVec является зарегистрированной торговой маркой фирмы Motorola, поэтому Apple использует название Velocity Engine, а IBM — VMX. (ru)
rdfs:label
  • Altivec (ca)
  • AltiVec (de)
  • AltiVec (en)
  • AltiVec (es)
  • AltiVec (fr)
  • AltiVec (it)
  • AltiVec (ja)
  • AltiVec (pt)
  • AltiVec (pl)
  • AltiVec (ru)
  • AltiVec (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License