pice sıkıstırma programı yazmak istiyorum

Başlatan parametre, 05 Aralık 2009, 20:10:32

parametre

pice sıkıstırma programı yazmak istiyorum

sitelerden gorebildigim rar zip arj ve diger sıkıstırma programlarının kodlarını elde ettim ama bana lazım ola 8086 kodlarını bana pice donusturecek bir converter programı lazım bu konuda yardımcı olabilirmisiniz

PROTECH_

o işlemleri PICe yaptırmaya kalkarsan o bitirene kadar ömrün biter...
Bir rar proğramı çalıştığında bildiğim kadarı ile 150 tane ye yakın yapay sinir ağı çalışıyor ... bunlardan birtanesini bil PIC doğru düzgün çalıştıramaz..
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

lojikmemo1

Alıntı yapılan: "PROTECH_"o işlemleri PICe yaptırmaya kalkarsan o bitirene kadar ömrün biter...
Bir rar proğramı çalıştığında bildiğim kadarı ile 150 tane ye yakın yapay sinir ağı çalışıyor ... bunlardan birtanesini bil PIC doğru düzgün çalıştıramaz..

Araştırmadan yazmayalım.!!!!
Bilgisayar da sinir minir yok sadece ağ var:)

Rar zip gibi algoritmalar basit ama zekice yapılmış matamatiksel işlemlerden başka bişi değildir pic ile de yapılır.

Emsal teşkil etsin diye örnek veriyorum.
Şifresi bilinmeyen rar dosyaları bilgisayar ile aylarca süren deneme yanılmalar ile çözülürken FPGA lar ile dakikalar içinde hallediliyor hatta bazı uçuklar FPGA hızlarını böyle test ediyorlar.


Linkteki web adresinden alıntı:
NSA@home is a fast FPGA-based SHA-1 and MD5 bruteforce cracker. It is capable of searching the full 8-character keyspace (from a 64-character set) in about a day in the current configuration for 800 hashes concurrently, using about 240W of power. This performance is equivalent to over 1500 Athlon FX-60 CPUs, which would take about 250kW.

http://jchblue.blogspot.com/2009/08/nsahome-fpga-based-sha-1-and-md5.html
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

z

8 bitlik şifre nasıl olacak ta FPGA ile paralel denenebilecek?

Şifre soran aygıtın 10 kanaldan gelen şifreleri aynı anda sınama şansı yokki.

Mikroişlemci ne yapıyorsa FPGA de aynını yapacak.

Şifreyi hızlıca kırmak için 10 ayrı cihazı 10 ayrı şifre kırıcı ile aynı anda birbirinden farklı 25 şifre ile ile kırmaya çalışmalısınız ki hızlı kırım olsun.

Burada şunu yapabilirsiniz. 10 ayrı cihaza tek bir FPGA ile aynı anda 10 şifre deneyebilirsiniz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

piedos

Alıntı yapılan: "z"8 bitlik şifre nasıl olacak ta FPGA ile paralel denenebilecek?

Şifre soran aygıtın 10 kanaldan gelen şifreleri aynı anda sınama şansı yokki.

Mikroişlemci ne yapıyorsa FPGA de aynını yapacak.

Şifreyi hızlıca kırmak için 10 ayrı cihazı 10 ayrı şifre kırıcı ile aynı anda birbirinden farklı 25 şifre ile ile kırmaya çalışmalısınız ki hızlı kırım olsun.

Burada şunu yapabilirsiniz. 10 ayrı cihaza tek bir FPGA ile aynı anda 10 şifre deneyebilirsiniz.

Hocam yapan yapmış sizin bunu bilmemeniz bunu reddetmenizi gerektirmez.

Ünlü bir söz var "İnsanların düşünceleri farkındalıklarıyla sınırlıdır. Siz farkettiğinizden ötesini tasvir edemezsiniz yaşayamazsınız."

aman alınganlık olmasın bu kural benim için de geçerli...

örnek hiç birimiz 4 boyutlu (hepsi fiziksel) birşeyi canlandıramayız kafamızda... ama bakınız fizikçiler 11 boyuttan, string teorisinden bahsediyor

yani siz daha fpga in en basit prensibine olmaz derken, fpga çok daha karmaşıklarını yapabiliyor inanın

başka bir söz daha
"At binenin kılıç kuşananın"
Einstein: "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."

z

Denileni ya siz yada ben anlamadım.

8 bitlik şifreli bir kapı kilidiniz var.  Kilidin şifre girişini 8 bitlik port üzerinden FPGA devrenize girin.

Söyleyin bana şimdi. Paralel işlem yaparak şifreyi nasıl hızlı kıracaksınız?

(Bu arada, 90 lı yıllarda CPLD + ABEL ikilisi ile PID koşturuyordum, ama artık bu ata binmiyorum)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

FullMetal

Alıntı yapılan: "parametre"pice sıkıstırma programı yazmak istiyorum

sitelerden gorebildigim rar zip arj ve diger sıkıstırma programlarının kodlarını elde ettim ama bana lazım ola 8086 kodlarını bana pice donusturecek bir converter programı lazım bu konuda yardımcı olabilirmisiniz
x86 asm den picxx asm ye dönüşüm arıyorsan ben bulabileceğini zannetmiyorum. Bulursan burada paylaşırmısın?

Alıntı yapılan: "PROTECH_"Bir rar proğramı çalıştığında bildiğim kadarı ile 150 tane ye yakın yapay sinir ağı çalışıyor ... bunlardan birtanesini bil PIC doğru düzgün çalıştıramaz..
Niye doğru düzgün çalışmasın? Sadece daha yavaş çalışır. Simple perceptron ve aktivasyon fonksiyonu linerse hız yeterli gelebilir.
Alıntı yapılan: "z"(Bu arada, 90 lı yıllarda CPLD + ABEL ikilisi ile PID koşturuyordum, ama artık bu ata binmiyorum)
90 lı yıllarda bunu yapmak fiyat ve performans açısından iyi olabilirdi.

PROTECH_

Alıntı yapılan: "lojikmemo1"
Alıntı yapılan: "PROTECH_"o işlemleri PICe yaptırmaya kalkarsan o bitirene kadar ömrün biter...
Bir rar proğramı çalıştığında bildiğim kadarı ile 150 tane ye yakın yapay sinir ağı çalışıyor ... bunlardan birtanesini bil PIC doğru düzgün çalıştıramaz..

Araştırmadan yazmayalım.!!!!
Bilgisayar da sinir minir yok sadece ağ var:)...

hocam benim bir arkadaşım bire bir bu sıkıştırma algoritmaları ile uğraşıyordu, uygulamalarını da yapmıştı... O 150 tane yapay sinir ağı çalışırken büyük miktarda ram kullanıyordu + Mega byte  lar seviyesinde program hafızası kullanıyor, PIC dediğin daha en iyis 512k hafızaya sahip ve hafıza genişleme ünitesi bile yok  :!:
simdi araştırmadan mı yazılmış bir daha kontrol edelim
kolay gelsin
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

azimli

işin fpga veya mikro işlemci ile olması noktasında bir iki şey söylemek isterim.

günümüzde pc üzerinden gidersek anakart üzerindeki kuzey güney köprü kontrol donanımını FPGA tarzı tek sefer programlanabilen ve fabrikasyon böyle üretilen ACIS çipler yürütür.

FPGA da aynı işi yapar ama ACIS bu işe özel üretildiğinden FPGA dan %30-40 daha hızlı çalışır.Zaten bir iş FPGA ile başarılıyorsa devamıda adetli ise iş ACIS' teknolojisine geçilerek yapılır biliyorum.

yine pc den örnekle anakart üzerindeki PCI haberleşme ethernet haberleşme gibi özellikler yine ACIS lerle kotarılır anakarta dışarıdan bağlanabilir bir 1000 ethernet haberleşmeli bir donanımı çok az mikro denetleyici ile yapabilirsiniz ama bu microchip marka olmaz bu hızda çalışma yapamaz ancak 100 hızlı ethernet mümkün olur bu markayla
yine anakarta dışarıdan veya üzerinde PCI-Express yüksek hızlı haberleşmeli bir donanım tasarlayacaksanız bunu hiçbir mikro denetleyici yapamaz isterse 2 veya 4 çekirdekli olsun bu işi ancak FPGA tabanlı çiplerle kotarabilirsiniz.

FPGA bence gelecekte endüstriyel mikro işlemci yerini almaz ama FPGA de bir şekilde devre dışı kalmaz çünkü bazı uygulamalarda kendisi vazgeçilmez oluyor.

yalnız günümüzde endüstriyel mikro denteleyiciler çok yakında 4 çekirdekli ve 64 bit yapılı tiplerde olabilecek burda komut işleme ve yürütme hızlarına bakılırsa FPGA ları zorlayacak yapıda olacakları kesin hem bu işlemcilerin emc dayanımları ve komut yürütmede kesintilerin eskiye nazaran daha az olması yönünde geliştirildikleride unutulmamalı birde artık 1,2 volt veya biraz altına inilmelerle nano teknolojisi dahada uygunlaştırılmaktadırlar.

ama FPGA nın mantığı ayrı bir yapıda ne olursa olsun bazı işlerde FPGA kaçınılmaz kalabiliyor örneğin askeri alanda önde gelen tercih nedenlerinden biri FPGA lar oluyorlar tıpta bazı hayati amaçlı cihazlarda yalnızca işlemciye güvenilemiyor burda bazı yerlerde fpga kaçınılmaz yine uçaklarda çok hayati kumanda işlerinde fpga ler hatta 5 kere devre paralelleştirilip yedeği alınıp uygulanıyor buna rağmen bazen yinede kazalar kaçınılmaz oluyor.

FPGA lerin ve ACIS teknolojili yapıların argeleri genelde gizli tutuluyor işlemciler kadar açık olmayabiliyor.

ACIS in işe özel yapılması bir şekilde anlaşılabilirde FPGA ler bile özel yapılabiliyor.

üzerinde 2000 den fazla bağlantı pini bulunan fiyatları 5000 dolar üzerinde FPGA çipleri özel üretim yapılabiliyor ama araştırdığım kadarı ile bu çipi kim nerde kullanır bulamıyorum herhalde çok özel bir iş olsa gerek ve bu işi yapan sistem 1 milyon dolardan ucuz olmasa gerek günümüzde en pahalı mikro denetleyici sizce kaç para olsun olsun 300 dolar

adamlar faydasını görmese bilmese programlamasıda o denli uzun zahmetli ve zor olan projenin çıkarılması uçuk derecede zor olabilen alanlarda işlemciye göre bir üstünlüğü olmasa niye FPGA'i tercih etsinler.

yalnızca FPGA tabanlı çalışan bilgisayarlarda var virgülden sonra binlerce küsür basamağı olan sayılarla çok kısa zamnlarda üst düzeyde matematik işlemlerin yapılıp anında değerlendirildiği tıbbi ve askeri uygulamalar olmadığını biliyormuyuzki bu FPGA alanında yapılan uygulamalar atmadıkça ve açık kaynak olarak yaygın sunulmadıkça FPGA i tam manasıyla çözemeyiz

bizim formlarda yazdığımız konuların nerdeyse tamamına yakını mikro işlemcilerle yapılabilen işler bu işlerde FPGA tercihi gereksiz ve lüks olabiliyor

bende FPGA kullanmayı bilmeyen ve bu saatten sonrada öğrenmeyi düşünmeyen biri olarak işlemciye devam derim.zaten yapmayı hayel edip düşündüğüm işlerin tamamında kontrolör eleman ya mikro işlemci çok azda pc ve üzerindeki C-C# yazılımı bu alanda çalışmalarımı devam ettireceğim

aynı anda üst düzeyde mikro işlemci ve FPGA kullanan bir arkadaş yada FPGA ile FPGA içine gömülen işlemciyi iyi kullanan bir arkadaş konuya dahada açıklık getirebilir düşüncesindeyim

ama z arkadaşıda yabana atmayın donanım bazında dile getirdiklerini iyi dikkate alın derim FPGA ide çok dokunulmaz ifade etmeyin

biri çok iyi asm bilgisiyle ve C bilgisiyle PIC32 ile bir alanda bir işi çözemeyebilir ama ilk okul mezunu biri gelir o alanda tecrübesi vardır yada tecrübesi olmasada kafası yatar iyi basar o işi 16F628 ile çözer geçer hemde şaşırabilirsiniz

bu tür donanımlar ne kadar ilerlesede bunu kullanmayı beceren insan olacağı gerçeği kesindir bir fabrikada herşey robotla yürütülür trande bilgisayarla kontrol ediliyor olabilir uçaklar otomatik pilotlu olabilir ama orda çalışan bulunan insan gerçeği olduğu sürece o sistemmin başına yinede bir insan koyulur insan zekası kendi yaptığı ürettiği cihazlar sistemler kadar hızlı işlem yapamıyor ve kontrol edemiyor olabilir ama seka denen şeyde elektronik bir sistem veya yonga için programdan ibarettir onuda yazan insandır.

z

Alıntı yapılan: "FullMetal"
Alıntı yapılan: "z"(Bu arada, 90 lı yıllarda CPLD + ABEL ikilisi ile PID koşturuyordum, ama artık bu ata binmiyorum)
90 lı yıllarda bunu yapmak fiyat ve performans açısından iyi olabilirdi.

O tarihler değil, asıl bulunduğumuz tarihler bu tür işleri için iyi. Arkadaş, paralel işlemlerden, ata binip kılıç kuşanmaktan vs bahsetti de o yüzden yazdım.

O zamanlar şimdilerde tarih olan C14 serisine bile kolay ulaşılamıyor, şimdiki kadar hızlı çipler ve derleyiciler kolay ve ucuza bulunmuyordu. Ayrıca cpld fiyatları hiç ama hiç ucuz değil, FPGA fiyatları ise uçuktu.

Zaten FPGA yerine üzerinde çok sayıda CPLD içeren kartlar yaygındı.

Çok kanallı PWM o tarihlerde başlı başına sorundu. Asıl amaç, vizyonu genişletmek, kendi çevre birimlerini yapabilmek, PID gibi aritmetik bir ifadeyi işlemci ile değil de lojik devrelerde  paralel işlemle yapmayı becermekti.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hasangurlek

Data sıkıştırma birbirini takip eden ve/veya tekrarlanan bilgilerin belirli bir mantık çerçevesinde (ve yeniden eski haline getirilebilmesi için ilgili noktalara özel işaretler konularak) içerikten çıkartılmasıdır.

Bunun yapılabilmesi için data bilgisi bayt seviyesinde (hatta bit tekrarlarıda işleme alınabilir) işlenmek zorundadır.  Datadan kasıt her türlü veri, işlenmekten kasıt ise matematiksel işlemler bütünüdür.

Bir program, bir resim, bir word dosyası vb. her data yapısı tamamen baytlardan oluşur. Bunların tasarlandığı programlar kayıt ve yükleme sırasında sadece kontrol baytları ile data baytlarının adreslerini ayırma işlemi yapar. Eğer bir dosyanın formatını biliyorsanız (örneğin bir bmp dosyasının formatını nette çokça bulabilirsiniz) her dosyayı istediğiniz dilde yapacağınız bir kod ile açabilirsiniz.

Sıkıştırmanın güzel tarafı ise bu formata ihtiyacınız olmayışıdır. Formatı kendiniz oluşturursunuz ve bayt seviyesinde matematiksel işlem yapabilen her donanım sıkıştırma ve açma işlemini yapabilir.

Örneğin birbirini takip eden çok sayıda boşluk içeren bir dosyayı (txt, pdf gibi) PIC ile çok hızlı bir şekilde yüksek oranlarda sıkıştırabilirsiniz. Yapmanız gereken sıkıştıracağınız dosya içinde kullanılmayan bir veriyi (örneğin 0xFF) tespit etmek ve her hangi bir yerde peşpeşe 30 karakter boşluk var ise 0xFF ve ardından 30 bilgisi ile (iki bayt) bu 30 boşluk karakterini (30 bayt) yer değiştirmektir.

Sıkıştırmaya çalıştığınız dosya bir programa aitse bunu istediğiniz mantığı ve dili kullanın verimli olarak yapamazsınız. (Herhangi hazır bir sıkıştırma programı ile com veya hex dosyaları sıkıştırmayı deneyebilirsiniz.)

Şifre kırma olayına gelince ise şifreyi test eden kodları yazan gerçekten bir programcı ise sonuç her zaman hüsran olur. Öncelikle iyi yazılmış kodlar şifreyi deneyenin makinemi insanmı olduğunu çok iyi ayırtedebilirler. Bunun en basit örneği süre/giriş denemesi karşılaştırması olup günümüzde kendilerini programcı sanan kopyacı programcılar bile bunu kullanmaktadır. Bu en basit örnek bile makine hız farkını bir anda devre dışı bırakır.

İnsan makine ayrımına yarayan başka bir mantık ise girilen yanlış şifrelerin birbiri ile ve doğru şifre ile karşılaştırılmasıdır ki bunu çoğu programcı gerçekleyemez. Bununda en basit yorumu girilen yanlış şifre ile doğru şifrenin data uzunluğunun tutup tutmadığı, tutuyorsa karşılıklı hanelerdeki verilerin birbirini tutma sayısı, (bunun altında örneğin eğer 8 haneli bir şifrede karşılıklı olarak 7 tanesi tutuyorda 1 tanesi tutmuyorsa; yanliş olan bu tek verinin klavyede doğru olan hanenin yanındaki tuşlarla tutup tutmadığı değerlendirilebilir) karşılaştırmalardır.

Paralel işleme ve makine hızı gibi yorumlar bazı işlemler için anlamsız kavramlardır. Anlamlı olanlar ise programcının matematik, programlama ve hatta yabancı dil bilgisi ile mantığı geliştirecek Allah vergisi (ve sonrasında birazcık geliştirdiği) zekasıdır fakat ben dahil hiç kimse bunların kendinde bulunmadığını söylemez :) Allah 'ın (C.C.) AKIL DAĞITMA konusunda adaletli olduğunu inanan her insan kabul eder.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

lojikmemo1

Alıntı yapılan: "PROTECH_"
Alıntı yapılan: "lojikmemo1"
Alıntı yapılan: "PROTECH_"o işlemleri PICe yaptırmaya kalkarsan o bitirene kadar ömrün biter...
Bir rar proğramı çalıştığında bildiğim kadarı ile 150 tane ye yakın yapay sinir ağı çalışıyor ... bunlardan birtanesini bil PIC doğru düzgün çalıştıramaz..

Araştırmadan yazmayalım.!!!!
Bilgisayar da sinir minir yok sadece ağ var:)...

hocam benim bir arkadaşım bire bir bu sıkıştırma algoritmaları ile uğraşıyordu, uygulamalarını da yapmıştı... O 150 tane yapay sinir ağı çalışırken büyük miktarda ram kullanıyordu + Mega byte  lar seviyesinde program hafızası kullanıyor, PIC dediğin daha en iyis 512k hafızaya sahip ve hafıza genişleme ünitesi bile yok  :!:
simdi araştırmadan mı yazılmış bir daha kontrol edelim
kolay gelsin

Sevgili arkadaşım senin arkadaşın uğraşıyormuş ben bizzat uğraşıyorum.
Sen önce şu yapay sinir ağı(rar ile alakası) dediğin sımbırtıyı bir açıklasan da ne demeye çalıştığını anlasak.
İnsanlara Akılları Ölçüsünde Söz Söyleyiniz.

controller

Öncelikle kullandığın PIC ve sıkıştırmak istediğin veri hakkında bilgi vermen gerekir. Çünkü kullanacağın sıkıştırma algoritması kullandığın işlemciye göre ve sıkıştırmak istediğin veri türüne göre değişiklik gösterebilir. PC de kullanılan sıkıştırma uygulamalarında en iyi sıkıştırma oranını elde etmek için tek bir sıkıştırma yöntemi yerine, veri türüne bağlı olarak birden fazla sıkıştırma algoritması birarada kullanılır. Sana tavsiyem winzip, winrar gibi PC uygulamalarını PIC'e port etmek yerine, en basit sıkıştırma algoritması olan RLE (run length encoding) den başlayıp kendi sıkıştırma kodunu yazmandır. RLE istediğin sonucu vermez ise "Huffman Coding" gibi daha kompleks sıkışltırma algoritmalarına geçebilir veya RLE ile birlikte kullanabilirsin.

http://en.wikipedia.org/wiki/Run-length_encoding

http://en.wikipedia.org/wiki/Huffman_coding
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

azimli

sıkıştırılmış veri boyutu 512kB üstünde kalırmı?
bunun üstünde ise sonuçta işlemciye dışarıdan bağlanan işlemci ile seri veya paralel haberleşen flash belleğe ihtiyaç olacak sonuçta değilmi yanılıyormuyum?

parametre

merhabalar degerli bilgilerini paylasan bazı arkadaslarıma tşk etmeyi bir borc biliyorum yapmak istedigim sey 8 pici ayrı ayrı programlayıp prosedur cagırıp her programı ayrı ayrı calıstırmaktı bunun içinde programı baska pice acıp oradan calıstıracaktım piclerden yordam proseduru direk nasıl cagıracağım konusunda işin içinden çıkamadım yaptıgım calısmada butun picler aynı anda calısmaya baslıyor bunun için buna gerek duydum profesyonel bir kontrol yapmak için calısıyorum olmazsa daha geniş microişlemcileri programlayıp işlemleri ona gore dizayn etmek istiyorum iyi çalısmalar