Design 8-Stage Pipelined Processor with Cache Memory 1 - Deeper Pipelining

이미지
Pipelining ID Stage 일반적인 MIPS architecture 의 ID stage 에서는, register file 에의 read/write 동작과 branch decision, 그리고 branch 할 address 혹은 jump 할 address 의 계산과 control signal 을 만들어내는 동작을 하게 된다 . 이를 위 그림과 같은 모습으로 pipelining 하였으며  또한 EX stage 에의 load 를 좀 더 줄이기 위하여 ALU 의 control signal generate 를 ID 0 stage 에서 initiating 하여 ALU source data 와 ALU control signal 을 EX stage 에 돌입하기 전에 모두 준비해 놓을 수 있도록 하였다 .  EX stage 에서 넘어온 동작들은 노란색 글씨로 표시하였다 .  Branch address 의 연산에는 32-bit Kogge-Stone adder 를 사용하였는데 ,  ID 0 stage 에서는 propagate, generate 의 연산과 1, 2 stage 까지를 수행하고 ID 1 stage 에서 나머지 3, 4, 5 stage 와  최종 결과값을 구하도록 하였다 . 아래 그림에 기존 ID stage 에서의 worst-case delay 를 가지는 영역과  이를 pipelining 한 모습을 표시하였다 . Pipelining EX Stage MIPS architecture 의 EX stage 에서는 ALU control signal 의 generate 와  이에 따라 forward 된 data 를 포함하여...

Design 8-Stage Pipelined Processor with Cache Memory 0 - Introduction

이미지
위 그림은 일반적인 5-stage MIPS architecture의 모습이다. 이를 아래 그림과 같이 8-stage로, ID stage와 EX stage를 더 pipelining해서 더 높은 clock rate를 인가할 수 있는 processor를 만들어 보도록 하며 또한 cache memory를 설계하여 성능 향상을 높여 보도록 한다. 검증은 DE2-70 board를 사용하며 task list는 다음과 같다. 1) 8-Stage Pipelined Processor   (1) ID Stage Pipelining   (2) EX Stage Pipelining   (3) Hazard Control   (4) Memory Access Control 2) Cache Memory   (1) Instruction Cache   (2) Data Cache 3) Verification   (1) Sobel Edge Detector   (2) Pheripheral Controllers

Toshiba Tecra R840 Disassembly

이미지
It's manual didn't even mention the word "disassembly" and i coudn't found any docs from internet about how to disassemble it. So, i just disassembled. This is how: at first, you need to release all the screws placed in back side. then you can seperate the case from main body. after seperate back side (also seperate HDD) it's time to upper side. above the LCD, you can see four rubbers hiding screws. in mine's case, leftest and rightest has screws and middle 2 has no screws. DON'T force to pull layer. another step needed. below LCD, you can see the metal-like part. it also has sticker hiding screw. So release the screw and remove that two parts. then you can see this. to seperate upper's layer, you need to release that(front) screw. then you can remove the layer.

[WP7] IsolateStorage를 사용한 파일 입출력

윈도우폰 파일 입출력 윈도우즈 폰은 파일시스템에 직접적인 접근을 할 수 없고 어플리케이션마다 가상으로 따로 생성된 독립된 파일 시스템을 받아서 사용한다 사용 예는 다음과 같다. 예에서는 UnicodeEncoding을 사용하여 String to byte 혹은 byte to String 변환을 시켜서 저장 및 로드한다. 다음은 Write using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream("파일 이름", FileMode.Create, IsolatedStorageFile.GetUserStoreForApplication())) {        UnicodeEncoding enc = new UnicodeEncoding();        byte[] bytes = enc.GetBytes("텍스트");        isfs.Write(bytes, 0, bytes.Length); } 다음은 Read이다. using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream("locosmemocont", FileMode.Open, IsolatedStorageFile.GetUserStoreForApplication())) {         byte[] buf = new byte[isfs.Length];         isfs.Read(buf, 0, (int)isfs.Length);         UnicodeEncoding enc = new UnicodeEncoding();         String str = enc.GetString(buf, 0, (int)i...

[Android] 홈 화면 위젯에 폰트 적용하기

이미지
안드로이드 위젯 폰트 변경 이 글까지 오셨다는 것은...이 아니라 이 글을 쓰게 된 것은 activity에서 typeface를 활용하여 폰트를 변경하는 것은 성공하였으나 홈 화면 위젯에 폰트를 바꾸지 못해서 구글링을 했는데 뜬구름 잡는 소리만 있고 제대로 된 설명이 없었다 라는 이유입니다 잡소리 없이 바로 말씀드리겠습니다. 방법은, Canvas를 사용, Bitmap을 만들어서 그 위에 차례대로 text를 그린 후에, 이 bitmap을 레이아웃의 이미지뷰(다른것도 됩니다만...)와 교체해버리는 것입니다. 어때요, 참 쉽죠? 라고 하면 구글링해서 나온 다른 글과 다를바가 없잖나?! 이므로 잠깐 코드를 주섬주섬.. 일단 text를 그리기 위한 Paint 객체를 만듭니다. Paint paint1 = new Paint(); paint1.setAntiAlias(true); // option paint1.setColor(/* Color */); paint1.setTypeFace(/* TypeFace */); paint1.setTextSize(/* Text Size */); 뭐 윤곽선을 그린다던가, 크기가 다른 여러 글씨를 한번에 쓴다거나 하실 계획이시라면 따로다로 객체를 선언해주세요. 외곽선은 .setStrokeWidth(/* int Size */)로 배경 글씨 페인트를 설정하여 그려주시고 그 위에  보통의 텍스트를 그려 주시면 됩니다. 자 그렇다면... Bitmap bitmap = Bitmap.createBitmap(/*int width, int height, */ Bitmap.Config.ARGB_4444); 16-bit ARGB를 사용해서 width * height size의 bitmap을 하나 만들었슴니다.. 그러면, Canvas canvas = new Can...

[WP7] C# 웹상의 HTML String으로 가져오기

오늘 드디어 비주얼스튜디오 SP1을 깔고 윈폰 SDK를 깔았다. 그리하여 드디어 대망의 첫번째 앱 본인이 새로운 모바일 플랫폼에 들어서면 가장 먼저 만드는 앱 광운대학교 오늘의학식 앱을 뚝딱 만들어 등록-_-하였는데... 이 과정에서 단지 나는 HTML을 받아서 파씽만 하고 싶을 뿐인데!! WebClient로 DownloadString도 안되고... WebRequest로 받는것도 안되고... 해서 Visible="Collapse"인 WebBrowser를 하나 만들어서 넣고 (이제 감이 슬슬 오시나?) .Navigate((String URL))-_- 그후에 .SaveToString() 해서 받아왔다.... 허허 거참... 이제 다시 시간표 개발하러감....

Baboons Crossing Problem

Baboons Crossing Problem Using System V Semaphore