yuchi's Development Home


만쉐~

조회 수 1203 추천 수 18 2003.11.28 00:33:29
마이크로 프로세서 과목 프로젝트 4번을 끝냈다.
휴..힘들었다.
2048비트짜리 수를 입력받아 A*B mod N을 구하는게 a번.
2048비트짜리 수를 입력받아 A^x mod N을 구하는게 b번.

A^32승만해도 엄청난 수가 나온다.2의 32승이 42억쯤 된다.그런데 2048승도 아니고 2048비트짜리 숫자이다. 2048비트짜리 숫자의 최대값이 얼마가 될까?10진수로 풀어쓰면 책상 한칸 정도는 늘어질거다. A를 그 무지막지한 숫자만큼 제곱한다고 하면? 이건 애초에 산수계산으로는 불가능한 연산이다.
당연히...알고리즘이 있고 그 알고리즘을 이용해서 내부적으로 2진 연산을 해야한다.
상당히 흥미있는 화두지만 난 회사일이 바쁘고 굳이 해야할 필요를 못느꼈다.게다가 교수가 최하점수가 C라고 공언한터라 안하고 버틸 생각이었다.
어차피 난 학점에 목매지 않았으니까...
프로젝트 1,2번은 어차피 C코드였으니까 즐기는 셈 치고 했다.
근데 2번에서 내 코드가 꽤 느리다는 사실을 알았다. 다른 학생들은 어떻게 햇는지 모르겠는데 그 당시 난 나름대로 융통성 있게 짠답시고 1비트당 1바이트씩 사용했다.2048비트면 2048바이트 배열 잡은것이다.
덕택에 오버헤드가 엄청났다. 돌아는 가는데 2048비트짜리 A^x mod N을 계산하면 펜티엄4 1.8기가 기준으로 5분정도 걸렸다.
난 다 그 정도 걸리는 줄 알았는데 훨씬 빠르게 짠 놈들도 있었던 모양이다.
상당히 자존심이 상했다. 게다가 교수가 너무 열성적으로 가르치는 통에 도저히 부담이 되어서 안하고 넘어갈 수가 없었다.
그래서 이틀을 투자해서 매달렸다.
내 그 좋아하는 어셈블리임에도 불구하고 워낙에 데이타 확인하기가 힘든지라 하루웬종일 디버깅하느라 미치는줄 알았다.
그렇게 이틀만에 결과를 보게 됐다.

32비트씩 처리하도록 새로 짠 덕분에 속도는 비약적으로 향상되었다.
펜4에서 5분 걸리던것이 내 펜티엄3 866에서 36초 걸렸다.
간만에 머리 잘 굴리고 자신감을 얻어서 매우 기분이 좋다.
들들 볶으면서도 배울거리를 하나씩 던져주는 교수한테 약간 고맙기도 하고...
아 뿌듯하여라...



댓글 '3'

바하무트

2003.11.29 23:55:11
*.42.15.13

오노~ 벌써 하셨어요. 이런 집에있으니 계속 소설책일고 잠만자서 코딩을 안하는... 아 그리고 저 용환이에요

바하무트

2003.11.30 00:13:29
*.42.15.13

인라인으로 짜는것도 아니고 통 어셈으로 짜니 가슴이 답답해요 크아~ 비주얼스튜디오가 그리워요

여치

2003.11.30 01:02:48
*.207.72.115

교수가 인라인으로 짜도 된다고 했었는데..인라인으로 짜지?
그리고 인라인으로 짜서 감점이 있다해도 안내는것보단 훨씬 낫겠지.
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
34 1학기 종료... 여치 2004-06-22 1208
33 내 프로젝트만 속편하게 진행할 수 있다면... [2] 여치 2004-05-08 1207
32 카멕스 2003에 다녀오다. 여치 2003-11-23 1207
31 덥긴 덥구나... [1] 여치 2004-07-29 1206
30 일필휘지 여치 2003-12-02 1203
» 만쉐~ [3] 여치 2003-11-28 1203
28 썩을 자판기..--; 여치 2004-05-31 1202
27 스트레스... 여치 2004-05-30 1199
26 어린 나이에... 여치 2004-02-02 1199
25 미련이 있다면... 여치 2003-12-11 1199
24 휴..어찌해야하나. 여치 2003-12-03 1199
23 슬슬.. [1] 여치 2006-02-13 1198
22 일본어 메일을 주고 받기 시작하다... [4] 여치 2004-06-16 1198
21 누나 결혼식 [2] 여치 2004-05-17 1197
20 첫번째 관문 통과 여치 2006-02-19 1196
19 하고 싶은 일과 해야할 일 [4] 여치 2004-01-05 1196
18 유레카! [2] 여치 2004-01-08 1195
17 과속 단속 통지서 날라오다..--; 여치 2004-01-18 1194
16 피곤... [1] 여치 2004-06-22 1193
15 다시 잡지원고의 압박 여치 2004-06-06 1192
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet

Think



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet