Kompleksą sudarė 4 piliakalniai: vienas kairiajame Vilnios krante ir trys dešiniajame, dabartinio Kalnų parko teritorijoje. Nors Vilnius yra ilgaamžė Lietuvos sostinė, o jos piliakalniais domimasi jau beveik šimtą metų (1911 m. Pilies Kalne norėta įrengti vandens rezervuarą, tačiau protestuojant visuomenei šio projekto atsisakyta), apie jų raidą ir tarpusavio santykį žinoma labai nedaug. Senųjų Vilniaus piliakalnių suvokimą smarkiai komplikuoja ir didžiuliai jų suardymai bei pakeitimai vėlesniais laikais.
Pirmasis piliakalnis (Pilies Kalnas, Gedimino Kalnas) įrengtas atskiroje kalvoje, Neries ir Vilnios kairiuosiuose krantuose, jų santakoje. Iki XIX a. pradžios piliakalnis buvo Vilnios dešiniajame krante, nes jį iš P ir V juosė dabar jau užpilta senoji Vilnios vaga, o dabartinė vaga į R greičiausiai yra XIV a. prakasimas. Aikštelė ovali, pailga ŠR-PV kryptimi, 120x45 m dydžio. Jos 8 m pločio P kraštas viršuje 4 m aukštesnis, primena pylimą, nors yra natūralus darinys. Š šlaite yra senojo kelio žymės. Šlaitai statūs, 48 m aukščio. Jie ne kartą yra slinkę (ankstyviausia nuošliauža žinoma iš 1396 m.). Aikštelėje XV a. pradžioje pastatyta mūrinė Vilniaus aukštutinė pilis, kurios liekanos XX a. ne kartą restauruotos. Aikštelė išgrįsta akmenimis, dirvonuoja, šlaitai apaugę labai praretintais lapuočiais. R šlaitu į aikštelę veda 1895 m. įrengtas akmenimis grįstas kelias. Š šlaite 2003 m. įrengtas funikulierius.
Š ir V papėdėse, 5 ha plote yra papėdės gyvenvietė, XIV a. apjuosta Žemutinės pilies mūrine siena. Šioje teritorijoje XIV-XVII a. pirmojoje pusėje stovėjo katedra, didžiojo kunigaikščio rūmai ir kitokie pastatai, apgriauti per 1654-1661 m. Rusijos okupaciją. Vėliau Žemutinės pilies teritorija užstatyta įvairiais pastatais, dažnai nugriaunant senesnius, 1831-1881 m. ji dalinai pakliuvo į Vilniaus tvirtovės užimamą plotą. Nuo 1983 m. joje atstatomi senieji statiniai. Papėdės gyvenvietės teritorija tyrinėta 1931 1932, 1955-1961, 1964, 1970-1976, 1978-1979, 1982 m. ir nuo 1984 m. iki dabar. Jos V dalyje aptiktas 30 cm storio smarkiai sunaikintas I tūkst. vidurio kultūrinis sluoksnis su lygia ir grublėta keramika, geležiniu ietigaliu, akmeniniu kirviu, moliniais verpstukais. Nuo XIV a. visoje jos teritorijoje aptinkamas tankus medinis (aptikti 6 lygiai), nuo XVI a. - mūrinis užstatymas. Rasta medinių grindinių (7 lygiai), tvorų ir statinių liekanų bei įvairių geležinių, žalvarinių, stiklinių, medinių, kaulinių, odinių, akmeninių, molinių dirbinių, sidabrinių monetų, žiestos keramikos, gyvulių, paukščių ir žuvų kaulų. Iš jų išsiskiria su 1419 m. pilies gaisro padariniais siejami vienoje vietoje surasti apie 60 akmeninių sviedinių, svaidomųjų mašinų geležiniai apkaustai ir 453 arbaletiniai bei 2 lanko strėlių antgaliai.
1938 m. A. Ketlinska tyrinėjo aikštelės R dalį, apie 500 m2 plotą, aptiko medinių statinių liekanų. 1940 m. E. ir V. Holubovičiai aikštelės Š dalyje ištyrė 95 m2 plotą, 1982 m. A. Lisanka šalia šio ploto - dar 90 m2. Smulkesni kasinėjimai vykdyti mūrinės pilies liekanų konservavimo ir restauravimo metu 1930-1937, 1956-1960, 1977, 1981, 1987-1988, 1997 ir 2003 m. Iš viso piliakalnyje kasinėtas apie 800 m2 plotas.
Storiausias kultūrinis sluoksnis susiformavęs žemiausioje, Š aikštelės dalyje, kur yra iki 4 m storio. Piliakalniui skiriami 4 apatiniai kultūrinio sluoksnio horizontai, aukščiau kurių yra mūrinės pilies gyvavimo metu susiformavę XV-XVIII a. sluoksniai su plytomis, įvairiais to laiko radiniais. I tūkst. pr. Kr. kultūriniame sluoksnyje rasta akmeninių kirvukų dalių, brūkšniuotos keramikos. I tūkst. vidurio kultūriniame sluoksnyje rastas geležinis strėlės antgalis, pentinas, yla, peilis, žalvarinės apyrankės pusė, įvija, moliniai verpstukai, grublėtos ir lygios keramikos. XIV a. sluoksnyje rastas geležinis raktas, kabliukas, adata, žalvarinė sagtelė, stiklinės apyrankės, kaulinis adiklis, karoliai, apkalai, moliniai verpstukai, žiestos keramikos. XIV a. antrosios pusės sluoksnyje aptikta geležinių arbaletinių strėlių antgalių, kirvio ašmenų dalis, vinių, peiliai, svarelis.
Kalnų parko (Altarijos) teritorijoje buvo 3 piliakalniai (vienas jų visiškai nuplautas) ir greta jų - didelė gyvenvietė. Jų santykis su Pilies Kalnu ir tarpusavyje nėra aiškūs.
Kreivasis Kalnas, arba Plikasis Kalnas (N54°41'13.5"; E25°17'51.3"), yra 300 m į R nuo Pilies Kalno, Neries kairiajame ir Vilnios dešiniajame krante, Vilnios ir Neries santakoje esančioje aukštoje kalvoje (Habs 163,6 m). Aikštelė keturkampė, pailga Š-P kryptimi, 65x35 m dydžio. R aikštelės krašte yra 1 m aukščio, 6 m pločio pylimas. Į ŠR-Š, ŠV nuo aikštelės nueina 10 m pločio, 2 m aukščio į ŠV nuolaidėjanti ketera, panaši į pylimą. R šlaite, 6 m žemiau pylimo yra 7 m pločio terasa. PV šlaitas erodavęs, status, iki 70 m aukščio, kiti žemesni, 15-30 m aukščio.
Piliakalnis labai sunaikintas erozijos, viršus apardytas čia XVII-XIX a. buvusių įtvirtinimų. P dalyje ant pylimo 1916 m. pastatyti 3 kryžiai (1948 m. nugriauti, atstatyti 1989 m.). Viršus dirvonuoja, šlaitai apaugę lapuočiais.
1988-1989 ir 1991 m. V. Daugudis Trijų kryžių aplinkoje ištyrė 317 m2 bendrą plotą, rado medinės gynybinės sienos liekanas, brūkšniuotos ir žiestos keramikos. Ankstyviausia buvo 2 m pločio medinė gynybinė siena, sudaryta iš sukaltų 15-20 cm skersmens rąstų, tarpas tarp kurių išklotas 10-15 cm skersmens rąsteliais ir sutvirtintas smulkiais akmenimis. Ši gynybinė siena datuojama I tūkst. pradžia. Vėliau smėlinga žeme užpiltas aikštelės kraštas, suklotas skeltų rąstų klojinys ir iš molio suplūktas iki 3 m aukščio, 12 m pločio pylimas, ant kurio pastatyta medinė gynybinė siena. Pastarajai sudegus, gaisravietė užpilta smėlio sluoksniu ir naujas pylimas vėl suplūktas iš molio. Jo aukštis siekė iki 4 m, plotis 17 m. Ant jos stovėjusi medinė siena buvo tinkuota. Šiuos įtvirtinimus galima datuoti XIV a. pabaiga.
Piliakalnis (Stalo Kalnas) (N54°41'13.9"; E25°18'04.7") įrengtas atskiroje kalvoje (Habs 164,6 m) stačiais 20-35 m aukščio šlaitais, 600 m į R nuo Pilies Kalno, 50 m į R abs. nuo Kreivojo Kalno. Aikštelė netaisyklingo keturkampio formos, kiek pailga Š-P kryptimi, 150x110 m dydžio. Į ŠV nuo jos tęsiasi 130 m ilgio, 10 m pločio viršuje ožnugaris.
Aikštelė buvo iškasinėta duobėmis. 1955 m. kalno viršus sulygintas buldozeriais, tad dabar yra plokščias. Aikštelė dirvonuoja, į ją iš ŠR pusės veda gruntinis kelias, šlaitai apaugę lapuočiais.
1995 m. K. Katalynas aikštelės V ir P pakraščiuose ištyrė bendrą 12 m2 dydžio plotą, aptiko iki 1,8 m storio kultūrinį sluoksnį su žalvarinio žiedo fragmentu, žiesta keramika.
Piliakalnis (Bekešo Kalnas) (apie N54°41'10"; E25°18'00") buvo įrengtas atskiroje kalvoje stačiais iki 45 m aukščio šlaitais, 500 m į PR nuo Pilies Kalno, 300 m į P nuo Kreivojo Kalno, Vilnios dešiniajame krante. Aikštelės būta daugiau kaip 20 m pločio. Piliakalnyje 1579 m. buvo palaidotas didžiojo kunigaikščio Stepono Batoro didikas Kasparas Bekešas (1520-1579). Ant jo kapo buvo pastatytas 4 m skersmens ir 20 m aukščio aštuonkampis bokštas. Apie piliakalnį išliko mažai duomenų, kadangi 1838 m. gegužės 17 d. ir 1841 m. sausio 17 d. jo aikštelės likučiai, paplauti Vilnios, kartu su bokštu nugriuvo. XIX a. nuplautas ir likęs R šlaitas. Dabar šioje vietoje yra žema vieta - Vilnios kairiajame krante esantis parkas.
Kalnų parko piliakalnių aplinkoje, į Š nuo Kreivojo kalno, tarp Kreivojo Kalno ir Stalo Kalno esančiame slėnyje bei į P nuo jų, 7 ha plote yra papėdės gyvenvietė. Ji tyrinėta 1933, 1939, 1956, 1989, 1995, 1997 m. Aptikta sudegusių XIV a. pastatų liekanų, geležinių peilių, raktų, strėlių antgalių, ietigalis, pentinas, žirklės, raktas, spyna, žiestos keramikos, gyvulių kaulų, šlako, grūdų.
Vilnius kaip didžiojo kunigaikščio Gedimino rezidavimo vieta minimas nuo 1322 m., tačiau pilis paminėta tik 1365 m. 1377 m. vasario mėnesį kryžiuočiai apgulė Vilniaus pilį ir sudegino didžiąją miesto dalį. 1381 m. lapkritį - 1382 m. birželio 12 d. Vilniaus pilį buvo užėmęs Kęstutis. 1390 m. lapkričio 4 d. stipri kryžiuočių kariuomenė, kurios sudėtyje buvo Derbio (Anglija) grafas Henrikas, Vytauto pajėgos, o iš rytų žygiavo Livonijos ordino pajėgos, puolė Vilniaus pilį. Buvo užimta ir sudeginta sena Kreivoji pilis, tačiau pagrindinė pilis neužimta. 1394 m. antroje vasaros pusėje kryžiuočiai vėl puolė Vilnių. Tuo metu Žemutinė pilis jau buvo mūrinė. Persikėlę per Vilnią jie užėmė priešais pilį esantį kalną, nuo kurio bombardomis apšaudė pilį. Po 8 dienų apgulties atvykus Livonijos ordino pastiprinimui, pradėtas pilies puolimas nuo Neries pusės. Čia buvo griaunami ir deginami bokštai, vyko kovos dėl tiltų, bandyta iškasus naujus griovius nuleisti vandenį iš pilies griovių. Po 12 dienų pilies šturmo apgulėjai atsitraukė. Vilniaus pilį kryžiuočiai nesėkmingai puolė 1402 m. 1413 m. Aukštutinė pilis dar buvo iš medžio ir žemių.
Piliakalnis (Pilies Kalnas) datuojamas I tūkst. pr. Kr., I tūkst. viduriu ir XIV-XVII a. Kalnų parko piliakalniai datuojami I tūkst. pradžia - 1390 m.
Piliakalnis (Pilies Kalnas) yra miesto centre (į ŠR nuo Katedros aikštės). Kalnų parke esantys piliakalniai pasiekiami iš Kosciuškos gatvės (važiuojant į Antakalnį), iškart už Vilnios pasukus į dešinę (PR) ir bevarde gatve pavažiavus 450 m iki Dainų slėnio (Stalo Kalnas yra kairėje (R), Plikasis Kalnas - dešinėje (V)).
Lit. (tik apie priešistorinius - Viduramžių piliakalnius ir gyvenvietes): Hołubowicz, 1939; Holubovičiai, 1941; Голубовичи, 1945; Tautavičius, 1958; 1959, p. 127-129; 1960a; 1960b, p. 48-60; 1960c; 1961, p. 106-123; Tautavičius, Jurginis, 1968, p. 21-27, 37-44; Batūra, Budreika, Jučas, Tautavičius, 1971; LAA, p. 183-184 (Nr. 825-826); Daugudis, Lisanka, 1982; Lisanka, 1984a; 1984b; Kitkauskas, 1989, p. 13-22, 43-75; 93, 120, 180-181, 186-188; Kuncevičius, Tautavičius, Urbanavičius, 1989, p. 16-33; Daugudis, 1990d; 1992c; 1993, p. 8-10, 34-50; Misiukaitė, 1990, p. 153-154; Urbanavičius, 1990; 1992b, p. 62; 1994, p. 203-205; Kvizikevičius, 1995; Tautavičius, Urbanavičius, 1995, p. 12-27, 46-76; 1996, p. 175; 1999, p. 53-57, 64; Zabiela, 1995a, p. 258-259 (Nr. 101); 2001d, p. 33-35; Katalynas, 1996; Rackevičius, 1996; 1999; 2002, p. 44, 72-73, 74-76, 79-81, 88, 90, 92, 94, 105-106, 114, 115, 117, 125, 127, 134-139, 142, 144, 146, 149, 150, 203-217, 221; Sarcevičius, 1996, p. 167; Sarcevičius, Telksnienė, 1996; Vaicekauskas, 1996; 1998; Abaravičius, Remecas, 1998, p. 296-297; Ožalas, 1998, p. 273; 2000, p. 346-347; 2002, p. 155-157; 2003, p. 43-44, 51; Sarcevičius, 1998; Steponavičienė, 1998, p. 300-301; 2000; Steponavičienė, Racevičius, 2003, p. 71-78; Remecas, 2001; 2003; Vailionis, 2003, p. 101-106, 116-118.