Soddalashtirilgan qo'llanma kompyuter - Simplified Instructional Computer

The Soddalashtirilgan qo'llanma kompyuter (shuningdek, qisqartirilgan SIC) gipotetikdir kompyuter tizim kiritilgan Tizimli dasturiy ta'minot: tizim dasturlash bilan tanishish, Leland Bek tomonidan. Zamonaviy mikroprotsessorlarning aksariyati samaradorlik uchun nozik, murakkab funktsiyalarni o'z ichiga olganligi sababli, haqiqiy dunyo tizimidan foydalangan holda tizim dasturlarini o'rganish qiyin bo'lishi mumkin. Soddalashtirilgan o'qitish kompyuteri bu murakkab xatti-harakatlarni abstraktizatsiya qilish orqali tizimni dasturlashni o'rganishni istaganlar uchun tushunarli va qulay bo'lgan arxitektura foydasiga hal qiladi.

SIC arxitekturasi

SIC mashinasi asosiy manzilga ega va ko'p sonli xotira manzillarini o'n oltinchi tamsayı formatida saqlaydi. Ko'pgina zamonaviy hisoblash tizimlariga o'xshash, SIC arxitekturasi barcha ma'lumotlarni ikkilik formatida saqlaydi va ikkitasini to'ldiruvchi mashina darajasida salbiy qadriyatlarni aks ettirish. SIC-dagi xotirani saqlash 8-bitli baytlardan iborat va SIC-dagi barcha xotira manzillari bayt-manzillardir. Ketma-ket ketma-ket uchta bayt so'z qiymatidagi eng past bayt joylashgan joyiga qarab 24-bitli "so'z" qiymatini hosil qiladi. Raqamli qiymatlar so'z qiymatlari sifatida saqlanadi va belgilar qiymatlari 8-bitdan foydalanadi ASCII tizim. SIC mashinasi suzuvchi nuqtali apparatni qo'llab-quvvatlamaydi va ko'pi bilan 32 768 baytli xotiraga ega. Shuningdek, SICning ustiga qurilgan, qo'shimcha uskunalar bilan soddalashtirilgan qo'llanma kompyuter (SIC / XE) deb nomlangan yanada murakkab mashina mavjud. SIC-ning XE kengayishi dastlabki mashinaga 48-bitli suzuvchi nuqta ma'lumot turini, qo'shimcha xotira manzil holatini va qo'shimcha xotirani (32 768 bayt o'rniga 1 megabayt) qo'shadi. Barcha SIC yig'ilish kodlari yuqoriga qarab SIC / XE bilan mos keladi.

SIC mashinalarida bir nechta registrlar mavjud, ularning har biri 24 bit uzunlikda, ham raqamli, ham belgi bilan ifodalanadi:

  • A (0): Asosiy arifmetik amallar uchun ishlatiladi; akkumulyator registri sifatida tanilgan.
  • X (1): Manzillarni saqlaydi va hisoblab chiqadi; indeks registri sifatida tanilgan.
  • L (2): Muayyan xotira manzillariga o'tish va qaytish manzillarini saqlash uchun ishlatiladi; bog'lanish registri sifatida tanilgan.
  • Kompyuter (8): Keyingi bajarish uchun ko'rsatmaning manzilini o'z ichiga oladi; dastur hisoblagich registri sifatida tanilgan.
  • SW (9): Bayroqlarni ko'tarish yoki to'ldirish kabi turli xil ma'lumotlarni o'z ichiga oladi; holat so'zlari registri sifatida tanilgan.

Standart SIC registrlaridan tashqari, SIC / XE mashinasiga xos bo'lgan to'rtta qo'shimcha maqsadli registrlar mavjud:

  • B (3): Adreslash uchun ishlatiladi; asosiy registr sifatida tanilgan.
  • V (4): Maxsus foydalanish, umumiy foydalanish registri yo'q.
  • T (5): Maxsus foydalanish, umumiy foydalanish registri yo'q.
  • F (6): Suzuvchi akkumulyator registri (bu registr 24 o'rniga 48 bit).

Ushbu besh / to'qqizta registrlar SIC yoki SIC / XE mashinalariga moslashtirilgan montaj tilida eng oddiy vazifalarni bajarishga imkon beradi. Tizim dasturlari kitobida bu bajarish uchun zarur bo'lgan montajchilar va bog'lovchi-yuklovchilarni tushunishda yordam beradigan nazariy operatsion kodlar to'plami bilan foydalaniladi. assambleya tili kod.

SIC va SIC / XE uchun rejimlarni aniqlash

Soddalashtirilgan qo'llanma kompyuterida uchta ko'rsatma formati mavjud va qo'shimcha uskunalar qo'shimchasi to'rtinchisini o'z ichiga oladi. Ko'rsatmalar formatlari xotira va ma'lumotlarni boshqarish uchun modelni taqdim etadi. Har bir format xotirada har xil ko'rinishga ega:

  • Format 1: Ko'rsatmalarni saqlash uchun ajratilgan 8 bitli xotiradan iborat.
  • Format 2: 8 bit ko'rsatmalarni saqlash uchun 16 bit ajratilgan xotiradan va operandlarni saqlash uchun ikkita 4 bitli segmentlardan iborat.
  • Format 3: Ko'rsatmani saqlash uchun 6 bit, bayroq qiymatlarining 6 biti va 12 bit joy almashtirishdan iborat.
  • Format 4: Faqatgina SIC / XE mashinalarida amal qiladi, 3 formatdagi elementlardan iborat, ammo 12 bitli siljish o'rniga, 20 bitli manzil saqlanadi.

Format 3 va format 4 ning ikkitasida quyidagi bayroq bitlaridan tashkil topgan olti bitli bayroq qiymatlari mavjud:

  • n: Bilvosita adreslash bayrog'i
  • men: Darhol manzil belgisi
  • x: Indekslangan manzil belgisi
  • b: Asosiy manzilga nisbatan bayroq
  • p: Dasturning qarama-qarshi bayrog'i
  • e: Format 4 buyrug'i bayrog'i

SIC / XE uchun manzillarni aniqlash

  • 1-qoida:
    e = 0: format 3
    e = 1: format 4
    • 3-format:
      b = 1, p = 0 (bazaga nisbatan)
      b = 0, p = 1 (kompyuterga nisbatan)
      b = 0, p = 0 (to'g'ridan-to'g'ri manzil)
    • format 4:
      b = 0, p = 0 (to'g'ridan-to'g'ri manzil)
      x = 1 (indeks)
      i = 1, n = 0 (darhol)
      i = 0, n = 1 (bilvosita)
      i = 0, n = 0 (SIC)
      i = 1, n = 1 (SIC uchun SIC / XE mos keladi)
  • 2-qoida:
    i = 0, n = 0 (SIC)
    b, p, e manzilning bir qismidir.

SIC Assambleyasi sintaksisi

SIC dasturlarni yig'ish va bajarish uchun zarur bo'lgan hex qiymatlarini ushlab turadigan o'z operatsion kodlari bilan maxsus yig'ilish tilidan foydalanadi. SIC dasturi qanday ko'rinishi mumkinligi haqida ma'lumot olish uchun quyida namunaviy dastur keltirilgan. Quyidagi kodda uchta ustun mavjud. Birinchi ustun o'z o'rnini xotirada saqlaydigan yo'naltirilgan belgini anglatadi. Ikkinchi ustun, SIC buyrug'ini (opcode) yoki doimiy qiymatni (BYTE yoki WORD) bildiradi. Uchinchi ustun birinchi ustundan o'tish natijasida olingan belgi qiymatini oladi va undan ikkinchi ustunda ko'rsatilgan operatsiyani bajarish uchun foydalanadi. Ushbu jarayon ob'ekt kodini yaratadi va barcha ob'ekt kodlari SIC mashinasi tomonidan boshqariladigan ob'ekt fayliga qo'yiladi.

      NUSHALASH 1000
BIRINChI STL RETADR
CLOOP JSUB RDREC
LDA UZOQ
COMP ZERO
JEQ ENDFIL
JSUB WRREC
J CLOOP
ENDFIL LDA EOF
STA BUFFER
LDA UCH
STA UZOQ
JSUB WRREC
LDL RETADR
RSUB
EOF BYTE C'EOF '
Uch so'z
Nolinchi so'z
RETADR RESW 1
UZOQNI RESW 1
BUFFER RESB 4096
.
. YOZUVNI BUFFERGA O'QISH UChUN SUBROUTING
.
RDREC LDX ZERO
LDA ZERO
RLOOP TD KIRISH
JEQ RLOOP
RD KIRISH
COMP ZERO
JEQ EXIT
STCH BUFFER, X
TIX MAXLEN
JLT RLOOP
STX LENGTH-dan chiqish
RSUB
X'F1 BYTE KIRISH '
MAXLEN WORD 4096
.
. BUFERDAN RECORD YOZISH UChUN SUBROUTING
.
WRREC LDX ZERO
WLOOP TD ChIQARISh
JEQ WLOOP
LDCH BUFFER, X
WD Chiqish
TIX UZOQ
JLT WLOOP
RSUB
X'06 BAYT ChIQARISh '
BIRINChI Tugatish

Agar siz ushbu dasturni yig'adigan bo'lsangiz, quyida tasvirlangan ob'ekt kodini olasiz. Har bir satrning boshi yozuv turi va xotira joylari uchun olti burchakli qiymatlardan iborat. Masalan, yuqori satr - bu "H" yozuvi, dastlabki olti burchakli raqam uning nisbiy boshlanish joyini bildiradi va oxirgi olti burchakli raqam dastur hajmini bildiradi. Bu chiziqlar bir-biriga o'xshashdir, har bir "T" yozuvi bu oltita raqamdan iborat bo'lib, ushbu satr boshlanish joyini bildiradi, chiziqning o'lchamini (baytda) ko'rsatish uchun ikkita olti raqam va yig'ish jarayonida yaratilgan ob'ekt kodlari .

      HCOPY 00100000107A T0010001E1410334820390010362810303010154820613C100300102A0C103900102D T00101E150C10364820610810334C0000454F46000003000000 T0020391E041030001030E0205D30203FD8205D2810303020575490392C205E38203F T0020571C1010364C0000F1001000041030E02079302064509039DC20792C1036 T002073073820644C000006 E001000

Dastur namunasi

Quyida, SIC ma'lumotlarning harakatlanishini aks ettiruvchi dastur berilgan.

LDA Beshinchi
STA ALPHA
LDCH CHARZ
STCH C1

ALPHA RESW 1
Beshinchi so'z
CHARZ BAYT C'Z '
C1 RESB 1

SIC tizimini taqlid qilish

SIC va SIC / XE mashinalari haqiqiy mashinalar bo'lmaganligi sababli, aslida SIC emulyatorini yaratish vazifasi ko'pincha tizim dasturlash sinfidagi dars ishlarining bir qismidir. SIC maqsadi - boshlang'ich tizim dasturchilari yoki kollej talabalariga C va C ++ kabi yuqori darajadagi tillar ostida kod yozishni va yig'ishni o'rgatish. Aytgancha, Internetda SIC-ga taqlid qiluvchi dasturlarning ba'zi manbalari mavjud, ammo ular kamdan-kam hollarda.


Shuningdek qarang

Adabiyotlar

  • Bek, Leland (1996), Tizimli dasturiy ta'minot: tizim dasturlash bilan tanishish (3 tahr.), Addison-Uesli, ISBN  0-201-42300-6
  • SIC va SIC / XE tizimlari haqida ma'lumot: https://web.archive.org/web/20121114101742/http://www-rohan.sdsu.edu/~stremler/2003_CS530/SicArchitecture.html
  • SIC va SIC / XE ko'rsatmalarining ro'yxati: http://solomon.ipv6.club.tw/~solomon/Course/SP.941/sic-instruction.html
  • Qisqa xotira ma'lumotlari: http://www.unf.edu/~cwinton/html/cop3601/s10/class.notes/basic4-SICfmts.pdf
  • SIC / XE rejimining manzili: http://uhost.rmutp.ac.th/wanapun.w/--j--/ch2-2.pdf[doimiy o'lik havola ]

Tashqi havolalar

  • SICvm Soddalashtirilgan qo'llanma kompyuteriga asoslangan virtual mashina (SIC)