Greetings

I'm a 4th-year Ph.D. candidate in Computer Science at the University of Toronto, working under the supervision of Prof. Khai Truong.

My research centers human-AI interaction, with an emphasis on accessibility and creativity support, particularly in enhancing "music accessibility" for d/Deaf and hard-of-hearing individuals. One of my main projects involves song signing to support culturally responsive content creation and encourage collaboration between d/Deaf and non-d/Deaf artists. Another aspect of my work focuses on enhancing people's well-being. I am engaged in projects that support individuals with dementia in their out-of-home experiences and encourage mindful eating behaviours among children.

I completed my B.Sci in Computer Science and Engineering at Ewha Womans University, where I was advised by Prof. Uran Oh (Human-Computer Interaction Lab) and Prof. Hyokyung Bahn (Distributed Computing and Operating System Lab). Additionally, I worked as a research intern at the Samsung AI Centre Toronto under the guidance of Dr. Iqbal Mohomed, and at NAVER AI (HCI group) with Dr. Young-Ho Kim.

Cache Implementation (Fall, 2018)

 Computer Architecture
   Prof. HyungJune Lee

http://eureka.ewha.ac.kr/eureka/hs/hssg4005q.do?YEAR=2018&TERM_CD=20&GROUP_CD=20&SUBJECT_CD=20493&CLASS_NUM=02


3. Overall Flow

 First, in main(), initialize memory and cache using init_memory_content() and init_cache_content().

Read address and data type from input file ‘accessed_input.txt’ line by line while input file pointer does not meet EOF(end of file).

After read data from input file, global_timestamp increase at each line read.

Get data from cache or memory with retrieve_data(). retrieve_data() needs 2 arguments, void pointer type addr and character type data_type.

main() pass addr and data type that reads from input file. 

In retrieve_data(), get accessed_data by invoking check_cache_data_hit().

check_cache_data_hit() needs 2 arguments same as retrieve_data(). retrieve_data() pass 2 arguments received from main() to check_cache_data_hit(). 

In check_cache_data_hit(), if it can access data using cache return that accessed data to retrieve_data() and increase num_cach_hits.

If not, return -1 so retrieve_data() invoke access_memory().

After invoking check_cache_data_hit(), if value_returned is -1, it means cache miss, so invoke access_memory().

access_memory() needs 2 arguments same with check_cache_data_hit(). 

In access_memory(), increase num_cache_memory and invoke find_entry_index_in_set() to find entry index.

Using entry index that found by find_entry_index_set(), save data into cache from memory. And return the data to retrieve_data(). 


Increase num_bytes according to data_type to calculate bandwidth. Finally, returned the accessed_data to main().

If there are errors in access memory, -1 will be returned.

Print the accessed data received by retrieve_data() and accessed_addr, accessed_data type to an output file every time accessed.

After finish reading the input file, print the hit ratio and bandwidth.


Comments