
Microsoft-ის ვეტერანმა ინჟინერმა ვინტაჟური PDP-11-ისთვის საკუთარი RAM-ის დაფა ააწყო
Microsoft-ის ყოფილმა ინჟინერმა დეივ პლამერმა ვინტაჟური PDP-11-ისთვის RAM-ის საკუთარი დაფა ააწყო მას შემდეგ, რაც ამ მანქანისთვის მეხსიერების ფასები ძალიან მაღალი აღმოჩნდა. მან გამოიყენა ChatGPT, EasyEDA, FPGA და ISSI-ის მეხსიერების ჩიპები.
Microsoft-ის ყოფილმა ინჟინერმა დეივ პლამერმა, რომელიც Task Manager-სა და Windows Pinball-თან არის დაკავშირებული, ვინტაჟური PDP-11-ისთვის RAM-ის საკუთარი დაფა ააწყო მას შემდეგ, რაც დაინახა, თუ რა ღირდა ამ მანქანისთვის მეხსიერება. მან გამოიყენა ChatGPT და EasyEDA-ის ონლაინ სქემების სიმულატორი, თუმცა აღნიშნა, რომ მანამდე მსგავსი რთული პროექტები არ გაუკეთებია. დაფა დამოუკიდებელ ბარათად შეიქმნა და გამოსცადეს ბექპლეინზე M8190 CPU-ის დაფასთან ერთად.
აპარატურის დიზაინი
პლამერმა RAM-ის დაფა დამოუკიდებელ ბარათად შექმნა, რადგან PDP-11-ის რამდენიმე მოდელი სისტემის ძირითადი კომპონენტებისთვის Q-Bus-ის დაფებს იყენებდა. მან დაფაზე დააყენა Lattice MachXO2 FPGA, მოდელი 2000HC, რომელიც მეხსიერების კონტროლერის როლს ასრულებს, და ოთხი ISSI-ის 1 MB მეხსიერების ჩიპთან შეაერთა. სქემის დასასრულებლად მან ასევე დაამატა U2S I/O ჩიპი, DIP გადამრთველების ბლოკი, კომუნიკაციის პორტები და რამდენიმე კონდენსატორი.
M8190-ის დაფის დიზაინს 22-ბიტიანი სალტე აქვს და ზედა 256 KB I/O-სა და ROM-ისთვისაა გამოყოფილი. PDP-11 1970 წლისაა, ხოლო გვიანდელ მოდელებში ოთხ მეგაბაიტამდე მეხსიერება ეტეოდა.
მეხსიერების სალტის თავისებურება
პროექტი პირველივე ცდაზე წარმატებული არ აღმოჩნდა. პლამერს მანამდე არასდროს ჰქონდა FPGA ჩიპის flash-პროგრამირება გაკეთებული და ეს რამდენიმე ცდის შემდეგ გამოასწორა.
შემდეგ პლამერი PDP-11-ის მეხსიერების სალტის დიზაინის პრობლემას წააწყდა. სალტეს ერთდროულად მხოლოდ ორბაიტიან მთლიან სიტყვებზე წვდომა შეუძლია და მეხსიერების მისამართში უმდაბლეს ბიტს იყენებს როგორც ბაიტის სელექტორს, რომელიც სიტყვაში დაბალ ან მაღალ ბაიტს შორის ირჩევს. კითხვისას CPU თავად ირჩევს სწორ ბაიტს, მაგრამ მეხსიერების კონტროლერს მაინც ორი ბაიტის დაბრუნება სჭირდება. ჩაწერისას კონტროლერმა უნდა წაიკითხოს ბიტის სელექტორი და შეარჩიოს შესაბამისი ბაიტი, რათა განახლდეს მხოლოდ ის ბაიტი, რადგან სალტის ხაზები მაინც მთლიან სიტყვას ატარებენ და სხვაგვარად შეიძლება არასწორი მონაცემები ჩაიწეროს.
როგორც ჩანს, პლამერმა ეს ადრე არ იცოდა. ერთმა კომენტატორმა ხუმრობით თქვა, რომ მან 4 MB მეხსიერება ააწყო, რომელიც სინამდვილეში 2 MB აღმოჩნდა, და პლამერმაც უპასუხა, რომ მეხსიერება მხოლოდ ყოველ მეორე სიტყვას აბრუნებს, რაც დიზაინის ლოგიკას შეესაბამება. მეტი განახლება არ არის, თუმცა ვარაუდობენ, რომ მან მარტივი გამოსწორება FPGA-ის კოდში დანერგა, რადგან ამაზე კიდევ რამდენიმე კომენტატორმა მიუთითა.
ალტერნატიული წინადადებები
ერთმა ადამიანმა შესთავაზა პრობლემის გვერდის ავლა მეხსიერების პროგრამულად რეალიზებით Raspberry Pi-ის მეშვეობით, რომელიც პირდაპირ PDP-ის სალტეს დაუკავშირდებოდა. პლამერმა უპასუხა, რომ ეს ფაქტობრივად გასულ კვირას უკვე გააკეთა თანამედროვე QBone DEC-ის ინტერფეისის დაფით, რომელზეც Beaglebone Black არის დამატებული, Raspberry Pi-ის მსგავსად.
ფორუმის ერთმა კომენტატორმა პროექტს აკურატულად გაკეთებული უწოდა და თქვა, რომ AI-ის მეშვეობით ცოდნაზე ბარიერის დაწევა დიდი მოვლენაა.
წყაროები: Tom's Hardware
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.