thread_22.sh

1980'den kalma bir Spacelab bilgisayarındaki tersine mühendislik devresi

0 replies 3 views {"en": "Reverse Engineering", "tr": "Tersine Mühendislik", "ru": "Реверс-инжиниринг"}
righto.com
righto.com
OP
user
2026-05-23 16:17:44

Spacelab, Uzay Mekiğinin kargo bölümünde taşınabilen ve astronotlara laboratuvar alanı sağlayan, yeniden kullanılabilen bir laboratuvardı. ve deneyler. Spacelab, Fransız yapımı bir mini bilgisayar tarafından kontrol ediliyordu.Mitra 125 MS. Modern bilgisayarların aksine bu bilgisayarda bir mikroişlemci çipi yoktu. Bunun yerine, 16 bitlik işlemcisi birkaç yonga kartından oluşturuldu. Bu makalede, bilgisayarın Aritmetik/Mantık Biriminin (ALU) bir parçası olan, aşağıda gösterilen işlemci kartlarından birine ters mühendislik uyguluyorum.

The Mitra 125 MS computer, built by CIMSA, with one of the ALU/register cards shown.

Gösterilen ALU/kayıt kartlarından birinin bulunduğu, CIMSA tarafından üretilen Mitra 125 MS bilgisayarı.

Spacelab, basınçlı silindirik bir laboratuvardan oluşuyordu. Araştırmacılar için deneyler, bilgisayarlar ve çalışma alanları. Laboratuvarı Mekik'e bağlayan bir tünel, araştırmacıların Mekik ile Spacelab arasında hareket etmesine olanak sağladı. Spacelab ayrıca beşe kadar destekledi teleskoplar ve sensörler gibi deneyleri barındıran, uzaya maruz kalan basınçsız "paletler". Aşağıdaki resimde tünel, Spacelab laboratuvarı ve Shuttle'ın kargo bölmesine yerleştirilmiş bir palet gösterilmektedir.1

Illustration of the Spacelab-3 mission. From NASA.

İllüstrasyonSpacelab-3misyon. İtibarenNASA.

Spacelab bir Avrupa projesi olduğu için Mitra 125 MS adlı bir Avrupa bilgisayarı kullanıyordu. Mitra serisi, 1971 yılında CII adlı bir Fransız şirketinin Mitra 15 mini bilgisayarını tanıtmasıyla başladı. Manyetik çekirdek belleği kullanan 16 bitlik bir bilgisayar. Mitra Fransızca bir kısaltmadır2"Gerçek Zamanlı ve Otomatik Hesaplama için Mini Makine" anlamına gelir. Adından da anlaşılacağı gibi Mitra hem küçüktü hem de gerçek zamanlı hesaplama için tasarlanmıştı, bu da onu deneyleri kontrol etmeye uygun hale getiriyordu. Mitra 15, neredeyse 8000 adet satılan popüler bir bilgisayardı.

1975 yılında CII, Mitra 125 adında bir halefi üretti. Mitra 125, bellek yönetimi, G/Ç işlemcileri, daha yüksek performans ve ek talimatlar ekleyerek Mitra 15'i geliştirdi. Spacelab, Mitra 125 MS mini bilgisayarını kullandı.3bir şirket tarafından üretilen Mitra 125'in askerileştirilmiş bir versiyonu ÇİMSA denir. Bir Spacelab görevinde şu bilgisayarlardan üçü vardı: Alt Sistem Bilgisayarı tarafından kontrol ediliyordu. ve Spacelab'ın kendisini yönetirken, Deney Bilgisayarı da deneyleri gerçekleştirdi. Bir Yedekleme Bilgisayarı aşağıdaki durumlardan herhangi biri durumunda görevi devralabilir: bilgisayar başarısız oldu.1Bu bilgisayarlar, deneyleri kontrol eden ve veri toplayan Spacelab'ın Komuta ve Veri Yönetimi Alt Sisteminin bir parçasıydı.4

Üç bilgisayar normalde Spacelab laboratuvarında Çalışma Tezgahı Rafının altına monte edildi (detaylar). Bilgisayarlar kontrol ediliyordu bir klavye ve birrenkli CRT ekran, Veri Görüntüleme Sistemi (DDS) olarak adlandırılır. Bilgisayar kurulumu ve DDS aşağıdaki fotoğrafta görülebilir.

This photo shows astronauts inside Spacelab (but not in space). The Spacelab computers were mounted under the Work Bench (right arrow). The Data Display System (left arrow) provided the interface to the computers. Photo is STS-51B Crew Portrait, 1984.

Bu fotoğraf Spacelab'ın içindeki astronotları gösteriyor (ancak uzayda değil). Spacelab bilgisayarları Çalışma Tezgahının altına monte edildi (sağ ok). Veri Görüntüleme Sistemi (sol ok) bilgisayarlara arayüz sağlıyordu. Fotoğraf:STS-51B Mürettebat Portresi, 1984.

Bazı Spacelab görevlerinde laboratuvar tamamen ihmal edildi ve deney paletleri için daha fazla alan sağlandı. Bu durumda bilgisayarlar, adı verilen küçük basınçlı bir silindirin içine monte edildi.eskimo kulübesi. Araştırmacılar Mekikte kaldılar ve deneyleri iki Veri Görüntüleme Sistemi aracılığıyla kontrol ettiler. Shuttle'ın arka uçuş güvertesine monte edilmiştir (fotoğraf).

74181 ALU çipi

Spacelab'ın bilgisayarı bir mikroişlemci çipi kullanmıyordu. Bunun yerine, o zamanki çoğu mini bilgisayar gibi, basit bir sistemden oluşturuldu. bilgisayarın devresini uygulamak için birleştirilen entegre devreler. Modern CMOS entegre devrelerinin aksine, bu çipler hızlı fakat büyük ve güçlü olan bipolar transistörler içeriyordu. güce aç, TTL (transistör-transistör mantığı) olarak bilinen bir teknoloji. Belirli bir yaştaki elektronik meraklıları popüler 7400 serisi TTL çiplerini hatırlayacaklardır. Spacelab bilgisayarı bu çiplerin askeri sınıfı 5400 serisinden yapıldı.

Bilgisayardaki en karmaşık çip muhtemelen yaklaşık 170 transistör içeren '181 Aritmetik/Mantık Birimi (ALU) çipiydi. Aritmetik/mantık birimi bilgisayarın kalbidir ve Boolean mantık işlemlerinin yanı sıra aritmetik işlemleri de gerçekleştirir. 1970 yılında Texas Instruments, 74181 adı verilen tek bir çip üzerine tam 4 bitlik bir aritmetik/mantık birimi yerleştirdi. Çip hızlı, kompakt ve ucuz olduğundan, bilgisayarlarda ALU sağlayarak yaygın olarak kullanıldı Popüler PDP-11 ve Xerox Alto'dan güçlü VAX-11/780 "süpermini bilgisayar"a kadar.

74181, AND, OR, XOR ve tümleyen dahil olmak üzere tam bir ikili mantıksal işlemler seti sağlar. Aritmetik için toplama, çıkarma, artırma ve azaltma işlemlerini içerir.5 Uygunsuz bir şekilde 74181 sağa vites değiştirmeyi desteklemiyor. Üstelik çarpma ve bölme işlemleri 74181'e dahil edilemeyecek kadar karmaşıktı. Bunun yerine, bir işlemci, kaydırmayla birlikte tekrarlanan toplama veya çıkarma yoluyla çarpma ve bölmeyi uyguladı. Benzer şekilde, kayan nokta işlemleri 74181'in kapasitesinin çok ötesindeydi, ancak bir işlemci, işlem yaparken 74181'i kullanabilirdi. kayan nokta işleminin adımları.

74181 yalnızca dört bit işlese de, birden fazla 74181 yongası, 16 bit veya 32 bit gibi daha büyük sözcükleri işlemek için birleştirilebilir. Taşıma işlemlerini gerçekleştirmek için çipler birbirine zincirlenebilir ve bir çipin taşıması bir sonraki çipin taşımasına beslenebilir. Bu yaklaşım basit ama yavaştı, çünkü cevabın elde edilmesinden önce taşımanın tüm çipler arasında "dalgalanması" gerekiyordu. Taşıma süreci, 74182 adı verilen bir ileri taşıma çipi kullanılarak hızlandırılabilir. Dört adet 74181 yongadan (yani 16 bit) gelen taşımaları paralel olarak hesaplayarak toplama işlemini hızlandırır.

Mitra'nın ALU/kayıt kartları

Spacelab bilgisayarı, 32 bitlik bir toplayıcı uygulamak için sekiz adet '181 ALU yongası kullandı.6 (Özellikle bu çipler, 74181'in bir çeşidi olan 54S181'dir: "54", çiplerin askeri sıcaklık aralığını idare ettiğini gösterir ve "S", Çipin yüksek hızlı Schottky mantığından oluşturulduğuna inanıyorum.) Ancak ALU kartları çok sayıda ek çip gerektiriyordu. Talimata bağlı olarak ALU için sekiz farklı giriş seçilebilir. Çoklayıcı adı verilen yongalar, 32 çoklayıcı yonga gerektirerek istenilen değeri seçiyordu. Üç adet 32 ​​bitlik kayıt, ALU girişleri ve çıkışları için 24 yonga gerektiren depolama sağlıyordu. İki adet 54S182 ileri taşıma çipi, hızlı taşıma hesaplaması sağladı. Son olarak bazı basit mantık çipleri (invertörler ve NAND geçitleri) işleri birbirine bağladı.

Gerekli çip sayısı nedeniyle ALU/kayıt devresi aşağıda gösterildiği gibi üç karta yayıldı. (Sağdaki tahtaya tersine mühendislik uyguladım.7) '181 çipleri, diğer çiplerden çok daha büyük oldukları için hemen görülebiliyor; 14 veya 16 pin ile karşılaştırıldığında 24 pinleri var diğer cipsler. İlk kartta iki adet '181 çipi bulunurken, son iki kartın her birinde üç adet '181 çipi bulunur. Son iki kart benzerdir ancak aynı değildir.

The three ALU/register boards from the Spacelab computer.
Click this image (or any other) for a larger version.

Spacelab bilgisayarındaki üç ALU/kayıt kartı. Daha büyük bir versiyon için bu görsele (veya başka bir görsele) tıklayın.

Bilgisayar 16 bitlik bir bilgisayar olduğu için 32 bitlik bir ALU bulmak benim için sürpriz oldu. Genişletilmiş ALU muhtemelen performansı artırmak için uygulandı. İki adet 16 bitlik sayının çarpılması 32 bitlik bir sonuç verir; dolayısıyla 32 bitlik bir ALU, çarpmayı daha hızlı hale getirir. Üstelik bilgisayar 32 bit kayan noktalı sayıları destekliyor, dolayısıyla 32 bit ALU muhtemelen kayan nokta işlemlerini daha hızlı hale getiriyor.

Aşağıdaki şema bilgisayarın 32 bit ALU sisteminin mimarisini göstermektedir. Ortada iki adet 32-bit işlenen üzerinde çalışan ALU'nun kendisi bulunmaktadır:A and B. Solda, çoklayıcılar ("mux")Aiçin dört değerden birini ve için dört değerden birini seçer.B. Sağda, ALU'nun çıkışı üç adet 32 ​​bitlik kayıtta saklanabilir veya veri yolu aracılığıyla bilgisayarın geri kalanına gönderilebilir. İlk iki yazmaç kaydırma yazmaçlarıdır ve değerin üçüncü kayıt sadece flip-flop'lardaki değeri tutarken sola veya sağa kaydırılacaktır. İlk iki kayıt bilgisayarın geri kalanına otobüslerle bağlanırken, üçüncü kaydın değerine yalnızca onu kullanarak erişilebilir. başka bir aritmetik işlem için.8Kaydırma yazmaçlarının her adımda argümanları kaydırmak için çarpma ve bölme için kullanıldığından şüpheleniyorum.

Block diagram of the ALU/register board.

ALU/kayıt kartının blok şeması.

Çoklayıcılara yapılan girişler esneklik sağlar. Örneğin veri yolundan bir numaraya kayıt 1'i ekleyebilirsiniz veya kayıt 2'yi ekle kayıt 3'e sağa kaydırıldı. (Bu kaydırmanın, girişlerin tamamen ayrı olacak şekilde sola veya sağa kaydırılan çoklayıcıya kablolanmasıyla gerçekleştirildiğini unutmayın. kaydırma yazmacının kaymasından.) "Tüm 1'ler" girişi ya sıfır giriştir (negatif mantıkla) ya da -1'dir (ikilerin tümleyeninde). Bgiriş veri yolundan alınabilir, böylece değerin bellekten veya genel amaçlı bir kayıttan gelmesine izin verilir. mixgiriş, sinyal hatlarının, kayıt bitlerinin, bir kaydırma yazmacı girişi ve görünürde bir desen olmayan bir yukarı çekme. Dipnotta birkaç gizemi daha anlatıyorum;9Muhtemelen tüm bilgisayara tersine mühendislik uygularsam gizemler çözülebilirdi.

Çoklayıcıların, ALU yongalarının ve kayıtların işlevleri, hangi talimatın yürütüldüğüne bağlıdır. Spesifik olarak, bilgisayarın mikrokod motoru, ALU/kayıt kartları da dahil olmak üzere bilgisayar için kontrol sinyalleri üretir. Bu kontrol sinyallerinden bazıları Hangi multiplexer girişlerinin kullanıldığı. Diğer kontrol sinyalleri ALU'nun fonksiyonunu seçer. Son olarak kontrol sinyalleri hangi kaydın kullanılacağını seçer. ALU'nun çıktısını alır.

Ters mühendislik uyguladığım kart, ALU'nun 32 bitinden 12'sini uyguluyor ve kaydediyor. Aşağıdaki resimde karttaki her çipin rolü gösterilmektedir. Üç adet 4 bitlik ALU yongası 2, 1 ve 0 ile gösterilir. Her ALU çipinde dördünü seçmek için iki çoklayıcı çip bulunur.Adördünü seçmek için giriş bitleri ve iki çoklayıcı çipBgiriş bitleri.10Böylece kart üzerinde 12 adet çoklayıcı çip bulunmaktadır. Üç adet 12 bitlik kayıtA, B, VeCher biri üç adet 4 bitlik yonga ile uygulanır. Üç adet altıgen invertör çipi ve 4 girişli bir NAND çipi kartı tamamlıyor.11

The ALU/register board with the chips labeled.

Etiketli çiplerin bulunduğu ALU/kayıt kartı.

Bu baskılı devre kartlarının (PCB'ler) bazı ilginç özellikleri vardır. Çoğu elektronikte devre kartlarının yalnızca ihtiyaç duyulan yerlerde delikleri vardır, ancak Spacelab kartlarında sabit bir ızgara düzeninde delikler bulunur. (IBM, 1960'larda System/360 bilgisayarlarında benzer kartlar kullandı.12) Bir delik bir IC pimini veya başka bir bileşeni tutabilir. Veya farklı katmanlardaki PCB izlerini birbirine bağlayan bir delik, geçiş noktası olarak kullanılabilir. Kartların bir diğer ilginç özelliği ise entegre devrelerin altındaki dikey metal çubuklardır. Bu çubuklar ısıyı uzaklaştırır entegre devreler.

PCB izleri anakartın arka kısmında daha çok görülüyor (altta). İzler iki iz bırakacak kadar ince...




⚠️ Bu konu righto.com botu tarafindan otomatik olarak ice aktarilmistir.

🔗 Kaynak Baglantisi: http://www.righto.com/2026/05/reverse-engineering-spacelab-computer.html

Thread Statistics

Views 3
Replies 0
Author righto.com
Created 2026-05-23
Status
Open