엔디언

Big-Endian
Big-Endian
Little-Endian
Little-Endian

엔디언(Endianness)은 컴퓨터메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다.

엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언(Big-endian)과 작은 단위가 앞에 나오는 리틀 엔디언(Little-endian)으로 나눌 수 있으며, 두 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디언(Middle-endian)이라 부르기도 한다.

유래

엔디언이라는 단어는 조너선 스위프트의 《걸리버 여행기》에 나오는 소인국 릴리퍼트 이야기에서 달걀을 깰 때 뭉툭한 끝(big-end)을 먼저 깨는 사람들(빅 엔디언)과 뾰족한 끝(little-end)을 먼저 깨는 사람들(리틀 엔디언) 사이에 격론이 벌어진 데서 따온 것이다. 빅 엔디언과 리틀 엔디언 중 어느 것을 쓰느냐 하는 문제는 상황에 따라서 임의적이고, 따라서 종종 논란의 대상이 되었다. 컴퓨터와 관련되어 엔디언이라는 말은 대니 코언(Danny Cohen)이 이런 플레임을 잠재우기 위해 1980년에 쓴 On Holy Wars and a Plea for Peace라는 글에서 유래했다.

바이트 순서

바이트 순서는 크게 빅 엔디언과 리틀 엔디언으로 나눌 수 있다. 빅 엔디언은 사람이 숫자를 쓰는 방법과 같이 큰 단위의 바이트가 앞에 오는 방법이고, 리틀 엔디언은 반대로 작은 단위의 바이트가 앞에 오는 방법이다. PDP-11과 같은 몇몇 아키텍처는 2바이트 단위와 1바이트 단위로 서로 다른 순서를 사용하기도 하는데 이들을 미들 엔디언이라 부른다. 다음은 이런 방법들을 비교한 것이다.

종류 0x1234의 표현 0x12345678의 표현
빅 엔디언 12 34 12 34 56 78
리틀 엔디언 34 12 78 56 34 12
미들 엔디언 - 34 12 78 56
또는
56 78 12 34

두 방법 중 어느 한 쪽이 다른 쪽과 비교해 압도적으로 좋거나 나쁘지는 않다고 알려져 있으며, 두 방법은 서로 다른 여러 아키텍처에서 서로 공존하고 있다. 그러나 x86 아키텍처가 리틀 엔디언을 쓰기 때문에, 오늘날 x86 아키텍처를 사용하는 대부분의 데스크톱 컴퓨터는 리틀 엔디언을 쓰며 이를 ‘인텔 포맷’이라 한다. 거꾸로 네트워크에서는 주소를 빅 엔디언으로 쓰는데, 역사적으로 라우팅이 전화를 거는 식으로 접두 부호로 이루어졌기 때문이다. 이의 영향으로 많은 프로토콜과 몇몇 파일 포맷이 빅 엔디언을 사용하고 있다. 모토로라 프로세서들은 일반적으로 빅 엔디언을 사용하며, ARM 프로세서들은 성능 향상을 위해 빅 엔디언과 리틀 엔디언을 선택할 수 있도록 되어 있다.

장단점

빅 엔디언은 소프트웨어의 디버그를 편하게 해 주는 경향이 있다. 사람이 숫자를 읽고 쓰는 방법과 같기 때문에 디버깅 과정에서 메모리의 값을 보기 편한데, 예를 들어 0x59654148은 빅 엔디언으로 59 65 41 48로 표현된다.

반대로 리틀 엔디언은 메모리에 저장된 값의 하위 바이트들만 사용할 때 별도의 계산이 필요 없다는 장점이 있다. 예를 들어, 32비트 숫자인 0x2A는 리틀 엔디언으로 표현하면 2A 00 00 00이 되는데, 이 표현에서 앞의 두 바이트 또는 한 바이트만 떼어 내면 하위 16비트 또는 8비트를 바로 얻을 수 있다. 반면 32비트 빅 엔디언 환경에서는 하위 16비트나 8비트 값을 얻기 위해서는 변수 주소에 2바이트 또는 3바이트를 더해야 한다. 보통 변수의 첫 바이트를 그 변수의 주소로 삼기 때문에 이런 성질은 종종 프로그래밍을 편하게 하는 반면, 리틀 엔디언 환경의 프로그래머가 빅 엔디언 환경에서 종종 실수를 일으키는 한 이유이기도 하다.

또한 가산기가 덧셈을 하는 과정은 LSB로부터 시작하여 자리 올림을 계산해야 하므로, 첫 번째 바이트가 LSB인 리틀 엔디언에서는 가산기 설계가 조금 더 단순해진다. 빅 엔디언에서는 가산기가 덧셈을 할 때 마지막 바이트로부터 시작하여 첫 번째 바이트까지 역방향으로 진행해야 한다. 그러나 오늘날의 프로세서는 여러개의 바이트를 동시에 읽어들여 동시에 덧셈을 수행하는 구조를 갖고 있어 두 엔디언 사이에 사실상 차이가 없다.

바이 엔디언

몇몇 아키텍처는 빅 엔디언과 리틀 엔디언 중 하나를 선택할 수 있도록 설계되어 있고, 이를 바이 엔디언(Bi-endian)이라 부른다. ARM, PowerPC, DEC 알파, MIPS, PA-RISC, IA-64 등은 바이 엔디언을 사용하는 대표적인 아키텍처이다. 이들 대부분은 컴퓨터가 시작된 상태에서 소프트웨어적으로 바이트 순서를 바꿀 수 있지만, 몇몇은 하드웨어에 내장된 펌웨어에서 바이트 순서를 선택해야 하는 경우도 있다.

미들 엔디언

종종 한 방향으로 순서가 정해져 있는 게 아니라, 이를테면 32비트 정수가 2바이트 단위로는 빅 엔디언이고 그 안에서 1바이트 단위로는 리틀 엔디언인 경우가 종종 있는데 이를 미들 엔디언(Middle-endian)이라 한다. VAXARM에서는 배정밀도 부동소수점 실수를 미들 엔디언으로 저장하며, PDP-11에서는 32비트 정수를 미들 엔디언으로 저장하는데 이를 PDP 엔디언이라 부르기도 한다.

비트 순서

보통 바이트옥텟은 원자적인 단위로 간주되지만 종종 비트 단위의 접근이 필요할 수 있다. 따라서 바이트 순서가 아니라 비트 순서를 따질 수도 있으나, 여러 가지 이유로 비트 순서는 상대적으로 덜 중요하다. 보통 메모리의 접근은 바이트 단위로 이루어지기 때문에 비트 단위의 접근에는 별도의 연산 과정이 필요한데, 이러한 연산 자체가 비트 순서에 대해 잘 정의되어 있기 때문에 비트를 접근하는 방법은 아키텍처에 중립적이다.

비트 순서와 비슷하게, 네트워크 프로토콜이나 파일 포맷 같이 저수준으로 내려 갈 경우 비트 단위의 데이터를 최상위 비트부터 채울 것인가 최하위 비트부터 채울 것인가 하는 문제가 있다. 예를 들어 C구조체에서 바이트보다 더 작은 단위의 변수를 선언할 수 있는 비트 필드를 지원하는데, 여러 개의 비트 필드가 배열되는 방법은 기계어를 생성하는 과정에서 중요해진다. 이때 최상위 비트(MSB)부터 채우는 것을 최상위 비트 우선, 최하위 비트(LSB)부터 채우는 것을 최하위 비트 우선이라 한다. 예를 들어 PNGGIF는 각각 최상위/최하위 비트 우선을 쓰는 대표적인 파일 포맷이다.


외부 링크

Read other articles:

Peta Kabupaten Biak Numfor di Provinsi Papua Berikut ini adalah daftar distrik, kelurahan, dan kampung di Kabupaten Biak Numfor, Provinsi Papua. Kabupaten Biak Numfor terdiri atas 19 distrik, 14 kelurahan, dan 254 kampung dengan luas wilayah 2.602,00 km² dan jumlah penduduk 140.631 jiwa (2017) dengan sebaran penduduk 54 jiwa/km². Kode Wilayah Kabupaten Biak Numfor adalah 91.06.[1][2][3] Kode Wilayah Nama Distrik Ibu kota Jumlah Status Daftar Kelurahan Kampung 91.06.0...

 

Resolusi 459Dewan Keamanan PBBPosisi UNIFIL pada 1989Tanggal19 Desember 1979Sidang no.2.180KodeS/RES/459 (Dokumen)TopikIsrael-LebanonRingkasan hasil12 mendukungTidak ada menentang2 abstainHasilDiadopsiKomposisi Dewan KeamananAnggota tetap Tiongkok Prancis Britania Raya Amerika Serikat Uni SovietAnggota tidak tetap Bangladesh Bolivia Gabon Jamaika Kuwait Nigeria Norwegia Portugal Cekoslowakia Zambia Resolusi 4...

 

Nico Elvedi Informasi pribadiNama lengkap Nico ElvediTanggal lahir 30 September 1996 (umur 27)Tempat lahir Zürich, SwissTinggi 187 cm (6 ft 2 in)Posisi bermain BekInformasi klubKlub saat ini Borussia MönchengladbachNomor 30Karier senior*Tahun Tim Tampil (Gol)2015 – Borussia Mönchengladbach 78 (2)Tim nasional2016 – Swiss 6 (0) * Penampilan dan gol di klub senior hanya dihitung dari liga domestik Nico Elvedi (lahir 30 September 1996) adalah seorang pemain sepak bola ...

Kerajaan Franka setelah Perjanjian Andelot pada tahun 587. Kerajaan Austrasia Childebert (hijau) diwarisi oleh Theudebert II. Theudebert II (Prancis: Thibert atau Théodebert) (586–612), Raja Austrasia (595–612 SM), merupakan putra dan pewaris Childebert II. Ia menerima kerajaan Austrasia ditambah kota-kota (civitates) Poitiers, Tours, Le Puy-en-Velay, Bordeaux, dan Châteaudun, dan juga Champagne, Auvergne, dan Transjurane Alemannia, ketika ayahnya wafat pada tahun 595, tetapi didomi...

 

Single-aisle airliner family by Boeing Boeing 737 MAX Alaska Airlines Boeing 737 MAX 9 Role Narrow-body jet airlinerType of aircraft National origin United States Manufacturer Boeing Commercial Airplanes First flight January 29, 2016[1] Introduction May 22, 2017, with Malindo Air[2] Status In service Primary users Southwest AirlinesRyanairUnited AirlinesAlaska Airlines Produced 2014–present[n 1][4] Number built 1,486 as of March 2024[update]...

 

English association football player and manager Ryan Mason Mason playing for Tottenham Hotspur in 2015Personal informationFull name Ryan Glen Mason[1]Date of birth (1991-06-13) 13 June 1991 (age 32)[1]Place of birth Enfield, London, EnglandHeight 5 ft 9 in (1.75 m)[1]Position(s) MidfielderTeam informationCurrent team Tottenham Hotspur (assistant coach)Youth career1999–2008 Tottenham HotspurSenior career*Years Team Apps (Gls)2008–2016 Tottenham H...

Street in Brussels, Belgium Rue Neuve (French)Nieuwstraat (Dutch)The Rue Neuve/Nieuwstraat in BrusselsLocation within BrusselsShow map of BrusselsRue Neuve, Brussels (Belgium)Show map of BelgiumLocationCity of Brussels, Brussels-Capital Region, BelgiumQuarterMarais–Jacqmain QuarterCoordinates50°51′11″N 04°21′23″E / 50.85306°N 4.35639°E / 50.85306; 4.35639 The Rue Neuve (French: [ʁy nœv]) or Nieuwstraat (Dutch), meaning New Street, is a...

 

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі ор...

 

Zermatt Vue sur Zermatt. Armoiries Drapeau Administration Pays Suisse Canton Valais District Viège Localité(s) Zmutt Communes limitrophes Anniviers, Täsch, Saas-Almagell, Valtournenche et Evolène Président Romy Biner-Hauser(Le Centre) NPA 3920 No OFS 6300 Démographie Gentilé Zermattois Population permanente 5 746 hab. (31 décembre 2022) Densité 24 hab./km2 Langue Allemand Géographie Coordonnées 46° 01′ 12″ nord, 7° 44′ 49″...

Pac-Man Party Publikasi 16 November 2010 GenrePestaKarakteristik teknisPlatformWii, Windows Phone, Nintendo 3DS dan Java Platform, Micro Edition ModePermainan video pemain tunggal Formatunduhan digital Informasi pengembangPengembangNamco Bandai GamesPenyuntingBandai Namco Entertainment PengarahDaisuke IchiharaProdusenYasuhiro MinamimotoDesainerHirokazu YasuharaPenerbitNamco Bandai Games[a]PenilaianESRB Informasi tambahanMobyGamespac-man-party Bagian dari Pac-ManTidak ada Portal permai...

 

この項目では色を扱っています。閲覧環境によっては、色が適切に表示されていない場合があります。 将棋 ゲームの詳細 将棋のルール 将棋盤 - 駒 将棋のハンデキャップ 持ち時間 将棋の戦法 将棋の格言 将棋用語 歴史と組織 将棋の歴史 将棋界 コンピュータ将棋 日本将棋連盟 - 奨励会 日本女子プロ将棋協会 日本アマチュア将棋連盟 棋戦と棋士 棋戦 将棋の記録一覧...

 

Passenger and cargo ship SS Hebrides in her early years History United Kingdom NameSS Hebrides Owner 1898: John McCallum, Glasgow 1930: McCallum, Orme & Co., Glasgow 1955: David MacBrayne RouteHebrides Builder Ailsa Shipbuilding Company Engines by A & J Inglis Yard number70 Launched24 March 1898[1] HomeportGlasgow FateBroken up at Port Glasgow 1955 General characteristics Tonnage585 GRT Length180 ft (54.9 m) Beam28.1 ft (8.6 m) Draught13.2 ft (4.0...

Urs RäberNazionalità Svizzera Altezza171 Peso77 Sci alpino SpecialitàDiscesa libera, combinata SquadraSC Wilderswil/Grindelwald Termine carriera1984 Palmarès Trofeo Vittorie Coppa del Mondo - Discesa 1 trofeo Vedi maggiori dettagli  Modifica dati su Wikidata · Manuale Urs Räber (Grindelwald, 28 novembre 1958) è un ex sciatore alpino svizzero, vincitore della Coppa del Mondo di discesa libera nel 1984. Indice 1 Biografia 2 Palmarès 2.1 Coppa del Mondo 2.1.1 Coppa del Mon...

 

Political party in Hong Kong Kowloon West New Dynamic 西九新動力ChairpersonPriscilla LeungFounded16 March 2008 (2008-03-16)HeadquartersCapital CommercialBuilding, 448Shanghai Street,Mongkok, KowloonIdeologyConservatism (HK)Economic LiberalismPolitical positionCentre-rightRegional affiliationPro-Beijing campColorsGreenLegislative Council1 / 90District Councils0 / 470Websitewww.kowloonwest.hkPolitics of Hong KongPolitical partiesElections Kowloon West New DynamicTra...

 

Map of Washington's 20th legislative district Washington's 20th legislative district is one of forty-nine districts in Washington state for representation in the state legislature. The district includes a southern section of Thurston County, most of Lewis and Cowlitz counties, and the northern tip of Clark County.[1] This mostly rural district is represented by state senator John Braun and state representatives Peter Abbarno (position 1) and Ed Orcutt (position 2), all Republicans. H...

Логнормальное μ=0Плотность вероятности μ=0Функция распределения Обозначение ln ⁡ N ( μ , σ 2 ) {\displaystyle \ln N(\mu ,\sigma ^{2})} , L N ( μ , σ 2 ) {\displaystyle LN(\mu ,\sigma ^{2})} Параметры σ > 0 {\displaystyle \sigma >0} − ∞ < μ < ∞ {\displaystyle -\infty <\mu <\infty } Носитель x ∈ ( 0 ; + ∞ ) {\dis...

 

Former province of Japan Hida Province飛騨国pre-Meiji period Japan701–1871Map of Japanese provinces (1868) with Hida Province highlightedCapitalTakayamaArea • Coordinates36°30′N 135°45′E / 36.500°N 135.750°E / 36.500; 135.750 History • Ritsuryō system 701• Disestablished 1871 Today part ofGifu Prefecture Hiroshige ukiyo-e Hida in The Famous Scenes of the Sixty States (六十余州名所図会), depicting an aerial ropeway Hi...

 

American attorney, author and politician (born 1952) Spencer AbrahamOfficial portrait, 200110th United States Secretary of EnergyIn officeJanuary 20, 2001 – January 31, 2005PresidentGeorge W. BushPreceded byBill RichardsonSucceeded bySamuel BodmanUnited States Senatorfrom MichiganIn officeJanuary 3, 1995 – January 3, 2001Preceded byDonald RiegleSucceeded byDebbie StabenowChair of the Michigan Republican PartyIn office1983–1991Preceded byMelvin L. LarsenSucceeded byDavi...

Freedom HouseIl logo dell'associazione sullo sfondo TipoONG Fondazione1941 Sede centrale Washington, D.C. Area di azionericerca e sensibilizzazione PresidenteWilliam Howard Taft IV Sito web Modifica dati su Wikidata · Manuale Rapporto 2016 di Freedom in the world sullo stato della libertà nel mondo nel 2015, una misura fortemente correlata con altri indicatori di democrazia.[1].      Libero (86)      Parzialmente libero (59) ...

 

Traditional Cape Malay pastry This article is about Cape Malay version of the dish. For the version associated with Afrikaners, see koeksister. KoesisterAlternative namesKoe'sisterTypePastryCourseDessertPlace of originSouth AfricaMain ingredientsDough, sugar syrup, desiccated coconut, spices A koesister or koe'sister[1] is a traditional Cape Malay pastry often described as a spicy dumpling with a cake-like texture, finished off with a sprinkling of coconut.[2] The inaugural Wo...